- MoreEffectiveC++/Miscellany . . . . 218 matches
''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로 선언하라. 미래에도 동작시키게 하지 않다는 의미다. 컴파얼러가 만들어내는 함수에 대한 모호한 호출을 할리가 없다. (기본 할당 생성자나 기본 복사 생성자가 종종 발생되는 것처럼)
원리를 구현하기 위해 특이하게 하지 마라.:연산자와 함수를 자연스럽고 명시적인 문법으로 제공하라. built-in(기본 자료) 형으로 구현하라:의심될때는 int로 하라
어떤이가 무언가를 '''할수있다는것''' 알게되면 그들을 그것을 '''할것이다.''' 그들은 예외를 던질 것이다. 그들은 그들 스스로에게 객체를 할당할 것이다. 그들은 값을 제공하기전에 객체를 사용할 것이다. 그들은 객체를 제공하겠지만, 결코 사용하지 않는다. 그들은 커다란 값을 제공할 것이다. 그들은 아주 작은 값을 제공할 것이다. 그들은 null 값을 제공할 것이다. '''일반적으로 만약 컴파일이 되면 어떤이가 그것을 할것이다.''' 결과적으로 당신의 클래스를 정확히 사용하는건 쉽게, 이상하게 사용하는건 어렵게 만들어라. 클라이언트가 실수를 하도록 해라 그리고 당신의 클래스들이 그러한 에러들을 방지하고, 찾고, 수정할수 있게 만들어라. (예를들어 Item 33 참고)
이식성 있는 코드를 만들어라. 이식성 있는 프로그램의 제작은 그렇지 않은 경우보다 매우 어려운게 아니다. 그리고 눈에 보일 만큼 성능면에서 이식성 없는 코드를 고집해야 하는 경우는 희귀하다.(Item 16참고) 특정한 하드웨어를 위한 프로그램의 디자인에서도, 얼마 안있어 하드웨어 성능이 동일한 수준의 성능을 가져다 주므로, 이식성 있도록 만들어라. 이식성 있는 코드의 작성은 플랫폼 간의 변환에 쉽고, 당신의 클라라이언트 기반을 공고히 하고, 오픈 시스템의 지원에 관하여 좋다. 만약, 한 OS에서 성능이 실패해도, 쉽게 복구할수 있다.
당신의 코드를 변화가 필요할때, 그 효과를 지역화(지역화:localized) 시키도록 디자인 해라. 가능한한 캡슐화 하여라:구체적인 구현은 private 하라. 광범위하게 적용해야 할곳이 있다면 이름없는(unamed) namespace나, file-static객체 나 함수(Item 31참고)를 사용하라. 가상 기초 클래스가 주도하는 디자인은 피하라. 왜냐하면 그러한 클래스는 그들로 부터 유도된 모든 클래스가 초기화 해야만 한다. - 그들이 직접적으로 유도되지 않은 경우도(Item 4참고) if-than-else을 개단식으로 사용한 RTTI 기반의 디자인을 피하라.(Item 31참고) 항상 클래스의 계층은 변화한다. 각 코드들은 업데이트 되어야만 한다. 그리고 만약 하나를 읽어 버린다면, 당신의 컴파일러로 부터 아무런 warning를 받을수 없을 것이다.
여기에서 B는 D의 기초 클래스이다. 다른 말로 하자면 이 작성자는 만약 다음과 같은 경우에 B는 가상 파괴자(virtual destroctor)가 필요 없어 보인다.
그 의미는 클라이언트 코드에 대하여 약간의 변화가 -delete문-결과적으로 클래스 B의 정의까지 변화해야 하는 필요성을 보여준다. 그런한 상황이 발생하면, B의 클라이언트들은 모두 재 컴파일 해야 한다. 아까, 이 필자의 충고를 따르면, 확장 코드에 대한 클라이언트의 라이브러리도 재 컴파일, 재 연결해야 한다. 이는 소프트웨어 디자인에 효과를 미틴다.
* 만약 public base class가 가상 파괴자를 가지고 있지 않다면, 유도된 클래스나, 유도된 클래스의 멤버들이 파괴자를 가지고 있지 않다.
그렇지만 새로운 클래스가 B로부터 유도되면 바뀌어야 한다.
다시, B에 작은 변화는 아마 클라이언트의 부가적인 재 컴파일과 재링크를 요구한다. 그렇지만 소프트웨어의 작은 변화는 시스템에 작은 충격을 줄것이다. 이러한 디자인은 테스트로 실패이다.
* 만약 다중 상속 상태에서 어떠한 파괴자가 있다면, 모든 기본 클래스가 아마 가상 파괴자(virtual destructor)가 되어야 할것이다.
이렇게 반복에서 말하는거 같이 현재의 시류를 생각하는걸 주시하라. 클라이언트가 '''지금''' 늘어나고 있는 의견들에 대하여 어떻게 해야 하는가? 어떤 클래스 멤버가 '''지금''' 파괴자를 가지고 있는가? 계층상에 어떤 클래크가 '''지금''' 파괴자를 가지는가?
미래의 시류로 생각하는 관점은 완전히 다르다. 지금 어떻게 클래스를 사용하느냐를 묻는것 대신에, '''어떻게 클래스를 디자인 하느냐를 묻는다.''' 미래 지향적 생각으로는 이렇게 말한다. 만약 기초 클래스로 사용된 클래스가 '''디자인''' 된다면 그 클래스는 가상 파괴자를 가져야 한다. 그러한 클래스는 지금과 미래 모두 정확히 동작해야 한다. 그리고 그들오 부터 클래스들이 파생될때 다른 라이브러리의 클래스에게 영향을 끼쳐서는 안된다. ( 최소한, 파괴자로 인한 논란 만큼, 영향이 없어야 한다. 추가적인 변화가 클래스에 필요하면 다른 클라이언트들오 아마 영향을 받을 것이다.)
상업용 클래스 라이브러리(C++표준 라이브러리 상의 string 스펙의 날짜를 앞당기려는 회사)는 가상 파괴자를 가지고 있지 않은 sting클래스를 포함한다. 그 벤더의 설명은?
확실히 vtbl 문제는 합법적인 접근이다. (Item 24참고) 대다수 String클래스의 구현에서 오직 하나의 char*를 각각의 String 객체가 가지고 있다. 그래서 각 String객체에 추가되는 vptr도 두배의 양을 차지한다. 허용하지 않으려는 이유는 이해하기 쉽다. String같은 클래스를 무겁게 사용하면 눈에 띠는 성능 저하가 있다. 앞서 언급한 경우 클래스당 성능 저하는 약 20%정도를 가지고 온다. (Item 16참고)
어떤 것이 더 많은 문제를 일으키는 것으로, 밴더들의 주목을 받고 있을까? "우리는 String*을 사용하는 목적을 가지지 않는다. 그래서 이는 별 문제가 되지 않는다." 그건 아마 사실일 것이다. 하지만 그들의 String클래스는 수많은 개발자들이 사용가능한 것이다. 수많은 개발자들이 C++의 수준이 제각각이다. 이러한 개발자들이 String상에서의 비가상 파괴자(no virtual destructor)를 이해할까? 그들이 비가상 파괴자를 가진 String때문에 String으로 유도된 새로운 클래스가 모험 비슷한 것을 알고 있을까? 이런 벤더들은 그들의 클라이언트들이 가상 파괴자가 없는 상태에서 String*를 통하여 삭제가 올바르게 작동하지 않고, RTTI와 String에 대한 참조가 아마 부정확한 정보를 반환한다는걸 확신시킬까? 이 클래스가 정확히 쓰기 쉬운 클래스일까? 부정확하게 쓰기 어려운 클래스일까?
이 벤더는 물론 String클래스에 관한 유도해서는 안되도록 디자인 된 문서들을 제공할 것이다. 하지만, 프로그래머들이 문서를 보는 도중에 그 부분을 놓쳤다면 어떻게 하겠는가?
- Linux/필수명령어/용법 . . . . 217 matches
그외에도 홈 디렉토리에 사용하는 셸 등을 계속 물어오는데, 대괄호 속에 내정된 것을 그냥 사용하고자 한다면 엔터키만 누르면 된다. 패스워드 등을 입력하고 나면 지금까지 입력된 정보를 보여주고, 몇 가지 생성 작업을 화면으로 보여준 후 작업을 종료한다.
출력은 표준 출력으로 내정되어 있다. 글자는 열 배 정도 확대된다. 글자는 에스터리스크(*)를 조합하여 만든다.
이것은 리눅스의 Boume 셸이다. sh를 사용하면 sh가 bash를 호출하여 실행한다. bash를 직접 사용하지 말고 sh를 사용하도록 하라.
유닉스 셸은 사용중이라도 주기적으로 전자우편의 수신 여부를 점검한다. 만일 사용자가 전자우편이 도착하는 즉시 알고자 한다면 biff를 사용하여 그것을 지시할 수 있다. 또는 언제라도 그 기능을 해제할 수도 있다. biff는 인수없이 사용되면 현재 어떤 상태로 되어 있는지 보여준다. 기능 설정과 해제 여부는 y 혹은 n 인수를 주어서 결정한다.
cat은 catenate(사슬로 잇다. 연결하다)에서 이름이 유래한다. 이것은 파일의 내용을 화면에 출력하는 데 사용되기도 하며 파일을 다른 곳에 순차적인 스트림으로 보내기 위해 사용된다.
-u : 유닉스 호환성을 위해 추가된 옵션으로서 무시된다.
유닉스 시스템은 기본적으로 텍스트 자료들을 처리하는 것을 매우 중요시 여겼다. 많은 초기 설정 작업들이 텍스트 문서로 이루어지고, 텍스트 문서를 처리하는 수많은 명령들이 있다. cat 명령은 그러한 것들 중 기본적인 것이다.
clear 명령은 도스의 cls와 마찬가지로 화면을 지우는 동작을 한다.
오프셋을 지정하면 파일의 어느 부분부터 비교할 것인지를 정할 수 있다. -s 옵션이 왜 필요한 지를 이해하지 못할 테지만, cmp 명령이 보이지 않게 리턴값을 들려준다는 점을 알면 이해할 수 있을 것이다. cmp는 비교 후 두 파일이 일치한다고 판단하면 0을 리턴하며, 그렇지 않으면 1을 리턴한다. 셸 스크립트 상에서 비교 결과만을 원하고 화면에 메시지가 출력되는 것을 원치 않을 때에는 이러한 옵션을 사용할 수 있을 것이다. C 언어를 아는 사람이라면 금방 이해할 수 있었으리라 생각된다.
-s : 디렉토리가 아닌 파일의 심볼릭 링크를 만든다. 소스 파일의 이름은 전체 경로 이름으로 한다. 목적지 파일 이름은 전체 경로를 주지 않아도 현재 디렉토리로 간주되므로 상관없다.
-x : 다른 파일 시스템인 하위 디렉토리는 무시한다.
: 실행될 프로그램들과 스케줄의 cron 데몬을 구성한다.
파일의 각 행은 M H D m d cmd 형태로 되어 있다. 필드의 에스테리스크(*)표시는 어떠한 값이든 일치하는 조건으로 가정한다는 의미이다.
: 이것은 유닉스 C 셸이다. 하지만 리눅스에서는 tcsh에 링크되어 있는 파일에 불과하다. 자세한 내용은 tcsh를 참조하라.
: 시스템은 현재의 날짜와 시간을 유지하고 있다. date 명령을 사용하면 그러한 시간을 확인할 수 있다. 또한 날짜와 시간 정보를 변경할 수 있다. 물론 시스템의 날짜와 시간은 슈퍼 유저만이 변경할 수 있다.
date 는 위와 같이 주어진 인수가 없다면 현재 시스템의 시간과 날짜를 출력한다. 주어지는 인지가 있다면 그에 따라서 시스템의 시간과 날짜를 변경한다.
: 디스크의 여유 공간을 검사하여 보고한다.
- df [ -aikpvtx ] 파일시스템
-t 형태 : 특정 형태의 파일 시스템으로 검사를 제한한다.
-x 형태 : 특정 형태의 파일 시스템 이외의 것으로 검사를 제한한다.
- EffectiveC++ . . . . 150 matches
ASPECT_RATIO는 소스코드가 컴파일로 들어가기 전에 전처리기에 의해 제거된다.[[BR]]
2. 상수의 영역을 클래스로 제한하기 위해선 상수를 멤버로 만들어야 하며
// 각각이 스트링이다.
동적 메모리 할당을 행하는 클래스들은 메모리를 할당하기 위해서 생성자에 new를 쓴다. (CString class같은것들?)[[BR]]
그러나, 나중에 이렇게 만든 클래스를 누군가가 개선될경우 그리고, 개선된 클래스에서 포인터 멤버를 추가하게[[BR]]
세번째 '''소멸자에서 포인터 삭제'''에 관한 것을 제대로 안해주면 메모리 유출(memory leak)으로 그냥 처리되기 때문에 클래스에 포인터 멤버를 추가할 때마다 반드시 명심해야 한다.
operator new 가 하부 클래스로 상속된다면 어떻게 될까? [[BR]]
그런데, 이 클래스를 위해 만들어진 operator new 연산자가 상속될 경우. [[BR]]
상속받은 클래스내에 operator new연산자를 다시 재정의 해줘야 한다. [[BR]]
DeleteMe 그런 의미보다 String 이나, linked list 혹은 기타 여러 기타 데이터 형으로 많은 수의 할당을 통해서 쓸수 있는 인자의 경우에는 사용자 정의 new를 이용하여 가능하면 공용 메모리 공간에서 활동시켜서, 메모리 할당 코드를 줄이고 (메모리 할당의 new와 alloc는 성능에 많은 영향을 미칩니다.) 메모리를 줄이고 효율적 관리를 할수 있다는 의미 같습니다. 그런 데이터 형으로 쓰이는 인자가 아닌 한 app안에서 단 한번만 사용되는 클래스라면 구지 new를 성의해서 memory leak의 위험성을 증가 시키는 것보다, 일반적인 new와 생성자 파괴자의 규칙을 쓰는것이 좋을겁니다. --상민
== Constructors, Destructors, and Assignment Operators (클래스에 관한것들.) ==
이 class에는 치환 연산자나 복사 생성자가 없다. 이런 클래스는 좋지 못한 결과를 발생시킨다. [[BR]]
클래스 내에 operator=가 정의 되어 있지 않기 때문에, C++에서 default 치환 연산자를 호출한다.[[BR]]
default 치환 연산자는 클래스의 멤버 변수들을 하나씩 치환하는 작업을 하기 때문에 a와 b의 멤버 변수 data를 [[BR]]
'' * 클래스 안에 포인터를 조물딱 거리는 멤버 변수가 있을 경우에는 그 클래스에 복사 생성자와, 치환 연산자를 꼭 정의해 주어야 한다...''
1. 초기화 리스트를 사용한다.
2가지 방법 정도로 멤버 변수를 초기화 할수 있는데. 책에서는 초기화 리스트를 선호한다.[[BR]]
두번째는 실용주의(효율성) 차원에서 초기화 리스트를 선호 한다는 것이다. [[BR]]
* 가능한 경우 항상 멤버 초기화 리스트를 사용하는 습관을 들이면, const와 레퍼런스 변수들에 대한[[BR]]요구 조건을 채울 수 있을 뿐만 아니라, 멤버 변수들에 대한 비효율적인 초기화도 줄일수 있다.''
클래스 멤버들은 클래스에 선언된 순서에 따라 초기화된다. [[BR]]
- JavaNetworkProgramming . . . . 146 matches
*그외 URL프로토콜,IP멀티캐스트,DNS,방화벽,HTTP 프록시 서버,SOCKS,방화벽 내부의 DNS에 관해 간단한 설명 나옴
public class AuthException extends IOException{ //사용자 예외를 정의할때 적당한 예외 클래스의 서브클래스가 되는것이 중요한데
*세마포어(semaphores) : 세마포어란, 자바 객체가 아니라 특별한 형태의 시스템 객체이며, 이객체는 '얻기(get)'와 '놓기(release)'라는 두 가지 기능을 가지고 있다 한 순간에, 오직 하나의 쓰레드만이 세마포어를 얻을 수 있으며(get), 한 쓰레드가 세마포어를 가지고 있는 동안 세마포어를 얻으려고 시도한 다른 쓰레드들은 모두 대기 상태에 들어간다. 다시 쓰레드가 세마포어를 놓으면(release) 다른 쓰레드가 세마포어를 얻고(get) 다시 대기상태로 들어간다. 이런한 매커니즘을 사용하여 특정 작업을 동기화 할수있다.
*Thread 클래스 : 보통 상속받아서 사용
*Runnable 인터페이스 : Thread 클래스를 직접 상속받지 않은 클래스의 객체가 손쉽게 쓰레드를 생성할수 있도록 해줌
execution = new Thread(this); //Runnable 인터페이스를 구현한 것을 넣어줌
*ThreadGroup 클래스 : 여래개의 쓰레드르 그룹으로 만들어 손쉽계 Thread를 관리
*효과적인 다중 쓰레딩 : 자바에서 쓰레드를 생성하는 것은 매우 느린 작업이며 일부 자바 가상 머신은 쓰레드에 관련된 메모리 누스 때문에 고생하기도 한다. 따라서 효과적인 쓰레딩을 위해서는 새로 쓰레드르 생성하는 것 보다 이전에 생성했던 쓰레드 객체를 재사용하느 것이 좋다 진보된 형대의 자바 가상 머신에서는 시스템 레벨에서 이러한 쓰레드 재사용을 지원하기도 하지만, 이경우조차도 쓰레드를 재상용하는 방식을 사용하면 여러가지 이점을 얻을수 있다. --예제는 17장쯤에..
== PART2 스트림 ==
*5장 : 스트림을 소개합니다.
*6장 : 스트림을 사용한 파일 처리 프로그램밍의 진수
*7장 : 필터를 이용한 스트림의 확장 기법
*8장 : API로 제공되는 스트림 필터
*9장 : 메모리 기반의 I/O스트림
*10장 : 문자 스트림을 사용한 개선된 I/O기법
*11장 : 문자 스트림 필터
*12장 : 메모리 기반의 문자 스트림
*13장 : 파워업! 객체 스트림
=== Chapter5 스트림을 소개합니다 ===
*스트림 : 네트워크 프로그램에서 아주중요한부분 --> 요책이 스트림에대해서 자세히나온다.딴데는 대충 설명하는데...--;
- Gof/Facade . . . . 133 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를 도입하라. 그러함으로서 서브클래스의 독립성과 Portability를 증진시킨다.
* 서브시스템에 계층을 두고 싶을 때. 각 서브시스템 레벨의 entry point를 정의하기 위해 facade를 사용하라. 만일 각 서브시스템들이 서로 의존적이라면 서브시스템들간의 대화를 각 시스템간의 facade로 단일화 시킴으로서 그 의존성을 단순화시킬 수 있다.
- 각 서브시스템 클래스는 각 요청에 대한 책임이 있다.
- 클라이언트의 요청을 적합한 서브시스템 객체에게 위임한다.
- 서브시스템 기능들이 구현되어있다.
* 클라이언트는 Facade에게 요청을 보냄으로서 서브시스템과 대화한다. Facade 객체는 클라이언트의 요청을 적합한 서브시스템 객체에게 넘긴다. 비록 서브시스템 객체가 실제 작업을 수행하지만, facade 는 facade 의 인퍼페이스를 서브시스템의 인터페이스로 번역하기 위한 고유의 작업을 해야 할 것이다.
facade 를 사용하는 클라이언트는 직접 서브시스템 객체에 접근할 필요가 없다.
1. 서브시스템 컴포넌트로부터 클라이언트들을 보호한다. 그러함으로서 클라이언트가 다루는 객체의 수를 줄이고, 서브시스템을 이용하기 쉽게 해준다.
2. 서브시스템과 클라이언트 간의 연결관계를 약하게 해준다. 종종 서브시스템 컴포넌트는 클라이언트와 강한 연결관계를 가지기도 한다. 약한 연결관계는 클라이언트에게 영향을 미치지 않으면서 서브시스템의 컴포넌트들을 다양하게 만들어준다. Facade 는 시스템과 객체간의 의존성을 계층화 하는데 도움을 준다. Facade는 복잡함이나 순환의존성을 없애준다. 이것은 클클라이언트와 서브시스템이 비의존적으로 구현되었을때의 가장 중요한 결과일 것이다.
3. 그러하면서도 어플리케이션은 여전히 서스시스템 클래스들을 사용할 방법을 제공한다. 사용의 편리성과 일반성을 선택할 수 있다.
1. 클라이언트-서브시스템 연결관계를 줄여라.
클라이언트와 서브시스템간의 연결관계는 Facade를 추상클래스로 만듬으로서 줄일 수 있다.
그러면 클라이언트는 추상 Facade class의 인터페이스를 통해 서브시스템과 대화할 수 있다. 이러한 추상클래스와의 연결은 클라이언트가 사용할 서브시스템의 구현을 알아야 하는 필요성을 없애준다.
서브클래싱의 대체는 다른 서브시스템 객체를 가진 Facade 객체로 설정하는 것이다. facade를 커스터마이즈하려면 단순히 서브시스템 객체를 다른 객체로 교환한다.
2. public vs private 서브시스템 클래스.
- Gof/Singleton . . . . 124 matches
클래스로 하여금 오직 하나의 인스턴스만을 가지게 하며, 어디서든지 접근 가능하도록 한다.
몇몇 클래스들에 대해서 오직 하나의 인스턴스 만을 가지는 것은 중요한 일이다. 예를 들면, 어떤 시스템에선 수많은 프린터들이 있더라도 거기에는 단 하나의 프린터 스플러만이 있어야 한다. OS에서 돌아가는 화일시스템이나 윈도우 매니저의 경우도 오직 하나여야 한다 (동시에 2-3개의 윈도우매니저가 돌진 않는다.) 디지털 필터의 경우에도 A/D converter는 단 하나를 가진다.
어떻게 우리는 클래스로 하여금 단 하나의 인스턴스만을 가지도록 보장해줄 수 있을까? 그리고 그러한 인스턴스를 쉽게 접근하게 할 수 있을 것인가? global 변수로 둘 경우 어디서든지 접근가능하겠지만, global 변수는 단일 인스턴스만을 가지도록 할 수 없다.
더 좋은 방법은 클래스 자신으로 하여금 자기자신의 단일 인스턴스를 유지하도록 만드는 것이다. 이 클래스는 인스턴스가 생성될 때 요청을 가로챔으로서 단일 인스턴스로 만들어지는 것은 보증한다. 또한, 인스턴스에 접근하는 방법도 제공한다. 이것이 바로 SingletonPattern이다.
* 클래스가 정확히 오직 하나의 인스턴스만이 존재해야 할 때. 그리고 잘 알려진 엑세스 방법으로 어디서든지 접근 할 수 있어야 한다.
* 단일 인스턴스가 서브클래싱에 의해 확장가능해야 할 경우. 그러면 클라이언트는 그들의 코드 수정없이 확장된 인스턴스를 사용할 수 있어야 한다.
* Instance operation (클래스의 메소드)을 정의한다. Instance 는 클라이언트에게 해당 Singleton의 유일한 인스턴스를 접근할 수 있도록 해준다.
* Singleton 자신의 유일한 인스턴스를 생성하는 책임을 가진다.
* 클라이언트는 오직 Singleton의 Instance operation으로만 Singleton 인스턴스에 접근할 수 있다.
1. 클래스에 대한 접근이 오직 하나의 인스턴스에게로 제한된다. Singleton 클래스는 자기 자신의 단일 인스턴스를 캡슐화하기 때문에, 클라이언트가 언제, 어떻게 접근하던지 그 접근이 엄격하게 제어된다.
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는 생성되지 않는다.)
생성자가 protected 임을 주목하라. client 가 직접 Singleton을 인스턴스화 하려고 하면 compile-time시 에러를 발새할 것이다. 생성자를 protected 로 둠으로서 늘 단일 인스턴스로 만들어지도록 보증해준다.
* (a) static 객체의 유일한 인스턴스가 선언되어질 것이라고 보장할 수 없다.
* (b) 모든 singleton들이 static initialization time 대 인스턴스되기 위한 충분한 정보를 가지고 있지 않을수도 있다. singleton은 프로그램이 실행될 때 그러한 정보를 얻을 수 있다.
Smalltalk에서 unique instance를 리턴하는 functiond은 Singleton 클래스의 class method로 구현된다. 단일 인스턴스가 만들어지는 것을 보장하기 위해서 new operation을 override한다. The resulting Singleton class might have the following two class methods, where SoleInstance is a class variable that is not used anywhere else:
- JavaStudy2003/두번째과제/노수민 . . . . 114 matches
Run쪽 옵션이 틀린건가;; 오류가 아니라 메인 클래스가 없다는 등의 다양한 메시지가 뜨면서 안돼요; 결국 간단한 소스를 올립니다
하나의 객체의 소스가 다른 소스와 무관하게 유지할 수 있고, 또 public이나 private 권한을 통해 정보에 대한 접근 정도를 설정할 수 있다.
* 클래스 : 특정한 종류의 모든 객체들에 적용할 수 있는 변수와 메소드를 정의하는 '소프트웨어적인 설계도' 이다.
* 인스턴스 : 클래스에 대한 변수를 선언하는 것을 '인스턴스를 생성한다'고 하고, 이 변수를 인스턴스라 한다.
인스턴스를 생성하는 것은 벽돌틀로 벽돌을 찍는다고 할 수있다.
* 객체 : 실세계에 적용 - 자동차(클래스) -> 아반테, 누비라, 그랜저, 티고 등 (객체)
* 상속 : 자동차 클래스에 버스 클래스, 트럭 클래스, 자가용 클래스가 속한다면,
자동차 클래스는 상위 클래스, 버스,트럭,자가용 클래스를 하위클래스라 하며, 이들의 관계에서 "하위클래스는 상위클래스를 상속한다"고 한다.
=== 클래스 정의 및 인스턴스(객체) 생성 ===
* 클래스 정의
class 클래스이름 {
* 인스턴스 생성
클래스이름 클래스인스턴스이름 = new 클래스이름();
클래스이름 클래스인스턴스이름;
클래스인스턴스이름 = new 클래스이름();
* public - 같은 클래스, 하위클래스 등 같은 패키지의 모든 클래스에서 접근가능
* private - 같은클래스 내에서만 접근가능
* protected - 같은 클래스, 하위클래스 등 같은 패키지의 모든 클래스에서 접근가능
* 생략 : 같은 클래스 또는 같은 패키지의 모든 클래스에서 접근가능, 하위클래스에서 접근 불가능
클래스이름(형식매개변수 리스트) { … }
- 토비의스프링3/오브젝트와의존관계 . . . . 97 matches
* User : 사용자 정보 저장용 자바빈 클래스
* UserDao : JDBC를 이용한 등록, 조회 기능이 있는 DAO 클래스
== main()을 이용한 테스트 ==
* 앞서 만든 클래스가 제대로 동작하는지 확인하려면
* 오브젝트가 스스로 자신을 검증하도록 만들어준다.
* main 메소드를 이용한 테스트 코드
* 테스트가 성공하면 다음과 같이 출력된다.
* UserDao 클래스는
* main() 메소드에 작성한 테스트로 확인해보니
* 그럼에도 불구하고 UserDao 클래스 코드에는 여러가지 문제가 있다.
1. 작업이 끝나고 리소스를 close하는 것.
=== 변경사항에 대한 검증 : 리팩토링과 테스트 ===
* 추상클래스를 만들어놓고 상속을 통해 변화를 구현하는 방법 -> 불편하다
* 1.3.1 클래스의 분리
* 서로 다른 관심사를 독립적인 클래스로 분리해보자
* 리팩토링 후 기능의 변화가 없는지 검증해야 한다. 테스트 코드가 이를 검증해 준다.
* 분리된 두 클래스는 의존관계를 가진다.
* 1.3.2 인터페이스의 도입
* 클래스 분리에서 가장 중요한 점은 두 클래스가 낮은 결합도를 가져야 한다는 것이다.
* 코드의 크기가 작고 간단해도 클래스와는 다른 독립적인 관심사를 가지고 있다면 분리해야한다.
- 2011년독서모임 . . . . 91 matches
* [강소현] - [http://www.aladin.co.kr/shop/wproduct.aspx?ISBN=890110511X 더 박스]
* [송지원] - 마리아 칼라스 내면의 열정의 고백 (앤 에드워드)
* '''책에 대해..''' 무대 위의 프리마돈나 마리아 칼라스.. 하지만 그녀의 어렸을적 환경을 돌아보면 재능이 있어 노래를 시키려고 했던 독한 엄마, 자신 때문에 인생을 포기해야만 했던 언니, 타국에서 달달이 돈을 보내주고 온 정성을 쏟았지만 가족들을 버렸다고 오해받은 아버지... 이런 환경에서 자라면서 친구 하나 사귀지 못하고 폭식증에 걸리며, 못생긴 얼굴 때문에 외톨이여야만 했다. 죽는 순간까지 그녀는 외로운 영혼이었고, 오직 무대에서 가장 크게 빛났다.
* '''느낌''' 우선!! 책읽기 모임에 참여하면서 오랜만에 독서를 하는 계기가 되었다. (전공 서적, 영어책 이외의 독서를 안한지 오래되었다는...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라는 노래인데... 알고보니까 그냥 노래 내용이 어떤 소녀에 대한 이야기인데 그 소녀의 이름이 한국인 성과 비슷해서 그냥 그렇게 썻다고 해서 패스했습니다.
* 먼지의 여행은 대학을 졸업하고 변변찮은 직장조차 얻지 못하고, 뒤늦게 자신이 해왔던 일이 무의미했었다 좌절하던 주인공이 우연히 순례자 부부를 만나면서 하게된 여행기입니다. 돈을 벌어 악착같이 살아야한다는 강박에서 벗어나 돈 없이 세계여행을 갑니다. 처음에는 순례자 부부를 따라다니며 그 사람들을 따라하려하지만, 이 역시 그저 남의 경험을 얻어먹으려는 행위로 밖에 여겨지지 않아 자신이 혼자 여행을 떠납니다. 콜키타에 있는 마더하우스에서 고아원 봉사활동을 하며 아이들의 순수함을 보며 깨달음을 얻고, 그 때 그 때를 즐기는 삶을 살게 됩니다. 돈 없이도 사람이 행복할 수 있다는 것을 깨닫습니다.
* 주변의 바람에서 벗어나 자신이 진정으로 하고싶은 일이 무엇인가 자아를 찾아가는 과정이 인상깊었습니다. 특히, 남이 나보다 더 오래 살았고, 많은 경험을 했으니까 나한테 맞는 조언을 해줄 수 있을 거라는 막연한 생각이 잘못되었다는 말에 충격을 받았습니다. 외국인 부부한테 조언을 구했지만 주인공한테 왜 그걸 남이 정해주느냐는 말을 했습니다. 이 책의 주인공이 깨달은 것처럼 타인의 삶이 영향을 끼칠 수는 있지만, 자신의 삶을 개척하는 것은 결국 자신인듯 합니다. 스터디를 할 때, 나보다 잘 하는 사람이 내가 어떻게 해야할 지 도와줄꺼라 생각하고 나는 약간 비껴서서 참여하는 경향이 있었는데, 작은 것부터 주체적으로 되야할 필요성을 느꼈습니다.
* 강소현 - 거울 나라의 앨리스
* 이상한 나라의 앨리스의 2부라고 말은 많이 들었는데, 실제로 읽어본 건 이번이 처음이었어요. 내용이 이어지는 건 아니고, 그냥 처음과 끝의 구성이 비슷하고 앨리스가 등장한다는 것 외에는 없는 듯 합니다. 앨리스는 7살 하고도 6개월인 호기심이 왕성한 나이여서 그런지 모든 것을 신기한 관점에서 바라봅니다. 거울 건너편은 이쪽세계와 비슷한듯 하지만 좌우가 뒤바뀌었고, 실제로 안 보이는 부분은 이쪽세계와 다를지도 몰라! 라고 생각하고, 거울 건너편 세계를 구경하고 싶어 합니다. 그래서 손을 댓는데, 어느 순간 건너편 세계로 넘어옵니다. 거울에 비치지 않았던 부분은 과연 색다른 모양을 하고 있었고, 조그만 체스 왕과 여왕이 움직이는 것이 보여, 말을 걸지만 앨리스를 보지도 듣지도 못합니다. 문 밖을 나와 언덕에 가려하는데 아무리 이동해도 제자리로 돌아와 있어, 반대로 이동하니 언덕으로 이동하는 것은 거울이 반대편이라 그런듯 합니다. 곤충에게 이름이 붙여있는 이유는 사람들이 부르기 편한게 아니라, 실제로 이름을 불러주면 대답을 해올거라 조언해주는 모기나, 땅 침대가 푹신하지 않고 딱딱하기 때문에 꽃들이 잠들지 않고 재잘재잘 말을 할 수 있게 되었다던지, 체스 사람들이 밖에서 앨리스만큼 커진 이유는 밖이 탁하지 않기 때문이라던지 독특한 관점이 많습니다. 앨리스의 이동은 체스 말의 이동에 비유되어 처음에는 졸로서 한 칸씩 이동하다가 여왕을 잡고 잠이 깹니다. 초반에 잠을 자고 있던 왕 체스 말이 꾼 꿈인지, 아니면 앨리스가 꾼 꿈인지 묻는 질문과 함께 이야기가 끝납니다.
* 거울 나라의 앨리스를 알게 된 것은 만화책 [http://book.naver.com/bookdb/book_detail.nhn?bid=1343923 암스]가 전체적으로 앨리스와 그와 관계된 인물로 구성되어있어서다. 주인공 친구들의 무기인 토끼나 기사나 퀸은 이상한 나라의 앨리스에서 많이 들어봤는데, 주인공에게 이식되어 있던 무기가 '''자바워크'''는 처음 들어보는 거여서 검색해보니까 2부 격인 이야기가 있다는 것을 알게 되었다. 책을 읽어보니 실제로는 재버워크, 혹은 재버워키라고 불리우는 요상한 괴물이 1장에서 잠시 시 속에 등장했지만 크게 임펙트가 없는, 이름만 있는 캐릭터였다. 그나마 책 속에서 자바워크가 악당격으로 비유되어서 만화책에서도 다른 사람들과 다르게 파괴 본능이 앞섰구나 라고 느꼈다.
- 코바용어정리 . . . . 77 matches
객체의 참조를 유지함으로써 원격 객체를 액세스할 수 있는 node(단어 선택이 부적절한 것 같군 --;;)이다. 즉 객체 레퍼런스를 사용하여 클라이언트는 객체의 오퍼레이션을 수행할 수 있게 된다. 원격 객체를 액세스 하는 과정에 대해 구체적으로 기술하면 다음과 같다. 클라이언트는 언어 맵핑을 통해 객체와 ORB 인터페이스에 액세스할 수 있다. ORB는 구현 객체와 클라이언트 사이의 커트롤 전달 및 데이터 전달 관리를 책임지고 있다. 결국 클라이언트는 언어 맵핑을 통해서 ORB와 상호 작용할 수 있고, ORB는 원격 객체에 대한 레퍼런스를 얻을 수 있게 된다. 이런 방식으로 클라이언트는 분산 환경하에서 객체를 이름과 인터페이스만으로 마음대로 참조할 수 있는 것이다. ORB를 버스라고 생각하면 쉽게 이해할 수 있을 것이다.
클라이언트의 반대쪽에는 구현 객체라고 알려진 실제 객체가 있다. '구현 객체(Object Implementation)'는 실제 상태(state)와 객체의 반응 양상(behavior)을 규정하며 다양한 방식으로 구성될 수 있다. 구현 객체는 객체의 메소드와 객체에 대한 활성화 및 비활성화 프로시저를 정의한다. 구현 객체는 객체 어댑터의 도움을 받아 ORB와 상호 작용한다. 객체 어댑터는 구현 객체를 특정하게 사용하는 데에 편리하도록 ORB 서비스에 대한 인터페이스를 제공하게 된다. 구현 객체는 ORB와 상호 작용하여 그 정체를 확립하고 새로운 객체를 생성하며 ORB에 따르는 서비스를 획득할 수 있도록 한다. 새로운 객체가 생성되면 ORB에게 통보되고 이 객체의 구현이 어디에 위치하는가를 알게 된다. 호출이 발생하면 ORB, 객체 어댑터, 스켈레톤은 구현의 적절한 메소드에 대한 호출이 되도록 만들어야 한다.
== 클라이언트 스텁(Stub) ==
CORBA는 C++과 Java 같은 객체 지향 언어와 C와 같은 절차적 언어 양쪽 모두에서 사용될 수 있다. 객체 지향 언어에서는 사용자가 객체의 특성을 정의하고 그 프로퍼티에 액세스할 수 있게 해주는 메소드와 인터페이스를 제공한다. 이것은 비객체 지향 언어에는 없는 기능인데, 이것들은 각각
의 인터페이스 타입에 대해 스텁에 대한 프로그래밍 인터페이스를 필요로 한다. 보통 스텁은 OMG-IDL로 정의되어 있는 객체 오퍼레이션에 대한 액세를 하게 해주는데, 일단 프로그래머가 OMG-IDL 및 특정 프로그래밍 언어에 대한 언어 매핑에 친숙해지면 손쉽게 예상이 가능한 방식으로 액세르를 하게 해준다. 해당 스텁은 ORB 코어에 전용이며 최적화된 인터페이스를 사용해서 나머지 ORB들을 호출하게 될 것이다. 만약 여러 개의 ORB를 사용하게 된다면 각각의 스텁은 제 각기 해당하는 ORB를 호출하게 될 것이다. 이 경우에 ORB와 언어 맵핑은 공조하여 각각의 스텁이 특정 객체 레퍼런스와 제대로 연결될 수 있도록 해야 할 것이다.
== 동적 호출 인터페이스(DII : Dynamic Invocation Interface) ==
클라이언트가 호출될 객체와 수행할 오퍼레이션을 지정하고자 할 때, 특정 객체 A의 특정 오퍼레이션을 지정하는 대신 객체 호출을 동적으로 생성하도록 허용하는 인터페이스를 이용할 수 있다. 이러한 경우 클라이언트 코드에서는 수행되는 오퍼레이션과 전달되는 파라미터의 타입에 대한 정보를 제공해야 한다. 이 정보는 대개 인터페이스 저장소와 같은 런타입 소스에서 얻어진다. 실행 시간 중에 해당 정보를 얻은 후, 클라이언트 코드는 이른바 동적 호출 인터페이스(DII)를 이용해서 동적으로 호출을 할 수 있게 된다.
구현 객체가 ORB에 의해 제공되는 서비스를 이용하는 주된 방법은 객체 어댑터를 통하는 것이다. 객체 어댑터는 CORBA 라이브러리인데 ORB 코어 통신 서비스의 맨 위쪽에 위치하고 있으며 서버 객체를 대신하여 리퀘스트를 받아들인다. 객체 어댑터는 서버 객체를 인스턴스화하기 위한 실행 환경을 제공한다. 즉, 서버 객체에 리퀘스트를 전달하며 객체 ID를 부여하는 등의 작업을 하게 된다는 것이다. 또한, 객체 어댑터는 구현 저장소에 어댑터가 지원하는 클래스와 런타임 인스턴스를 등록한다. CORBA에서는 각 ORB가 기본 객체 어댑터(BOA)라 불리는 표준 어댑터를 지원하도록 규정한다. 하나의 서버가 여러 개의 객체 어댑터를 지원할 수 있다.
객체 어댑터를 통하여 ORB가 제공하는 서비스에는 흔히 객체 레퍼런스의 생성과 해석, 메소드 구현, 보안과 상호 작용, 구현 객체의 활성화/비활성화, 구현으로의 객체 레퍼런스 맵핑, 그리고 구현 객체의 등록 기능 등이 포함된다. 객체 어댑터를 통하게 되면, ORB에서 비슷한 요구 사항을 가진 특정 그룹의 구현 객체만을 한정하여 다루는 것이 가능해진다.
== 구현 스켈레톤(implementation skeleton) ==
각각의 언어 매핑에 대해(아마도 객체 어댑터에의 의존하게 되겠지만) 각각의 타입의 객체를 구현하도록 해주는 메소드에 대한 인터페이스가 존재할 것이다. 이 인터페이스는 일반적으로 업콜(up-call) 인터페이스일 것이다. 구현 객체의 개발자는 그 인터페이스에 따라 루틴을 작성하게 되고 ORB는 스켈레톤을 통해서 그 루틴을 호출하게 될 것이다. 그러나 스켈레톤의 존재가 그에 사응하는 클라이언트 스텁의 조재를 의미하지는 않는다는 것이다. 이말은 클라이언트가 DII를 통해서 리퀘스트를 만들 수도 있다는 것이다. 또한, 어떤 언어 맵핑은 스켈레톤을 사용하지 않는데, 이것은 Smalltalk에시는 대체적으로 맞는 말이다.
== 동적 스켈레톤 인터페이스(DSI : Dynamic Skeleton Interface) ==
동적 스켈레톤 인터페이스는 IDL에 기초하지 않는 스켈레톤/스텁을 가진 객체의 메소드 호출을 처리해야 하는 서버에 대해 런타임 바인딩 메커니즘을 제공한다. 동적 스켈레톤은 수신된 메시지의 파라미터값을 참조하여 어떤 객체가 호출되었는지 어떤 메소드가 호출되었는지를 알게 된다. 이것은 일반적으로 컴파일된 스켈레톤을 사용하는 것과는 비교되는데 이러한 스켈레톤에서는 메소드의 구현이 IDL로 정의된다. 구현 코드는 모든 오퍼레이션 파라미터에 대한 상세한 설명을 ORB에 제공해야 하며, ORB는 오퍼레이션을 수행할 때 사용되는 입력 파라미터값을 제공한다. 오퍼레이션이 수행된 후, 구현 코드는 출력 파라미터 또는 익셉션을 ORB에게 넘겨준다. 동적 스켈레톤 인터페이스의 특성은 프로그래밍 언어 맵핑에 따라 또는 객체 어댑터에 따라 실질적으로 달라질 수 있지만, 일반적으로는 업콜 인터페이스이다. 동적 스켈레톤은 클라이언트 스텁 또는 DII를 통해서 호출될 수 있다. 이 두 가지 방식의 클라이너트 리퀘스트 생성 인터페이스는 동일한 결과를 제공한다.
== ORB 인터페이스 ==
ORB 인터페이스는 애플리케이션에 중요한 지역 서비스에 대한 API들로 구성되어 있지 않다. 이것은 곧바로 ORB로 가는 인터페이스이고 모든 ORB들에 대해 동일하다.ORB 인터페이스는 객체 어댑터 또는 객체 인터페이스에 의존하지 않는다. 대부분의 ORB의 기능이 객체 어댑터, 스텁, 스켈레톤 또는 동적 호출 등을 통해서 제공되므로 몇몇 오퍼레이션만이 모든 객체들에 대해 공통이다. 공통 오퍼레이션에는 get_interface와 get_implementation 같은 함수가 포함되어 있는데, 이것들은 임의의 객체 레퍼런스에 작용하며 각각 인터페이스 저장소 객체와 구현 저장소 객체를 얻는 데 사용된다.
- ZeroPageHistory . . . . 76 matches
||2학기 ||각종 스터디 모임 결성. 제 1회 ZeroPage S/W 전시회 성황리에 개최(9작품) ||
||겨울방학 ||Data Structure, C 등 각종 강좌 스터디 개설됨. ||
* 주요 스터디/프로젝트 항목
||1학기 ||2기 회원모집. 1학년을 위한 각종 강좌 마련, 스터디 조직. 2학년 각종 스터디 조직(C++, Graphics, OS, System-Programming, 한글 구현). 첫돌 잔치. ||
||여름방학 ||Computer Architecture, Assembly, Pascal 등의 스터디/강좌. 현대 경진대회 준비반 개설(15일간 오전 9시-오후 5시까지 전산 커리를 모두 다룸, 기출문제 풀이 등) ||
* 주요 스터디/프로젝트 항목
||1학기 ||3기 회원모집. 제 2회 소프트웨어 전시회 및 2주년 기념 행사 C초급 강좌, C++ 스터디 조직. ||
* 주요 스터디/프로젝트 항목
* 주요 스터디/프로젝트 항목
||2학기 ||Delpya, OS, 그래픽, Assembly, Coprocessor 강좌. UNIX, 통신 스터디. ||
* 주요 스터디/프로젝트 항목
||겨울방학 ||Data Structure 스터디, API 세미나 개최, 게임 제작 온라인 강좌.(긁어 놓은 게시물: Win95 레지스트리, TCP/IP) ||
* 주요 스터디/프로젝트 항목
||여름방학 ||C++, HTML, Object Pascal 세미나 개최.(목적 불문 게시물: 비선점형/선점형 멀티태스킹, Win32의 프로세스와 스레드.)(긁어놓은 게시물: 타이머, 마우스) ||
||2학기 ||C++(긁어놓은 게시물: 데이터 베이스, Turbo Pascal) ||
* 주요 스터디/프로젝트 항목
* 주요 스터디/프로젝트 항목
* 주요 스터디/프로젝트 항목
* C/C++ 스터디 (당시에 1학년 1학기 이수 기본 과목이 파스칼이어서 C/C++은 신세계)
* MFC 그룹 스터디 - 지뢰찾기 만들기
- 논문번역/2012년스터디/이민석 . . . . 76 matches
오프라인 필기 글자 인식을 위한 시스템을 소개한다. 이 시스템의 특징은 분할이 없다는 것으로 인식 모듈에서 한 줄을 통째로 처리한다. 전처리, 특징 추출(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를 따라 핵심 영역별로 나눠진다.
수직 위치와 기울임은 [15]에 서술된 접근법과 비슷한 선형 회귀(linear regression)를 이용한 베이스라인 측정법을 적용하여 교정한 반면에, 경사각 계산은 가장자리edge 방향에 기반한다. 그러므로 이미지는 이진화되고 수평 흑-백과 백-흑 전환을 추출하는데 수직 stroke만이 경사 측정에 결정적이다. canny edge detector를 적용하여 edge orientation 자료를 얻고 각도 히스토그램에 누적한다. 히스토그램의 평균을 경사각으로 쓴다.
sliding window의 각 열에서 특징 7개를 추출한다. (1) 흑-백 변화 개수(windowed text image의 이진화 이후), (2) 베이스라인에 대한 강도 분포의 평균 값 위치, (3) 최상단 글자 픽셀에서 베이스라인까지의 거리, (4) 최하단 글자 픽셀에서 베이스라인까지의 거리, (5) 최상단과 최하단 텍스트 픽셀의 거리, (6) 최상단과 최하단 텍스트 픽셀 사이의 평균 강도, (7) 그 열의 평균 강도. 특징 (2)-(5)는 core size, 즉 하단 베이스라인과 상단 베이스라인(극대값을 통한 line fitting으로 계산)의 거리에 의해 정규화되어, 글씨 크기의 변동에 대해 더욱 굳건해진다. 그 후에 모든 특징은 윈도우의 네 열에 걸쳐 평균화된다.
특징 벡터들을 decorrelate하고 종류 분별력을 향상하기 위해 우리는 훈련 단계와 인식 단계에서 LDA를 통합한다. (cf. [6]) 원래 특징 표현을 일차 변환하고 특징 공간의 차원을 점차 줄이며 최적화한다. 일차 변환 A를 구하기 위해 훈련 자료의 클래스내 분산(within class scatter) 행렬 Sw와 클래스간 분산(between class scatter) 행렬 Sb를 이용하여 고유 벡터 문제를 해결한다. 이 분산(scatter) 행렬들을 계산하여 각 특징 벡터의 HMM 상태와 함께 이름표를 붙여야 한다. 우리는 먼저 일반적인 훈련을 수행하고 훈련 자료들을 상태를 기준으로 정렬한다. 분산 행렬을 구했으면 LDA 변환은 다음 고유 벡터 문제를 풀어 계산한다.
필기 글자 인식을 위한 HMM의 구성, 훈련, 해독은 ESMERALDA 개발 환경[5]이 제공하는 방법과 도구의 틀 안에서 수행된다. HMM의 일반적인 설정으로서 우리는 512개의 Gaussian mixtures with diagonal covariance matrice(더 큰 저자 독립 시스템에서는 2048개)를 포함하는 공유 코드북이 있는 semi-continuous 시스템을 사용한다. 52개 글자, 10개 숫자, 12개 구두점 기호와 괄호, 공백 하나를 위한 기본 시스템 모형은 표준 Baum-Welch 재측정을 사용하여 훈련된다. 그 다음 한 줄 전체를 인식하기 위해 글자 모형에 대한 루프로 구성된 conbined model이 사용된다. 가장 가능성 높은 글자 시퀀스가 표준 Viterbi beam- search를 이용하여 계산된다.
전처리에서 벌충할 수 없는 서로 다른 글씨체 사이의 변동을 고려하기 위해 우리는 [13]에 서술된 접근법과 비슷한, 다저자/저자 독립식 인식을 위한 글자 이서체 모형을 적용한다. 이서체는 글자 하위 분류, 즉 특정 글자의 서로 다른 실현이다. 이는 베이스라인 시스템과달리HMM이이제서로다른글자 하위 분류를 모델링하는 데 쓰임을 뜻한다. 글자별 하위 분류 개수와 이서체 HMM 개수는 휴리스틱으로 결정하는데, 가령 다저자식에 적용된 시스템에서 우리는 이서체 개수가 저자 수만큼 있다고 가정한다. 초기화에서 훈련 자료는 이서체 HMM들을 임의로 선택하여 이름표를 붙인다. 훈련 도중 모든 글자 표본에 대해 해당하는 모든 이서체에 매개변수 재추정을 병렬 적용한다. 정합 가능성은 특정 모형의 매개변수가 현재 표본에 얼마나 강하게 영향받는 지를 결정한다. 이서체 이름표가 유일하게 결정되지는 않기에 이 절차는 soft vector quantization과 비슷하다.
부수적으로, 통계적 언어 모형은 인식 과정에 통합되어 글자 시퀀스가 발생할 것 같은 정도의 추정을 제공한다. 인식 작업의 목표는 주어진 데이터 x에 대하여 통합 통계 모형의 확률을 최대화하는 글자 시퀀스 𝑤̂ 를 찾는 것이다.
위 식에서 P(W)는 글자 시퀀스 w의 언어 모형 확률이고 P(X|W)는 이 글자 시퀀스를 그 글자 모형에 따라 입력 데이터 x로서 관찰한 확률이다. 우리의 경우 absolute discounting과 backing-off for smoothing of probability distribution을 이용한 바이그램 언어 모형을 적용하였다. (cf. e.g. [3])
우리의 필기 인식 시스템을 평가하기 위해 단일 저자식, 다저자식, 저자 독립식 인식 이렇게 세 가지 실험을 수행했다. 표 1에 이들 실험의 글자 오류율이 있다. 처음 두 열은 실험 종류, 3열은 언어 모형을 적용하지 않은 오류율, 4열은 바이그램 언어 모형을 글자 수준에서 적용한 결과다. 언어 모형은 IAM 데이터베이스의 [a..d] 범주의 모든 글을 사용하여 생성하였고 실험 내내 일정하다. 표 2에는 어휘-free 단어 인식과 어휘 기반 단어 인식이 나타나있다.
단일 저자식 실험은 Senior 데이터베이스에서 훈련에 282줄, 검정에 141줄을 써서 수행했는데, 글자 수준에서 검정 집합의 바이그램 perplexity는 15.3이다. 베이스라인 시스템의 오류율 13.3%는 바이그램 언어 모형을 채택하여 12.1%로 감소했다. LDA 변환한 특징 공간의 차원이 12로 내려갔지만 오류율은 그다지 커지지 않았다. 단일 저자 시스템의 단어 오류율(표 2)은 어휘 없이 28.5%, 1.5k 어휘가 있으면 10.5%다. 이 결과들은 우리가 같은 데이터베이스를 이용하여 literature(문학 작품은 아닌 것 같다)에서 얻은 오류율과 비교되긴 하지만, 훈련 집합과 검정 집합의 크기가 달라 비교하긴 어렵다. [17]에서 오류율은 글자의 경우 28.3%, 어휘 없는 단어의 경우 84.1%, 1.3k 어휘가 있는 단어의 경우 16.5%다. [15]의 보고에서 단어 오류율은 어휘가 있는 경우 6.6%, 어휘 free인 경우 41.1%다. [9]에서 최고의 어휘 기반 단어 오류율은 15.0%다.
다저자 필기 인식 작업의 경우 IAM 데이터베이스의 하위집합 c03에서 훈련에 440줄, 검정에 109줄을 사용하였다. 이 줄들은 글씨체가 확연히 다른 저자 여섯이서 작성하였다. 이 작업에서 LDA(12차원으로 경감)를 쓴 글자 오류율 14.2%는 이서체 모형(각 소문자에 이서체 6개)을 추가로 사용하여 13.3%로 더 크게 감소했다. 바이그램 언어 모형을 채택한 결과 오류율은 11.1%로 더욱 감소했다(검정 집합 perplexity는 12.0). 어휘 없는 단어 오류율은 39.0%로, 단어 421개(구두점 포함)를 포함한 어휘를 적용하여 오류율은 13.9%로 줄어들었는데 [11]에 나온 20.5%와 많이 비교된다.
- Gof/AbstractFactory . . . . 70 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)를 위한 인터페이스를 정의한다.
* 추상 인터페이스(ProductInterface)를 수행한다.
* AbstractFactory에 의해서 정의된 인터페이스와 AbstractProduct 클래스만을 사용한다.
* 보통의 경우 ConcreteFactory 클래스의 단일 인스턴스는 수행시간(run-time)중에 생성된다.
* AbstractFactory는 객체(ProductObject)의 생성을 ConcreteFactory의 서브 클래스에 위임한다.
1. ''독립적인 concrete 클래스들.'' Abstract Factory 패턴은 어플리케이션이 생성한 오브젝트의 클래스를 조정할 수 있도록 해준다.
factory가 객체를 만들어 내는데 대한 수행과 책임을 캡슐화 하기 때문에 상속한 클래스로부터 클라이언트가 독립적일 수 있다.
클라이언트는 추상 인터페이스를 통해서 인스턴스를 다룬다. concrete facoty의 수행에서 산물의 클래스 이름은 차단되어있다.
2. ''산물의 집합간에 전환을 쉽게 해준다.'' concrete factory의 클래스는 어플리케이션에 단 한번, 선언될 때만 쓰인다.
UI 예제에서 Motif widgets을 Presentation Manager widgets로 바꾸는 작업을 단지 유사한 팩토리의 객체와 바꿔주고 그 인터페이스를 다시 생성함으로써 행할 수 있다.
왜냐하면 AbstractFactory 인터페이스는 생산되어질 산물의 집합을 고정해놓기 때문이다. 새로운 산물을 지원하는 데는 factory의 인터페이스를 확장할 필요가 있다
- Gof/Composite . . . . 70 matches
드로우 에디터나 회로설계 시스템과 같은 그래픽 어플리케이션은 단순한 컴포넌트들의 차원을 넘어서 복잡한 도표들을 만들어내는데 이용된다. 사용자는 더 큰 컴포넌트들을 형성하기 위해 컴포넌트들을 그룹화할 수 있고, 더 큰 컴포넌트들을 형성하기 위해 또 그룹화 할 수 있다. 단순한 구현방법으로는 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) 재귀 구조에서의 해당 컴포넌트의 부모 클래스로 접근하기 위한 인터페이스를 정의하고, 적절하게 구현한다.
* Component 인터페이스중 자식컴포넌트 관련 명령들을 구현한다.
* Component의 인터페이스를 통해 composition의 객체들을 조작한다.
* 클라이언트들은 Component 클래스의 인터페이스를 이용, composite 구조의 객체들과 상호작용을 한다. 만일 상호작용하는 객체가 Leaf인 경우, 해당 요청은 직접적으로 처리된다. 만일 상호작용하는 객체가 Composite인 경우, Composite는 해당 요청을 자식 컴포넌트들에게 전달하는데, 자식 컴포넌트들에게 해당 요청을 전달하기 전 또는 후에 추가적인 명령들을 수행할 수 있다.
* 기본 객체들과 복합 객체들로 구성된 클래스 계층 구조를 정의한다. (상속관계가 아님. 여기서는 일종의 data-structure의 관점) 기본 객체들은 더 복잡한 객체들을 구성할 수 있고, 계속적이고 재귀적으로 조합될 수 있다. 클라이언트 코드가 기본 객체를 원할때 어디서든지 복합 객체를 취할 수 있다.
* 클라이언트를 단순하게 만든다. 클라이언트는 각각의 객체와 복합 구조체를 동등하게 취급할 수 있다. 클라이언트는 그들이 다루려는 객체가 Composite 인지 Leaf 인지 알 필요가 없다. 이러함은 composition 을 정의하는 클래스들에 대해 상관없이 함수들을 단순하게 해준다.
* 새로운 종류의 컴포넌트들을 추가하기 쉽게 해준다. 새로 정의된 Composite 나 Leaf 의 서브클래스들은 자동적으로 현재의 구조들과 클라이언트 코드들과 작용한다. 클라이언트 코드들은 새로운 Component 클래스들에 대해서 수정될 필요가 없다.
* Component 인터페이스의 최대화
* Component는 컴포넌트들의 리스트구조를 구현해야 하는가?
computer 와 스테레오 컴포넌트들과 같은 장치들 (Equipment) 는 보통 격납 계층의 부분-전체 식으로 구성된다. 예를 들어 섀시 (chassis) 는 드라이브들(하드디스크 드라이브, 플로피 디스크 드라이브 등) 과 평판들 (컴퓨터 케이스의 넓은 판들) 을 포함하고, 버스는 카드들을 포함할 수 있고, 캐비넷은 섀시와 버스 등등을 포함할 수 있다. 이러한 구조는 자연스럽게 CompositePattern으로 모델링될 수 있다.
Equipment 클래스는 부분-전체 계층구조의 모든 equipment들을 위한 인터페이스를 정의한다.
Equipment 는 전원소모량 (power consumption)과 가격(cost) 등과 같은 equipment의 일부의 속성들을 리턴하는 명령들을 선언한다. 서브클래스들은 해당 장비의 구체적 종류에 따라 이 명령들을 구현한다. Equipment 는 또한 Equipment의 일부를 접근할 수 있는 Iterator 를 리턴하는 CreateIterator 명령을 선언한다. 이 명령의 기본적인 구현부는 비어있는 집합에 대한 NullIterator 를 리턴한다.
- JavaStudy2004/클래스상속 . . . . 70 matches
상속은 객체 지향 프로그램에서 가장 중요한 개념 중의 하나이다. 이것은 자바클래스를 직접 디자인하는 문제에 영향을 미친다.상속은 다른 클래스의 정보를 동적으로 액세스하도록 해주기 위해서 그 클래스와 다른 클래스와의 차이를 명시해주면 된다.
각 클래스는 상위클래스(superclass)를가지며 하나 이상의 하위클래스(subclass)를 가진다.클래스들의 계층을 따라 내려가는 것을 상속된다고 한다.
하위클래스는 상위클래스로부터 모든 메소드와 변수들을 상속받는다.상위클래스가 필요한 행위를 정의했으면 재정의하거나 다른 클래스로부터 복사할 필요도 없다. 상속받은 클래스는 자동적으로 상위클래스의 행위를 자동적으로 가지게 된다.자바 클래스 계층의 제일 위에는 Object라는 클래스가 있다. 모든 클래스는 이 클래스로부터 상속을 받는다. 각 클래스들은 특별한 목적에 맞추어 특정 정보를 추가적으로 가지게 되는 것이다.
자바 클래스를 새로 작성할 때 대부분 다른 클래스가 가지는 정보와 몇 가지의 추가적인 정보를 가지게 할 것이다. 예를 들어 새로운 Button을 만들려고 한다면 클래스에 Button으로부터 상속받을 수 있도록 정의하기만 하면 된다. 따라서 Button과 다른 특징에 대해서만 신경 쓰면 된다.
=== 클래스 계층 만들기 ===
많은 클래스를 만들기 위해서는 기존의 클래스 계층을 이용할 수도 있고, 자신만의 클래스 계층을 만들 필요도 있다. 이러한 계층을 만들기 위해서는 몇 가지 생각할 점이 있다.
* 다른 클래스에 공통적인 정보를 추출해서 상위클래스에 넣고 하위클래스에서 다시 사용하도록 한다.
* 한 클래스의 행위를 바꾸면 자동적으로 하위클래스의 행위를 바꾸게 한다. 따라서 재컴파일할 필요가 없다.
예를 들어 Motorcycle클래스와 같이 Car라는 클래스를 만드는 것을 생각하자. Car와 Motorcycle은비슷한 특징들이 있다. 이 둘은 엔진에 의해 움직인다. 또 변속기와 전조등과 속도계를 가지고 있다. 일반적으로 생각하면, Object라는클래스 아래에 Vehicle이라는 클래스를 만들고 엔진이 없는 것과 있는 방식으로 PersonPoweredVehicle과 EnginePoweredVehicle 클래스를 만들 수 있다. 이 EnginePoweredVehicle 클래스는 Motorcycle, Car, Truck등등의 여러 클래스를 가질 수 있다. 그렇다면 make와 color라는 속성은 Vehicle 클래스에 둘 수 있다.
인스턴스 변수의 경우 클래스에 새로운 변수를 만들었다면, 현재 클래스의 변수와 상위클래스에서 정의된 모든 변수를 가질수 있다. 따라서 모든 클래스들의 조합으로 현재의 객체를 위한 템플릿을 형성하게되고 필요한 정보를 채우는 것이다.
메소드도 비슷하게 작동한다.새로운 객체는 상위클래스의 모든 메소드 이름을 액세스한다. 그러나 메소드가 호출될 때마다 동적으로 메소드 정의가 선택된다. 특정 객체에 대한 메소드를 호출하면 자바는 제일 먼저 그객체 클래스의 메소드 정의를 살펴본다. 그 객체 클래스에 정의되지 않았다면 그 메소드 정의를 발견할 때까지 상위클래스를 찾게될 것이다.
만일 하위클래스에서 상위클래스의 메소드의 이름과 인자의 타입을 똑같이 가진 메소드를 정의한다고 하면 어떻게 되는가? 이것은 계층적으로 아래에 있는 것이 먼저 실행되게 되어 있다. 이러한 방식으로 임의로 상의클래스의 메소드를 감추고 하위클래스에 필요한 메소드를 정의할 수 있다. 바로 중복(overriding)이라고 부르는 것이다.
=== Point 클래스 ===
* 클래스 이름 얻어오기
=== Shape 클래스 ===
* 클래스 이름 얻어오기
=== Circle 클래스 ===
=== Rectangle 클래스 ===
==== 스펙 ====
===== 클래스 =====
- JavaStudy2003/두번째과제/곽세환 . . . . 68 matches
모듈성은 각각의 객체를 위한 소스코드가 서로 무관하게 유지될 수 있다는 것이다.
클래스(Class):(벽돌틀)
인스턴스(Instance):(찍어낸 벽돌)
클래스를 실제로 사용할 수 있도록 선언하는 것
상위클래스가 가지고 있는 특성들을 하위클래스에서 사용할 수 있다.
여러개의 클래스가 같은 메시지에 대해서 각자의 방법으로 작용할 수 있는 능력이다.
나.클래스정의 및 인스턴스(객체) 생성
클래스 정의
class 클래스이름 {
인스턴스 생성
클래스이름 클래스인스턴스이름 = new 클래스이름();
클래스이름 클래스인스턴스이름;
클래스인스턴스이름 = new 클래스이름();
public:같은 클래스, 하위클래스, 같은 패키지내에 있는 클래스에서 접근가능
private:같은 클래스에서만 접근가능
protected:같은 클래스, 하위클래스, 같은 패키지내에 있는 클래스에서 접근가능
friendly(생략):같은 클래스, 같은 패키지내에 있는 클래스에서 접근 가능
연산자다중정의:같은 이름의 연산자가 클래스에 따라 다른 연산을 수행할 수 있도록 하는 것
클래스이름(형식매개변수 리스트) { … }
클래스이름(형식매개변수 리스트) {
- 토비의스프링3/밑줄긋기 . . . . 64 matches
* 스프링을 사용하는 개발자들은 자연스럽게 자바와 엔터프라이즈 개발의 기본에 충실한 베스트 프랙티스를 적용할 수 있고, 이상적인 개발 철학과 프로그래밍 모델을 이해하게 되고, 좋은 개발 습관을 체득하게 된다.
* 스프링을 사용하는 개발자들이 스프링을 통해 얻게 되는 두 가지 중요한 가치가 있다면 그것은 '''단순함'''과 '''유연성'''이다.
=== 테스트 ===
* Context는 전달받은 그 Strategy 구현 클래스의 오브젝트를 사용한다.
* hamcrest.CoreMatchers에 대해서 : CoreMatcher로 테스트 코드를 만들 때 null 값은 비교나 not을 사용하는 것이 불가능합니다(ex. assertThat(tempObject, is(null)); -> 에러). 이건 null이 값이 아니기 때문인데, CoreMatcher에서 null 값을 쓸 때는 org.hamcrest.CoreMatchers의 notNullValue()와 nullValue()를 사용하시면 되겠습니다. http://jmock.org/javadoc/2.5.1/org/hamcrest/CoreMatchers.html
=== 서비스 추상화 ===
* 빠르게 실행 가능한 포괄적인 테스트를 만들어두면 이렇게 기능의 추가나 수정이 일어날 때 그 위력을 발휘한다.
* 두 번째 방법은 테스트를 보강해서 원하는 사용자 외의 정보는 변경되지 않았음을 직접 확인하는 것이다.
* 테스트를 만들면 작성한 코드에 확신을 가질 수 있고 마음이 편해지는 건 사실이지만, 귀찮다고 대충 작성한 테스트는 오히려 찾기 힘든 버그와 사고의 원인이 될 수도 있으니 조심하자.
* DAO는 데이터를 어떻게 가져오고 조작할지를 다루는 곳이지 비즈니스 로직을 두는 곳이 아니다.
* 데이터 액세스 로직이 바뀌었다고 비즈니스 로직 코드를 수정하는 일이 있어서는 안 된다.
* 이 정도 코드라면 한 번 살펴보는 것 만으로도 오류가 있는지 쉽게 찾아낼 자신이 있는 개발자도 있겠지만, 정말 뛰어난 개발자라면 아무리 간단해 보여도 실수할 수 있음을 알고 있기 때문에 테스트를 만들어서 직접 동작하는 모습을 확인해보려고 할 것이다.
==== 트랜잭션 서비스 추상화 ====
* 게다가 테스트의 기본은 자동화된 테스트여야 하니 사람이 간섭하는 것은 좋은 생각이 아니다.
* 테스트를 위해 코드를 함부로 건드리는 것은 좋은 생각이 아니다.
* 비즈니스 로직을 담고 있는 UserService 메소드 안에서 트랜잭션의 경계를 설정해 관리하려면 지금까지 만들었던 깔끔하게 정리된 코드를 포기해야 할까? 아니면, 트랜잭션 기능을 포기해야 할까? 물론 둘 다 아니다. 스프링은 이 딜레마를 해결할 수 있는 멋진 방법을 제공해준다.
* 이렇게 여러 기술의 사용 방법에 공통점이 있다면 추상화를 생각해볼 수 있다. 추상화란 하위 시스템의 공통점을 뽑아내서 분리시키는 것을 말한다. 그렇게 하면 하위 시스템이 어떤 것인지 알지 못해도, 또는 하위 시스템이 바뀌더라도 일관된 방법으로 접근할 수가 있다.
* 어떤 클래스든 스프링의 빈으로 등록할 때 먼저 검토해야 할 것은 싱글톤으로 만들어져 여러 스레드에서 동시에 사용해도 괜찮은가 하는 점이다. 상태를 갖고 있고, 멀티스레드 환경에서 안전하지 않은 클래스를 빈으로 무작정 등록하면 심각한 문제가 발생하기 때문이다.
==== 서비스 추상화와 단일 책임 원칙 ====
* 이렇게 기술과 서비스에 대한 추상화 기법을 이요하면 특정 기술환경에 종속되지 않는 포터블한 코드를 만들 수 있다.
- Java Study2003/첫번째과제/장창재 . . . . 53 matches
- 자바(Java)를 이야기할 때 크게 두 가지로 나누어 이야기 할 수 있습니다. 먼저, 기계어, 어셈블리어(Assembly), 포트란(FORTRAN), 코볼(COBOL), 파스칼(PASCAL), 또는 C 등과 같이 프로그래밍을 하기 위해 사용하는 자바 언어가 있고, 다른 하나는 자바 언어를 이용하여 프로그래밍 하기 위해 사용할 수 있는 자바 API(Application Programming Interface)와 자바 프로그램을 실행시켜 주기 위한 자바 가상머신(Java Virtual Machine) 등을 가리키는 자바 플랫폼(Platform)이 있습니다. 다시 말해서, 자바 언어는 Visual C++와 비유될 수 있고, 자바 플랫폼은 윈도우 95/98/NT 및 윈도우 95/98/NT API와 비유될 수 있습니다.
컴퓨터는 각 CPU에 따라 서로 다른 기계어를 갖습니다. 이러한 이유 때문에 도스 또는 윈도우 95/98/NT 등이 설치되어 있는 컴퓨터에서 실행되는 프로그램이 유닉스가 설치되어 있는 컴퓨터에서는 실행되지 않는 것입니다. 그러나, 자바 바이트코드는 이러한 플랫폼에 상관없이 자바 가상머신에 의해 실행될 수 있도록 정의된 중간코드입니다. 따라서, 자바 바이트코드로 컴파일 되기만 하면, 자바 인터프리터인 자바 가상머신이 설치되어 있는 곳이면 어디에서든 실행시켜 줄 수 있습니다. 이는 자바 개발자 또는 사용자로 하여금 자바 프로그램을 개발하거나 사용할 때 그 플랫폼이 윈도우 95/98/NT, 유닉스, 또는 매킨토시인지 전혀 신경 쓰지 않아도 되도록 합니다.
자바 바이트코드 명령어를 해석하고, 이를 자바 인터프리터가 설치되어 있는 플랫폼(윈도우 95/98/NT, 유닉스, 매킨토시 등)에 맞게 실행시켜 줍니다. 자바 인터프리터는 자바 바이트코드를 실행시켜 주기 위한 기능을 명세하고 있는 자바 가상머신을 구현해 놓은 것으로서 자바 가상머신과 같은 의미로 사용되며, 주로 자바 가상머신으로 많이 사용됩니다.
자바 바이트코드는 자바 가상머신에서 실행되는 기계어라고 생각하면 됩니다. 그리고, 모든 자바 인터프리터는 자바 가상머신을 구현해 놓은 것으로, 자바 가상머신과 자바 인터프리터를 같은 것으로 생각할 수 있습니다. . 이러한 자바 가상머신은 JDK(Java Development Kit)에 포함되어 있을 수도 있고, 자바 호환 웹 브라우저 내에 내장되어 있을 수도 있습니다. 또는, 자바 칩과 같이 하드웨어에 직접 구현될 수도 있습니다. 자바 바이트코드는 “write once, run anywhere”라는 말을 가능하게 해 줍니다. 다시 말해서, 자바 언어를 이용하여 작성한 자바 프로그램을 각 플랫폼(윈도우 95/98/NT, 리눅스, 유닉스, 매킨토시 등)에 맞게 제공되는 자바 컴파일러를 통해서 바이트코드로 컴파일 할 수 있습니다. 그리고, 이 바이트코드는 자바 가상머신이 있는 어떤 곳에서도 실행될 수 있습니다.
자바 가상머신은 자바 플랫폼의기반을 이루며, 다양한 하드웨어기반 플랫폼에 포팅(poring) 됩니다. 다시 말해서, 자바 가상머신은 윈도우 95/98/NT, 유닉스, 또는 매킨토시 등과 같은 기존의 운영체제 또는 인터넷 익스플로러와 넷스케이프 등과 같은 웹 브라우저 등, 여러 가지 플랫폼에 설치되어 사용될 수 있으며, 사용자는 자바 바이트코드로 컴파일된 자바 프로그램을 실행시키기 위해서 이 자바 가상머신을 이용하면 됩니다.
자바 API는 윈도우 API와 같이 운영체제에서 제공해 주는 라이브러리와 같은 것입니다. 다시 말해서, 자바 프로그램을 개발하기 위해 사용할 수 있는 라이브러리 또는 클래스들이라 할 수 있습니다. 이러한 자바 API는 서로 관련된 클래스들을 묶어서 패키지 단위로 제공되고 있습니다.
자바는 C++와는 달리 처음부터 객체지향 개념을 기반으로 하여 설계되었고, 객체지향 언어가 제공해 주어야 하는 추상화(Abstraction), 상속(Inheritance), 그리고 다형성(Polymorphism) 등과 같은 특성들을 모두 완벽하게 제공해 주고 있습니다. 또한, 자바의 이러한 객체지향적 특성은 분산 환경, 클라이언트/서버 기반 시스템이 갖는 요구사항도 만족시켜 줄 수 있습니다.
자바는 컴파일 시에 에러 검사를 철저하게 하고, 실행 시에 발생할 수 있는 에러에 대해서도 실행 시에 철저하게 검사를 수행함으로써 신뢰도가 높은 프로그램을 작성할 수 있도록 해 줍니다. 또한, C/C++ 프로그램 개발자들을 가장 혼란스럽게 하고, 프로그램의 치명적인 오류를 발생시킬 수 있는 포인터 및 포인터 연산을 자바에서는 사용하지 않게 함으로써, 포인터를 사용함으로써 프로그래머가 범할 수 있는 오류를 없앴다는 것입니다.
자바는 분산환경에서 작동하도록 설계 되었습니다. 그러나, 자바는 자바 언어와 자바 런타임 시스템 내에 보안 기능이 내재되어 있기 때문에 보안성이 있는 프로그램을 개발할 수 있도록 해 줍니다. 이러한 특성은 자바 프로그램이 네트웍 환경에서 바이러스 등과 같은 프로그램이 파일 시스템을 파괴하려는 것을 막을 수 있도록 해 줍니다.
자바는 서로 다른 이종(Heterogeneous)의 네트워크 환경에서 분산 되어 실행될 수 있도록 설계되었습니다. 이와 같은 환경에서는 응용 프로그램들이 다양한 하드웨어 아키텍쳐 위에서 실행될 수 있어야만 합니다. 이를 위해 자바 컴파일러는 이종의 하드웨어 및 소프트웨어 플랫폼에서 효율적으로 코드를 전송하기 위해 설계된 아키텍쳐 중립적인 중간 코드인 바이트코드를 생성합니다. 이는 동일한 자바 프로그램의 자바 바이트코드가 자바 가상머신이 설치되어 있는 어떤 플랫폼에서도 실행될 수 있도록 하는 것입니다. 또한, 자바는 기본 언어 정의를 엄격하게 함으로써 효율적인 이식성을 제공해 주고 있습니다. 예를 들어, int 형과 같은 기본 데이터형의 크기를 플랫폼과 무관하게 일정하게 하고, 연산자의 기능을 확실하게 규정하고 있습니다. C 언어를 이용하여 int 형을 선언할 때, 도스에서는 16비트, 윈도우 95/98/NT 등 32비트 운영 체제 환경에서는 32비트, 유닉스에서는 32비트 등 그 플랫폼에 따라 크기가 다르지만, 자바에서는 플랫폼에 상관없이 32비트로 고정되도록 하였습니다. 이는 자바 프로그램이 실행되는 환경이 자바 가상머신으로 동일하기 때문입니다.
자바에서는 인터프-리터가 런타임 환경을 검사할 필요 없이 실행될 수 있도록 구성하였기 때문에 뛰어난 성능을 제공해 줍니다. 쓰레기 수집기(garbage collector) 즉 메모리 관리자는 자동으로 낮은 우선순위의 백그라운드 스레드로 실행되어 메모리가 필요할 때에만 동작하도록 함으로써, 자바 가상머신에게 무리를 주지 않으면서 보다 나은 수행 성능을 제공할 수 있도록 해 줍니다. 또한, 방대한 양의 계산을 수행하는 프로그램은 계산이 많은 부분을 본래의 플랫폼에 해당하는 기계어 코드로 재작성하여 자바 프로그램과 인터페이스 할 수 있도록 하였습니다.
자바 언어로 작성된 자바 프로그램을 중간언어 형태인 자바 바이트코드로 컴파일하고, 이렇게 생성된 자바 바이트코드를 자바 인터프리터가 해석함으로써, 자바 인터프리터와 런타임 시스템이 이식(porting)된 모든 플랫폼에서 자바 바이트코드를 직접 실행할 수 있습니다.
다중 스레드(Multi-thread)를 지원한다:
자바의 다중 스레드 기능은 동시에 많은 스레드를 실행시킬 수 있는 프로그램을 만들 수 있도록 해 줍니다. 자바는 동기화 메소드들을 기본적으로 키워드로 제공함으로써, 자바 언어 수준에서 다중 스레드를 지원해 줍니다. 자바 API에는 스레드를 지원해 주기 위한 Thread 클래스가 있으며, 자바 런타임 시스템에서는 모니터와 조건 잠금 함수를 제공해 줍니다.
다운로드 받은 애플릿과 애플릿 관련 파일들은 웹 클라이언트의 디스크에 캐싱합니다. 예를 들어, 웹 클라이언트가 애플릿이 포함된 페이지를 보다가 다른 페이지에 잠깐 들렀다가 애플릿이 포함된 페이지로 다시 돌아올 경우, 애플릿과 관련된 모든 파일들을 다시 다운로드하는 것이 아니고 웹 클라이언트의 디스크에 캐싱 되어 있는 애플릿 관련 파일들을 사용하게 됩니다. 이렇게 함으로써, 느린 네트워크를 이용하여 애플릿과 관련된 파일들을 다시 다운로드 하는데 걸리는 시간을 없앨 수 있습니다.
느린(lazy) 클래스 로딩:
하나의 HTML 페이지 내에 있는 애플릿은 하나의 클래스만을 사용할 경우도 있겠지만, 대부분의 경우 여러 개의 클래스를 필요에 따라 사용하게 됩니다. 여러 개의 클래스를 사용할 경우, 모든 클래스가 동시에 사용되지는 않겠지요. 또한 어떤 클래스는 정의는 되어있지만, 필요에 따라 전혀 사용되지 않을 수도 있겠지요. 따라서, 자바에서는 필요할 경우에만 클래스를 로딩하여 사용하게 됩니다. 이러한 기술을 느린(lazy) 클래스 로딩 이라 합니다.
이러한 문제는 자바가 스레드 스케줄링 정책 구현에 의존하고, synchronized 명령어가 모니터 기반의 동기화 기법만 제공하고 큐 대기 시간을 예측할 수 없으며, notify() 메소드가 스레드를 깨우는 순서가 불명확하고, 우선순위 역전(priority inversion_의 가능성이 있습니다. 이러한 문제는 API 수준에서 해결되어야 하고, 실시간 타스크 처리를 위한 우선순위 레벨을 확장하고, 우선순위 상속(priority inheritance) 또는 우선순위 최고 한도 제한(priority ceiling) 등과 같은 우선순위 역전 방지 (priority inversion avoidance) 프로토콜을 사용하고, MuteX, 이진 세마포어(Binary Semaphore), 계수 세마포어(Counting Semaphore) 등을 사용할 수 있습니다.
이러한 문제점은 느린(Lazy) 클래스 로딩에서 발생하거나 메모리 할당과 가비지 콜렉션이 비결정적이고 느린 최악의 경우(worst-case) 특성을 가지며 stop-start 방식으로 모든 스레드를 멈출 수 있다는 문제점이 있습니다. 이를 해결하기 위해 클래스를 미리 로딩(class preloading)한다거나 정적 초기화(static initializer)를 제거하여 패키지 라이브러리에 대해서는 가상머신 초기화를 사용하고 응용프로그램에서는 명시적인 초기화 를 사용하게 하는 등의 기법을 사용할 수 있습니다. 그리고, 메모리 할당과 쓰레기 수집(garbage collection)에 대해서는 정해진 시간 내에 입터럽트 가능한 쓰레기 수집을 하는 것입니다. 또는 표준화된 실시간 API를 제공함으로써 해결할 수 있습니다.
JDK와 함께 제공되는 자바 가상머신에 의해 독립적으로 실행될 수 있도록 작성된 자바 프로그램입니다. 다시 말해서, 여러분의 컴퓨터에서 윈도우의 도스창 또는 유닉스 쉘 등과 같은 쉘에서 자바 가상머신을 이용하여 실행시키는 자바 프로그램입니다. 위에 나오는 그림은 자바 애플리케이션의 실행 과정을 자세히 보여주고 있습니다.
- 데블스캠프2011 . . . . 53 matches
= 데블스 캠프 2011 =
= 데블스 강의 테이블 =
* 강사님들. 각 강의마다 페이지 만드실때 '''데블스캠프2011/첫째날/오프닝''' 형식으로 만들어주세요.
|| 1 || [송지원] || [:데블스캠프2011/첫째날/오프닝 오프닝] || [강성현] || [:데블스캠프2011/둘째날/Scratch Scratch] || [김수경] || [:데블스캠프2011/셋째날/String만들기 String만들기] || [이원희] || [:데블스캠프2011/넷째날/Android Android] || [조현태] || [:데블스캠프2011/다섯째날/PythonNetwork Python으로 하는 네트워크] || 8 ||
|| 2 || [송지원] || [:데블스캠프2011/첫째날/오프닝 오프닝] || [강성현] || [:데블스캠프2011/둘째날/Scratch Scratch] || [김수경] || [:데블스캠프2011/셋째날/String만들기 String만들기] || [이원희] || [:데블스캠프2011/넷째날/Android Android] || [조현태] || [:데블스캠프2011/다섯째날/PythonNetwork Python으로 하는 네트워크] || 9 ||
|| 3 || [변형진] || [:데블스캠프2011/첫째날/개발자는무엇으로사는가 개발자는 무엇으로 사는가] || [강성현] || [:데블스캠프2011/둘째날/Scratch Scratch] || [김수경] || [:데블스캠프2011/셋째날/String만들기 String만들기] || [이원희] || [:데블스캠프2011/넷째날/Android Android] || [조현태] || [:데블스캠프2011/다섯째날/PythonNetwork Python으로 하는 네트워크] || 10 ||
|| 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 ||
|| 6 |||||||||||||||||||| [:데블스캠프2011/밥탐 맛있는 밥탐 시간] || 1 ||
|| 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 ||
|| [wiki:데블스캠프2011/첫째날/후기 첫째날 (월요일)] ||
|| [wiki:데블스캠프2011/둘째날/후기 둘째날 (화요일)] ||
|| [wiki:데블스캠프2011/셋째날/후기 셋째날 (수요일)] ||
|| [wiki:데블스캠프2011/넷째날/후기 넷째날 (목요일)] ||
|| [wiki:데블스캠프2011/다섯째날/후기 다섯째날 (금요일)] ||
* [데블스캠프2011/준비]
[데블스캠프], [2011년활동지도]
- 데블스캠프2012/둘째날/후기 . . . . 50 matches
= 웹 서비스 구축 전반에 관한 이야기 =
* [김해천] - 끄아아아아아아. 늦게 왔어요ㅠㅠㅠㅜ 그래서 전부 스킵당했어요ㅠㅠㅠ
* [박상영] - 자바 스크립트할 생각하니 미래에는 희망이 음슴.
* [김민재] - XE를 다루면서 MySQL에 대해서는 조금 알았지만, 오늘 이야기를 들으면서 많은 종류의 DB와 프레임워크가 있다는 것을 처음 알고 놀랐습니다. 아직 실력이 많이 부족한 탓에 이해를 못한 점도 있었지만, 웹에 대한 전반적인 이야기를 들으면서 웹에 대해 많이 이해할 수 있었습니다. 특히 우리가 사용하는 웹 서비스 하나를 위해 140대나 되는 Queueing Server가 필요하다는 점에 놀랐습니다. 앞으로는 여러가지 분야에 호기심을 가지고 관심을 가지도록 해야겠습니다.
* [안혁준] - 웹서비스를 위한 전반적인 사항을 깔끔하게 정리해주셔서 많은 도움이 되었습니다. 가끔은 이렇게 전반적인 것을 정리할 필요가 있다고 느끼지만서도 제 지식이 짧아서 스스로 하지 못하고 있었는데, 이번이 정말 좋았던 기회인것 같습니다.
* [변형진] - 이번 데블스캠프에 웹 관련 주제가 많기도 하고, 다들 웹에 관심도도 높아 보이는 게 바야흐로 웹의 전성 시대가 확실한 듯 합니다. 혹시 더 관심있는 분들은 여름방학에 함께 공부할 기회를 만들어드릴게요. ㅎㅎ
* [정종록] - 웹서비스에 대해서 잘 모르는 것이 많았는데 정리를 해주셔서 좋았습니다. 아직 잘 모르는 것이 많지만 이런것이 있다는 것을 알게 된 것만으로도 많은 도움이 될것 같습니다.
* [김준석] - 웹서비스는 학교에서 배울수 없기에 강의주제로 잡았었는데 거기에 배우는 Skill 트리나 개발자로서 '1년후에나 쓸모있는 마소'를 읽는법을 가르쳐주셔서 좋았습니다. 현재 하시는일 잘되시길바라고 부족한 제 세미나를 채워주셔서 감사합니다.
* [정진경] - 웹 서비스를 하고 싶을 때 기반이 되는 옵션이 쭉 정리된 느낌입니다. 각 언어별 프레임워크에 대해서는 잘 와닿지가 않았던 것 같네요. 아마도 아무 것도 안만져봐서 그런 것 같습니다. 하나 골라서 써봐야겠습니다. 새로운 것에 대한 도전으로는 루비온레일스가 끌리네요.
* [김태진] - 음, 저는 맥에서 APM 설치해보다가, 윈도우에도 충분히 쉬운 툴이 있는걸 보고 참 쉽죠? 가 생각났네요. 전반적으로 설명은 상민선배님께서 잘 해주셨고, 그에 따른 실습으로 적당했다고 생각합니다. 워드프레스가 생각보다 이쁜데, 음.. XE보다 잘 만든거 같네요.-ㅅ-ㅋ
* [김해천] - 가끔씩 뻘짓으로 웹호스팅에서 빌린 걸로 제로보드나 뭐 이상한 걸 많이 해 보기는 했습니다만, 이렇게 자기 컴퓨터로 이런 걸 재현할 수 있다는 것에 신기했습니다. 설정에 관련된 것을 알아가는 시간이여서 좋았습니다. 워드프레스는 글 포스팅 할 때 환경설정에 들어가서 뜯어고치는 것 같다는 생각을 지울수 없네요ㅠ_ㅠ. 위키는 꼭 나중에 따로 설치해서 구동을 해 봐야 겠습니다.
* [김도현] - 제대로 신기했음 !! 스릴장난아니었어요 . 역시 실습이 재밌습니다 ㅋㅋ
* [이재형] - 정말 박진감 넘치는 세션이였습니당!!! 맨처음엔 따라하기만도 바빴는데 혼자 이것저것도 해보고 정말 재밌었습니다. 이게 가능하다니! 라고 감탄도 했구요. ㅎㅎ 그냥 느낌이라면... 워드프레스가 미디어위키보다 좀 더 세련된 느낌 같아서 좋았고 플러그인도 나름 편했고 등등이 있네요~
* [김민재] - APM이 뭔가 했더니 Apache + PHP (perl? python?) + MySQL 인걸 알았을 때의 놀라움 ㅋㅋㅋㅋ 내 컴퓨터에서 준석이 형 페이지에 접속했을 때 정말 신기했습니다. 또 MyAdmin으로 데이터베이스를 직접 만드는 것도 처음 해보았습니다. (cafe24 호스팅에서는 DB 만들기가 안되더라구요..) 오늘 여러모로 신기한 체험을 많이 해 보았습니다.
* [안혁준] - 전 운영체제가 주로 리눅스기 때문에.. APMSetup은 윈도용이더라고요. 리눅스용을 못찾는건가.. 설치형 블로그를 체험할수 있는 기회가 되어서 좋았습니다.
* 리눅스에서는 데비안 계열의 Aptitude와 레드햇 계열의 YUM을 쓰면 "훨씬" 편리하고 서버로 쓰기 적절한 설정으로 설치되고 업데이트도 쉽게 되니깐... - [변형진]
* [권순의] - 그렇게 자바 스크립트를 깊게 공부 한 편이 아니고 그냥 알바 하면서 깔작깔작 본 정도라 대강의 내용은 이해는 하겠다만 편견이 있을만큼은 아니었나보네요. 그냥 그 상태로 받아들이는 시간이었습니다. 보다 심도 있는 웹 공부를 해 봐야 겠다는 생각이 드네요.
* [김해천] - 처음에는 잘 안 듣다가, 갑자기 이해가 안 가서 혼자서 화를 내고, 나중에 다시 PPT를 보고는 혼자서 복습한 시간이었습니다. 화를 낸 것에 대해서는 깊은 반성을 합니다. JavaScript라... 뭔가 C보다는 문법적으로 다양한 유동성을 가지고 있다는 생각을 했습니다. 이번 방학때는 이미 할 게 많지만, 시간이 난다면 마스터 해 보고 싶다는 생각이 들었습니다.
* [이재형] - 자바 스크립트가 어떻게 활용되는지!!! 정말 신기하고 좋았습니다. 우선 C하고 비슷하게 쓰이는 것도 신기했어요! 그런데 ㅠㅠ array를 for문에서 돌릴 때 조건을 잘못 써서 멘붕을 먹었었죠ㅠ... C를 다시 좀 더 확실히 공부해야겠다는 생각을 했습니다.
* [서민관] - 개인적으로 자바스크립트 & 혁준 선배에 관심이 많은 편이라 이번 강의가 무척 신경이 쓰였습니다. 개인적으로 예전 데블스 때 했던 웹에 대한 강의가 무척 마음에 들어서 말이죠. 이번 강의는 예상대로 무척 좋으면서 어려운 내용이었네요. 아무래도 방학 중에 좀 제대로 자바스크립트를 공부해 봐야지 싶습니다. 신기하네요. 근데 2학년이 하기에도 좀 어려워 보이는 게 아쉽긴 하네요...
- 타도코코아CppStudy/객체지향발표 . . . . 50 matches
즉, 논리와 데이타가 분리되어 있는 기존의 구조적 사고에서 과감히 탈피하여 논리와 데이타가 결합된 객체들이 시스템을 이룬다는 것이다.
* Classification(분류) - 같은 자료구조와 행위를 가진 객체들은 동일한 클래스(class)로 분류된다.
상대적으로 각 객체는 소속 클래스의 인스턴스(instance)가 된다.
같은 클래스에서 생성된 객체들은 모두 같은 연산(operation) 기능을 갖고 있으며, 자료구조가 같고 동일한 행위를 하게 된다.(자료구조는 객체들이 갖는 데이타와 속성(attribute)들의 집합이다. 그러나 데이터와 속성의 값은 물론 다르다.)
* Polymorphism(다형성) - 같은 연산 기능이 부여되어도 그 기능을 수행하는 클래스에 따라 다른 행위로 나타날 수 있다.
예를 들어 '이동(move)' 이라는 기능이 '교수'라는 클래스에 적용될 때는 자택의 이사가 될 수 있으나, '승용차'라는 클래스에 적용되면 특정 목적지로 일정한 시각에 정해진 속도로 움직이는 행위가 될 수도 있다.
* Inheritance(상속) - 계층(hierarchy)관계에 놓여 있는 클래스들 간에 속성이나 연산 기능들을 공유한다.
즉, 주어진 클래스에 서브클래스(subclass)가 있다면 서브클래스의 모든 객체들은 소속 클래스의 모든 속성이나 연산기능을 상속받게 된다. 따라서, 서브클래스를 정의할 때에는 수퍼클래스(super class) 로부터 상속받는 내역들을 중복하여 정의할 필요가 없게 된다.
|| 함수로 이루어짐 || 클래스로 이루어짐 ||
* 캡슐화(encapsulation) : 객체의 내부적인 사항과 객체들간의 외부적인 사항들을 분리시킨다. 이렇게 캡슐화된 객체의 행위는 외부에서 볼 때는 구체적인 아닌 추상적인 것이 되므로 정보 은닉(information hiding) 개념이 존중된다. 주어진 클래스의 특정 연산 기능은 메소드(method)라고 한다. 캡슐화는 무슨 메소드로 구현되었는가에 구애받지 않고 추상적으로 정의된 연산 기능을 통해 객체가 사용되고 시스템의 상태(state)를 변화시키도록 해준다.
* sharing : 자료 구조및 행위의 공유화(sharing)는 계층 관계에 놓여 있는 클래스들 간의 상속성(inheritance)으로 가능하다.
서브클래스가 수퍼클래스의 변수와 메소드들을 상속받을 때 필요에 따라 정의가 구체화(specification)되며, 상대적으로 상위층의 클래스 일수록 일반화(generalization) 된다고 말한다.
겉에서 그객체를 사용하기 위한 사용자 인터페이스는 제공하나 데이타를 검색, 수정 그리고 함수의 이용을 위해서는 이 인터페이스를 꼭 거쳐야 되게 하는것이다.
자동차라는 객체 클래스를 우리가 사용하기 위해서는 알아야할 것이 운전하는 방법뿐인 것이다. 표지 판이나 교통신호등은 관계는 있으나 자동차를 움직이기 위한 객체 인터페이스와는 아무런 관계가 없는것이다. 캡슐화는 기능의 조직성과 논리성을 연관시킨다.
* 데이타형 클래스와 객체(Class and Objectas any type data) : 자동차를 움직이기 위한 유저가 2명 있다. 자동차라는 객체 를 둘다 사용하는데 한명은 부산에 가려고 하고 한명은 대구에 오려고 한다.
즉 어떠한 데이타형을 가지고 원하는 만큼의 여러가지 인스턴스를 만들수 있다는 얘기이다.
분명히 생각만 틀리면 자동차객체로 이동이라는 공통성 속에서 무수히 많은 목적지 인스턴스를 만들어 낼수 있는것이다.
* 상속성(Inheritance) : 객체를 이루는 클래스를 만들때 이전의 정의했던 클래스와 비슷하나 다른 특이한 특성을 지니는 클래스를 만드는것이다.
또 자동차다. 가진 자동차의 엔진이 출력이 150마력이다. 여기다 똑같은 엔진을 하나더 달아 300마력이 되었다. 즉 앞의 150마력이라는 클래스에 두개로서 300마력을 만든다는 개념이 포함 즉 상속되어있는것이다. 엔진력의 향상이 손쉽게 이루어졌다. 만약 새 300마력엔진을 단 차를 산다고 하면 더 힘들것이라는것을 알것이다.
150마력짜리 엔진을 두개 단차와 300마력짜리 엔진을 하나 단 차나 두차의 출력은 같다. 이것이 다형이다. 즉 클래스가 같다는 뜻이다. 조상객체로 볼때는 분명히 같은 이름이지만( 출력이 300마력이다) 전혀 실행방법이 다른 클래스인것이다( 하나는 150마력엔진의 원리로 움직이고 하나는 300마력 엔진의 원리로 움직인다는것).
- OurMajorLangIsCAndCPlusPlus/stdio.h . . . . 49 matches
== 함수 리스트 ==
|| void clearerr(FILE *) || 해당 스트림의 오류를 초기화 시킵니다. ||
|| int fclose(FILE *) || 해당 스트림을 닫습니다. ||
|| FILE * fdopen(int, const char *) || 파일 지정자 필드로 부터 스트림을 얻습니다. ||
|| int feof(FILE *) || 스트림의 끝이 아닌곳에서는 0, 끝에는 0이 아닌값을 리턴 합니다. ||
|| int ferror(FILE *) || 스트림에 오류가 있을경우 0이 아닌값을 리턴 합니다. ||
|| int fflush(FILE *) || 해당 스트림을 비운다. ||
|| 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 *) || 해당 스트림에 문자열을 기록한다. ||
|| size_t fread(void *, size_t, size_t, FILE *) || 해당 스트림에서 문자열을 첫번째 인자의 크기만큼, 두번째 인자의 횟수로 읽습니다. ||
|| FILE * freopen(const char *, const char *, FILE *) || 세번째 인자의 스트림을 닫고 그 포인터를 첫번째 인자의 파일으로 대체한다. ||
|| int fsetpos(FILE *, const fpos_t *) || 해당 스트림의 포인터를 지정한 위치로 옮긴다. ||
|| int fseek(FILE *, long, int) || 해당 스트림의 포인터를 세번째 인자를 기준으로 두번째 인자만큼 옮긴다. SEEK_SET : 스트림 시작, SEEK_CUR : 현재 포인터 위치, SEEK_END : 스트림 끝 ||
|| long ftell(FILE *) || 해당 스트림의 포인터의 위치를 리턴 합니다. ||
|| size_t fwrite(const void *, size_t, size_t, FILE *) || 해당 내용을 두번째 인자의 크기만큼, 세번째 인자의 횟수로 스트림에 기록한다. ||
- Gof/Mediator . . . . 47 matches
비록 하나의 시스템에 많은 객체들이 참여하는 것이 일반적으로 재사용성을 강화할지라도 interconnections이 늘어나는 것은 재사용성을 감소시키려는 경향이 있다. 너무나 많은 객체간의 상호 연결들은 객체들의 독립성을 떨어뜨릴 수 있다. - 그런 시스템은 마치 완전히 통일된 것 같이 행동한다.
게다가 하나의 시스템에 많은 객체들이 참여하는 것은 어떤 의미있는 방법으로 시스템의 행위를 바꾸는 것을 어렵게 한다. 왜냐하면, 행위는 많은 객체들 사이로 분산되어 졌기 때문이다. 결론적으로 당신은 아마 그런 시스템의 행위를 customize하기 위해서 수많은 subclass들을 정의해야 할 것이다.
예로써 어떤 GUI상에서 다이얼로그 박스의 구현을 고려해보자. 하나의 다이얼로그 박스는 작은 도구들(버튼, 메뉴, 입력 필드)의 모음을 표현하는 하나의 윈도우를 사용한다.
대게 다이얼로그의 도구들 사이에는 어떤 dependency들이 존재한다. 예를 들면, 어떤 버튼은 어떤 입력 필드가 비어있을때는 비활성화 되어있는다. list box라 불리는 선택 목록에서 객체를 선택하는 것은 입력필드의 내용을 바꿀 것이다. 바꿔말하면, 입력필드에 문자를 타이핑하는 것은 자동적으로 리스트 박스에서 하나이상의 대응대는 입력을 선택하는 것이다. 한번 텍스트가 입력 필드에 나타나면, 다른 버튼들은 아마 활성화 될것이다. 그래서 사용자가 텍스트로 어떤 일을 하게 하게할 것이다. 예를 들자면, 관련있는 것을 삭제하거나 변경하거나 하는 따위의 일을 할 수 있을 것이다.
다른 다이얼로그 박스들은 도구들 사이에서 다른 dependency들을 지닐 것이다. 그래서 심지어 다이얼로그들이 똑같은 종류의 도구들을 지닌다 하더라도, 단순히 이전의 도구 클래스들을 재사용 할 수는 없다. dialog-specific dependency들을 반영하기 위해서 customize되어져야 한다. subclassing에 의해서 개별적으로 도구들을 Customize하는 것은 지루할 것이다. 왜냐하면 많은 클래스들이 그렇게 되어야 하기 때문이다.
예를 들면, FontDialogDirector는 다이얼로그 박스의 도구들 사이의 mediator일 수 있다. FontDialogDirector객체는 다이얼로그 도구들을 알고 그들의 interaction을 조정한다. 그것은 도구들 사이의 communication에서 hub와 같은 역할을 한다.
다음 interaction diagram은 객체들이 리스트박스의 선택에서 변화를 다루기 위해 협동하는 방법을 묘사하고 있다.
1. 리스트 박스가 그것의 director에게 그것이 변했다고 말한다.
2. director는 리스트 박스로 부터 선택을 얻는다.
director가 리스트 박스와 입력 필드 사이의 조정하는 방법을 요약하자. 도구들은 서로 단지 간접적으로 director을 통해서 통신한다. 그들은 서로에 대해서 몰라야 하며, 그들 모두는 director를 알아야 한다. 게다가 행위는 한 클래스에 지역화 되어지기 때문에 행위는 클래스를 확장하거나 교체함으로써 변하거나 바꿔질 수 있다.
FontDialogDirector 추상화가 클래스 library를 통하하는 방법은 다음과 같다.
DialogDirect는 다이얼로그의 전체 행위를 정의한 추상 클래스이다. client들은 화면에 다이얼로그를 나타내기 위해서 ShowDialog 연산자를 호출한다. CreateWidgets는 다이얼로그 도구들을 만들기 위한 추상 연산자이다. WidgetChanged는 또 다른 추상 연산자이며, 도구들은 director에게 그들이 변했다는 것을 알려주기 위해서 이를 호출한다. DialogDirector subclass들은 CreateWidgets을 적절한 도구들을 만들기 위해서 override하고 그리고 그들은 WidgetChanged를 변화를 다루기 위해서 override한다.
* 몇몇의 클래스들 사이에 분산되어진 하나의 행위가 많은 subclassing하는 작업 없이 customize되어져야 할 때.
Colleague 객체들과 통신을 위해서 인터페이스를 정의한다.
1. MediatorPattern은 subclassing을 제한한다. mediator는 다시말해 몇몇개의 객체들 사이에 분산되어질 행위를 집중한다. 이런 행위를 바꾸는 것은 단지 Mediator를 subclassing하기만 하면 된다. Colleague 클래스들은 재사용되어질 수 있다.
4. MediatorPattern은 객체가 협동하는 방법을 추상화 시킨다. Mediation를 독립적인 개념으로 만들고 하나의 객체에 캡슐화하는 것은 여러분으로 하여금 객체의 행위는 제쳐두고 그 interaction에 집중하게 해준다. 이는 객체가 시스템 내에서 어떻게 interact하는 방법을 명확히 하는데 도움을 준다.
1. 추상 Mediator 클래스 생략하기. 추상 Mediator 클래스를 선언할 필요가 없는 경우는 colleague들이 단지 하나의 mediator와만 작업을 할 때이다. Mediator클래스가 제공하는 추상적인 coupling은 colleague들이 다른 mediator subclass들과 작동학게 해주며 반대의 경우도 그렇다.
우리는 DialogDirector를 Motivation에서 보았던 것처럼 font dialog를 구현하기 위해서 사용할 것이다. 추상 클래스 DialogDirector는 director들을 위한 interface를 정의 하고 있다.
Widget 은 widgets들을 위한 추상 기초 클래스이다. 하나의 widget은 자신의 director를 알고 있다.
ListBox, EntryField, Button은 특화된 사용자 인터페이스 요소를 위한 DialogDirector의 subclass들이다. ListBox는 현재 선택을 위해서 GetSelection연산자를 제공한다. 그리고 EntryField의 SetText 연산자는 새로운 text로 field를 채운다.
- ProjectVirush/Idea . . . . 47 matches
또한 실시간이라는 점은 사용자가 접속하지 않아도 돌아가는 것을 의미한다. 사용자가 하루, 이틀 쉬었다가 접속하였을때 플레이어의 바이러스들이 전부 죽어있는 광경을 연출해서는 안된다. 그렇기 때문에 바이러스들은 플레이어가 없어도 꿋꿋하게 살아나갈 수 있는 인공지능을 가지고 있어야 한다.
이 문제는 위의 '실시간'이라는 점과도 연계가 된다. 다른 플레이어들이 잠자러 간사이... 올빼미족의 한 플레이어가 나타나서 전 플레이어의 바이러스를 사살해 버리고 도망가 버린다거나, 타 플레이어의 바이러스를 포위해 버려서 더이상 증식이 불가능하게 만드는 난처한 상황이 발생해서도 안된다. 물런 '상대방의 바이러스를 사살할 수 있다.' 와 같은 규칙은 정해진 바 없지만, 다른 플레이어가 자리를 비웠을때 한 플레이어가 다른플레이어의 캐릭터에게 영향을 미칠 수 있다는 점도 고려를 해야한다.
1. 자신의 모든 바이러스는 AI를 가지고 있다. (B)
2. 이 바이러스들은 자신의 염기서열(이하 DNA)을 바탕으로 AI를 구성하여 움직이고, 분열하고, 다른 세포에 침투한다. (J)
3. 바이러스를 잡는 면역체계AI(이하 백혈구)가 존재한다. (D)
5. 백혈구의 일부는 유전자 알고리즘을 통해 바이러스를 잘 잡도록 진화한다. (D)
7. 백혈구는 더듬이 알고리즘과 유사한 간단한 알고리즘을 통해 길을 찾고 바이러스를 찾는다. (A)
10. 플레이어는 선택한 바이러스에게 상점에서 구입하듯이 간단하게(K) DNA를 주입, 변경, 삭제할 수 있다.(J)
(이는 다양한 DNA를 통해서 여러 종류의 유닛을 생산하는 것과 같은 효과를 낼 수 있다. 수비용 바이러스.. 공격용 바이러스.. 생산용...)
11. 바이러스는 세포에서 얻은 영양소를 바탕으로 분열하며(D), 많은 DNA는 많은 영양소를 필요로 하게 된다.(D)
12. 바이러스의 일부도 가끔 예측 불가능한 돌연변이를 일으킨다. (D, E, F)
13. 바이러스도 서로의 DNA를 바탕으로 서로를 알아보기때문에 이를 수정해서 타 플레이어와 동맹을 취하거나 숙주의 세포로 위장할 수 있다. (H)
14. 플레이어가 플레이를 하는 동안에 한해서, 플레이어는 단 한마리의(I) 바이러스를 자유롭게 조작할 수 있다. (E)
15. 바이러스가 분열하여 세포를 탈출하면, 해당 세포는 죽어버린다. (D)
16. 만일 바이러스가 DNA에 의해 분열할 때가 되었음에도 불구하고, 해당 세포의 영양소가 부족하다면 바이러스는 부족한 DNA만을 가지고 분열한다. (D)
17. 전체의 세포는 일정 시간마다 분열을 한다. (E) (단 바이러스에 감염된 세포는 바이러스의 DNA구조에 따라 바이러스를 같이 분열시킬 수 있다.)(E)
19. 특정 기관을 구성하고 있는 숙주의 세포가 각 기관의 최소 필요양 이하로 줄어들게 되면 숙주는 점차 죽어간다. 숙주가 죽으면 해당 숙주의 바이러스는 전부 소멸한다.(D)
20. 만일 숙주가 사망하기 이전에 다른 숙주로 옮겨간 바이러스가 잘 살고 있다면 플레이어는 해당 숙주를 선택해서 플레이 할 수 있다. (E)
21. 다른 숙주로 DNA특성에 따라 이동할 수 있지만 (E) 이는 아주 낮은 확률이며, 다른 숙주의 바이러스는 현재 플레이중인 숙주가 죽을 때 까지 플레이, 볼 수 없다. (D)
22. 게임은 플레이어의 재미와 편리를 위해서 멋진 그래픽과 편리한 인터페이스를 제공해야 한다. (이를 위해 미소녀가 등장해도 뭐라하지는 않겠....퍽!)
- 데블스캠프2011/다섯째날/후기 . . . . 47 matches
* 마지막날이다 보니 다들 후기 갯수가 좀 적군요. Rurple에 이어서 Python을 공부해볼 수 있어서 좋았습니다. 파이썬이 러플로 했을땐 코드 길이가 짧았는데, 다른걸 짤땐 어떤 면에서 짧아지는지는 아직 잘 모르겠네요. 네트워크는 CAU_MAC인데다 MAC을 쓰다보니 충돌의 연속.. 결국 다른 사람들이 하는걸 같이 보는게 좀 많았네요.ㅋㅋ 11학번 친구들이 오늘은 2명이나 와서 참여해서 재밌게 했던거 같습니다.. 만 화수랑 호동이는 약간 어려워 하더군요. (저는 이미 그런 상황에 적응해버린건지 객체니 클래스니 해도 그냥 뭐... 했달까요 ㅎㅎㅎ;)
* turtle을 이용해서 파이썬의 문법에 대해서 간단하게 다루어보고 파이썬의 소켓을 이용해서 서버/클라이언트를 만들어보고 와이어샤크를 이용해서 실제 주고 받는 패킷들을 보는 일을 했습니다. 그리고 중간중간에 최대한 알기 쉽게 네트워크에 대한 개략적인 설명이 끼어 있었지요. 개인적으로는 여러모로 마음에 드는 세미나였습니다. 우선은 전체적인 방향성을 잡아주는 세미나였다는 점에서 괜찮았다고 생각합니다. 사실 데블스에서는 특정 주제를 다루어도 자세히 다루기에는 시간적인 한계가 있는 만큼 이렇게 흥미를 유발할 수 있는 세미나가 좀 더 바람직하지 않은가 싶습니다. 그리고 현태 선배 스타일로 듣는 사람이 알기 쉽게 예를 들어가면서 설명을 하는 것도 듣기 좋았고요. 그리고 개인적인 의견으로는 간만에 현태 선배를 만난 것도 좋았습니다 ㅋ 나중에는 좀 더 네트워크에 대한 부분을 공부를 해 봐야겠지요. 현태 선배 덕분에 파이썬도 배우게 됐는데 네트워크도 공부하게 되는 건가...
* turtle를 보면서 이것 저것 파이선에 어렵지 않게 접근할 수 있어 좋았습니다. 누구처럼 노가다는 안시켜서 좋았네요. (그러고 보니 그 누구도 파이선을 가지고 했었네;;) 여하튼 파이선으로 채팅 프로그램을 소스 복사(-_-) 해서 써 보니 재미있었습니다. 자바로도 그런거 했던 게 기억나네요. 전반적으로 쉽게 그리고 재미있게 설명을 해 주신 세미나였습니다. 재미있게 3시간이 지나간 것 같네요. 다만, 하라고 하셨던 것이 잘 구현이 안 되었던 것 같아 그런 거 빼곤요. 그리고 와이어샤크는.. 보면서 음..... 이런게 있구나 하고 넘어가서인지 좀 더 많이 써 봐야 할 듯 싶네요a
* 갑작스런(?) 세미나였지만, 좋은 내용이었습니다. 루비와 비슷한 면이 많은 것 같네요. 와우하는 사람들이 크게 관심을 가진 것 같던데,, 전 와우를 안해서 -ㅅ-;; 그래서 준석이가 옆에서 루아 책 가지고 이게 왜 작동이 안되냐고 성질내고 있네요.(응?) 이제 됬나보네요. 쩝.. 여하튼 간단하게 들을 수 있고 선배님의 좋은 말씀 들을 수 있어 좋았습니다.
* 4년만에 정직 선배의 세미나를 들을 수 있었습니다. 선배님의 수준에서 설명하지 않고 1학년 학우들도 알아들을 수 있도록 하나하나 차근차근 설명해주시는 걸 보면서 '나도 정직 선배처럼 세미나를 하고 싶다'고 느꼈습니다. 이전 후기에도 언급했지만 정말 스크립트 언어 하나쯤은 공부할 필요를 느꼈어요ㅠㅠ
* 루아는 설명을 약간 짧게 하셨죠. 가장 기억에 남는건 와우의 베이스에 루아가 있다!!! 라는... 루아 특징이 저용량으로 쉽게 돌릴 수 있다라는것인지라 저한테는 아직 와닿지 않았던거 같아요. 하지만 문법은 결국 파이썬과 비슷했던거 같기도... 처음 들어본 언어라는 점에서 흥미롭게 들었던거 같네요.
* 루아에 대해서 찾아보니까 주목받는 이유는 역시 용량이 작기 때문인 것 같은데 폰쪽에서 일하셨다는 부분도 그렇고 역시 임베디드쪽인가 싶었습니다. 임베디드에서 루아로 프로그래밍을 하기 위한게 따로 있다고 하신 부분이 좀 궁금했습니다. 이번에 파이썬에 루비, 루아까지 스크립트 언어쪽을 많이 본 것 같습니다. 다들 문법적으로는 비슷한 느낌인데 어떤걸 쓰는지는 용도 나름인 것 같습니다.
* 수경이의 String 코드 레이스에서 저의 프로그래밍 달리기를 너무 빡세게 했던게 부끄러워서 이번엔 1학년 학우(저 같은 경우 성화수 학우)에게 설명해주고 그 학우가 하고 싶은 스펙으로 함께 프로그래밍 하고자 많이 노력했습니다. 파트너 교체 후 순의랑 파란 바를 만들어버리는 실수를 저지르긴 했습니다만 제가 부족한 탓이었구요-_-;; 개인적으로 화수의 '0층부터 지하까지' 아이디어는 신선했어요. 형진이가 처음에 의도했던 엘레베이터 문제(밖에서 누르고 층을 누르는 케이스)는 다른 클래스도 필요하고 일단 화수를 이해시키는데에 초점을 둬서 그걸 못 푼 점은 좀 아쉬웠어요.
* Java를 통한 TDD (비스므리한) 것을 실습했죠. 좀 신기한 방식이라 신기했던거(??) 같습니다. 테스트 케이스를 만족하도록 코드를 만들거어간다라.. 확실히 다른사람의 코드이고 주석이 없는데도 대략적으로 이해할 수 있다는 점은 좋은 거였던거 같습니다. 여러사람들이 한개의 프로젝트를 다루게 된다면 이런식의 것도 필요할거같네요. ..하지만 그럼에도 불구하고 테스트 케이스만 만족하면 된다는 사상도 있어서 어려움이 완전히 해소될것이리라! 라는건 아닌거 같네요. (사실 남의 스펙을 자신이 구현했기 때문에 발생했던 문제겠지마는,.) SVN도 써보고 TDD나 이런 저런 기법들을 데블스에서 처음 접해봐 신선했습니다.
* 개인적으로 항상 고민하는 부분 중의 하나입니다. 어떻게 하면 코드를 잘 짤 수 있을까. 그리고 회고 때에도 말했듯이 제가 작년 데블스 마지막 때 세미나를 하고 싶다고 했던 주제이기도 합니다. 변명삼아 말하자면 아직도 스스로가 남에게 이야기 할 수 있을 만큼의 능력과 자신감이 없어서 세미나를 피한 것도 있습니다 ;;; 사실 제가 한다고 하면 생각을 코드로 만드는 법(형진 선배의 말하듯이 코딩하기 부분) + 남이 만들어 둔 라이브러리의 사용 으로 하려고 했는데 과연 그게 괜찮은 방법인가에 대한 확신은 역시 좀 부족하군요... 하지만 모르긴 몰라도 언어에 사로잡히지 말고 로직이 우선해야 한다는 생각은 기본에 둬도 괜찮을 것 같습니다.
* 남이 짠 스펙을 보고 구현한다는건 처음이었습니다. 대개는 학교 프로젝트 할 경우에는 무슨 기능이 필요하다는걸 처음부터 생각하고 만드는데 실제 일하는 쪽에서는 그렇지 않을테니 좋은 경험이 됐다고 생각합니다. 유닛 테스트에서 해당 테스트 케이스가 스펙이 될 수 있다는 부분에 대해서도 잘 생각해보고 또 적용해보기 위해 노력해봐야겠습니다. 근데 TDD의 단점에 대해서는 크게 말이 없었던 것 같아서 그 부분이 좀 아쉽습니다.
* QDD는 정말 신세계였죠. 그리고 스펙을 먼저 두고 구현한다는것이 무슨말인지 처음에 잘 이해가 안되서 간단한 스펙만을 제시했더니 결과는... 누가 나쁜놈일까요
* 정보보호에 대한 이론과 암호화/복호화 방식에 대한 세미나. 좀 놀랐던 것 중 하나는 문제가 되는 케이스를 세밀하게 나누었다는 것이었습니다. 그리고 암호화 방식에서 공개키/비공개키 부분은 상당히 인상깊게 들었습니다. 특히 수경 선배의 설명이 상당히 알기 쉬워서 좋았습니다. 사실 이런저런 책에서 자주 눈에 띄는 얘기이긴 한데, 이렇게 간결하게 설명을 할 수 있는 건가 놀랄 정도로 듣기 편했습니다. 근데 정보보호는 일단은 개인적으로 그렇게 우선순위가 높지 않다는 점이 좀 아쉬운 부분이겠네요... 아마 한동안은 뒤쪽으로 밀려나 있을 가능성이 높아 보입니다 -_-
* (페이지 하단을 임의대로 조금 바꿨습니다. 양해해주세요 =_=)쪽지를 돌리며 회고하는 시간이었죠. 저는 개인적으로 형진이 형이 제일 마지막에 했던 말이 기억에 남습니다. 회사에 나가서 1주일간 나갔다면 약 80만원에 해당하는 것이었을텐데, 1주일 휴가를 내고 왜 데블스에 나왔냐면, 미래를 위해 자기개발하는 것이 후에 훨씬 도움이 될 것이고, 또 데블스에 올때마다 형이 가장 많이 배워간다고 생각한다고 하셨지요. 하지만 저는 제가 이번 데블스캠프에서 가장 많은걸 배워간다고 확신합니다 --+ 데블스 5일간의 후기에 담긴 모든 말들을 해야하겠지만 생략하구, 그만큼 많은걸 얻었으니까요. 정말 대학와서 지금까지 한 것중 가장 보람찬 날들이었습니다. -[김태진]
* 음... 사실 마지막에 발표했던 것처럼 이번 데블스캠프는 뭐라 할 수 없는 달성감이 있었습니다. 시청에 있으면서 이런저런 물건들을 손을 대 봤는데, 이번에 데블스에서 들은 다양한 세미나에 그것들이 들어있는 것을 보면서 반가운 느낌도 약간 들 정도였으니까요. 그리고 태진이 경우를 보면서 제 1학년 데블스 때 생각도 많이 났습니다. 그 때도 객체가 뭔지 모르고 강의를 들었었죠 ㅋㅋ 그래서 그랬는지 1학년 때는 데블스캠프가 전체적으로 힘들었던 기억이 강했습니다. 그런데 이번에는 끝나고 보니 상당히 섭섭한 느낌이 강해서 스스로도 좀 놀랐습니다. 조금이나마 공부를 해 두니까 여유를 가지고 데블스캠프의 분위기를 느낄 수 있게 된 게 아닐까 싶네요. 다만 그런 점에서 역시 1학년에게는 다소 힘든 행사가 아니었을까 하는 생각도 좀 듭니다 -___- 부디 이번 데블스캠프로 이쪽에 흥미를 가지고 스스로 이런저런 공부를 해 보는 계기가 되었으면 하네요. - [서민관]
이때까지 학교 다니면서 데캠을 끝까지 제대로 나온적이 없어요. 데블스캠프 임원이었는데 제대로 준비한 것도 없는거같아 죄송할 따름입니다. 그래도 방학에, 이 좋은날에 낮부터 새벽까지 함께 해준 분들께 감사한 마음입니다. 좋은 자리였습니다. 살면서 이런 자리를 직접 준비해 볼 날이 많지 않을 것 같아 슬프섭섭하네요. 정모때도 많이 만나요.
* 책장 회고북(스케치북) 맨 뒷장에 데캠 회고 종이 넣어놨으니 심심할 때 읽어봐~ - [김수경]
[데블스캠프2011]
- 서지혜 . . . . 46 matches
* ~~4.5 정모에서 한 코드레이스의 코드를 TDD로 짜보려고 하고있어요.~~
* 디자인패턴 스터디에서 배운것을 적용해 볼 계획
* 스프링도? 스프링도
1. 머신러닝 스터디: [머신러닝스터디/2016]
1. 컴파일러 스터디: [NewCompileError]
1. 컴파일러 스터디: [NewCompileError]
* see also [EnglishSpeaking/2012년스터디]
1. 스프링 스터디
* see also [Spring/탐험스터디]
* see also [EnglishSpeaking/2012년스터디]
1. Ruby 스터디
* 갑작스레 엄청난 이민의 압박을 받아 Ruby on Rails를 시작하려 함. ~~가볍기로 소문났으니 12/31까지 toy 만들어보기로 목표.~~
* 루비 스터디
* [Ruby/2011년스터디]
* [http://wiki.zeropage.org/wiki.php/JavaScript/2011%EB%85%84%EC%8A%A4%ED%84%B0%EB%94%94 JavaScript 스터디]
* 사이냅 소프트의 신입사원 채용 테스트 프로그램을 해볼 예정
* 웜프스 월드와 닮았다.
* 스프링 스터디
* see also [Spring/탐험스터디]
* 밑줄긋기 - [토비의스프링3/밑줄긋기]
- 5인용C++스터디 . . . . 45 matches
2003년 여름방학에 진행하는 C++ 스터디.
* Player 1 ( :D :D :D :D :D ) : [조재화] - 지뢰찻기, 체스
* Player 3 ( X-( X-( :D :D :D ) : [문원명] - 테트리스, 포트리스
* [5인용C++스터디/클래스]
* [5인용C++스터디/템플릿]
* [5인용C++스터디/윈도우즈프로그래밍]
* [5인용C++스터디/API에서MFC로]
* [5인용C++스터디/클래스상속보충]
* [5인용C++스터디/타이머보충]
* [5인용C++스터디/클래스상속] - 조재화
* [5인용C++스터디/윈도우에그림그리기] - 황재선
* [5인용C++스터디/키보드및마우스의입출력] - 문원명
* [5인용C++스터디/비트맵] - 조재화
* [5인용C++스터디/메뉴와단축키] - 황재선
* [5인용C++스터디/버튼과체크박스] - 노수민
* [5인용C++스터디/에디트박스와콤보박스] - 문원명
* [5인용C++스터디/다이얼로그박스] - 노수민
* [5인용C++스터디/타이머] - 조재화
* [5인용C++스터디/더블버퍼링] - 황재선
* [5인용C++스터디/멀티미디어] - 문원명
- CleanCode . . . . 41 matches
* 스터디 킥오프
* 클래스의 이름을 지을 때는 -info, -data와 같은 일반적인 이름을 쓰지 말라.
* Account를 만들면 되지 AccountInfo라는 클래스를 만들 필요는 없다. Account 클래스 내부에 들어가는 정보가 Info니까.
* 아래와 같은 식으로 Account내부의 정보를 하나로 묶으면 AccountInfo 클래스와 getAccountInfo()등이 있을법하지 않은가? -> 저런 구조 자체가 잘못됐을 수 있다. getAccountInfo()와 같은 방법이 아니라 다른 방법으로 일을 시키는 모양이 더 낫다.
* 문제를 들었을 때 테스트코드를 먼저 생각하는 습관을 들여야 할 것 같다. 문제를 해결하는 코드를 먼저 짜려고 하면 결국 테스트코드 작성이 아니라 직접 테스트를 하게 되는 듯 하다.
* 피드백을 빨리 받기 위해서 테스트를 실시. 피드백을 받고 고칠 때까지의 주기가 짧아야 함. 코드를 짜고 유닛테스트를 만드는 것도 안되는건 아님. 피드백을 바로 받을 수 있으면 됨.
* 코드를 깨끗하게 하고 싶으면 테스트 코드도 깨끗하게 유지해야 한다. 테스트 코드가 더러워지면 테스트를 잘 안하게 되니까 코드도 더러워지게 된다.
* 테스트 시에는 올바른 input이 제대로 들어오는지를 먼저 확인하고 나서 코드가 잘못되었는지 생각해볼 것.
* 실제로는 쓰지 않는데 테스트를 위한 메소드를 추가하게 되는 경우가 있을 수 있지 않은가? -> java의 경우는 reflection을 사용하면 메소드의 추가 없이 처리가 가능한 경우도 있지만 그것보다도 테스트용 framework(mockito 등)를 사용하는것이 좋다.
* 헐ㅋㅋㅋ 번역하니까 인스토루디레쿠토리로 나온닼ㅋㅋㅋ 전 그냥 환경변수 설정 해버렸습니다. 절대경로 쓰다가 베이스 디렉토리 한번 날려먹고 가능하면 피해범위 적도록 경로 이동해서 조작하거든요. - [서지혜]
* 테스트 코드를 작성할 때 인자들의 조합 수에 따라 테스트 케이스가 늘어날 수 있기 때문에.
* F : 주중에도 스터디를! 온라인 협업 툴을 이용할 수 있다.
* F : 스터디를 제대로 하고 있는지 알고싶다. (멘토가 있었으면 좋겠다?)
* 네 그래서 일부러 코칭이라고 썼어요ㅋㅋ 멘토링은 아닌 것 같고 티칭은 지양하고싶고, 스터디가 잘 되어가고 있는지를 확인하고 싶다는 맥락에선 코칭이 제일 유사한 것같아서리.. - [서지혜]
* F : 스터디중에 어떻게 진행해야 하나에 대한 얘기를 너무 많이 한다.
* F : 스터디 첫날 정했던 각자의 목적과 목표(어디갔지?)를 통해 스터디가 제대로 진행되어 가고 있는지 체크할 수 있을것.
* javascript 소스 코드에서 한꺼번에 인자를 넘기는 방식.
* 동감합니다. 제가 클린코드 스터디를 하는 이유는 궁극적으로 생산성 향상입니다(제가 요즘 강조하는? ㅋㅋ). 지혜 누나가 언급했듯 코드는 일단 동작해야 하는 것이 첫 번째. 제 취향대로 약간 추상화하자면 요구사항을 충족하는 것. 임베디드 개발에서는 퍼포먼스 향상을 위해 '정석적인(?)' 구조나 방법론을 깨는 경우도 있습니다. 요구사항을 충족하지 못 하면, 실질적으로는 아무 것도 생산하지 않은 것과 같을 수도 있으니까요. - [정진경]
* [서지혜]의 my-calculator 테스트 코드 리뷰
* spec에 지정되어 있지 않은 경우에 테스트 코드를 작성해야 하는가?
- 정모/2011.4.11 . . . . 41 matches
== 프로젝트/스터디/새싹 ==
* [Spring/탐험스터디]
* [DesignPatterns/2011년스터디]
* [HolubOnPatterns]를 읽으면서 스터디하고 DB 프로젝트를 통해 실습한다.
* [JavaScript/2011년스터디]
* 텍스트로 된 던전 앤 드래곤(?)을 만들고있다.
* 테스트 게시판이기도 함ㅋㅋ - [서지혜]
* ACM 스터디
== SW 마에스트로 알림 ==
== 스피드 퀴즈 ==
* 태진 팀과 종하 팀으로 나누어 스피드 퀴즈를 진행
* 제로페이지의 큰 행사(지피 학회지(?), 데블스 캠프, ?)를 이끌어갈 스태프를 모집합니다.
* 그냥 정모 대신 소풍 ㄱㄱ임. 9호선 타거나 버스 타거나 - [Enoch]
* 관련 페이지 : ThreeFs, [http://no-smok.net/nsmk/ThreeFs ThreeFs(노스모크)], [http://no-smok.net/nsmk/FiveFs FiveFs(노스모크)]
* 예를 들어 지난주에 돈가스를 먹은 것에 대해 후기를 쓴다면 : "지난주에 강남에 가서 하나에 5만원하는 돈가스를 먹었다.(사실) 기대를 잔뜩 했는데 별로 맛이 없었다.(느낌) 강남은 땅값이 비싸서 값만 보고 엄청 맛있을거라 기대하면 안된다는 것을 알았다.(깨달은점) 다음에는 미리 인터넷에서 평을 찾아보고 별점이 높은 돈가스집을 찾아서 가봐야겠다.(앞으로의 계획)"
* 항상 그렇듯 정모할때 궁금한건 Ice Breaking 시간이군요. 녹화 재방이라도 제발 보고싶은 마음입니다. 정모시간에 소개해주신 LETSudent는 참석해봐야겠습니다. 유익한 정보군요. 새로온 21기 학우들 반갑습니다. 얼굴 기억했어요. Zeropage의 생활을 맘껏 즐겨보아요. 새얼굴들이 보였는데 이제 새로 새내기들을 한번 정모에 참여할때가 되었다는 생각이 잠깐 들었던 시간입니다. 권순의 학우의 OMS는 배경이 아야나미 레이라서 기쁨반 안타까움 반으로 배경을 지켜보았고 안티짓도 좀 올렸었습니다만, 그거 알잖아요 안티도 팬입니다. OMS에서 소개된 노래들에 대해 다시한번 들어보고 생각해보게 되었던 시간은 기쁩니다. 창작자의 의미가 가득차있는 것을 알게해주었으니까요. 그사람들도 기쁠겁니다. 회장님이 만들으셨던 스피드 퀴즈는 정말 신선했어요. '우리도 올해는 이런 레크레이션을 다하는구나'는 뿌듯한 생각이 들었습니다. 전 이런거 좋아하니까요. 저도 어느정도 공통된 경험이 쌓인사람들과 만난다면 해보는게 좋을것 같습니다. 다음주 소풍은 정말 꽃이 만발했으면 좋겠단 생각이드네요 한번 이건 알아봐야겠습니다. 비는 안오겠죠. 시험기간 전이라 걱정이될 사람도있겠지만 경험상, 시험기간 전에는, 시험기간 중에는, 시험기간 후에는 노는겁니다. Enjoy EveryThing이죠. 항상 늦지만 이렇게라도 정모에 참석해서 후기를 남길수있는게 가장 즐겁습니다. 다음주에는 즐거운 소풍준비를 해가야겠군요 - [김준석]
* 이번 정모에는 11학번 학우분들이 참여하여 반가웠습니다. Ice Breaking때는 화기애애한 분위기가 마음에 들었습니다. 다들 웃으면서 ㅎㅎ 재미있는 시간이었던 것 같습니다. 일일 퍼실리테이터... 어떤 느낌일지는 모르겠지만 한번 해 보는 것도 재밌지 않을까라는 생각도 했습니다. 이번 OMS를 진행하면서.. 음... 역시 배경이 문제였었던 같습니다 -ㅅ-;; 그리고 생각했던거 보다 머리속에 있는 말이 입 밖으로 잘 나오지를 않아가지고 제가 생각했던 것들을 모두 전달하지 못했던 것 같습니다. 사실 음악을 좋아하다 보니까 영화나 TV를 보다가 아는 음악이 나오면 혼자 반가워 하고 그랬는데,, 그 안에 있는 의미를 찾아보는 일은 많이 하지 않았었습니다. 다만, 이런걸 해 보겠다고 생각했던게 아이언맨 2 보다가 (보여드렸던 장면에서) 처음에는 Queen의 You're my Best Friend라는 노래로 생각하고 저 장면과 되게 모순이다라고 생각했었는데 그 노래가 아니라 다른 노래라 조금 당황했던 것도 있고, 노래 가사를 보면서 아 이런 의미가 있을 수도 있겠구나 라는 생각을 했습니다. 그래서 이것 저것 찾아보게 되었던 것이 계기가 되었던 것 같습니다. 그리고 이번 스피드 퀴즈는 그동한 제로페이지에서 했던 것들이 많았구나 라는 생각과 함께, 제가 설명하는데 윤종하 게임이 나올줄이야 이러면서 -ㅅ-;; ㅋㅋㅋ 마지막으로 다음주 소풍 기대되네요 ㅋ - [권순의]
1. 스피드 퀴즈는 이번에 처음 시도해봤는데 다들 어떠셨어요? 저는 역시 스피드라 그런지 정신이 없더라구요. 그 정신없는 점이 재밌기도 했지만요 ㅋㅋㅋㅋ 다음에는 스피드 퀴즈 말고 칠판을 이용한 캐치마인드를 한번 시도해볼까합니다. - [김수경]
* 처음 참여한 제페 정모! 재밌었습니다.ㅋㅋ 재밌는 아이스브레이킹. 처음이라 그런지 적정 수준의 문제를 내는게 꽤 난감했고... 제페에 현재 어떤 스터디가 진행중인지 알게 됐습니당, 그리고 ACM 스터디가 열리면 참가하게 될 것 같구요ㅋㅋ, 현재 웹 구축을 진행하고 있어서 자바스크립트도 관심이 있는데, 지금은 데이터베이스 때문에 자바스크립트는 커녕 코딩도 못하고 DB만 만들고 없애고 반복 중이라 ㅜㅜ엉엉.. 디비짜고 기본틀 갖춰지면 HTML, CSS, PHP 거치고 나서야 자바스크립트를 볼 수 있을 것 같아요.. 처음 본 OMS는 어째서인지 배경화면만 기억에 남아있네요...ㅋㅋㅋ 수업 듣고 과제하고 놀고만 반복하다가 오랜만에 신선한 자극을 받은거 같습니당. 다음주는 갈 수 있을지 모르겠어요, ㅜㅜ 선형대수학+동양철학의 압박;; 주자의 격물치지에 대해 아시는 분??! - [정진경]
* 저는 횟수로 따지자면 이번이 두번째로 참여하게 되는건데, 좀 제대로 참여한건 오늘이 처음이라 어떨지 많이 개대됐어요. Ice Breaking도 좀 더 재밌게 쓸 수 있었을 텐데 하는 아쉬움(?)도 남네요. 또, 중간에 스터디 소개같은거 하는데서는 이게 도대체 무슨 말이지.... 라는 것도 좀 있었구요. OMS는 매트릭스가 제일 기억에 남...는 다고 하면 거짓말이겠고.. (배경이..) 사실 OMS하는게 상당히 많이 전문적인(저번에 현이형이 준비하는거 봤거든요.)걸 하는 줄 알았는데 꼭 그런건 아닌거 같아 좀 쉽게 다가온거 같아 좋았어요. 근데 갑자기 궁금한게.. 위키에 두명이 동시에 수정하게 되면 어떻게 될까요? 앞에 저장한 사람의 내용이 씹히게 될까요;? - [김태진]
- DPSCChapter3 . . . . 37 matches
연관된 혹은 의존적인 객체들의 집합을 만들기 위한 인터페이스를 제공한다. 클라이언트가 구체적인 클래스들에 대한 구체화
Ford parts,Toyota parts,Porsche parts 등등이다. 유사한 클래스들이 클래스 구조를 통해서 확장된다. 각각이 적당한 하위
된 여러 종류의 클래스들 중 하나를 선택할 수 있도록 해주는 것을 의미한다.
우리는 아래와 같은 자동차와 자동차 부분들의 클래스를 가지고 있다.
Vechile과 CarPart는 Object 클래스의 서브 클래스이다. 물론, 이 클래스 구조는 많은 단계에서 전체적으로 단순화된다.
우리는 CarPartFactory라는 추상 팩토리 클래스 정의를 하면서 패턴 구현을 시작한다. 이것은 "구체적인 클래스들에 대한
구체화 없이 관계된 혹은 의존적인 객체 집합을 만들기 위한 인터페이스를 제공하는" (Intent 부분에서 언급한 내용)
클래스이다. 그것은 추상적인 상품 생성 함수들(makeCar,makeEngine,makeBody)을 정의한다. 그 때 우리는 상품 집합 당
하나의 구체적인 팩토리 하위 클래스를 정의한다. 각각의 하위 클래스들은 적당한 부분을 만들고 반환하기 위해서 상품 생성
자동차 부분(part) 생성 메쏘드를 구현하기 위해서, 우리는 추상 팩토리 클래스로 시작한다.
그리고 이 메쏘드를 오버라이드하는 구체적인 하위 클래스를 추가한다.
CarAssembler 객체가 팩토리 클라이언트라고 추정해보자. 그리고 CarPartFactory 객체를 참조하는 팩토리라고 이름지어진 인스턴스 변수를 갖자.
만약, 팩토리가 FordFactory의 인스턴스였다면, 자동차에 추가되기 위해 얻어진 엔진은 FordEngine일 것이다. 만약 팩토리가 ToyotaFactory였다면, ToyotaEngine은 팩토리의 makeEngine에 의해서 만들어 질 것이고, 그 때 자동차에 추가될 것이다.
아직, 확실하지 않는 한 부분이 있다. CarAssembler는(factory 클라이언트) 어떻게 구체적인 CarPartFactory 하위 클래스의 인스턴스를 얻을 수 있을까? 그것은 특별한 하위 클래스 자체를 소비자의 선택에 기초해서 인스턴스화 할 수 있을 것이다. 혹은 외부 객체에 의해서 팩토리 인스턴스를 다룰수도 있을 것이다.
하지만, 두 경우에 자동차를 생성하기 위한 코드와 그것의 컴포넌트 하위 부분은 여전히 같다. 즉, 모든 CarPartFactory 클래스들은 동일한 메시지 프로토콜을(다형성)을 구현하기 때문에, 팩토리 클라이언트는 팩토리 타입이 무엇인지 상관하지 않고 호출을 할 수 있다. 그것은 단지 팩토리 프로토콜에 의해 제공되는 일반적인 메시지를 전송한다.
따라서, CarAssmebler를 만들기 위한 자동차 종류가 무엇이고 그 하위 부분들이 무엇을 해야하고, 그것의 실제 부분의 인스턴스가 무엇을 수행해야 할지를 결정한다. ABSTRACT FACTORY 해결은 우리가 CarAssembler 객체 밖의 모든 행동들을 추상화시킨다. 그리고 팩토리로 분리한다. 특별한 자동차 팩토리로 CarAssembler 확인을 한 후에, CarAssembler는 간단하게 구체적인 자동차와 하위 부분을 만들기 위한 팩토리를 호출한다.
ABSTRACT FACTORY 접근은 좀더 모듈적이고, 좀더 쉽게 확장 가능한 디자인을 할 수 있다. 시스템에 새로운 타입의 자동차를 추가하기 위해서, 우리는 CarPartFactory의 서브 클래스를
추가하고 그것을 인스턴스화기 위한 코드가 필요할 뿐이다.
여기에 효과적인 두 개의 추상이 있다. 첫번째, 모든 CarPartFactory들이 같은 메시지 인터페이스를 구현한다. 클라이언트가 그들이 메시지를 보내기 위해서 CarPartFactory의 정확한
- DesignPatterns/2011년스터디/1학기 . . . . 36 matches
1. DIP에서 의존관계 역전이 대체 무엇을 역전시킨다는 것인지 알게되었다. 기존에는 Highlevel 모듈이 Lowlevel 모듈에 의존하는 식이었지만 인터페이스를 사용하여 Lowlevel 모듈이 Highlevel이 제공하는 인터페이스에 의존하게 함으로써 설계를 더 유연하게 만들 수 있다.
1. 여름방학때 1, 2학년들과 함께 OOP 스터디를 진행하고싶다.
1. 처음엔 단순히 인터페이스 대신 넘겨받는 구체클래스를 써야해서인 줄 알았는데 상위기술이 하위기술에 의존하는 것이 아닌 하위기술이 상위기술을 지원하기 위해 만들어지는 것이라는것을 알게되었다.
1. SRP에서 책임나누기 - 변화를 상상해보라.. 서비스가 변경될 때 함께 수정되어야 할 코드들을 분리해라! 그것이 변화의 축이다. - 많은 상상과 삽질을 해야겠습니다.
1. 이번 스터디는 책도 미리 읽어보고, 밑줄도 다들 열심히 그어서 더 재미있었다.
1. 혼자 책을 읽을 때는 '동적인 행동양식'이 무엇인지 잘 감이 오지 않았는데 오늘 스터디하며 알게되었다.
2. 스터디 하는데 생각보다 시간이 빠르게가 아쉬웠습니다.
3. 디자인이란 선택과 트레이드 오프, 리스크 관리의 연속이라는 점이 가슴에 와닿았습니다. 그래서 결국 자구 과제는 추가 사항이 없으므로 개판으로 짰습니다.
1. 기본 원리를 파악하는건 매우 중요한 일이지만 정말 파악하기 어렵다는건 새삼스럽게 많이 느낀다.
2. 프로젝트 설계를 하는게 매우 신기했습니다. 가장 최근에 했던 프로젝트가 약 2년 전이라 하나도 모르겠는데 모듈을 잡고 그 모듈의 역활을 잡고 그에 따라 인터페이스를 만들고 하는 걸보고 생각없이 그냥 순차적으로 프로그래밍 하려고했던 제가 참 답이 없었던거 같습니다.
1. 쩌는 형님들은 잘 쓰시겠지만 코드가 꼬이는 모습을 보니 내가 하는 상속구현은 일단 슬퍼질 가능성이 매우 높으므로 생각에 생각을 해서 쓰던가 아니면 닥치고 인터페이스 구현을 해야겠다.
1. 오랜만에 디피 스터디라 어색
1. 오늘 스터디한 부분은 '왜 extends가 나쁜가'였다. 왜 나쁜지 예를 보았는데 와닿지 않아 이해하기 힘들었다.
1. 홀럽에서 말하는 템플릿 메소드 패턴이랑 스프링의 템플릿 패턴은 다른가?(스프링의 패턴이 템플릿 메소드 패턴이었나?)
1. 팩토리 메소드 패턴이 뭔지 잘 모르겠다. 기반 객체가 알지 못하는 파생 클래스를 생성한다니. 기반클래스는 원래 파생클래스를 알지 못해! 이말은 생성되는 파생클래스는 기반클래스를 '''반드시 확장해야 한다'''는 건가? 어려워.
1. 자바 스윙의 코드 일부를 보니 알거같기도.. 코드에서 기반클래스를 확장하는 파생 클래스가 아니라 속성이나 기능만 변경된 클래스를 구현 상속해 생성하고 있다.
1. 인터페이스를 이용한 캡슐화는 참 편리하다 Java를 만든사람들은 이걸 목적에 두고 만든것일까?
1. 텍스트만 읽고 라이프게임으로 넘어가는 것이 현재 우리의 수준에 적절하지 못하다고 판단함.
1. 아키텍쳐 설계와 그에 따른 인터페이스를 만들었다.
1. '''Model''' : 비즈니스 로직에 필요한 데이터들을 저장하는 클래스군.
- ZeroPage_200_OK/note . . . . 36 matches
* uploder에게 리소스를 올릴때 사용 주로 새글을 쓸때 많이 사용한다.
* prototype은 클래스가 들고 있어야하는 함수들을 특정 인스턴스가 들고 있게 만드는 것이다.
* 이 특정 인스턴스를 prototype이라 부른다.
* 함수를 마치 일반적인 인스턴스처럼 다루는 언어
* Class : 함수와 맴버 변수가 각각 class와 인스턴스에 나누어 져있는것.
* prototype : 함수와 맴버 변수 모두 인스턴스에 저장되있는것
* 단지 함수는 다른 인스턴스에 존재한다.
* 그 다른 인스턴스는 prototype이라 부른다.
* 자바스크립트는 함수와 일반 변수와의 구분이 없기때문에 변수 또한 dispatch가 된다.
* 자바 스크립트에서는 XSS를 막기(?)위해 동일한 도메인이 아니면 javascript문맥에 접근할수 없다.
* 내부에서 다른 자바스크립트 코드가 작동할수 있으나 다른 도메인이라면 접근이 불가하다.
* 플래쉬로 극복할수 있으나 클라이언트에 부하가 있고 자바스크립트 고유한 방식으로 해결하는것이 아니라서 좋지않다.
* Same origin policy를 적용받지 않고 자바스크립트를 불러올수 있으나 바로 실행이 되므로 다른 방식을 써야한다.
* 프로세스간 통신에 사용되는 Pipe
* 원격 머신에 존재하는 프로세스와 통신하는 Socket
* 웹서버는 두고 거기에 다른 프로세스를 실행해서 그 실행 결과를 읽어들이자.
* 매 실행시마다 새로운 프로세스를 생성하기때문에 메모리 소모가 심하고 disk접근이 많다.
* 새로운 프로세스를 만드는 비용을 줄여보자.
* 공용라이브러리는 프로세스가 실행될때 한번만 불러와진다.
* 하지만 모듈을 요청마다 디스크에서 읽지 않기 때문에 조금은 나아졌다.
- 새싹교실/2012/세싹 . . . . 36 matches
* 예를 들어 지난주에 돈가스를 먹은 것에 대해 후기를 쓴다면 : "지난주에 강남에 가서 하나에 5만원하는 돈가스를 먹었다.(사실) 기대를 잔뜩 했는데 별로 맛이 없었다.(느낌) 강남은 땅값이 비싸서 값만 보고 엄청 맛있을거라 기대하면 안된다는 것을 알았다.(깨달은점) 다음에는 미리 인터넷에서 평을 찾아보고 별점이 높은 돈가스집을 찾아서 가봐야겠다.(앞으로의 계획)"
1) virtual box로 linux 설치 후 hello world 작성하고 컴파일하여 스크린샷을 강사 메일로 보내주세요.
* 새싹 첫시간을 가졌습니다. 캡스톤실도 처음 들어가봐서 많이 신기했습니다. 처음 듣는 용어, 처음 보는 화면들 생소한게 많지만 재미있을 것 같아서 기대가 됩니다. 숙제도 권장사항도 열심히 해보겠습니다. 앞으로 잘 부탁드립니다. - [권영기]
* 새싹 첫시간을 가졌습니다. 이곳 Wiki가 매우 흥미로웠고, 캡스톤실에 대해서도 궁금점을 해소하여 좋았습니다. 이름만 들어보고 좀처럼 볼 일이 없던 것들을 보게되어 좋았습니다. 앞으로 잘 부탁드립니다. - [김희성]
* 숙제를 수행하기 위해 버추얼 박스를 설치하였습니다. 설치파일이 정상적으로 실행 않는 문제가 있었는데 인터넷으로 강제 압축해제하는 방법을 듣고 7z으로 압축을 해제하는 방법으로 해결하였습니다. 데몬이 없어 iso파일도 7z으로 풀었습니다. - [김희성]
* 어... iso파일을 풀필요없이 버추얼박스에서 바로 마운트시키는건데.. 제대로 설치됬어? - [정의정]
1) 우리가 사용하는 인터넷은 패킷 스위치 방식으로 소포에 주소를 써서 목적지에 보내는 것 처럼 작동하는 네트워크 입니다.
- app : 우리가 실제로 사용하는 서비스를 제공하는 계층입니다. http, smtp, ftp등이 있습니다.
- ip : 호스트와 호스트, 즉 출발지에서 목적지까지 데이터 묶음(패킷)을 전달하는 역할을 합니다. 라우터가 있습니다.
- link : 노드와 노드간에 데이터를 주고받는 역할을 합니다. 스위치, 브릿지등이 포함됩니다.
1) 위 참조 페이지의 소스를 참고하여 서버와 클라이언트 코드를 직접 짜봅시다.
4) 리눅스 환경에서 gcc를 사용해 봅시다.
포트를 열어 통신 서비스를 제공합니다.
* 컴파일이 안되서 인터넷으로 확인해보니 다중 스레드를 쓰려면 gcc에 옵션 -lpthread를 주어야하는군요. - [김희성]
* 예제가 이미지인 줄 알았는데 박스였군요. - [김희성]
* 스레드 실행 시점이 그때그때 달라서 값이 변하는 변수의 포인터를 인자로 주면 안되는군요. 그것 때문에 고생했습니다. - [김희성]
* 다중접속 가능한 클라이언트랑 서버 (스레드를 이용한 일 대 다수 연결 구현)- [김희성]
* 하지만 버츄얼 박스가 너무 느려서 시간관계상 다중접속은 서버만 구현했다는...<- 퍽 - [김희성]
* 그래 근데 스레드를 이용하는 건 다음시간에 하기로 했었다고 ㅋㅋㅋㅋ 그래서 나 멘붕하는 줄 알았음 ㅋㅋㅋ - [권영기]
* [김희성/리눅스계정멀티채팅] 완료. 채널 추가는 다음에... - [김희성]
- NSIS/예제2 . . . . 35 matches
; 인스톨러 프로그램 이름
; 인스톨러 화일 이름
; 기본 인스톨 디렉토리
; 디렉토리 체크를 위한 레지스트리
; (만일 인스톨을 다시 할경우
; 예전의 레지스트리를 자동으로 overwrite 할 것임)
; 인스톨화면시 문구들
; 인스톨 할 Section 들 관련
; 인스톨 할 화일
; 인스톨된 path를 레지스트리에 저장
; 윈도우를 위한 Uninstall key를 레지스트리에 저장
; 인스톨러 프로그램 이름
; 기본 인스톨 디렉토리
; 인스톨된 path를 레지스트리에 저장
; 윈도우를 위한 Uninstall key를 레지스트리에 저장
; 언인스톨 관련 처리
; 언인스톨 Section
; 레지스트리 키 제거
=== 전체 소스 ===
; 인스톨러 프로그램 이름
- zennith/w2kDefaultProcess . . . . 35 matches
제목 윈도우 2000 디폴트 프로세스
윈2000에서 디폴트로 돌아가는 프로세스들에 대해 다룰 것이며 이 프로세스들을 작업
필수 subsystem 중 하나이다. 콘솔 창, 쓰레드 생성 및 제거 및 16비드 가상 도스 환
가 아니며 시스템에서 아무런 부작용 없이 작업관리자에서 종료 및 재시작이 가능하
시스템 시작과 함께 구동되는 프로세스로 사용자가 지정한 여러가지 입력로케일
시스템 트레이에 "EN" 아이콘을 띄움으로써 사용자가 입력로케일간에 변환을 손쉽게
할 수 있도록 한다. 작업관리자를 통해 이 프로세스를 종료하면 "EN" 아이콘도
로컬 보안 인증 서버로서 Winlogon 서비스가 사용자를 인증하는데 필요한 프로세스를
만들어 내고 이 프로세스는 Msgina.dll과 같은 인증 패키지를 이용함으로써 수행된
기 셸이 구동된다. 동 사용자가 초기화하는 다른 프로세스들은 이 Access Token의 지
사용자 세션을 시작시키는 세션 관리자 subsystem으로서 시스템 쓰레드에 의해 초기화
되며 Winlogon 및 Win32 (Csrss.exe) 프로세스를 구동하고 시스템 변수를 설정하는 등
이들 프로세스를 구동시킨 다음 Winlogon이나 Csrss가 종료할 때까지 대기하되, 종료
가 정상적으로 이루어지는 경우엔 시스템이 종료하고 그렇지 않은 경우엔 시스템을 반
스풀된 프린트/팩스 작업을 책임지는 spooler service
DLL로부터 구동되는 다른 프로세스들에 대한 호스트로서 작동하는 generic process이
기 때문에 2개 이상이 생길 수도 있다. Svchost.exe를 이용하는 프로세스들의 명세를
시스템 서비스들을 시작/종료/상호작용하는 역할을 담당하는 Service Control
대부분의 시스템 커널모드 쓰레드들이 System 프로세스로서 실행된다.
각각의 프로세서(CPU)에서 돌고 있는 단일 쓰레드로서 시스템이 다른 쓰레드들을 프로
- Gof/Command . . . . 34 matches
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을 유지한다.
예를 들어 PasteCommand는 clipboard에 있는 text를 Document에 붙이는 기능을 지원한다. PasteCommand 의 receiver는 인스턴스화할때 설정되어있는 Docuemnt객체이다. Execute 명령은 해당 명령의 receiver인 Document의 Paste operation 을 invoke 한다.
이러한 예들에서, 어떻게 Command pattern이 해당 명령을 invoke하는 객체와 명령을 수행하는 정보를 가진 객체를 분리하는지 주목하라. 이러함은 유저인터페이스를 디자인함에 있어서 많은 유연성을 제공한다. 어플리케이션은 단지 menu와 push button이 같은 구체적인 Command subclass의 인스턴스를 공유함으로서 menu 와 push button 인터페이스 제공할 수 있다. 우리는 동적으로 command를 바꿀 수 있으며, 이러함은 context-sensitive menu 를 구현하는데 유용하다. 또한 우리는 명령어들을 커다란 명령어에 하나로 조합함으로서 command scripting을 지원할 수 있다. 이러한 모든 것은 request를 issue하는 객체가 오직 어떻게 issue화 하는지만 알고 있으면 되기때문에 가능하다. request를 나타내는 객체는 어떻게 request가 수행되어야 할지 알 필요가 없다.
* 다른 시간대에 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을 위한 인터페이스를 선언한다.
- 처리할 request에 대해 명령어들을 어떻게 수행해야 할지 알고 있다. 어떠한 클래스든지 Receiver로서 활동가능하다.
2. Command는 첫번째단계의 클래스 객체이다. Command는 조작되어질 수 있으면서 다른 객체들과 마찬가지로 확장가능하다.
3. Command를 묶을 수 있다. 앞서 설명한 MacroCommand가 그 예가 된다. 일반적으로 composite command들은 CompositePattern의 인스턴스이다.
4. 새로운 Command를 추가하기가 쉽다. 왜냐하면 이미 존재하고있는 클래스들을 고칠 필요가 없기 때문이다.
여기 보여지는 C++ code는 Motivation 섹션의 Command 크래스에 대한 대강의 구현이다. 우리는 OpenCommand, PasteCommand 와 MacroCommand를 정의할 것이다. 먼저 추상 Commmand class 는 이렇다.
아마도 CommandPattern에 대한 첫번째 예제는 Lieberman 의 논문([Lie85])에서 나타났을 것이다. MacApp [App89] 는 undo가능한 명령의 구현을 위한 command의 표기를 대중화시켰다. ET++[WGM88], InterViews [LCI+92], Unidraw[VL90] 역시 CommandPatter에 따라 클래스들을 정의했다. InterViews는 각 기능별 명령에 대한 Action 추상 클래스를 정의했다. 그리고 action 메소드에 의해 인자화됨으로서 자동적으로 command subclass들을 인스턴스화 시키는 ActionCallback 템플릿도 정의하였다.
THINK 클래스 라이브러리 [Sym93b] 또한 undo 가능한 명령을 지원하기 위해 CommandPattern을 사용한다. THINK 에서의 Command들은 "Tasks" 로 불린다. Task 객체들은 ChainOfResponsibilityPattern에 입각하여 넘겨지고 소비되어진다.
- MineFinder . . . . 34 matches
* 목표 : 윈도우의 지뢰찾기 프로그램과 직접 대화, 지뢰를 스스로 찾아내는 프로그램을 만든다.
* 시스템 : 듀론 1G 256RAM WIN 2000
[해성] 오오.. Artificial Intelligence.. -_- 근데 저 스펠링이 맞나..[[BR]]
["NSISIde"] 소스를 만지작 거리던중 피곤해서 지뢰찾기를 하게 되었다. 조옴 무리를 했는지(?) 손목이 저려오기 시작했다. 그러다가 갑자기 '퍽' 하고 동시 다발적으로 여러가지 생각을 하게 되었는데, 하나는 예전에 학교에서 열렸던 '선배님들과의 만남' 에서 소프트캠프에 있는 환국선배가 했던 말이였다.
* Visual C++ (2개 열어두고 쓴다. 하나는 해당 부분부분 연습용 코드 만들 곳. 하나는 메인소스 만들 곳)
* 인덱스 카드 & 필기구 - CRC 를 쓰건 UserStory를 쓰건..~ 단,
지뢰찾기 프로그램의 윈도우클래스 이름이 '지뢰 찾기' 였다. 윈도우 OS 의 특징상 해당 윈도우 핸들간 메세지의 발생에 따라 해당 윈도우프로시저에서 처리가 된다. 해당 윈도우 핸들은 윈도우 클래스 이름을 아는 이상 FindWindow 함수를 이용해서 찾으면 될 것이다.
지뢰 버튼을 열고 깃발체크를 위한 마우스 클릭시엔 WM_LBUTTONDOWN, WM_RBUTTONDOWN 이고, 단 ? 체크관련 옵션이 문제이니 이는 적절하게 처리해주면 될 것이다. 마우스클릭은 해당 Client 부분 좌표를 잘 재어서 이를 lParam 에 넘겨주면 될 것이다.
손에 대한 모델링이여서 그런지 손에만 집착하게 되었군. -_-; 이 일을 위해서는 손, 눈, 머리가 있어야 하겠는데. 마우스 노가다를 위한 손, 해당 지뢰찾기 상태를 봐야 할 눈, 그리고 해당 상황에 따른 판단, 지시를 해야 할 머리의 모델링. (단, 여기에 각각에 대해 조건을 붙인다면 '지뢰찾기프로그램을 위한' 이라는 말이 붙겠지만.)
* [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 클래스는 처음 '막 짠' 코드로부터 지뢰찾기 제어부분 함수들을 클래스화한것임)
* 현재 열려있는 프로그램 중에서 지뢰찾기 프로그램을 윈도우 클래스 이름으로 찾아낸다.
* [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=58&filenum=1 1차제작소스]
* 기록 : 초급 8-9초, 중급 90-100초, 고급쪽은 너무 느려서 테스트 포기. -_-;
처음에는 전체에 대한 환경설정을 하게 된다. 기본적인 클래스는 다음과 같다.
* [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=59&filenum=1 2차제작소스]
* 기록 : 초급 2-3초, 중급 21~40초, 고급쪽은 너무 느려서 테스트 포기. -_-;
* 반성 : 차라리 순수 TFP 로 해 나갈걸 그랬다는 생각이 든다. 테스트 코드에 대한 아이디어를 제대로 못내었다. (아.. 타성에 젖으면 안되건만. --; TFP중 막힐때 예전방식으로 플밍하려고 하는게 문제이다. -_-;)
* [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=60&filenum=1 3차제작소스]
* [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=60&filenum=2 4차제작소스]
* [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=61&filenum=1 5차제작소스]
- MoreEffectiveC++/Exception . . . . 34 matches
귀여븐 동물들 클래스를 만들어 보자.
여기에서 재미있는 기법을 이야기 해본다. 차차 소개될 smart pointer와 더불어 Standard C++ 라이브러리에 포함되어 있는 auto_ptr template 클래스를 이용한 해결책인데 auto_prt은 이렇게 생겼다.
이런 const 포인터의 경우에는 반드시 초기화 리스트를 이용하여 인자를 초기화 해주어야 하는 경우이다.
// theImage는 가장 처음 초기화 되어서 자원이 세는 것에대한 걱정이 없다. 그래서 해당 소스에서
이런 해결 방법은 올바르다 하지만, 이전에 언급한 것과 같이 소스 사후 관리와 현재 소스 자체도 많이 지저분하다
이렇게 아무것도 해주지 않아도 객체가 같이 파괴되고 리소스가 새는 것을 방지 할수 있다.
파괴자 호출은 두가지의 경우가 있다. 첫번째가 'normal'상태로 객체가 파괴되어 질때로 그것은 보통 명시적으로 delete가 불린다. 두번째는 예외가 전달되면서 스택이 풀릴때 예외 처리시(exception-handling) 객체가 파괴되어 지는 경우가 있다.
다음 예제는 online 컴퓨터 세션을 위한 Session 클래스를 생각해 본 것이다. 각 세션 객체들은 생성과 파되된 날짜를 기록해야만 한다.
자 이건 괜찮아 보인다. 하지만 저 logDestruction상에서 예외가 발생한다면 어쩌게 할것인가? 해당 소스는 Session의 파괴자 안에서는 예외를 잡지 못한다. 그래서 해당 파괴자를 호출한 자에게 예외를 던진(전달한)다. 그렇지만 다른 에러들이 던져진 상황에서 파괴자가 스스로 자신을 부른거라면 함수의 종료가 자동으로 이루어지기를 원할 것이다. 그리고 당신의 프로그램은 이쯤에서 머추어 버릴 것이다. -해석이 이상하군, 암튼 다른 예외 처리시에 세션 파괴자 로그시 예외가 발생한다면 프로그램이 멈춘다는 소리다.
이렇게 아무런 처리를 하지 않는다면 logDestuction에서 발생한 예외가 전달되는걸 막고 프로그램 중지를 위하여 스택이 풀려나가는걸 막을수는 있을 것이다.
// 이 소스는 위의 Widget의 일환이라고 생각하면 무리 없겠다.
객체가 예외를 위하여 복사가 될때 복사는 해당 객체의 복사생성자(copy constructor)에 의하여 수행 된다. 이 복사생성자는 객체의 dynamic형이 아닌 static 형에 해당하는 클래스중 하나이다. 개념의 확인을 위해 위 소스의 수정 버전을 생각해 보자
반대로 가상함수를 부를때 일어나는일이 있다. 당신이 가상함수를 호출하면 함수는 해당 객체의 가장 합당한 함수를 dynamic으로 찾아낸다. 이것은 '''최고로 적합한 것(best fit)'''을 의미하지 '''가장 처음에 찾아 지는 것(first fit)'''을 의미하는 것이 아니다. 위의 소스를 반대로 한다면
* 셋째로 소스 코드에 나타나는 순서대로 예외는 잡힌다.
if ( a validation 테스트 실패){
if ( validation 테스트 에러 ){
해당 소스는 catch에서 참조로만이 바뀌었다. &하나만이 추가되어 지금까지 제기된 문제가 사라져 버린다.
일단 이 주제를 부정하는 이는 없으리라.:예외는 적절한 곳에 표현되어야 한다. 그들은 코드를 더 이해가기 편하게 만들어 준다. 왜냐하면 아마 명시적으로 표현된 예외 상태가 전달(던저:throw-이하 던진다는 표현으로) 될 것이기 때문이다. 그렇지만 예외는 주석(comment)보다는 모호하다. 컴파일러는 때때로 컴파일중에 정확히 일치하지 않은 예외들을 발견할수도 있으며, 만약 함수가 예외 스펙(명세:이하명세)상에 제대로 명기되지 않은 예외를 전달(던졌)다면 잘못은 실행시간(runtime)에 발견된다. 그리고 특별한 함수인 unexpected는 자동으로 불리게 된다. 이렇든 예외처리는 상당히 매력적인 면을 가지고 있다.
unexpected에 관련한 기본적인 행동은 terminate를 호출해서 terminate내에서 abort를 호출로 강제로 프그램을 멈추게 한다. 이 의미는 바로 abort는 프로그램을 종료할때 깨끗이 지우는 과정을 생략하기 때문에 활성화된 스택 프레임내의 지역 변수는 파괴되지 않는다.(즉, 프로그램이 멈추고 디버그시 그 상황에 현재의 자료 값을 조사할수 있다는 의미). 그래서 예외 처리의 명세을 어긴 문제는 상당히 심각한 상황이나, 거의 발생하지 않은 상황이다. 불행히도 그런 심각한 상황을 이르게 하는 함수 작성이 용이하다는게 문제이다. 컴파일러는 오직 예외 명세에 입각한대로 부분적으로 예외 사용에 관한 검사를 한다. 예외가 잡을수 없는것-언어 표준 상에서 거부하는(비록 주의(wanning)일지라도) ''금지하는'' 것- 은 함수를 호출할때 예외 명세에서 벗어나는 함수일것이다.
당신의 컴파일러가 예외 처리규정에 만족하지 않은 루틴을 가진 함수의 코드를 호출하는데 별 무리없다고, 그러한 호출이 아마 당신의 프로그램에서 프로그램의 중지를 유도하기 때문에 당신은 소프트웨어를 만들때 최대한 그런 만족되지 않은 호출을 최소화 하도록 결과를 유도해야 할것이다. 시작시 가장 좋은 방향은 템플릿상에서의 예외 스펙를 최대한 피하는 것이다. 자 다음의 어떠한 예외도 던지지 않은 템플릿을 생각해 보자.
- ProjectCCNA/Chapter5 . . . . 34 matches
- 이더넷 인터페이스(라우터에서 내부 컴퓨터방향), 시리얼 인터페이스(인터넷 혹은 다른 라우터, 그러니까 isp업체방향)
* 이더넷 인터페이스의 ip주소는 보통 그 라우터가 연결하는 내부pc에 배정된 ip주소 묶음의 맨 앞 번호부여(이 ip는 다른 pc와 겹치면 안된다)
* 시리얼 인터페이스의 ip주소는 상위계열의 ip주소에 맞춰 배정되고 서브넷마스크는 동일하게 된다.
* ip주소는 네트워크 부분과 호스트 부분으로 구분.
* 한 네트워크 영역에서 ip주소는 네트워크 부분은 다 같아야하고, 호스트 부분은 모두 달라야함.
* ip주소에서 네크워크 부분과 호스트 부분을 나누는 방법을 약속한 것이 ip주소의 class(A~E)
* 클래스A : 0xxx xxxx/xxxx xxxx.xxxx xxxx.xxxx xxxx형식
즉, 1.0.0.0~126.0.0.0은 클래스A(1~126)
* 클래스B : 10xx xxxx.xxxx xxxx/xxxx xxxx.xxxx xxxx형식
즉, 128.1.0.0~191.254.0.0은 클래스B(128~191)
* 클래스C : 110x xxxx.xxxx xxxx.xxxx xxxx/xxxx xxxx형식
즉, 192.0.1.0~233.255.254.0은 클래스C(192~233)
* 네트워크를 나타낼 땐 호스트 부분을 0으로 표현. 그리고 각 클래스에서 표현 가능한것의 제일 작은 수와 제일 큰수는 사용불가.
*호스트부분이 모두0은 네트워크, 1은 브로드캐스트 번호이므로 사용하지 않는다. -> 각 클래스에서 사용가능한 최대 호스트수는 순계산-2해줘야함.
* 기본 게이트웨이 : 내부 네트워크를 벗어날때 밖으로 통하는 문 -> 라우터의 이더넷 인터페이스
* 서브넷 마스크 : 주어진 ip주소를 네트워크 환경에 맞게 나누어 주기 위해서 씌워주는 이진수 조합 -> 이름 그대로 보조로 다시 한번 나눠준다.
* 서브넷 마스크로 나눈 서브넷 간의 통신은 라우터를 통해서 이루어진다.
* 네트워크를 나눠 쓰지 않더라도, 디폴트 서브넷 마스크를 사용한다.
* 각 클래스별 디폴트 서브넷 마스크
* 클래스A : 255.0.0.0
- ViImproved/설명서 . . . . 34 matches
텍스트 파일 응용 프로그램의 source data 또는 문서화된 파일(ASCII)
앞에 붙는 수치 행/칼럼 번호 (z G | ) 스크롤양 (^D ^U) 반복 효과 (대부분의 경우)
마지막 명령반복 사용 도트 명령어(.) 택스트변경시(d s c ..) 작업 동작 반복
예 제 set wm=3 set sm ## 축약어 사용. 입력시 bbm을 bbmaster@flower.chungnam.ac.kr로 바뀐다 ab bbm bbmaster@flower.chungnam.ac.kr ## 스펠링 체크 매크로 map V :w^M:!spell -x %^M:e!^M^M
쉘스크립트 파일 안에 존재하는 쉘 명령의 집합
:q!↓ 파일변경 내용을 무시한채 vi종료 및 시스템으로
:n args↓ 새로운 인수 리스트의 지정
$vi -r 화일명 시스템이 불시에 꺼졌거나(인터럽 발생시), 저장을 하지 않고 나왔을 때 파일의 변경 내용을 복구함
^H ←(백 스페이스 키)와 같음
space →(스페이스 바)와 같음
^D n^D 반화면 스크롤 다운
^U n^U 반화면 스크롤 업
z 커서를 화면의 top으로 이동, 문서가 스크롤됨
z. 커서를 화면의 중간으로 이동, 문서가 스크롤됨
z- 커서를 화면의 bottom으로 이동, 문서가 스크롤됨
^H 최후의 문자를 지움(백 스페이스)
$vi -r <화일> <화일>은 문제가 생기기전의 화일이름 *시스템이 불시에 꺼졌거나, 저장하지 않고 나왔을때*
: ex모드(편집) ^f 앞 방향으로 한 화면 스크롤 :r <file> <file>을 현재의 문서로 read
/ 앞 방향 탐색 m 현위치를 레지스터에 마크 :n 다음화일을 편집
? 뒷 방향 탐색 M 화면의 중간으로 이동 :n <files> 편집하기 위한 화일의 새로운 리스트로서<file>작성
- 새싹교실/2012/AClass . . . . 34 matches
* 방학 중에 스터디를 할 경우 - Class, Object + Tree, Graph
* 제가 하는 부분보다 스스로 해야하는 부분이 절대적으로 많습니다.
* 이해도 테스트, if문 연습, for문 연습
1~5.[www.koistudy.net 코이스터디] 100번~104번까지 Accept받기(등업이 안되어 있으면 그 문제의 소스를 저한테 보내주세요)
12.이번시간에 배웠던 내용을 바탕으로, int* a; int b;로 선언했을때 &a,a,*a,&b,b에 관해서 각각 설명하고, 어떤 것이 어떤 것과 일치하는 것인지를 이해할 수 있도록 쉬운말로 정리해보세요.(예제 코드를 작성한 후에 테스트해보고 써보는 것도 좋은 방법일 것입니다.)
4.스택, 큐가 무엇인지 설명하고, 이를 이용한 간단한 예제를 만들어보세요.
* accept받은 걸 스샷으로 찍어도 좋아요 :) 저번주에 accept받는데 실패하신 분들은 저나 다른분들에게 물어봐서 한번 해보도록 합시다^^
10.3회차 10번과제를 해결해와 주세요. 이번에는 반드시 과제의 스펙을 완수해와야합니다. 모르면 물어봐도되고, 다른 사람 코드를 참고해보아도 좋아요
3.3,4,6,7,9,3,2를 입력으로 넣은 후 2,3,9,7,6,4,3순서로 출력하는 프로그램을 작성해보세요.(스택)
8.LinkedList를 만들고, 리스트 data에 4,5,3,7,12,24,2,9가 들어가도록 해봅시다.
* 동적할당과 포인터를 사용하여 링크드 리스트 만드는 법을 배웠다.
* 링크드리스트는 차암 어려워요.
* 이중포인터, 동적할당 복습 링크드리스트 수업
링크리스트 설명할때는 대충 이해가 된거 같은데 집가서 책보면서 더 공부해서
* 링크드리스트 삽입과 삭제하는 방법을 배웠다.
* 링크드리스트ㅎㅎㅎㅎㅎㅎ
링크드 리스트 재밌어요~
* 소스도 함께 올려주세요.
링크리스트 복습,public과 private
클래스를 사용한 코딩
- BusSimulation/조현태 . . . . 33 matches
C++이라서 그런지.. 내가그런건지는 몰라도 이상하게 클래스로만 자면 C로 작성하는 것 보다 시간이 더 걸리는듯..
재미삼아 뚝딱 거리다 보니.. 이미 버스 사람 정거장 길... 질러버렸..
그렇지만 아직까지 일은 하고있고, 시간도 없고, 해서 좀 낭비스럽지만 메모리 관리 및 소스가 엉망진창이다.ㅎ
(사실 이 증명 시뮬레이션은 편도에서 버스 용량이 무한대고 설사 승객이 내리지 않더라도 승객이 타고, 타는데 시간이 걸린다는 것만으로도 버스가 몰려다니는 것으로 증명되어 있으나.. 재미없자넝~ 버스는 자고로 용량이 있어야.. 그리고탔으면 내리는게 인지상정.ㅎ)
음 노약자석이라던가.. 길과 길을 이어버린다거나.. 버스를 왕복시킨다거나.. 하는것은 해보고 싶지만, 시간상 보류!
사실 출력부분이 대부분 테스트용으로 만들어 진건데.. 일단 임시로 그대로 사용하기로 했다. 나중에 휴가기간에 소스좀 수정하도록 하겠다.
들떠서 다 적고나서 소스의 설명이 안되있는것을 깨닫고 시급히 수정.. 그런데 어느분이 그사이 페이지를 변경하셔서 눈물을 머금고 다시작성한다.ㅠ.ㅜ
버스는 동일 간격으로 생성되게 되어있으며, 승객은 랜덤으로 생성된다.( 승객이 생성되는 비율을 역을 만들때 정할 수 있다. )
버스가 자신의 속도(만들때 정할 수 있으며 이 소스에는 80으로 통일하였다.)로 움직이는데 한턴이 소모된다. (앞에 차량이 있어서 정차하거나, 역에 들어가게되어 자신의 이동거리를 다 가지 못하더라도 동일하게 한턴이 소모된다.)
- 물런 재미가 없긴 하겠지만 이 증명은 버스가 편도로 움직이고 버스용량이 무한이며, 승객이 내리지 않더라도 승객이 타고 승객이 타는데 시간만 걸린다면 버스의 몰림현상이 발생한다. (고로 증명하기 위해 소스를 많이 짤 필요가 없을 수도 있다. 재미가 없겠지만..ㅎ)
아아 메모리 관리는 너무 힘들엇..ㅠ.ㅜ 저번 소스에서 발견되지 않았던 문제점이 있어 그것 역시 수정하였습니다.
== 소스 ==
cout << "시스템을 초기화 합니다.\n";
//버스 위치.
cout << number << "번 버스가 " << where << "로 이동하였습니다.\n";
cout << number << "번 버스가 승객을 승차하였습니다.\n";
cout << number << "번 버스가 승객을 하차하였습니다.\n";
== 1차 수정버전 소스 ==
cout << "시스템을 초기화 합니다.\n";
//버스 위치.
- 데블스캠프2004/세미나주제 . . . . 33 matches
* '''토요일 오후 2:30 7층 PC실에서 [데블스캠프2004]관련 모임이 있습니다.'''
* 간단한(어려워도 상관없음) 원격 컴퓨터 관리( +알파 [http://www.bo2k.com/ 백오리피스]?)
|| 월 || [데블스캠프2004] OT, ZeroPage 이야기 [[BR]] ToyProblem1 [[BR]]CrcCard || 휘동,상민,석천 || 5h || [데블스캠프]의 시작 - 이계획 분화됩니다. ||
|| 수 || 페 || 재동 ☆ 상규 || 0.5h || 그래픽스 ||
|| 금 || 다음 데블스캠프 || ? || 1h || 다음 데블스캠프를 위한 의견 나눔 ||
데블스캠프가 일주일밖에 남지 않은 상황에서 너무 스케쥴이 정해지지 않는 것 같아서 위와 같은 커리큘럼을 만들어 보았습니다. 강사의 스케쥴에 따라, 강사의 기호에 따라 날짜나 주제가 변경될 수 있습니다. 더 좋은 의견 있으면 써주세요. --[신재동]
* ZeroPage역사+[데블스캠프] OT
* RevolutionOS 별로 재미없습니다. 다 아는 내용이고, 당시의 장미빛 미래와 지금이 많이 달라진 상황이라, 슬픈 느낌마져 들었습니다. 시청하는데 의의가 있었죠. :) 제 생각은 ZeroPage 역사를 가지고 스냅샷으로 몇장 정도면 어떨까 합니다. 즉석 역할극도 재미있겠네요. 그런데 [1002] 시험은 언제 끝나요? --NeoCoin
* 월요일 처음 시작 3~4시간을 저 주시면 안될까요? 시작이 아니면 그리 큰 의미가 없는데요. 재동, 상규 의 그래픽스 시간이 힘든가요? --NeoCoin
* 정 다 필요하시다면 다 쓰셔도 됩니다. 하지만 저희 둘의 생각으로는 위 주제로 첫날 하루를 모두 하는 건 불필요한 것 같습니다. 이번 데블스 캠프의 대상은 아직 ZP 정회원이 되지 않은 이들입니다. 솔직히 (바라지는 않지만) 이들 중 많은 이들이 나갈텐데 그들을 상대로 ZP 역사나 OT에 많은 시간을 할애하는 건 소용이 없다고 봅니다. 그리고 자칫 시작 첫날부터 따분하게 되기 쉬워보입니다. --재동, 상규
* 괜찮음. 스캐줄 옮겨 놨다. --재동
상규나 재동이 같은 소위 스타가 학교를 떠나면 어떤 일이 벌어질까? 다음 세대 스타는 누구인가? 장기적 관점에서 트럭 넘버를 높히려면? --JuNe
- 영웅은 스스로 만들어지는것이 아니라 시대가 만드는것입니다. 시대의 요구가 있다면야 누군가는 반드시 나타나지 않을까요? -- 장창재
우선 단기적으로 보면 03학번이 실력을 키워야 합니다. 02 학번은 현재 영동군, 1명만 남은 상태이고 그 또한 올해 군대를 갑니다. 석천 형(졸업)과 상민 형(군대)도 더이상 봐주기 힘들겁니다. 그리고 군대 간 ZP들(01, 02)이 돌어오는 시기는 내년 말이나 되야 할 것입니다. 그나마 다행히 저나 상규가 동대학원에 진학 예정이라 2년 정도 더 봐줄 수 있습니다만 결국 재학생 선배의 공백은 03학번이 해결해야 할 것입니다. 한편 장기적으로 본다면 문제는 앞서 나왔듯이 ''군대''인 듯 합니다. 남자들은 군문제가 학회에 지속적인 활동을 못하게 합니다. 저나 상규가 아직까지 군대를 가지 않고 남아 ZP에서 계속 활동한 것이 ''스타''라는 이름이 붙인 것 같습니다. 이를 해결할 수 있는 건 군문제를 대학원 후의 전문연구원으로 해결 하던지 아니면 여자 회원이 공백을 매꿔줘야 할 것입니다. 그리고 제대한 ZP 회원들을 빨리 다시 활동 할 수 있게해야 할 것입니다. 마지막으로 저나 상규는 절대 스스로를 스타 또는 영웅이라 생각치 않습니다. --재동
장기적이자 단기적이라면, 학회를 이용해서 자신을 갈고 닦는 마음가짐을 가지고 이를 실천하게 만드는 것 시스템을 구성하는 것이 필요합니다. 즉, '''적극적인 활동을 일으키는 시스템''' 이겠지요. 실력은 따라오는 것 같습니다. 더구나 4학년이 되가면서 큰 편차가 나지 않는 것 같습니다. (K대학 전산하신분 분의 말씀인데 동감합니다.) 위의 세미나만 봐도 '하지 못해서'가 아니라 '하지 않아서' 없는것 같습니다. 서로에게 이걸 하는 것을 권하고, 부탁하면서 분담하는 것이 필요한데요. 이러기에 서로가 너무 조심하는 것이 아닐까요.
환타 FunCamp 라던지, TTL에서 주최했던 모임, 바카스 국토 대장정, KTF Future List...
그래서 무지하게 궁금합니다. 학회가 무엇인지, 모두가 어떤 생각을 하는지 그래서 첫날에 그런 생각들을 담아내고 시스템을 조성해보자는 취지로 월요일 4시간의 시간을 달라고 한것 입니다. 그리고 당연히 이 시간은 함께 만들어 나가는 거겠지요. 그래서 토요일에 모임을 예약(?) 해 두었는데 사람 모으고 있습니다. ;;
=== [데블스캠프2004/금요일] 에 마지막 해야할 토론에 관한 내용들 토의 ===
* [데블스캠프2004]에 전체에 대한 개인 ThreeFs - 시간이 안되면 개인이 제로 위키에 따로 적도록 한다.
* [데블스캠프2004] 에 대한 모자 사고 - 단점(아쉬운점), 장점(인상깊으점), 보충할점(2005년에 추가할 내용)
- 송지원 . . . . 33 matches
* 농구 소모임 위디브 매니져 (에이스를 맡고 있단 소문이 있음)
* ~~졸업했는데~~ 2016년부터 스티머즈 가입 상태
* 2016년 : ~~파주 탈출~~ 전략사업부 에너지신성장추진단 스마트그린솔루션팀.
* [데블스캠프2013]
* [데블스캠프2012]
* [데블스캠프2012/넷째날/묻지마Csharp]
* [EnglishSpeaking/2011년스터디]
* [ACM_ICPC/2011년스터디]
* [데블스캠프2011] - Staff로 참여, 월~금 All 참여
* 월요일 오프닝([데블스캠프2011/첫째날/오프닝])과 Play with Java([데블스캠프2011/첫째날/Java]) 세미나 진행.
* [데블스캠프2011/첫째날/개발자는무엇으로사는가]
* [데블스캠프2011/둘째날/Scratch]
* [데블스캠프2011/둘째날/Machine-Learning/NaiveBayesClassifier/송지원]
* [데블스캠프2011/셋째날/String만들기/송지원]
* [데블스캠프2011/셋째날/RUR-PLE/송지원]
* [데블스캠프2011/넷째날/Android/송지원]
* [데블스캠프2011/다섯째날/How To Write Code Well/송지원, 성화수]
* [데블스캠프2009] - 월~금 All 참여
월요일 스크래치([데블스캠프2009/월요일/Scratch])를 주제로 세미나 진행.
수요일 Simple Java & JUnit Test([데블스캠프2009/수요일/JUnit])를 주제로 세미나 진행.
- DataCommunicationSummaryProject/Chapter8 . . . . 32 matches
* 고객과 네트워크의 마지막 연결이다. 베이스 스테이션은 에어 링크 범위에 포함되지 않는다.
* BSC가 연결되어 있는 BTS들에게 동적으로 스펙트럼을 할당할 수 있기 때문에 하나의 셀에 더많은 사용자를 수용할 수 있다.
* 각각의 MSC는 아래와 같은 여러개의 데이터 베이스와 연결되어 있다.(사용자의 위치 추적과, 요금 지불 정보등을 위해서)
* 이 시스템의 문제는 모든 call이 사용자의 home HLR을 통해서 연결된다는 것이다. 국제적으로 연결되면 비용이 많이 들게 된다.
* 그래서 많은 네트워크들은 현재 MAP(Mobile Application Part)라고, HLR과 VLR을 오직 한번만 찾아봐서 가능하면 지역안에서 연결되게 하는 새로운 시스템을 구현하고 있다.
* The Gateway Mobile Switching Center (GMSC)는 스위칭 체계의 최 상위에 있다.
* 이것은 가장큰 역할은 핸드폰 시스템 자체의 신호 프로토콜을 보통 전화선에서 전화번호와 같은 정보를 나르는데 사용하는 Signaling System 7(SS7)로 변환하는 것이다.
* 전화기 스타일의 지속적인 circuit 스위치 대신에 작은 패킷으로 데이터를 보내는 인터넷 스타일의 라우터가 필요하다.
* MSC처럼 이것은 다양한 데이터 베이스(위치를 찾고, 인증 하는거..)에 연결되어 있다.
* MSC와는 다르게 서비스를 제공하는 각각의 셀에 직접 연결될 필요는 없다.
* 대부분의 운영자들은 그들이 서비스를 제공하는 영역안에 SGSN들을 설치하여, 점차 거대한 데이터 네트워크를 만들 계획을 한다. 이것이 GPRS Backbone 이라고 알려져 있다.
* GPRS Backbone이 MSC와 가장 다른 점은 데이터에 더 적합한 패킷 스위칭 방식을 채택했다는 점이다.
* Gateway GPRS Support Node(GGSN)는 GTP 데이터 패킷을 TCP/IP로 교환 하거나 그 역으로 교환할 수 있다. 인터넷에 대한 인터페이스가 되는 것이다.
* 다른 운영자의 GPRS 네트워크에서 roaming 하는 GPRS 가입자가는 여전히 인터넷에는 접근할 수 있을지라도, 그들이 의존하고 있는 다른 서비스는 못받는다.
* 사용자가 이러한 특화된 서비스에 접근할 수 있도록 하기 위해서는, 운영자가 특별한 형태의 GPRS roaming을 구현할 필요가 있다.
* Internet Roaming : 단순히 인터넷을 통해서 특화된 서비스를 위한 연결을 보낸다. 이것은 싸고, 간단한 해결책이지만, 느리고 보안 문제가 있다.
* GRX Roaming : GPRS Roaming Exchange(GRX) 라고 불리우는 새로운 형태의 서비스 공급자를 사용한다. 이것은 다양한 GPRS 네트워크에서 GTP 트래픽을 운반한다. 더 비싸다
* Richchet에 의해 사용된 MCDN 시스템은 전통적인 cellular 네트워크 구조와는 다소 다른 구조에 기초해 있다. 그것의 크기는 매우 작고, 그것들은 릴레이 형식으로 거대한 BTS에 신호들을 보낸다.
* 거대한 BTS는 WAP(wired access points , 혼란 스럽게도..)라고 불린다.
* 망했지만, 이 구조는 4세대 시스템에서 많이 제안된 것과 비슷한다.
- Ruby/2011년스터디/세미나 . . . . 32 matches
* aptana (경량형 이클립스)
* 화이트스페이스는 무시
* nilClass의 인스턴스는 nil하나, prototype은 없음. 다른 함수들은 가지고있음
* 루비의 신기한 배열. 음의 인덱스를 가질 수 있다
* 루비에서는 클래스명이 대문자로 시작해야한다!(아니면 에러)
* 이미 생성된 인스턴스에 멤버함수 추가하기
* 부모 클래스를 동적 변경하면, 자식 클래스의 인스턴스는 어떻게 될까?
* 루비의 클래스/메소드 체이닝을 가르칠까요?
* 유닛테스트(생략가능)
* 상속을 통한 테스트 케이스 만들기
* Pair Programming : Pair를 밸런스에 맞게 짜드림.
|| [김준석] || ? || 루비는 개발자의 실수를 스스로 메워준다? || 탈락 ||
* "우아한" 언어인 루비를 다운받아 irb를 사용해 실습을 해보았다. 처음에 irb를 눌렀을 때, 무슨 dll파일이 없어서 실행이 안된다는 팝업창이 떴는데 확인 누르니까 알아서 잘 켜졌다. Ctrl+C를 눌렀더니 끌지 말지 여부가 떴는데 N을 눌러도 꺼졌다. irb보다는 넷빈즈를 이용하는게 좋다는 말이 와닿았다. 1+2를 치면 알아서 3이 나오는 것과 리턴 값이 항상 표시되는 것이 신기했다(없을 경우도 =>nil 로!). 루비의 블록 넘기기는 #define이랑 비슷한 느낌이 들었다. 새로운 언어임에도 쉽게 익힐 수 있어 좋았다. 하지만, 페어로 하는 만큼 실습 시간도 반감되지 않았을까 죄송스러웠다. 세미나 공지가 뜨면 노트북을 가져가도록 해야겠다. - [강소현]
* 아.. 세미나가 끝나니까 할말이 생각나네요..ㅠㅠ 루비의 블록 넘기기는 사실 블록이 yield구문에게 전달되는 것이 아니라 yield를 만나면 함수의 호출부로 컨트롤이 이동해 블록이 있는지 확인하고 실행합니다. 책에서는 co-routine 이라고 이해하면 된다는 설명이 있어요~ 블록이 전달되는게 아니라 컨트롤 플로우가 왔다갔다!! 스위치 태스킹처럼요. 세미나때 설명을 잘 해드렸어야 했는데 죄송천만번입니다 - [서지혜]
* 진짜 한번쯤 건드려보고 싶은 언어였는데 차일피일 미루다가 드디어 해봤습니다. 루비의 문제점도 많이 보였지만 그래도 (제 입장에서는) 직관적인거 같아서 좋았습니다. 시간이 된다면 irb로가 아닌 editor를 이용해서 편집한 소스코드를 컴파일하고 돌려보는 방법도 해보면 좋겠어요. - [지원]
* 저도 아직 RubyLanguage에 익숙하지 않아서 어려운 점이 많지만 조금이나마 공부하며 써보니 직관적이라는 생각이 많이 들었어요. 오늘 정보보호 수업을 들으며 EuclideanAlgorithm을 바로 구현해보니 더더욱 그런 점이 와닿네요. 좀 더 긴 소스코드를 작성하실땐 Netbeans를 이용하시는 걸 추천해요~ 매우 간단하게 설치하고 간단하게 사용할 수 있답니다. - [김수경]
1. 이번 RubyLanguage 세미나는 방학때 스터디를 하며 몇 주 전부터 준비해왔습니다. 그런데 한동안 루비를 소홀히 했더니 [:강성현 성현]이와 지혜 프리젠테이션을 들으며 저도 새롭게 알게 된 것들이 있었습니다. 부끄럽네요. 분명 같이 공부했던 것들인데…T_T
* 스노우볼이란 게임으로 회고를 하는 방법이 매우 신선했습니다. 시간배분을 못해 레이스를 못한게 마음에 걸렸는데 좋은 마무리 부탁드립니다 - [서지혜]
* 드디어 Ruby를 접해보았습니다. 여러가지 장점이 보였지만, 궁금한 것도 많이 생긴 세미나였습니다. 특히 메모리 관리 부분에서 가비지 콜렉터 존재 유무가 많이 궁금해지더군요. 그래서 검색해보니 참 재밌네요 ㅋㅋㅋ (1. 스택 개념 없음, 힙만 사용 2. 로컬변수도 힙에 올림 3. 명시적으로 메모리 해제 못함). 그리고 { |x| ~~ } 이 문법 보면서 사용하기 꺼려지는 문법이라는 생각이 든 건 저뿐만인가요? 궁금하네요. - [박성현]
* 스스로 찾아보시다니 좋은 자세이십니다. { |x| ~~ } 블록구문은 처음엔 잘 이해가 가지 않지만(지금도) 함수의 구현마저 동적인 루비의 장점이 잘 나타나 있는 부분이라 생각됩니다. - [서지혜]
- ZeroPage_200_OK . . . . 32 matches
* [ZeroPage_200_OK/소스]
* 웹 기술, 환경, 레퍼런스 소개
* 젠장 집에 오니 Cloud9 IDE가 빠르게 잘 됩니다. 학교에 있는 사람들도 테스트 부탁합니다. 학교 네트워크 관련 이슈인지 그냥 그 시간대 c9.io 서비스 관련 이슈인지 궁금하군요.
* 혹시 여전히 Cloud9 IDE이 동작하지 않으면 이번 내용은 클라이언트 구현만 있으므로 JSFiddle에 Save하고 URL을 링크하거나 [ZeroPage_200_OK/소스] 페이지에 올리셔도 됩니다.
* 웹은 다양한 이론적 배경을 바탕으로 탄생하고 발전해 왔습니다. 우리 스터디에서는 그런 통합적인 지식을 바탕으로 여러분들에게 현재의 웹 기술에 대한 이해는 물론이고 웹 이후의 새로운 경향을 고민하고 연구하기 위해 필요한 단서를 제공하는데 목표를 두고 있습니다. 물론 굳이 모르고 있어도 단순 웹 개발을 하는데 무리는 없으나, 관련된 문제해결 과정이나 새로운 기술 이해를 위해서 중요한 능력이 될 수 있습니다.
* 우리 스터디에서 다루는 이론은 학부 2~4학년의 여러 교과를 포괄할 뿐 아니라 그 범위를 초월할 수 있습니다. 하지만 앞으로도 학부 1학년도 쉽게 이해할 수 있도록 대부분의 이론 각론은 교과 수업을 바탕으로 하지 않고 설명하는 방향으로 진행하겠습니다.
* form 관련으로 사용자 입력을 받을 수 있었던 부분 실습을 주로 배웠습니다. 근데 궁금한게 도중에 html5 얘기를 하시면서 <a href=""><button>abc</button></a> html5에서는 이렇게 사용할 수 있는데 이런게 자바스크립트를 쓸 수 없는 경우에 된다고 하셨는데 그럼 원래 버튼의 onclick같은 on~는 자바스크립트인건가요? - [서영주]
* 개인적으로 이래저래 많이 듣기만 한 용어들(쿠키, HTTPS 기타 등등)에 대해서 자세하게 들을 수 있어서 좋았습니다. 보안 관련은 예전 데블스 때도 잠깐 들을 기회가 있었는데, 그 때는 잘 이해를 못 했었는데 반복해서 들어서 그런지 이번에는 이해가 잘 됐습니다. 다음으로는 자바스크립트 문법에 대해서 다루신다고 하셨는데 어떤 방향으로 나갈지 궁금하네요 - [서민관]
* 자바스크립트의 기초적인 부분이었는데 잘 몰랐던 구조에 대해서 알게 되어 좋았습니다. 실행 컨텍스트는 특히 잘 알아두고 갈 필요가 있다는 생각이 들었습니다. - [안혁준]
* 자바스크립트에서 자주 this 얘기가 나오던데, 이번에 이야기를 들을 수 있어서 좋았습니다. 개인적인 느낌을 말하자면 함수가 데이터로 취급되는데 함수 내부에서 함수를 호출한 객체(execution context)의 정보를 사용하기 위해서 this를 사용한다는 느낌이는데 맞는지 모르겠군요. p.print를 넘기는 것도 실제로 class p에 있는 함수를 넘기는 게 아니라 p.print에 바인딩 된 어떤 함수를 넘기는 것이니까 내부의 this가 기존 OOP와 같이 해당 class의 인스턴스는 될 수 없겠죠. 그리고 제일 마음에 들었던 것은 역시 예전에 했던 스터디에서 다뤘던 자바스크립트의 네 가지 특징에 대해서 들을 수 있었다는 점이었습니다. 사실 예전 스터디 떄 무척 듣고 싶었는데 개인적인 사정으로 참가를 할 수 없어서 꽤 아쉬웠던 터라 ;;; 마지막에는 개인적인 사정으로 시간이 안 맞아서 좀 급하게 나갔는데, 그래도 최대한 들을 수 있는 데까지 듣기를 잘 한 것 같은 느낌이 들었습니다. - [서민관]
* 자바스크립트의 언어 특성에 따라서 배우고 기본적인 사용 문법에 대해서 배웠습니다. 명령형 구조적 프로그래밍 언어적인 부분에 대해서는 그렇게 어려운건 없었는데 그 뒤의 함수형 선언적 프로그래밍 언어 부분에서 클로저랑 함수에 함수를 인자로 주는 부분이 같이 쓰이니까 좀 복잡했었습니다. 조금 더 공부해야 할 것 같습니다. var Person = function(){}; 같은 부분나 this가 new를 했을 때에만 제대로 동작한다는 부분도 특이했습니다. 문법적인 부분 자체는 그렇게 어려운 것 같지 않은데 함수를 중첩해서 쓰거나 그런 부분이 약간 알아보기 힘든 것 같습니다. - [서영주]
* 서버에서 데이터를 가져와서 보여줘야 하는 경우에 싱글스레드를 사용하기 때문에 생기는 문제점에 대해서 배우고 이를 처리하기 위한 방법을 배웠습니다. 처음에는 iframe을 이용한 처리를 배웠는데 iframe 내부는 독립적인 페이지이기 때문에 바깥의 렌더링에 영향을 안주지만 페이지를 이동하는 소리가 나고, iframe이 서버측의 데이터를 읽어서 렌더링 해줄 때 서버측의 스크립트가 실행되는 문제점 등이 있음을 알았습니다. 이를 대체하기 위해 ajax를 사용하는데 ajax는 렌더링은 하지 않고 요청 스레드만 생성해서 처리를 하는 방식인데 xmlHttpRequest나 ActiveXObject같은 내장객체를 써서 요청 스레드를 생성한다는걸 배웠습니다. ajax라고 말은 많이 들었는데 구체적으로 어떤 함수나 어떤 객체를 쓰면 ajax인건가는 잘 몰랐었는데 일반적으로 비동기 처리를 하는거면 ajax라고 말할 수 있다고 하셨습니다. 그리고 중간에 body.innerHTML을 직접 수정하는 부분에서 문제가 생겼었는데 innerHTML을 손대면 DOM이 다시 만들어져서 핸들러가 전부 다 사라진다는 것도 기억을 해둬야겠습니다. - [서영주]
* 자바스크립트에서 객체를 표현하기 위한 표기법.
* 자기자신의 레퍼런스(사이클릭 레퍼런스), 커스텀 오브젝트(함수 or 객체) 등은 직렬화가 어렵기 때문에 대상에 들어가지 않는다.
* escape, unescape (deprecated) : encoding 스펙이 정해져 있지 않아서 브라우저마다 구현이 다를 수 있다.
* Browser Object Model : 자바스크립트로 Browser와 상호작용하기 위해 제공되는 API들의 집합. 공식적인 표준은 존재하지 않아서 조금씩 다를 수 있다.
* $(document).ready() - 처음에 자바스크립트 코드를 해석할 때 해당 객체가 없을 수 있기 때문에 DOM 객체가 생성되고 나서 jQuery 코드가 실행되도록 코드를 ready() 안에 넣어주어야 한다.
[2012년활동지도], [스터디분류]
- AcceleratedC++/Chapter11 . . . . 31 matches
실제로 클래스를 제작할 경우에는 클래스의 생성, 복사, 대입, 소멸의 고려하여 설계되어야한다.
이장에서는 STL vector클래스의 약식 버전을 만들어 보면서 일반적인 형태의 자료형을 만드는 방식을 익힌다.
클래스를 설계할때에는 우선 인터페이스를 결정해야한다. 인터페이스의 결정에는 실제로 그 객체를 이용한 프로그램을 작성해보는 것이 좋다.
이상의 것들이 이장에서 구현할 vector 의 clone 버전인 Vec 클래스를 구현할 메소드들이다.
템플릿은 함수뿐만 아니라 클래스에서도 사용하는 것이 가능하다.
템플릿은 단지 틀일 뿐이며, 사용할때 type parameter로 준 형에 따라서 실제의 클래스를 생성한다.
앞의 인터페이스 명세에서 아래의 2가지를 가능하게 하도록 했기 때문에 생성자 2개는 최소한 구현해야한다.
// 표준 vector 클래스는 크기와 함께 초기화 요소를 인자로 받는 생성자도 제공한다.
=== 11.2.4 인덱스 및 size ===
{{{~cpp []}}}연산은 인자로 size_type을 취하고, 리턴값으로 value_type의 레퍼런스를 취해야할 것이다.
const T& operator[](size_type i) const { return data[i]; }; // 이경우에도 레퍼런스를 쓰는 이유는 성능상의 이유때문이다.
const T& operator[](size_type i) const { return data[i]; }; // 이경우에도 레퍼런스를 쓰는 이유는 성능상의 이유때문이다.
사실 이렇게 상세한 객체의 행동양식을 규제할 수 잇는 언어로는 C++이 유일하다. (그만큼 클래스를 작성할때 많은 것들이 고려되어야한다.)
함수의 인자를 복사하는 것을 포함해서, 복사본을 만든다는 의미를 정의하고 있기 때문에 매개변수를 레퍼런스 타입으로 하는 것이 좋다.
보통 디폴트 복사 생성자의 경우에는 클래스의 멤버 변수들을 단순히 복사만 하게 됩니다. 이때 만약 그 멤버 변수가 포인터의 형태라고 한다면 문제가 발생하게 된다.
operator=() 의 여러가지 인스턴스중에서 인자로 자신의 클래스 형 자체에 대한 const 레퍼런스를 취하는 형태를 대입연산자라 칭한다.
리턴값을 C++ 기본 대입연산자와의 일관성의 유지를 위해서 연산자의 외쪽항(left-hand side)에대한 레퍼런스를 취한다.
템플릿의 스코프 안에서는 타입 매개변수를 생략하는 식의 더 쉬운 표현을 사용할 수 있다.
'''※ 클래스에 소멸자가 필요하다면 반드시 복사 생성자와 대입 연산자를 재정의해야 올바른 동작을 보장한다.'''
'''allocate 클래스의 비멤버 함수 일부'''
- STLErrorDecryptor . . . . 31 matches
VC++를 가지고 STL 프로그래밍을 하시는 분들이 가장 많이 느끼는 불편함(어느 플랫폼이나 마찬가지이지만)중 하나가 바로 "'''에러 메시지에 나타나는 STL 컴포넌트가 무엇인지 도통 모르겠다'''"라는 점일 겁니다. 이는 컴파일러가 STL 템플릿을 인스턴스화할 때 타입 매개 변수가 모두 포함된 상태로 전체 이름을 써 버리기 때문에 STL 책에 나오지도 않는 클래스 이름과 템플릿 이름 등이 마구 튀어나옴은 물론이거니와, 인스턴스화한 클래스 이름 자체가 엄청나게 길어져서, 코드 한 줄에 대한 에러 메시지가 수십 여 줄까지 만들어지는 현상이 일어나지요.
가) 여느 개발도구와 마찬가지로 VC의 IDE는 그 자체에 빌드용 장치(컴파일러와 링커)를 내장하고 있지 않고, 외부에 있는 컴파일러와 링커를 실행해서 프로그램을 빌드합니다. 컴파일러와 링커의 출력 결과는 실제로 콘솔로 빠져 나오는 출력이지만, 네임드 파이프(named pipe)란 것을 통해 VC의 IDE로 다시 들어가 '''출력(output)''' 윈도우에 디스플레이되는 것입니다.
* 펄 스크립트 인터프리터(PERL.EXE)가 사용 가능함
* 해독기 패키지에 포함된 에러 필터 스크립트(STLfilt.pl)가 사용가능 함
* 펄 스크립트 인터프리터(PERL.EXE)를 실행하고, 에러 필터 스크립트(STLfilt.pl)를 띄움
* CL2.EXE가 내는 컴파일 결과를 에러 필터 스크립트에 파이프(pipe)를 통해 통과시킴
* 에러 필터 스크립트는 자신이 받은 컴파일 결과를 필터링하여 다시 VC의 IDE로 전송
* 펄 스크립트 인터프리터(Win32용) : 여기서는 ActivePerl을 사용합니다. (http://ww.activestate.coml)
나) 펄스크립트 인터프리터를 설치합니다.(저는 D:\에 설치했습니다)
* '''STLfilt.pl : 컴파일러의 출력 결과를 필터링 해주는 펄 스크립트.이 파일의 위치를 잘 기억해두세요.'''
* CL.CPP: 프록시 CL의 소스 코드. 관심있는 분은 한 번 보세요. 꽤 잘 짰습니다.
다) 이젠 프록시 CL의 동작에 필요한 환경 옵션을 제공하는 Proxy-CL.INI 파일을 여러분의 개발환경에 맞게 고쳐야 합니다. 텍스트 편집기로 Proxy-CL.INI를 열면 아래의 [common], [proxy.cl], [stltask.exe] 부분이 모두 비어 있는데, 윗부분의 주석문을 참고하면서 환경 변수를 고쳐줍니다. 반드시 설정해야 하는 옵션은 다음과 같습니다.
* FILTER_SCRIPT : 필터링 펄 스크립트(STLfilt.zip)의 전체 경로. 반드시 파일 이름까지 써 주어야 합니다.
* PERL_EXE : 펄 스크립트 인터프리터(PERL.EXE)의 전체 경로. 역시 파일 이름까지 써 주세요.
프록시 CL의 에러 필터링을 활성화하거나 비활성화하는 역할을 맡은 프로그램인 STLtask.exe를 실행시켜 태스크바에 띄우는 과정입니다.
참고2) 이 대화 상자가 뜨지 않고 "MSVCP60.DLL이 없다" 라는 메시지가 나오면 이 DLL을 시스템 디렉토리에 복사해 주세요.
나) 위의 대화 상자에서 [Back to taskbar] 버튼을 누르면 윈도우의 작업 표시줄(태스크바)에 아이콘이 하나 뜹니다. 이 아이콘을 오른쪽 클릭하면 메뉴가 뜹니다.
여기서 "Enable Filtering"을 선택하면 그때부터 STL 에러 필터링이 가능해집니다. 그리고, 앞으로 STL 에러 필터링을 활성화하거나 비활성화할 때에는 이 태스크바의 아이콘을 사용하면 됩니다(Enable filtering/Disable filtering을 선택하면 되겠죠). 필터링이 활성화 되어 있느냐 그렇지 않으냐의 여부는 작업 표시줄의 아이콘 색깔( Upload:STLTaskActIcon.gif 은 활성화되었다는 뜻)로 확인할 수 있습니다.
= 테스트! =
나) Build나 Complie 명령을 내려서 이 소스를 컴파일해 봅시다.
- 조현태/놀이/지뢰파인더 . . . . 30 matches
손은 마우스를 직접 이동시켜 클릭하는 방법과 메시지를 전달하는 방법중 후자가 더 간지나 보여서 그쪽을 택했다.
데블스 캠프에서 배운 로보코드를 활용할 생각..^^ 뭔가 객체같은 느낌이 들어서 클래스로 만들어 주기로 했다.^^
그런데 클래스란거 배우지도 않고 막 써도 되는건가..ㅠ.ㅜ 나쁜습관이 들지도..^^;;
클래스명이 로보 만들어놓은 객체의 이름을 레인져로 지어주었다.^^;;;
갈수록 일에 치여 시간이 줄어든다.^^ 오늘은 클래스를 2개나 동원해서 레인져가 자료를 저장할 곳을 조금 만들었다.
한 클래스에서 다른 클래스를 붕어빵 찍듯이 찍어내고, 또 그 클래스가 여러개로 찍혀나가게 했는데..
내일 테스트 할 수 있으려나..^^
자면서 작성했더니, 소스가 이상해졌다. 본인도 뭐가 뭔질 모를뿐더러, (사실 자면서 짜서 지금 어디 짜는지도 모르고 작성했다.)
킁..ㅠ.ㅜ 재앙이다..;;ㅁ;; 앞으로는 이렇게 짜지 말자는거 이외에는 뭐라 할말이 없다. 오랫동안 손대지 않았던 터라, 알고리즘이 잘 생각이 나질 않는다. 그래도 내가 짜서 그런지 금방 알고리즘을 생각해내는데는 성공했지만... 많은 부분을 수정했으나, 더 많은 재앙들이 초롱초롱한 눈빛으로 나를 반기고 있다. 이쁜 아가씨면 반겨주겠지만 이런 버그덩어리라니.. 도데체 어느 부분에서 잘못된 메모리를 엑세스 하는건지..흑흑 어빠햐가 잘못해떵..ㅠ.ㅜ 제발 정상적으로 작동해줘..ㅠ.ㅜ API의 특징인지...내가 못해서인지.. 테스트가 콘솔창보다 용의하지가 않다. 수없이 조각조각 나있는 할당된 메모리의 파편을 일일이 추적하자니.. 트리나 링크드리스트 형식의 문제점이라고나 할까..;;ㅁ;; 도데체 어디서 잘못된겨~!!! !@#$%^&*()...... 그래도 실행하면 지뢰 한 2-3개.. 숫자 한 2-3개는 찾고 뻗으니위안은 된다.(참고로 아직 지뢰를 건드린적은 없다!!) 수정해야할 부분 태산.. 만들어야 할 부분 태산.. 휴가가 극도로 짦은걸 보면 방학중에도 만들어야 할지도... 뭐 나름대로 앞으로 프로그램을 어떻게 짜야 할 지에대해서 조금은 도움이 되겠지뭐..ㅠ.ㅜ 흑.. - [조현태]
계획 전면 수정. 알고리즘 및 소스 재작성 돌입. 과거 단순 "로봇을 이용해서 마호로매틱 쵸비츠..는 아니고 어쨋든 멋지게 만들어 보자!" 에서 "로봇만 이용하는건 넘흐 어려벙~ 다른걸 섞어봐야겠어~!" 로 변경. 사용하기가 편하고 검색속도가 빠른 기존의 방법과 정확도가 높은 로봇을 밀가루와 팥이만나 붕어빵이 되듯.. 잘 섞어보기로 결정했다. 새로 모든소스를 작성하고 기존 소스의 심각한 문제점이었던, 어설픈 분할과 최악의 테스트 조건(윈도우 지뢰찾기는 실행해서 어떤 맵이 나올지 모른다. 또한 테스트 시간이 길고 준비가 필요하다)을 극복하기 위해서 수정을 가했다. 좀더 체계화된 분할로 좀더 보기편하고 소스에 간지가 흐르도록 하였으며, 테스트 주도개발의 내용에서 눈꼽의 반만큼을 이용, 편리한 테스트 환경을 만들었다. (나름대로 진보환 환경과 소스!) 가슴은 아팠지만 재앙보다야 나을거라고 생각한다. 그리고 로봇..그 부분은 아직 경험이 없어서(데블스 캠프에 만들어 본게 다..)그런지 조금 빡세다. 뭐 그래도 한번 실패도 했으니, 더 쉽게 만들어 질 것이라고 생각하고 만들기로 결정했다. - 2005.08.13
드디어 로봇 완성. 저번보다 더 간지나는( 구조화가 잘된) 알고리즘 표현과, 훨씬 편한 테스트 환경으로 저번에 비하면(어디까지나 비해서다. 아직 어려운 점이 많아 고생을 많이 했으며, 새로운 자료구조가 본인이 만든 탓인지 뭔가 복잡하다.ㅎ) 순풍에 돛을 단듯 아주 순조롭게 진행되었다. 그래서 로봇을 완성. 손과 눈을 api로 바꿔주고 지뢰찾기를 향에 발싸~!... 실패... 만능은 아니라서 시작한 지점에 2가 떡하니 나와준다면.. 얘도 찍어야 한다. (물런 찍어야 하는 상황에서 사람보다야 높은 적중률을 보이도록 설계했으나.. 이런 최악의 상황은 사람이나 프로그램이나.. 오히려 사람이 낮다.) 두번째.. 오옷..1초만에 성공... 세계신기록이야~ ~_~ 후후후.. 아~ 이날아갈듯한 기분..ㅎ (혼자 행복에 겨워서 뒹굴었다.ㅎ) 세번째.. 알수없는 오류가 깊은산속 옹달샘에서 발생.......OTL.ㅎ 그래도 어쩄꺼나!!! 성공시켰다. 후후후.. 이제 남은 디버그따위..ㅎ 사뿐히 해결해주짓..(역시 테스트 환경이 좋으니 작업이 잘 진행된다. 꼭 염두해두자.ㅎ) 어쨋든 오류가 떠도 지금은 행복하다.ㅎ ~_~ 일해야 되서 지금은 못해도.. 시간나는데로 해서 완성시켜주마~ >ㅁ<;;; - 2005.08.14
|| 2005.08.12 || 소스 백지화 후 로봇을 제외한 부분(메인, 테스트 환경, 손, 눈, 기본 탐색 알고리즘, 새로운 자료구조)완성 ||
버그가 발생하면 반드시 스샷과 함께 올려주세용!~*
└ 아.. 데블스 뒷풀이겸 회의때 말했는데..^^ 짜볼꺼라고.. 심심하자너~ 시간때우기~~휘적휘적..ㅎㅎ - [조현태]
- ACM_ICPC . . . . 29 matches
* [http://acm.kaist.ac.kr/2005/standing2005.html 2005년 스탠딩]
* [http://acm.kaist.ac.kr/2007/standing2006.html 2006년 스탠딩] - ZeroPage Rank 17
* [http://acm.kaist.ac.kr/2007/standing2007.html 2007년 스탠딩] - ZeroPage Rank 30
* [http://acm.kaist.ac.kr/2008/fullnums.html 2008년 스탠딩] - ZeroPage Rank 30
* [http://acm.kaist.ac.kr/2009/rank/new_summary_full.html 2009년 스탠딩] - No attending
* [http://acm.kaist.ac.kr/phpBB3/viewtopic.php?f=7&t=129 2010년 스탠딩] - No attending
* [http://acm.kaist.ac.kr/phpBB3/viewtopic.php?f=25&t=657 2011년 스탠딩] - ACMCA Rank 26 (CAU - Rank 12)
* [http://acm.kaist.ac.kr/phpBB3/viewtopic.php?f=28&t=695 2012년 스탠딩] - OOPARTS, GoSoMi_Critical (CAU - Rank 15)
* [http://acm.kaist.ac.kr/phpBB3/viewtopic.php?f=32&t=5656&sid=8a41d782cdf63f6a98eff41959cad840#p7217 2013년 스탠딩] - AttackOnKoala HM
* [http://acm.kaist.ac.kr/phpBB3/viewtopic.php?f=35&t=5728 2014년 스탠딩] - ZeroPage Rank 32 (CAU - Rank 18, including Abroad team)
* [http://icpckorea.org/2015/REGIONAL/scoreboard.html 2015년 스탠딩] - 1Accepted1Chicken Rank 42 (CAU - Rank 18, including Abroad team)
* [http://icpckorea.org/2016/REGIONAL/scoreboard.html 2016년 스탠딩] - Zaranara murymury Rank 31 (CAU - Rank 13, including Abroad team)
* [http://icpckorea.org/2017/regional/scoreboard/ 2017년 스탠딩] - NoMonk, Rank 62 (CAU - Rank 35, including Abraod team)
* [http://icpckorea.org/2018/regional/scoreboard/ 2018년 스탠딩] - ZzikMukMan Rank 50 (CAU - Rank 28, including Abroad team)
* [http://icpckorea.org/2019/regional/scoreboard/ 2019년 스탠딩] - TheOathOfThePeachGarden Rank 81(CAU - Rank 52, including Abroad team)
* [http://static.icpckorea.net/2020/scoreboard_terpin/ 2020년 스탠딩] - Decentralization Rank 54(CAU - Rank 35)
* [http://static.icpckorea.net/2021/scoreboard_regional/ 2021년 스탠딩]
* [http://static.icpckorea.net/20221119/scoreboard/ 2022년 스탠딩] - HeukseokZZANG Rank 63(CAU - Rank 29)
== 현재 작성한 라이브러리 리스트 ==
* 장소 : KAIST ICC Campus (문지캠퍼스)
- 데블스캠프2004 . . . . 29 matches
[[HTML(<center>)]][데블스캠프2004/공유비전][[BR]]'''체험, 끈기, 실력, 자부심, ZP와 연결 '''[[HTML(</center>)]]
[데블스캠프2004/일일계획] - 모든요일
[데블스캠프2004/월요일]
[데블스캠프2004/화요일]
[데블스캠프2004/수요일]
[데블스캠프2004/목요일]
[데블스캠프2004/금요일]
'''데블스캠프 강사들은 반드시 자신의 강의에 대한 후기/피드백를 써주세요. SeeAlso [데블스캠프2004/월요일후기]
[데블스캠프2004/월요일후기]
[데블스캠프2004/화요일후기]
[데블스캠프2004/수요일후기]
[데블스캠프2004/목요일후기]
[데블스캠프2004/금요일후기]
== 데블스 캠프 관련 링크 (Link to Devils Camp) ==
[데블스캠프] - 데블스 캠프때 왜 밤을 샐까?
[데블스캠프2004/소개]
[데블스캠프2004준비] - 데블스 캠프 준비기간중 다루는 :) 이야기들.
[데블스캠프2004/세미나주제]
[데블스캠프2004/계획]
[데블스캠프2004/준비물]
- 새싹교실/2012/주먹밥 . . . . 29 matches
* 용상훈 : 오늘 경험했던 일은 새싹교실은 "어떻게 된다"라고 설명하는 시간이었다. 처음에 새싹교실에 들어가면 무지 어색할 것 가았는데 그렇지 않았다. 컴퓨터 3대를 앞에두고 wiki에 한해서 처음 이야기를 들었다. 생소한것이어서 많이 신기하셨다. 그리고 버츄얼 박스 받고 리눅스 환경를 처음보았다. 재미있을것 같다. 그리고 가장 신기한 일은 고등학교 선배님인 박성현 선배님을 뵙는데 너무 신기 하였다. 먼저 인사를 드렸어야 했는데.. 인사드리고 전화번호도 알려드렸다. 신기한 하루였다.
* 박도건 : 캡스톤설계실(208-216)에서 김준석 선배님과, 한원표, 용상훈 동기들과 같이 3월 21일 PM6시에 gcc, Linux, android example, wiki작성법 등을 배웠다. 나랑 비슷해보이는 친구가 있어서 같이 프로젝트 할 수 있을것 같다.
* 김준석 :용상훈, 한원표, 박도건을 이끌고 새싹을 캡실에서 진행해보았다. 우리반의 징크스는 끝나지 않았다. 꼭 걸러내도 기본을 아는 친구들이 아무것도 모르는것처럼 들어와. 여튼, 그래도 새로 새싹을 가르칠수 있고 좀 알고 있는 학생들이 들어와서 좋다. 강의를 다음시간에 팍팍나가도 될것 같다. 2주차에 대해 코딩하는것이나 앞으로의 진로에 대해 물어보았고 현재 전체적인 진도나 수준을 간접적으로 알 수 있게 된것이 가장 큰 성과다.
* 예약어 -> 예약어는 C의 시스템에서 미리 선점해놓은 단어를 의미합니다. 이것을 변수명이나 함수명으로 쓰면 안됩니다.
* 김준석 - 아이패드 개발을 하는데 데드라인은 지났어. 그래서 교수님께 사과메일을 보냈어. 그리고 캡스톤 설계실에서 새로운 프로젝트를 제안을 받습니다. 원래 댄스스포츠 동아리를 하고 있는데 발레를 배우게 됬음. 수요일마다 운동과 건강 조교활동을 하고 있고 목요일은 교수님 애를 봐줌. 어제 지인중에 상당한 분이 있어서 밤새서 지켜주고 한빛 리더스에서 독후감쓰는거 했음. 휴학생인데 학교에 24시간 있고 영어학원 10시에 일어나는거 너무 힘듬. 난 아침에 못일어나~ 그리고 새싹 강사들 교육하는 거 4타임 너무 귀찮음=ㅂ= 강사가 못알아 먹어!!!! 뭐 여튼 원표도 와서 4시간 와서 배우고 갔음. 일주일이 부족함. 시간을 대출해줘!
* 배열(array)는 같은 타입을 한꺼번에 관리하게 해줍니다 {{{ int a[10];}}}이라하면 a는 int형 10개가 생겨있고 0~9까지의 인덱스(index)를 지니죠.
* 구조체는 인스턴스가 주소값 참조형일때와 일반 선언시 다른 모양으로 부릅니다.
* 운영체제는 파일 시스템을 관리합니다. 관련해서 이번에 가르쳐주는것은 *(포인터:Pointer)관련해서 FILE 구조를 메모리 참조를 통해서 하는것을 알려주게 되었습니다. 파일(File)은 메모리주소로부터 시작되고 운영체제를 이를 관리하기 때문에 C에서 지원하는 라이브러리를 통해 운영체제로 부터 파일을 관리하는 정보를 가진 FILE 구조체를 불러오게 됩니다. 그래서 우리는 *를 통해 주소값을 따라가서 FILE구조체로 그 정보를 얻어오게 되죠. Good Good!
* 예제를 통해 파일 입출력 스트림을 표현해주었지요.
* stdin, stout. 표준 입출력을 지원해주는 스트림입니다. fprintf와 print가 똑같이 쓰일수 있는 예제를 보여주었죠.
* 답변 : 지금은 알수 없지만 많은것을 경험해 보았으면 좋겠습니다. 지금 이것이 아니라면 지금 달려나갈길에 대해 신경쓰고 자신감을 가졌으면 좋겠습니다. 순자의 성악설과 원효대사의 해골바가지를 예를 들면서 자신의 마음은 말그대로 마음먹기에 달렸다고 말했죠. 위선의 한자 정의는 僞善! 하지만 거짓 위(僞)는 단순히 자신의 악(惡)을 위해 속인다는 개념이 아닙니다. 사람이 사람을 위해 거짓을 행하며 사람의 마음으로 악(惡)을 다스려 선(善)에 넣는것을 말하게 됩니다. 위선을 단순히 거짓으로 생각하지 말란 얘기. 그래서 사람간의 예절이나 규율 법칙의 기반이 생기게 됬죠(이 얘기는 주제에서 벗어난 딴얘기 입니다). 몸이 먼저냐 마음이 먼저냐를 정하지 마세요. 우선 해보면 자연스럽게 따라오게 되기도한답니다. 필요하다면 Just do it! 하지만 이게 항상 옳은건 아니죠. 선택은 자유. 능력치의 오각형도 보여주었죠. 다른사람이 가지지 못한 장점을 당신은 가지고 있습니다. Whatever! 힘들때는 상담하는것도 좋고 시간을 죽여보는것도 한방법입니다. 항상 '''당신'''이 중요한거죠.
* 답변 : 플래시 프로그래머가 1억개가 넘는 배열을 선언하는 미친짓을 한다고 해봅시다. 이 사람이 1억개가 넘는 배열을 선언하고 돌리면 컴퓨터가 감당을 할수 있을까요? 이게 왜 뻗는지 이해를 못하죠? 여러분도 마찬가집니다. 지금 C는 저급언어에 조금 가까운 편이라 메모리 관리가 보이지만 스크립트만 개발해본 개발자나 방금 말한 플래시 프로그래머는 이해를 못하죠. 메모리의 효율적인 관리와 최적화를 위해 필요하다고 간단하게 요약할수 있겠네요.
* 도건이와 함께하는 자바스크립트 웹 게임만들기! 거지같어.
* 자바스크립트 이벤트 키 -> http://blog.daum.net/mysmkr/5753065
자바 스크립트 ->
소스를 보면 안는데 손에 안익음
-> 다 외울 필요는 없다. 레퍼런스를 만들어라.
- Quick Sort를 배우고 싶다. 소스를 찾아서 짜보고
* 메모장으로 Html파일을 만듬 -> 안에 소스를 넣음
* 오픈소스 뒤지기
- NUnit/C++예제 . . . . 27 matches
=== 예제 소스 실행법 (Using C++) ===
* 먼저 프로젝트를 Managed C++ 클래스 라이브러리로 만든다.
* Test Fixture 될 클래스의 앞에는 TestFixture, 테스트 함수 앞에 Test 인 Attribute 를 붙인다.
* NUnit이 깔린 폴더의 bin안에 보면 NUnit-gui.exe을 실행한다. 컴파일해서 나온 dll을 로딩해주고 run하면 테스트들을 실행해준다.
* 예제는 아무 생각없이 만들었고, 테스트 할 필요도 없는 거지만.. 그냥 사용법을 보는 거니까 신경쓰지 마세요.
2. 전체 솔루션에 Managed C++ Library 프로젝트를 새로 추가한다. 이것을 테스트프로젝트라고 하자.
3. 테스트 프로젝트의 속성으로 들어가서 #using 참조에 nunit\bin폴더를 넣어준다.
4. 테스트 프로젝트의 속성으로 들어가서 포함 디렉토리에 위의 메인프로젝트의 폴더를 넣어주자.
메인프로젝트에서 만든 새 클래스를 테스트 프로젝트에서 테스트하고 싶다. 어떻게 해야할까? 순진한 인수군은 #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] 를 붙여서 선언해야 한다.
__gc의 가 부여하는 능력과 제약 사항에 대해서는 [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmxspec/html/vcmanagedextensionsspec_4.asp __gc] 을 참고하자. NUnit 상에서 테스트의 대상 클래스는 무조건 포인터형으로 접근할수 있다. 이제 테스트 클래스의 내용을 보자.
[류상민]은 NUnit 과 Unmanged C++의 연결을 완전하게는 하지 못했다. Managed C++프로젝트와 Unmanged C++ 프로젝트 두개를 만들어 Managed C++ 코드에서 NUnit 을 이용해 Unmanaged C++ 에 접근해 테스트 코드를 작성했다. 하지만, .Net Platform에 미숙과, Managed C++ Extension의 몰이해, 프로젝트 관리와 의존성 문제에 봉착해 곧 벽에 부딪쳤다. 이 둘은 혼용할수 없음을 알았다.
아.. __gc를 쓰면 닷넷 플랫폼없는 곳에서는 쓸 수가 없겠네요. 그러면 이방법은 어떤가요? 일단 테스트할때는 테스트할 클래스에 __gc를 붙이잖아요? 나중에 배포할때는 __gc를 없애는 겁니다. 물론 Managed C++ Extensions의 문법을 쓰면 안되겠죠.(__gc빼고) 매크로를 잘 쓰면 어떻게 될거 같기도 한데... --[인수]
그것을 떠나서, MFC를 쓰면서 테스트를 하는 것이 의미 있어 지려면, MFC 로 작성한 프로그램이 정상 동작하면서, 테스트를 할수 있어야 하는데, MFC Frameworks 이 Managed C++ 모드로 컴파일이 잘되고, 잘 돌아가는지, 이것이 의문이다. 된다면, MS에서 모든 MFC class앞에 __gc가 붙이기라도 한걸까? 혹은 이미 해당 매크로가 존재하지 않을까?
- VonNeumannAirport/1002 . . . . 27 matches
문제는 암튼 이해했고 (Input 에 대한 Output 이 머릿속에서 어떻게 해야 할지 연결이 된 상태) 가장 간단하게 테스트할 수 있는 방법에 대해 생각해야 하겠군요.
에서 테스트 코드에선 인풋 파싱은 일단 미리 생각할 필요가 없으니.
통과한 테스트
다음 테스트의 생각
이 경우 testOneToOneMove 가 깨지게 된다. 데이터형이 다르기 때문이다. testOneToOneMove 쪽 테스트 형을 똑같이 작성해준다.
뒤의 테스트가 깨진다.
getDistance ()의 경우 두 city gate 간의 거리이다. 일단 스텁 코드를 작성해두고,
다음과 같이 테스트를 다시 작성할 수 있다.
이 인터페이스도 수정하길 컴파일러가 바라고 있다. 원하는대로 해주자.
기존의 테스트들이 전부 깨졌다. 기존의 테스트는 getTraffic 와 관련한 부분이고, 우리가 수정한 부분은 getDistance 이다. getDistance 에 촛점을 맞추자.
여기서 지금까지 생각한 test 들을 전부 pass 했다. 앞으로 더 해야 할 일이 생각나지 않아서, 한번 실제 메인테스트에 준하는 테스트를 해 보았다. 즉,
에 대해서 traffic 이 600 이 나오는 것을 확인하는 테스트.
결과 : ok. Configuration은 실질적인 데이터까지도 트레픽을 계산할 수 있는 수준까지 되었다. 테스트를 좀 더 붙여보자. 좀 더 어려운 경우인 앞단계의 데이터에 대해 해보자.
Refactoring 하기 전 현재 소스.
테스트 코딩 Refactoring - 으.. 여전히 시간이 많이 걸린다. 주로 중복을 없애는 방향으로 접근.
그러다가 보니, 테스트 코드에서 자주 중복이 나타나는 부분이 눈에 띤다.
setUp 부분 묶어서 Configuration 에 대한 테스트를 두개로 묶기로 했다.
근데, Refactoring 에 대해서만 1시간을 쓴 것 같다. 그것도 메인 코드인 Configuration 클래스 보단, Test 코드에 대한 Refactoring 이 주가 된 것 같다. 실질적인 실용성을 볼때, 메인 코드에 대한 Refactoring 위주로 나가는 것이 좋을 것 같다. (깨진 Test 는 주로 삭제하는 스타일로 가고..)
Configuration 하나에 대해서는 된 것 같고. 또 테스트 들어갈 것이 없을까... 생각하던중, 이제는 여러개의 데이터가 들어가야겠다는 생각을 하게 되었다. 즉, Configuration 이 2개인 경우에 대해서.
왜 두번째 configuration 의 경우에 대해서 에러일까? 다시 configuration 으로; 테스트를 더 추가해 보았다.
- 새싹C스터디2005/선생님페이지 . . . . 27 matches
= [새싹C스터디2005]/선생님페이지 =
* [Leonardong]의 빠른코딩을 위해서 의식적으로 마우스를 사용하지 않는 습관을 기르는 것도 참 좋겠다고 생각합니다.
* 스스로 생각해서 예제를 풀어나가는 연습도 중요할듯 싶네요.
* 정말 힘드네요 이거;; 스택, 큐, 트리에 대한 이해없이 링크드 리스트라...-_-ㅋ;;
지난번 세미나를 잠깐 듣고 느낀것은 한번에 너무 많은것을 알려주려고 하는 것 같았습니다. 몇번의 세미나를 통해 프로그래밍 언어 한가지를 가르쳐주는 것은 불가능합니다. 주제를 더 줄이고 보다 확실하게 이해할 수 있도록 가르쳐 주는 것이 더 좋을 것 같습니다. 모든 부분을 설명하지 못해도 상관 없습니다. 어차피 언어는 스스로 익히는 것입니다. 우리가 할 일은 스스로 익히는 일에 보다 빨리 다가갈 수 있도록 조금씩 이해의 폭을 넓혀주기만 하면 되는 것입니다.
어디에 쓰이는 지는 스스로 알아 나가야할 것이라고 생각합니다. 저는 이번 스터디를 진행하면서 신입생의 스스로 알아가는 즐거움을 뺏는 것 같아서 불안합니다. -[강희경]
진도에 ㅤㅉㅗㅈ겨서 그렇게 되는 것 같습니다. 저도 스스로 알아가고 고민하는 과정을 즐길줄 알게 되는 기회가 되었으면 하네요. - [톱아보다]
교육은 물고기를 잡는 방법을 가르쳐야 합니다. 어떤 알고리즘을 배운다면 그 알고리즘을 고안해낸 사람이 어떤 사고 과정을 거쳐 그 해법에 도달했는지를 구경할 수 있어야 하고, 학생은 각자 스스로만의 해법을 차근차근 '구성'(construct)할 수 있어야 합니다 (이를 교육철학에서 구성주의라고 합니다. 교육철학자 삐아제(Jean Piaget)의 제자이자, 마빈 민스키와 함께 MIT 미디어랩의 선구자인 세이머 페퍼트 박사가 주창했습니다). 전문가가 하는 것을 배우지 말고, 그들이 어떻게 전문가가 되었는지를 배우고 흉내 내야 합니다. 결국은 소크라테스적인 대화법입니다. 해답을 가르쳐 주지 않으면서도 초등학교 학생이 자신이 가진 지식만으로 스스로 퀵소트를 유도할 수 있도록 옆에서 도와줄 수 있습니까? 이것이 우리 스스로와 교사들에게 물어야 할 질문입니다.
이제 포인터에 대해서 다룰 예정인데. 저는 선생님들도 이해가 좀 부족하다고 생각합니다.(저만 그런가요ㅋ?) 다들 공부해 명확히 이해해서 잘 지도해주시고 스스로 발전도 하시길 바랍니다. -[강희경]
- CppStudy_2002_1 . . . . 26 matches
* C++의 클래스 부분을 미리 여러가지 과제들과 함께 같이 공부하는 공간입니다.
= 스터디 목적 =
* 스터디할 부분의 책에 있는 소스들은 한번씩 쳐보기를 강력히 권장함. 소스칠때 생각하면서 치기, 또 만약 가능만 하다면 결과만 보고나후 책 소스 안보고 소스 스스로 짜내기(이렇게 안해도 상관 없고, 단지 하나의 방법론..)
= 스터디 계획 =
* 앞으로 스터디 할 기간 : 총 6주, 6번의 모임
* 공부하는 범위 C++기초 플러스 8장 ~ 13장 (14,15 장은 나중에 해도 상관 없는거(저도 안했음 ㅡㅡ;), 16장은 2학기때 과제로 하게될 것임)
* 먼저 매주 몇개씩의 과제가 나가면 각자 그 과제를 해오고(도우미도 해올 것임) 서로 소스를 보면서 분석이나, 비판 해보고 나서 각자 일주일 동안 공부하면서 느낀점을 구체적으로(앞으로 도움이 되도록 발전적인 방향에서, 즉 어떤 점이 잘못되어서 앞으로 어떻게 하면 잘될것 이라든가 어떤점은 잘되었는데 그이유는 어쨌다는 둥, 공부한 내용이나 학습 방법적인 면에서) 토론하기
* 스케줄, 과제는 모이는 날짜 전까지 해야하는 것입니다. 그리고 아까 언급했듯이 이번주부터 시작입니다.
|| 7.25 ||9.객체와 클래스(60page)|| ["BusSimulation"] ||
|| 8.1 ||10.클래스를 사용하자(64page)||["StringOfCPlusPlus"] ||
|| 8.9 ||11.클래스와 동적 메모리 할당(76page)||["LinkedList"] ||
|| 8.16 ||12.클래스 상속(72page)|| ["LinkedList/StackQueue"][[BR]]C++2팀과의 프로그래밍 잔치? 링크드 리스트로 스택,큐 구현||
* 버스 시물레이션 [http://www.sbc.pe.kr/cgi-bin/board/read.cgi?board=life&y_number=17&nnew=2]
* 스터디 진행하면서, 또는 과제 하면서 각자 느낀점 같은것을 적어 주세요. 느낀점을 적을때는 전에도 말했듯이 나중에 보았을때 도움이 되게 구체적으로 적어 주세요
* 어.. 하다 보니까 끝나버려서^^; 당황스럽네요 예습이 꼭 필요하다는 생각뿐....ㅡㅡ; -[기웅]
상협. [STL/string|String] 클래스의 스펙을 어떻게 주었는지? 사람들이 왜 전부 String 이용 프로그램 GOD 클래스를 만드는걸까 궁리.
- LIB_3 . . . . 26 matches
이제는 스케줄링을 담당하는 소스를 살펴 보겠다.[[BR]]
우선 내가 만든 프로그램에서 스케줄링을 담당하는 큐는 대략
WAIT은 실행 가능하지만 멈춰 진 태스크를 위한 큐
그리고 FREE 큐는 메모리상에 존재하지만 죽은 태스크를 담아 놓은 큐.....쯔쯔쯔 불쌍도 해라.[[BR]]
음..이렇게 나누어지고 WAIT큐의 0번째 태스크가 지금 실행 중인 태스크를 지칭한다.[[BR]]
음..여하튼 이렇게 말했으니 그럼 소스를 설명해 볼까?
이 함수는 스케쥴링을 위한 준비 과정 TCB들을 다 초기화 해 준다.. 겁이 많아서 그냥 다 초기화 해줬다.[[BR]]
그리고 나서 지금의 가장 높은 태스크를 스타트 TCB로 지칭해 준다.초기화 끝[[BR]]
여기서는 MAIN에서 본 듯 태스크를 만들어 주는 함수
LIB_STACK_INIT(task,Stack); <-------- 스택을 초기화 해준다.....
쉽게 말해 손으로 태스팅 할 때 큐에 태스크를 넣었다 빼면 되는 거 같지만 컴퓨터가 컨텍스트 스위칭을 위해
/// 태스크 서스팬드 하기......넌 이제 좀 쉬어라...
죽은 태스크들은 FREE큐로 가거라...왜냐 죽었잖아...
실행을 중지시키기 위해서는 FREE큐에 태스크를 넣어준다.....
음..내가 교수도 아니고 스케쥴링이 오에스에서 가장 중요할 것이다.. 그럼에도 불구하고 허접하다.[[BR]]
사실 내가 만든 것과 U_C_OS 와의 실행 속도 차이는 무지하게 크다. 이유는 소스를 보면 알 것이다..[[BR]]
여하튼..하지만..그래도 내 소스가 더 보기 쉽지 않나?? ㅋㅋㅋㅋㅋ [[BR]]
이모양 이꼴인 오에스가 되었지만............[[BR]]
- 정모/2011.3.21 . . . . 26 matches
* 다음에는 조금 더 스피디하게 진행해보자는 의견이 나왔습니다 :)
== 프로젝트/스터디 공유 ==
* [JavaScript/2011년스터디]
* [DesignPatterns/2011년스터디]
* [Spring/탐험스터디]
* [김수경], [서지혜], [정의정]이 함께하는 스터디인데 [정의정] 학우가 오지 않음.
* 프로그래밍 경진대회 대비 스터디
* 관련 페이지 : ThreeFs, [http://no-smok.net/nsmk/ThreeFs ThreeFs(노스모크)], [http://no-smok.net/nsmk/FiveFs FiveFs(노스모크)]
* 예를 들어 지난주에 돈가스를 먹은 것에 대해 후기를 쓴다면 : "지난주에 강남에 가서 하나에 5만원하는 돈가스를 먹었다.(사실) 기대를 잔뜩 했는데 별로 맛이 없었다.(느낌) 강남은 땅값이 비싸서 값만 보고 엄청 맛있을거라 기대하면 안된다는 것을 알았다.(깨달은점) 다음에는 미리 인터넷에서 평을 찾아보고 별점이 높은 돈가스집을 찾아서 가봐야겠다.(앞으로의 계획)"
* 이번에 승한이 형의 Emacs. Elisp 세미나를 들었다. 세미나를 들어보니 Emacs는 매우 자신에 맞게 전환 할 수 있는 도구 인 것 같다. 와우 에드온 같이 자기에게 딱 맞게 설정하는 재미가 있을꺼 같다. 기회가 되면 한번 다뤄봐야겠다. 그리고 다음 OMS로 주제를 키넥트에 관해서 하고싶은데 아직 사지도 않아서!!! 뭘해야될지 고민이다... 그냥 요즘 새로나온 게임 인터페이스들에 대해 통짜로 해버릴까...고민중임 - [임상현]
* 오호랏-_- 이맥스 유저는 언제든지 연락주세요. 세미나 자료 게시판에 올리도록 하겠습니다.
* 제로페이지 스러운 사람들이 모여 있는게 그대로 였습니다. :) - [이승한]
* 현이의 이번 아이스 브레이킹은 새로운 시도였던 것 같았는데, 아쉽게도 처음이라 그런지 시행착오를 겪은 것 같았습니다. 다음 아이스 브레이킹때 이번에 아쉬웠던 점이 보안되면 더 재미있는 시간이 되지 않을까 생각합니다. 승한이 형의 Emacs & Elips 세미나를 듣고 나서는 한편으로는 저런 것을 써 보는 것도 괜찮을 것 같다라는 생각도 들었지만.. 아직은 지금 쓰고 있는거 부터 잘 다룰 줄 알고나서 접근하는 게 좋지 않을까라는 생각도 들었습니다. -_-;; 워낙 초보인 나 자신이 부끄럽기도 한 시간이었습니다. 쩝. 그 이후엔 일이 있어서 먼저 갔는데... 저.. 참가자에 제 이름이 없네요 -ㅅ-ㅋ (먼저 가서 그런가 ㅋ) - [권순의]
1. 오랜만에 승한선배께서 오셔서 세미나 해주시니 좋네요!! 피자도 사주시고ㅜㅜㅜ 잘먹었습니당 :9 승한 선배 세미나 덕분에 정모가 더 알찬 시간이 된 것 같습니다. emacs는 전에도 [데블스캠프]에서 소개해주신 것이 기억납니다. 그때 간단히 써보았는데 파워풀한만큼 처음에 적응하기는 많이 힘들다는 느낌을 받았었어요. 그런데 다시 봐도 어려워 보이네요T_T 하지만 단축키를 사용하여 많은 작업을 할 수 있다는 것이 매력적입니다. 빠르고 효율적인 것도 그렇지만 제 노트북 터치패드가 고장인데다 마우스도 가끔 정신이 나가거든요…….
* Ice braking은 많이 민망합니다. 제가 제 실력을 압니다 ㅠㅠ 순발력+작문 실력이 요구되는데, 제가 생각한 것이 지혜 선배님과 지원 선배님의 입에서 가볍게 지나가듯이 나왔을 때 좌절했습니다ㅋㅋ 참 뻔한 생각을 개연성 있게 지었다고 좋아하다니 ㅠㅠ 그냥 얼버무리고 넘어갔는데, 좋은 취지이고 다들 읽는데도 혼자만 피하려한게 한심하기도 했습니다. 그럼에도, 이상하게 다음주에 늦게 오고 싶은 마음이 들기도...아...;ㅁ; 승한 선배님의 Emacs & Elisp 세미나는 Eclipse와 Visual Studio가 없으면 뭐 하나 건들지도 못하는 저한테 색다른 도구로 다가왔습니다. 졸업 전에 다양한 경험을 해보라는 말이 특히 와닿았습니다. 준석 선배님의 OMS는 간단한 와우 소개와 동영상으로 이루어져 있었는데, 두번째 동영상에서 공대장이 '바닥'이라 말하는 등 지시를 내리는게 충격이 컸습니다. 게임은 그냥 텍스트로 이루어진 대화만 나누는 줄 알았는데, 마이크도 사용하나봐요.. 그리고 용개가 등장한 게임이 와우였단 것도 새삼 알게 되었고, 마지막 동영상은 정말 노가다의 산물이겠구나하고 감탄했습니다. - [강소현]
1. 현이의 Ice Breaking : 어떻게 해야 더 재밌게 할 수 있을까 고민이 됩니다. 재밌는 키워드가 불시에 나와서 빵빵 터지는 것에 비해 그걸 갖고 스토리를 재밌게 짜내는건 쉽지 않았습니다. 차라리 키워드들을 갖고 스피드퀴즈를 해보는건 어떨지 ㅋㅋㅋㅋ
* 키워드 전기수 재밌었습니다. 괜히 저는 혼자 말도 안돼는 드립치다가 웃음보 터져가지고 민망하게 진행도 못하긴 했었지만요 ㅋㅋㅋ elisp과 emacs 세미나는 파스텔톤 분위기에 취해서 흥미롭게 들었습니다. emacs는 '''단축키가 리눅스랑 같다'''는 이야기때문에 끌렸습니다... ㅋㅋ 그래서 설치하고 튜토리얼도 따라해봤습니다. 재밌더군요 {OK} OMS는 들으면서 놀랐습니다. 실제 마케팅부서에서 마케팅 나온 듯한 인상을 받았습니다. OMS를 보고 와우 스토리에 흥미도 생겼구요. 속으로 이런 생각도 했습니다. '와우는 무저갱이니까 와우 소설이나 읽어서 대리 만족이나 하자.' ㅋㅋㅋ 근데 소설 읽으면 결국 하게 될거 같아서 Stop Thinking! 결국 결론은 '''와우에는 접근도 하지 말자.''' 피자도 맛있게 '냠냠 쩝쩝 우물우물 쓰읍쓰읍 꿀꺽 쯥'하면서 잘 먹었습니다. 아쉬운 점이 있다면, 새싹 교실 트레이드를 못한 것 입니다. 제 반에 같이 햇빛을 못 쬐는 새싹이 있는데 결국 다른 새싹으로 바꾸지 못해서 제 새싹이 양분을 먹지 못했습니다...담번에는 꼭 흙 째로 옮겨주고 싶네요. - [박성현]
* 키워드 전기수.. 키워드 던질때는 신났었는데 전기수를 하려니 음ㅋㅋ 어디서부터 문제였는지 모르겠네요ㅋㅋ emacs&elisp세미나는 조금 어려운감이 없지않아 있었지만 그래서 놓치지 않으려고 더 집중해 들었습니다. 무엇보다 졸업하신 선배님이 정모에 나오셨다는게 좋았어요!! 이렇게 선후배간의 링크가 계속 이어졌으면 좋겠습니다. 피자도 먹고 좋았어요. 와우세미나도 저는 와우를 그닥 좋아하지는 않지만 다들 무척 좋아하더군요ㅋㅋ OMS의 퀄리티가 갑자기 확 높아져서 부담스럽네요ㅜ
- 정모/2011.5.23 . . . . 26 matches
== 캡스톤 설계실 신청 장려 ==
* 자바 개발자 컨퍼런스
* 6월 19일 일요일 코엑스에서 합니다.
* 이번주는 아쉽게도 커스 공연이 7시라 정모도 일찍 끝났습니다.
* 다음주엔 5월 회고가 진행됩니다. 회고에서 퍼실리테이터 컨퍼런스에서 배워온 활동을 공유할테니 많이 오세요~
1. 오늘은 OMS도 ScriptLanguage에 대한 내용이고, 세미나도 있고해서 학술 동아리스러운 느낌이 들어서 좋았습니다ㅋㅋㅋ
1. 겨울방학때도 그렇고 지금도 [JavaScript/2011년스터디]를 하고있어서 이번 OMS를 더 재미있게 들었습니다. 아직 잘 아는 것은 아니지만 스터디를 하다보니 ScriptLanguage가 생각보다 매력적인 면이 많더라구요. 다른 ZeroPager들도 이번 OMS를 계기로 ScriptLanguage에 관심가질 수 있다면 좋겠어요.
* 아이스 브레이킹을 건너뛰어서 이름을 못들었음 ㅋㅋ - [서지혜]
* 먼저 자바스크립트 스터디에 관심이 생겼어요(진경이도 어제 뭐더라.. 어떤 언어가 알고리듬이 아주 달라서 배울만한 가치가 있다고 하더라구요. 같은 맥락이지 싶어요). 내일 몇시인지 알아낸 다음에 어떻게 진행되고 있는지 살펴보고, 적합하다 판단되면 저도 동참해야겠어요. 또 세미나를 보면서, 와.. 저런걸 여기서도 구현하는구나.. 라는 생각이 들었어요. TrustModel과 비슷한걸 만들고자 하는 사람들을 아는데, 저런식으로 아예 수치화 시키는게 역시 효율적인가.. 라는 생각도 들었구요, 후에 연구실(다른데인가?)에 들어간다면 저런걸 하는걸 보게/혹은 후에는 직접 하게될 수 있다는 사실에 나름 다시 감탄(?)했어요. ..아니면 빨리 이 길을 뜨는게 답인가요?ㅋㅋㅋㅋ 아, 또 성현이형이 동아리에서 프로젝트같은거 하신다고 하셨는데, 어떤걸 누구와 어떻게하였는지(그러니까 그 전반)도 한번 들어볼 기회가 있으면 좋겠어요. 여기서 잘 복붙해서 세미나 글에도 후기를 올려야겠네요...ㅎㅎ -[김태진]
* 이래저래 커스 공연도 한다고 하고, 과제 때문에 불참도 하고, 저번 정모 때 워낙 11학번 학우들이 많이 있어서였을까요,, 조금 썰렁하다 라는 느낌이 있었지만,, 뭐 홍기의 세미나 잘 들었습니다. 이번 OMS에서 script에 대해서 하셨는데,, 아르바이트 할 때 약간 다뤘던 (간단한 웹 페이지 수정 작업을 했습니다. 그 외에 엑셀 작업 조금이랑,, 개인 공부(?)) 기억이 났습니다. 조금 고치고 저장한 다음에 페이지 열어보고, 잘 되네 이러고 다른거 수정 하고 했었습니다. 전역 후 승한이형이 알려준w3school.com 사이트에서 좀 기초적인 것만 공부하고 아르바이트를 시작했었는데, 자세하게 공부 할 기회가.. (없었던게 아니라 내가 안했을 지도..) 접,, 여튼 조금 더 관심을 가져 봐야 겠다는 생각이 든 OMS였습니다. ㅎ - [권순의]
* 지난 정모때 사람이 많았어서 상대적 박탈감(?)이 느껴지는 정모였습니다. 기말이 다가오니 바쁘신지 안오신 분들도 많았고ㅜㅜ 내 OMS가 있던 날인데.. 흙흙 그래도 매번 참석하는 11이 있어 기특합니다. 사람은 빈곤했지만 내용은 학술적인 내용으로 풍요로웠네요. 세미나도 하고. 연구실에서 무슨일을 하고있는지 알수 있는 좋은 기회였습니다. 연구실도 트렌드를 따르는군요ㅋㅋ 친구추천이랑 약간 비슷한거 같아요. 나의 OMS 잘 들으셨는지ㅠㅠ 아 스크립트 소개를 위한 스크립트도 썼는데 눈이 침침해서 잘 안보여서 횡설수설했네.. 자료실에 ppt랑 스크립트 같이 올려뒀어요 비교해 보세요.. 컴파일 언어가 전부인줄 알았다면 다른 종류의 언어도 익혀보세요! 전 루비와 얼랭을 해볼 생각입니다ㅋㅋ 구루가 되어보아요:> - [서지혜]
* 이때까지 자바스크립트를 C랑 비슷한 언어라고 생각하질 않았어요. 그냥 쓰면 되는구나.. 정도. 근데 정말이지 C같은 문법(?)을 가진 언어더군요! 신기한 언어의 세계였어요 -[김태진]
* 세미나와 OMS 잘 봤습니다. 세미나는 해당페이지에서 후기를 쓰도록 하고.. 스크립트, 관심은 있는데 왜 자꾸 미루기만 하는건지. ㅜㅜ 요즘 얕게 이것저것 배우다보니(NXC를 포함하여) 문법이 점점 혼란스러워지고 있습니다. 그런 면에서는 스킴이 참 좋은데.. 응? 여튼 저만의 웹페이지를 만들기 위해 지금 막 HTML5와 자바스크립트를 보고 있습니다. 파이썬이나 펄 등등 하고싶은건 많은데 되는건 하나도 없네요ㅋㅋ - [정진경]
* 아아 일주일 뒤에 후기를 쓰는 군요. 요즘 이런것에 신경을 덜쓰는것 같아요. 홍기형의 세미나 잘 봤습니다. 스크립트에 관한 OMS도 잘 봤습니다. 스크립트언어는 java말고는 아무것도 몰랐는데.. 그래서 자바==스크립트 라고 생각한적도 있었는데 좋은 지식을 얻게 되어 기쁩니다. 커스 공연덕에 1시간으로 짧게 끝난 정모라 조금 아쉽습니다. 너무 서둘러서 끝난 기분이 드네요. - [고한종]
* 자바와 자바스크립트는 서로 다른 언어입니다. 자바는 스크립트 언어가 아니예요. - [김수경]
- 5인용C++스터디/멀티미디어 . . . . 25 matches
MFC는 멀티미디어를 위한 별도의 클래스를 제공하지 않는다. Win32 API함수 차원에서 멀티미디어를 지원하기 때문에 MFC에서는 별도의 클래스로 만들어 놓지 않은 것이다.
hmod : 리소스에 있는 Wave파일을 연주할 경우 리소스를 가진 실행파일의 핸들인데, 그 외의 경우는 NULL로 준다.
그 후 컴파일하고 실행한 후 작업영역을 왼쪽 마우스 버튼으로 누르면 소리가 날 것이다. 시스템에 사운드카드가 장착되어 있어야 하며 같은 디렉토리에 Battle.wav라는 파일이 있어야 할 것이다.
SND_LOOP 플래그를 지정하면 반복적인 효과음이나 배경음악을 연주하는 등의 설정을 할 수 있을 것이다. 연주를 중지시키려면 PlaySound 함수의 첫 번째 인수를 NULL로 하여 다시 호출해 주면 된다. 따라서, 오른쪽 마우스 버튼을 누르면 연주가 중지될 것이다. 주의할 것은 SND_LOOP 플래그는 반드시 SND_ASYNC와 함께 사용해야 한다. 만약 동기화 연주방식으로 반복연주를 하면 무한 루프로 빠져버릴 위험이 있다.
1-3) 리소스의 Wave 연주
사운드 파일을 연주하는 것은 사용하기는 간단하지만 연주할 때마다 디스크에서 사운드 파일을 읽어와야 하므로 반응 속도가 느리다. 따라서 이 경우에는 사운드 파일을 리소스에 포함시켜 놓고 리소스에서 읽어서 연주하는 방법으로 하는 것이 좋을 것이다.
리소스 뷰의 팝업메뉴에서 Import 메뉴항목을 선택하고 리소스에 포함시키고자 하는 Wave 파일을 선택한다. 그러면 IDR_WAVE1이라는 ID로 리소스에 삽입될 것이다.
리소스에 포함된 사운드를 연주하려면 PlaySound의 세 번째 인수에 SND_RESOURCE 플래그를 주고 첫 번째 인수에 리소스의 ID를 준다. 두 번째 인수에는 리소스를 가진 실행파일의 인스턴스 핸들을 주어야 하는데 MFC에서는 AfxGetInstanceHandle() 전역함수로 인스턴스 핸들을 구할 수 있다. 다음과 같이 코드를 작성해 보자.
MCIWnd 윈도우는 마우스 왼쪽 버튼을 눌르면 만들어진다. 그 전에 hWndAVI가 유효하면 먼저 MCIWnd를 닫는 작업부터 해주고 있다. MCIWnd를 만드는 함수는 MCIWndCreate 함수이다.
hInstance: MCIWnd롤 사용하는 인스턴스 핸들을 지정한다.
dwStyle: MCIWnd의 모양, 동작방식등을 설정하는 스타일(플래그)이다.
- PairProgramming . . . . 25 matches
PairProgramming 을 적용해보는 방법, 스타일 등등
* Pair Refactoring - 꼭 소스 코드가 아니더라도 위키 페이지에 대한 ["문서구조조정"] 을 하는 경우에도 적용할 수 있다. 특히, 해당 토론이 벌어진뒤 양론으로 나누어졌을 경우, 각 의견 지지자들이 Pair 로 문서구조조정을 할때 이용할 수 있다.
동문서버 프로그래밍 팀의 인수인계용으로 이용되었었다. PP를 주로 하고 한두번의 VPP를 했다. 해당 소스를 같이 만들어가면서 기존의 프로그램을 설명했다.
이 때에는 Expert는 놀지말고 (-_-;) Observer의 역할에 충실한다. Junior 의 플밍하는 부분을 보면서 전체 프로그램 내의 관계와 비교해보거나, '자신이라면 어떻게 해결할까?' 등 문제를 제기해보거나, reference, 관련 소스를 준비해주는 방법이 있다.
학습목적이 아닌 실질적인 개발을 위한 PairProgramming 으로는 처음인듯 하다. 2주간 격일로 일을 했었는데, XP 스타일로 프로젝트를 진행하였다.
* Junior 의 위치에서 바라본 학습 효과 - 이전에 상경이형이 채팅 프로그램 만드는 법을 직접 보여줬을때가 생각이 난다. (그때 '자. 15분동안 하나 만들어줄께~' 하면서 후다다닥 MFC로 서버/클라이언트 예제를 바로 보여주던 모습은 잊혀지지 않는다;) Junior 의 입장에서 Expert 행동 하나하나는 Check Point 이다. 좋은 습관과 프로그래밍 스타일, 디버깅하는 모습을 직접 눈으로 확인할 수 있었다.
* 집중 - 이번 경우에는 '시간제한' 이라는 것까지 있어서인지; 석천은 더더욱 프로그래밍 자체에 집중했다. (스크립트 언어 스타일의 접근방법과 이전의 TDD 연습도 한몫 거든듯. 조금씩 만들고 결과 확인해보고 조금 또 만들어보고 결과 확인을 했다. 단, 이번엔 Test Code 를 안만들어서, 뒤에가서 버그가 났을때 대체를 못했다는.-_-; 잘될때는 문제가 아니다. 잘 안될때, 문제상황에 대한 대처가 중요하다고 생각.)
넷미팅, VNC 등의 개발 프로그램을 공유할 수 있는 프로그램과 음성채팅 등으로 Virtual PairProgramming을 할 수 있다. (오.. 좋아진 세상~) 단,PairProgramming 에 비해 아쉬운점들이 있다. (관련 책들을 찾아서 보여주지 못한다는 것 등등) 나중에는 PC카메라와 스캐너 등등 이용할 수 있지 않을까. ^^
* 구현과제 : 데이타베이스 클래스(Database.inc)
나는 .NET의 System.Data의 구조를 보고 즉시 PHP에 적용시키고 싶어졌다. ASP.NET에는 SqlConnection , OdbcConnection , OleDbConnection을 제공해 준다. 이 클래스들을 잘 사용하면 DataTier의 종류가 바뀌어도 코드의 수정을 최소화 시킬 수 있다. PHP는 여러가지 종류의 데이타베이스 관련함수를 제공해준다. 어떠한 데이타베이스를 사용하느냐에 따라 동일한 기능을 하는 다른 이름의 함수를 호출해야만 한다.
IConnection을 이용해 각각의 Connection에 대해 단일의 인터페이스를 제공하고 IConnection을 구현하는 MySqlConnection , SqlConnection , OciConnection을 만들자는 것이 나의 생각이었다. 파트너는 switch구문을 이용해 클래스의 상속 구조를 없애는 것과 비교해서 어떠한 이점이 있는가에 대해 질문했다. 이것은 장시간의 토론으로 이어졌다.
하나의 클래스를 구현하고 구현된 하나의 클래스에서 switch로 호출되어야 하는 함수를 결정하면 된다는 것이었다.
나는 일차적으로 switch코드를 없앨 수 있다는 점을 설명했다. 우리는 Connection클래스가 그다지 크게 바뀌지 않을 것이라는 것에 대해 동의했었고 이 점을 근거로 switch를 사용하는 것이 유지보수를 힘들게 하는가에 대해 질문했다. 솔직히 이정도 코드라면 누구나 수정할 수 있을 것이라고 생각한다. 그리고 그렇게 많은 시간을 필요로 하는 작업도 아니라고 생각한다. 파트너는 Connection을 생성하는 부분을 include 화일로 관리하고 그곳에 한번만 define문을 작성하면 문제가 없다고 주장했다.
나는 이에 대해 하나의 프로젝트에서 여러개의 데이타베이스를 사용하게 될 경우 여러개의 추가적인 파일들을 관리해야 될지도 모른다고 했다. 그리고 new SqlConnection(); , new MySqlConnection()과 같은 방식으로 사용하는 것이 더 직관적인 것 같다고 설명했다.
추가적으로 토론했던 사항 : Connection 클래스의 생성자에 매개변수로 데이타베이스 타입을 넘겨주면 된다는 것과 파생된 클래스를 생성하는 것
긴 토론 끝에 파트너는 나의 의견에 동의했지만 만약 계속 이런 속도로 작업이 진행된다면 회사에서 가만있지 않을 것이다. (어제도 TDD를 사용했었는데 기존의 코딩시간에 비해 3배정도 더 늦어졌다. 그리고 다 끝내지도 못했고 무엇을 먼저 테스트 해야할지 갈팡질팡했었다. 처음부터 함수단위 테스트만 시도해야겠다는 생각이 원인같다.)
- StacksOfFlapjacks . . . . 25 matches
그릴에서 팬 케이크를 구워서 완벽한 팬 케이크 스택을 만드는 것은 정말 까다로운 일이다. 아무리 팬 케이크를 정성스럽게 만들어도 팬 케이크의 크기가 조금씩 다르기 때문이다. 하지만 팬 케이크를 잘 정렬해서 위에 있는 팬 케이크가 아래에 있는 팬 케이크보다 더 작게 쌓으면 깔끔하게 보이게 할 수 있다. 팬 케이크의 크기는 그 지름으로 주어진다.
스택을 정렬하는 과정은 일련의 팬 케이크 뒤집기 작업을 통해 이루어진다. 한 번 뒤집는 작업은 스택에 쌓여있는 것 중 두 팬 케이크 사이에 주걱을 집어넣고 그 주걱 위에 있는 모든 팬 케이크를 뒤집는 작업(주걱 위에 있는 팬 케이크로 구성된 하위 스택의 순서가 거꾸로 되도록 만드는 작업)으로 구성된다. 한 번의 뒤집기 작업은 전체 스택을 기준으로 뒤집어질 하위 스택의 맨 아래에 있는 팬 케이크의 위치를 지정하는 방식으로 표시된다. n개의 팬 케이크로 구성된 스택이 있을 때 맨 밑에 있는 팬 케이크의 위치는 1, 맨 위에 있는 팬 케이크의 위치는 n으로 표시된다.
스택은 팬 케이크가 등장하는 순서대로 스택에 들어있는 각 팬 케이크의 지름을 알려주는 식으로 열거된다. 예를 들어 다음은 세 개의 팬 케이크 스택을 열거해놓은 것인데, 왼쪽 스택 맨 위에 있는 팬 케이크는 지름이 8임을 알 수 있다.
filp(3)을 통해 왼쪽 스택이 가운데 스택으로 바뀔 수 있다. 그리고 flip(1)이라는 명령을 쓰면 가운데 스택이 오른쪽 스택으로 바뀐다.
입력은 여러 개의 팬 케이크 스택으로 구성된다. 각 스택은 한 개에서 서른 개 사이의 팬 케이크로 구성되며 각 팬 케이크의 지름은 1 이상 100이하의 정수로 주어진다. 입력은 파일 끝 문자에 의해 종료된다. 각 스택은 한 줄에 입력되며 맨 위에 있는 팬 케이크가 맨 앞에, 맨 밑에 있는 팬 케이크가 맨 뒤에 입력되고 모든 팬 케이크는 스페이스에 의해 구분된다.
각 팬 케이크 스택에 대해 원래 스택을 한 줄로 출력해야 하며 다음 줄에는 가장 큰 팬 케이크가 맨 밑으로, 가장 작은 팬 케이크가 맨 위로 올라가도록(팬 케이크가 클수록 밑으로 가도록) 스택을 정렬하기 위해 필요한 뒤집기 순서를 출력해야 한다. 뒤집기 수선를 출력한 후 맨 뒤에는 더 이상 뒤집지 않아도 된다는 것을 나타내는 0을 출력해야 한다. 스택 정렬이 끝나면 더 이상 뒤집지 않는다.
- callusedHand/books . . . . 25 matches
== 오픈 소스 ==
저는 오픈 소스 진영을 좋아하며 그 곳에서 많은 도움을 얻고 있는 입장입니다. 하지만 무조건적으로 오픈 소스 개발 방식을 옹호하는 것은 아닙니다. 공개 소스 방식의 소프트웨어 개발이 보완해야 할 부분과 함께 단점이라고 여겨지고 있는 부분들에 대한 나름대로의 반론을 펼치고자 합니다.
공개 소스 방식의 개발은 많은 개발자들의 자발적인 참여를 이끌어낼 수 있습니다. 그렇기 때문에 낭비라고 볼 수 있는 많은 동류의 소프트웨어 개발, 무수히 많은 패치들, 중복된 작업들이 존재합니다. 그리고 이런 양상은 혼란스러워 보입니다. 하지만 이것을 더 나은 소프트웨어를 개발하기 위한 과정이라고 보는 것이 타당할 듯 합니다. 소프트웨어 산업에도 약육강식, 적자생존의 법칙이 적용됩니다. 엔드 유저가 찾고 엔드 유저의 눈에 보이는 것은 경쟁 속에서 살아남은 몇 가지 소프트웨어입니다. 그리고 개발자들의 자발적인 참여는 성당 개발 방식에서 개발자들을 기계화하는 것과는 다릅니다. 참여 개발자라면 적어도 그 프로그램에 대한 관심, 열정을 가지고 있으며 이는 자율이라는 점에서 더욱 힘을 얻어 개발자는 개발에 열중하게 될 것입니다. 이럴때 개인의 창의력, 프로그래밍 능력이 극대화될 수 있을 겁니다.
오픈 소스 방식의 개발을 무료 프로그램 개발로 여기는 것은 잘못된 생각입니다. 오픈 소스방식의 개발은 단지 소프트웨어 개발론 중 하나일 뿐입니다. 시장에 내다팔 상품을 오픈 소스 개발 방식으로 만들어 낼 수도 있습니다. . 오픈 소스 방식의 개발을 통해서도 얼마든지 수익을 창출할 수 있으며 근래의 리눅스 업체들이 이를 뒷받침해 주고 있습니다. 왜 독점적 소프트웨어를 가지고 돈을 버는 것보다 불리하다고 생각합니까? 레드햇의 로버트 영의 말을 유심히 들어볼 필요가 있습니다. “대부분의 산업 국가에서는 그냥 수도꼭지만 틀면 물을 마실 수 있는데 어떻게 에비앙이 수백만 달러의 물을 이 시장에 팔 수 있는가? 간단히 말하자면 에비앙이라는 브랜드는 믿으면서 여러분의 수도꼭지의 물은 믿을 수 없다는 불합리한 두려움 때문이라고 할 수 있다. 바로 이점이 비공식 레드햇 리눅스 복사본을 쓰지 않고 50달러짜리 공식 레드햇 리눅스를 많은 사람들이 선호하는 이유이다. 케찹은 향료를 가미한 토마토 튜브에 불과하다. 여러분은 토마토, 식초와 같은 자유롭게 배포할 수 있는 물건들로 부엌에서 케찹을 만들 수 있다. 하지만 소비자는 왜 부엌에서 케찹을 만들고 있지 않으며 하인즈는 어떻게 해서 케찹 시장의 80%이상을 점유하고 있는가? 편리함은 원인의 일부분 뿐이며 진정한 원인은 하인즈가 소비자의 마음 속에 케찹의 맛을 정의할 수 있었기 때문이다. 이제는 하인즈 케찹의 브랜드가 큰 영향력을 가지고 있기 때문에 소비자인 우리는 하인즈 케찹이 더 좋다고 생각해 버린다.”
프로그램에 치명적인 버그가 있을 때 책임지고 고쳐 줄 사람이 없기 때문에 오픈 소스 개발 방식은 위험하다는 주장도 오픈 소스 개발 방식에 대한 오해에서 비롯된 것이라고 생각합니다. 위에서 말했지만 오픈 소스 개발 방식은 수많은 소프트웨어 개발 방법 중 하나 일 뿐입니다. 기존의 많은 오픈 소스 프로젝트가 개발자들의 취미, 재미라는 동기에서 비롯되었기 때문에 사후 관리가 미미하고 개발자들이 개발을 포기하는 경우 엔드 유저는 피해를 볼 수 밖에 없었던 것입니다.
오픈 소스 개발 방식에서 개선해야 할 부분도 있다고 생각합니다. 소프트웨어 공학 공정을 오픈 소스 개발 방식과 비교해 봄으로써 많은 것을 얻을 수 있다고 생각합니다.
소프트웨어 공학이란 최소의 경비로 품질 높은 소프트웨어를 개발, 유지보수하기 위한 방법론에 관한 학문입니다. 프로그램을 구현하는 단순한 작업 이상의 다양한 측면을 기지고 있으며 이는 일반적으로 요구 사항 분석, 시스템 디자인, 세부 디자인, 구현, 통합, 필드 테스트, 사후 지원과 같은 공정을 거칩니다. 소프트웨어 공학과 오픈 소스 개발 방식을 비교해 볼 때 오픈 소스 개발 방식이 갖는 문제점을 찾을 수 있습니다.
요구 사항 분석, 시스템 디자인, 세부 디자인 과정이 구체적으로 진행되지 않거나 문서화가 이루어 지고 있지않는 점입니다. 이는 프로그램의 유지보수, 재사용 측면에서 볼 때 심각한 문제로 한 프로그램을 개선시키고자 하는 개발자가 있을 때 디자인에 관한 문서가 없으면 많은 시행 착오를 겪을 수 밖에 없으며. 좋은 코드들이 그냥 버려지게 되는 경우가 많아 집니다. 이것들은 분명히 낭비라고 볼 수 있습니다. 그러므로 문서화 할 필요가 있습니다.
이런 단점을 고쳐나간다면 오픈 소스 개발 방식에 미래가 있다고 생각합니다.
- woodpage/VisualC++HotKeyTip . . . . 25 matches
*Hot Key를 쓰면 좋다. 스타에서 단축키 쓰는거랑 같은이유다. 마우스로 스타하는거랑 키보드까지 같이 쓰는것은 거의 천지차이다. 그만큼 유용한 단축키를 많이 쓰면 쓸수록 코딩 속도도 빨라지고 소스분석도 잘되는거같다. ^^;;
*Tab 정렬이 안되어있는 소스를 블럭 지정하고 Alt + F8 을 지그시 눌러주면 Tab 정렬이 된다.
=== Ctrl + T (리소스 에디터 다이얼로그 부분에서) ===
*단어단위로 블록 설정 상당히 많이 쓰게됨 마우스를 이용할시 단어에 더블 클릭
*커서는 고정시키고 화면만 스크롤됨
*워크스페이스창으로 커서를 옮기기는 하는데, 워크스페이스 탐색은.. 마우스로 대개 하기때문에..
*사용도 : 사용안함(역시나 마우스로)
*소스 컴파일
*역시 이동하는 기술로 BrowseGoToDefinition 이라고 함 마우스 오른쪽 팝업메뉴에도 나옴 사용법은 예를 들어 fSelect()라는 함수를 사용했을때 그함수내용을 보고싶으면 fSelect에다가 커서를 놓고 F12를 누름 (변수,define도 됨) 그럼 fSelect()가 구현된(?)곳으로 이동함 사용하면 아주 유용함 단점은 *.ncb 파일이 조금 커짐 별문제 아님 사실 마우스 오른쪽 팝업에서 쓰는걸 더 많이 씀
*BrowseGotoReference라고 함 함수는 선언된곳으로 감 예를 들어 클래스 맴버 함수면 클래스 header로 감
*Find in File 로 현재 페이지가 아닌 전체 파일에서 찾아줌 소스분석할때 필수
*WndTabs 라는 프로그램으로 Visual c++에 AddOn(스타처럼) 시키는 프로그램이다.
*Ctrl + Shift + H 를 누르면 클래스 header에서 cpp로 cpp에서 header로 이동한다. 한마디로 원추~!
*이거에 좀 익숙해지니깐 이걸 안쓰고 소스를 보면 적응이 안되는것이다. --; 그래서 결국 안쓴다. 쩝 눈에 문제가 있나 --;
*Ctrl + c로 복사해논것을 저장해준다. 쓸때는 Ctrl + Shift + V 누르면 (맞나?) 리스트가 나온다. 편리한 기능
* Commands 탭에 보면 Category 가 있다 거기 콤보박스를 보면 여러가지 카테고리가 있는데 단축키나 메뉴 안쓰고도 이거 붙여놓고
- 데블스캠프2009 . . . . 25 matches
= 데블스캠프 2009 =
== 데블스캠프 ==
* [데블스캠프2009/참가자]
* [데블스캠프2009/예산]
* '''[데블스캠프2009/총화]'''
* [데블스캠프2009/전체일정]
* [데블스캠프2009/월요일]
* [데블스캠프2009/화요일]
* [데블스캠프2009/수요일]
* [데블스캠프2009/목요일]
* [데블스캠프2009/금요일]
* [데블스캠프2009/연습문제]
* [데블스캠프2009/월요일/연습문제]
* [데블스캠프2009/화요일/연습문제]
* [데블스캠프2009/수요일/연습문제]
* [데블스캠프2009/목요일/연습문제]
* [데블스캠프2009/금요일/연습문제]
* [데블스캠프2009/월요일후기]
* [데블스캠프2009/화요일후기]
* [데블스캠프2009/수요일후기]
- 위키설명회2005/PPT준비 . . . . 25 matches
자신이 하고 싶은 공부를 뜻이 같은 여러 학우들과 모여 서로 도움을 주며 스터디를 하는 곳이다.
위키 설명회, 신입생 모집및 환영회, 복날, 지금 그때, 각종 세미나, 스터디, 데블스 캠프, 구피 관리
그 밖에 프로그램 배틀, 조인트 스터디등등...의 계획
특히 방학때 ==> 스터디를 통해서 본격적으로 공부함... 여름방학 같은 경우 데블스 캠프, 2학기 프로그램 전시회 준비
데블스캠프를 1회 이상 참여한 사람
데블스캠프는 1년에 5일 이상 개최한다.
위키위키는 하이퍼텍스트(HTML)의 일종
위키는 누구나, 언제, 어디서나, 무엇이든, 수정할 수 있는 공통체 웹사이트 시스템이다.
- 한국에서는 노스모크가 최초로 실용적인 위키를 도입하였고, 한국에서 가장크고 세계에서 10번째 내외의 큰 위키입니다.
- 노스모크 위키 소개 페이지 펌
자연스럽게 생긴 재미있는 페이지 : 당구다마수, 마우스, 키보드, 공동구매
쓰레드 모드란 게시판에서 볼 수 있는 '답변달기' 식의 방식이고 도큐먼트 모드란 존재하는 텍스트에 수정을 가하는 방식이다.
자들 간의 소통이 반복되고 방해받게 된다. 이에 대한 대안으로서 도큐먼트 방식은 이미 완성된 텍스트가 아닌 점점 완성되어가는 텍스트를 지향하고
누군가가 텍스트를 올렸는데 그것에 잘못된 부분이 있다고 생각되면 누구라도 그 텍스트를 변화시킬 수 있다. 또 그 변화가 적절하지 못하다면 다시
누군가가 돌려놓을 것이다. 이러한 과정을 겪으면서 텍스트는 풍부해지고 정교해지는 방식이다.
* 그런데 디자인이 구립니다. 그점이 처음 온 사용자들에게 뒤로 버튼은 눌르게 만드는 결정적인 요인일수도 있습니다. 글씨만 빼곡히 ... 어려워보입니다. 더이상 쉬워지기 힘든데도 말이죠. 많은사람이 참여하지 않아서 그래서 위키의 사상,철학,이념,방식, 시스템이 널리 퍼지지 못하고 있지는 않을까 생각해봅니다
리스트: 공백과 * 한개; 1., a., A., i., I. 숫자로 된 items; 1.#n start numbering at n; space alone indents.
4. 각종 세미나 스터디 프로젝트. (이번에는 보창이 형이 강력하게 ACM문제를 다양하게 풀어보는 프로젝트를 추진하고 있습니다. 참여하시고 싶으신 분은 누구나 환영합니다.)
5. 데블스 캠프
솔직히 저도 이번 위키설명회2005를 준비하면서 위키를 자세하게 들여다 본것은 처음인데. 당황스러울 정도로 복잡하더군요.
- 정모/2012.11.26 . . . . 25 matches
== 공학교육페스티벌 간사람 장학금 지원 ==
* 공학교육페스티벌에 대한 후기를 위키에 작성 또는 공유 했으면 함
== 공학교육페스티벌 공유 ==
* [이민규] - 부스는 많은데 정리가 안된느낌. 시연을 하는것을 보고싶어도 제대로 할수 없는 환경. 볼게 없었음
59만 + 40만정도(공학교육페스티벌 장학금) + 400만정도(장학금형태)
케이스와 파워는 회비로 구매하기로
* 작은자바, ACM, 스프링, English 등등 프로젝트 자료 김태진에게 줄 것.
* [윤종하]: 종록이형 죄송해요, 오늘 공학교육페스티벌 문제에 대해서 말이 많아서 좀 아쉬웠습니다. 다음주 OMS 기대할게요
* [신형준]: 종하형 oms는 .. 음 .. 하하하하하 정리가 잘 안된거 같네요 ㅜㅜ .공학교육 페스티벌 다음에 우리도 프로젝트 내보아요 ㅋㅋㅋㅋ . 종하형 oms 수고하셧습니다.
* [권영기]: 오늘 종하형 OMS는 10분도 안들었지만 충격과 공포였습니다. 허허허, 지금 생각해도 머리가 아파오네요. 그리고 공학교육 페스티벌 후기 공유는 들으면서, 다른 사람들도 다 비슷한 생각을 했구나 싶더라구여.. 아 그리고 종록이형 다음 OMS가 기대되네여. ㅎㅎ
* [김민재]: 오늘따라 ZP 정모가 끌리길래 왔더니 과자(포카칩, 스윙칩, 빈츠, 초코하임, 초코송이, 떡볶이 과자, 계란과자, 오사쯔 등등 맛있는 과자들)들이 +_+ 참 맛있었어요. 종하형의 OMS는 멘붕이었지만... 유익했고, 종록이형 OMS 기대됩니다ㅋㅋㅋ
* [이재형]: 저..절대 과자 준다고해서 오랜만에 간..건 아니지만요. 그..그래서 후기 쓰는 것도 아니지만요. 오늘 OMS를 들으면서 '아 제로페이지라는 집단에는 정말 본받을 분들이 많으시구나' 다시 한 번 느꼈습니당. 공학교육페스티벌 후기 공유 시간도 다시 생각해볼 수 있는 기회라 오히려 감사했구요. 활동내역 정리 맡은 바 최선을 다하겠습니당 ㅎㅎ. 종록이형의 OMS를 기대하며 끄읕~!
* [이민석]: 발표 자료를 훑어보니 디지털 영상 처리의 로우-패스 필터 같은 신호 처리 기법도 나오고 흥미로운 주제인데 발표 앞부분을 놓쳐서 아쉽습니다.
1. 공학교육 페스티벌 공유를 들으니 ZeroPage에서도 평소 진행하는 프로젝트를 좀 더 다듬어서 다음 행사에 부스를 내 보는 게 어떨까 싶은 생각이 들었습니다. 아쉽게도 졸업한 제가 할 순 없겠지만요. :(
1. 아, 그리고 오늘 정모에서 스터디/프로젝트 진행에 대한 공유가 없었던 것이 아쉬웠습니다. 제가 참여하고 있는 스터디 외에 다른 스터디들이 어떻게 진행되고 있는지도 궁금했고, 또 제가 하고 있는 스터디들 공유하고 지원을 요청하고 싶은 내용들도 있었거든요. 오늘 회장님께 은퇴 처리를 신청했고 사실 다음 주 정모에 갈 수 있을지 여부가 불투명하긴 하지만 어쨌든 다음 주 정모에서는 스터디/프로젝트 공유가 진행되었으면 좋겠습니다.
* [김태진] - 드디어 과제를 끝냈네요.. 새벽 5시입니다.(는 쳐 놀다 시작해서 그럼) 저번과 이번 정모는 스터디.프로젝트 공유보다 초점이 약간 다른데 가있었죠. 임기가 2개월 남짓 남은 상황에서 이제서야 여러가지 좀 다른 시도들을 해보는 중입니다. 정모에 다른 활동들을 넣어본다던지.. 위키를 활성화 시켜본다던지.. 스터디 프로젝트는 작년부터 올해까지 계속 느껴온거지만 하는 사람/하지 않는 사람 차이가 심하고 하지 않는 사람은 하는 사람의 말을 이해하기 어렵다는 점이 항상 아쉬웠습니다. 그 점을 보완해 다른 방향을 생각 중이네요. (가령 초등학생에게 이 프로젝트를 설명한다면? 코너, 내가 이 프로젝트를 하는데 이게 지금 부족한거 같다 코너. 등) 좋은 의견 환영합니다.
* [정진경] : OMS 못 들었네요. 자리에 있었어도 못 알아들었겠지만ㅋㅋ 공학교육 페스티발에 참관하지는 않았지만 대충 분위기는 감이 옵니다. 네 그렇습니다. 여러분도 출품할 수 있습니다. ㅋㅋㅋㅋ 정모에 사람 참 많이 왔는데, 배운 것을 서로 공유해가면 정모 시간이 부족할 듯ㅋㅋ
* [http://scienceon.hani.co.kr/media/34565 인지부하]에 대한 글인데 참고해 주셨으면.. 이 글은 데블스 캠프나 새싹이나 기타 강의/세미나를 하시려는 분들이 참고해도 좋을 것 같습니다.
* [박정근] : 공학교육 페스티발에 대한 공유가 재미있었습니다. 담에 한번 가보고 싶네요ㅋ OMS는 못 들었지만 윤종하의 OMS에는 아쉬움이 없습니다. 아마 다음 정모는 과외때문에 못 가게 될 듯 싶네요ㅠ
- TestFirstProgramming . . . . 24 matches
메인 코드를 만들기 전에 해당 코드의 의도를 표현해줄 테스트 코드를 먼저 만드는 기법.
테스트코드는 프로그래머가 하려고 하는일, 즉 의도를 담아낸다. 이는 이 프로그램이 어떠한 시나리오로 돌아갈것인가를 먼저 생각해보는 기회를 저절로 제공해준다. Test가 가능한 코드는 run 을 시켰을때 어떤 결과를 낼지를 파악할 수 있는 코드이다. 이 경우 해당 모듈이 완성되었을때가 언제인지 그 목표를 분명하게 잡는 역할을 해준다.
테스트코드 자체가 일종의 도큐먼트역할을 하기도 한다. 테스트 코드를 만들면서 자신이 하려는 일과 문제상황을 구체화 시켜간다.
테스트코드가 완벽할 순 없다. 하지만, 테스트코드가 모든 에러를 잡아내지 못한다는 이유로 많은 버그들을 줄일 수 있는 테스트코드를 작성하지 않을 이유는 없다.
테스트 코드 작성에 대해서는 UnitTest 와 PyUnit, CppUnit 를 참조하라.
프로그램이 길어지다보면 Test Code 또한 같이 길어지게 된다. 어느정도 Test Code 가 길어질 경우에는 새 기능에 대한 테스트코드를 작성하려고 할 때마다 중복이 일어난다. 이 경우에는 Test Code 를 ["Refactoring"] 해야 하는데, 이 경우 자칫하면 테스트 코드의 의도를 흐트려뜨릴 수 있다. 테스트 코드 자체가 하나의 다큐먼트가 되므로, 해당 테스트코드의 의도는 분명하게 남도록 ["Refactoring"] 을 해야 한다.
테스트를 작성하는 때와 Code 를 작성하는 때의 주기가 길어질수록 힘들다. 주기가 너무 길어졌다고 생각되면 다음을 명심하라.
후자의 경우는 해당 코드의 구조를 테스트해나가는 방법으로, 해당 코드의 진행이 의도한 상황에 맞게 진행되어가는지를 체크해나가는 방법이다. 이는 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 둘 다 이용한다.)
- 데블스캠프/2013 . . . . 24 matches
= 데블스 캠프 2013 =
= 데블스 강의 테이블 =
|| 2 |||| [http://zeropage.org/seminar/91479#0 페이스북 게임 기획] |||| [새내기의,새내기에의한,새내기를위한C언어] |||| [http://zeropage.org/seminar/91465#0, GUI 다뤄보기] |||| |||| [Clean Code with Pair Programming] |||| OOP || 9 ||
|| 7 |||| [:데블스캠프2013/첫째날/ns-3네트워크시뮬레이터소개 ns-3 네트워크 시뮬레이터 소개] |||| [:데블스캠프2013/둘째날/API PHP + MySQL] |||| [:아두이노장난감만드는법 아두이노 장난감 만드는 법] |||| |||| [:개발과법 개발과 법] |||| [:ParadigmProgramming Paradigm Programming] || 2 ||
|| 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 ||
|| 박지상(5기) || [http://zeropage.org/seminar/91479#0 페이스북 게임 기획] ||
|| 강성현(18기) || [:데블스캠프2013/둘째날/API PHP + MySQL] ||
|| 변형진(16기) || 아듀 데블스캠프 2013 ||
|| [wiki:데블스캠프2013/첫째날/후기 첫째날 (월요일)] ||
|| [wiki:데블스캠프2013/둘째날/후기 둘째날 (화요일)] ||
|| [wiki:데블스캠프2013/셋째날/후기 셋째날 (수요일)] ||
|| [wiki:데블스캠프2013/넷째날/후기 넷째날 (목요일)] ||
|| [wiki:데블스캠프2013/다섯째날/후기 다섯째날 (금요일)] ||
* 데블스캠프 준비와 진행을 위한 페이지 [데블스캠프/2013/조언]
* [데블스캠프2013/준비]
* 시간 나면 제 클린코드 페이지에 답변좀 부탁해요.. 클린코드 스터디 페이지로는 정확한 참가자를 모르겠어서... - [지원]
* 데블스캠프 후기의 각각의 일자에 참가자 목록을 정리해 올렸습니다. - [김민재]
* 데블스캠프의 시간표는 마지막날 정해진 다는 말이 사실이군요 ㅎㅎㅎ - [김해천]
[데블스캠프], [2013년활동지도]
- 새싹스터디2006/의견 . . . . 24 matches
새로운 회원을 모집하고 올해도 [새싹스터디2006]를 시작했습니다. 아마 스터디를 진행하는 반별로 다시 하위페이지를 만들고 나름대로 진행해 나가겠죠. 숙제와 소스를 올리는 하위페이지가 다시 생길 것입니다. 여기서 한 가지 고민이 생겼습니다.
제로페이지 위키에 [새싹스터디2006]에서 소그룹으로 진행한 기록이 재학생에게 필요할까요? [제로페이지의문제점]에서도 ''스터디가 신입 수준을 벗어나지 못한다''라는 점을 지적합니다. [2004년활동지도]의 1학기 스터디, [새싹C스터디2005]의 Class페이지들이 대표적입니다. 반면 [새싹C스터디2005/선생님페이지], [새싹배움터05/첫번째배움터], [새싹C스터디2005/pointer]와 같은 페이지는 현재 [새싹스터디2006]을 진행하는데 도움을 줍니다. 조금만 가다듬으면 [STL]페이지처럼 주제별로 정리할 수 있습니다.
이번 2006년은 신입생을 위주로 돌아가는 건 절대 아니라는건 알지않습니까? 신입생 C스터디 이외에도 지금 프로젝트가 다양하게 있습니다. 재학생은 재학생 프로젝트를 해 나갈 것이고 우리는 '자원' 하에서 신입생의 C 언어 공부에 자그나마 도움을 주자고 하는 것입니다. 여기서 조심스럽게 바라봐야 할 것은, '얼마나 치중할까' 인데.그건 선생님 마음 아닌가요? 여기서 잘 따라와 주는 신입생이 많기를.. 간곡히 바랍니다.
제 말도 그거에요 ㅋ 링크 걸자는 거에요.. 그런데, 개인위키에 적는건 더 분산 아닌가요? 우리가 프로젝트 진행할 때 프로젝트 한 페이지에 여러 링크, 내용을 적잖아요? 새싹스터디2006/날아라병아리 이런식으로 만들어서 그 페이지 안에,우리가 풀었던 문제를 링크거는건 어떨까요?, 뭐 방법에 따라 다르겠지만, 저번처럼 새싹스터디 단체로 숙제를 내 주게 될 때는 달라지겠지만요.. -- [허아영]
위키의 [분류분류]나 [지도분류]가 잘 정리될 수 있다면 아무래도 상관없습니다. 이미 여러 프로젝트, 스터디 페이지가 제로페이지 위키에 존재하고 [프로젝트지도]나 [2004년활동지도]같은 곳에 링크가 걸려 있습니다. 개별 스터디 그룹의 메인페이지를 개인 위키에서 유지하고, 숙제등은 제로페이지 위키에 올리고 메인페이지에서 링크를 걸 생각을 해 보았습니다.
예를 들어 [너구리]라는 스터디 팀이 있고, 팀원이 너굴아빠, 너굴엄마라고 합시다. 너굴엄마가 자신의 개인 위키에 [너구리]라는 메인 페이지를 엽니다. 너굴아빠는 [너구리]페이지를 자기 카페에 가져오기만 하면 되죠. 그래서 스터디 공지나 이런저런 이야기는 [너구리]페이지에서 해결합니다. 그리고 [나무기어오르기]라는 숙제가 있다면, 제로페이지 위키에 [나무기어오르기/너굴아빠], [나무기어오르기/너굴엄마] 페이지를 만들어서 해답을 올립니다. 자신이 만든 페이지이므로 [나무기어오르기/너굴아빠]페이지는 자동으로 너굴아빠의 개인위키에, [나무기어오르기/너굴엄마]페이지는 자동으로 너굴엄마의 개인위키에 생깁니다.
사실 [너구리]페이지는 제로페이지 위키에 있어도 그만입니다. 현재 진행중인 스터디를 모두 링크하는데 [너구리]페이지가 너굴아빠 개인위키에 있든 어디 있든 상관없지요. 다만 최근바뀐글을 생각하면 일장일단이 있습니다. [너구리]페이지가 제로페이지 위키에 있으면 현재 진행중인 스터디를 모든 사람이 한 곳에서 볼 수 있을 것이고, 따라서 다른 스터디도 돌아볼 기회가 많아지겠죠. 반대로 [너구리]페이지가 개인 위키에 있으면 자신의 위키홈에 가야지 볼 수 있기 때문에, 개인 위키 사용을 활발히 만들 겁니다.
어느쪽이 되었든 하위페이지는 신중히 만들어야 합니다. 하위페이지는 순간 만들기 쉽지만 갈수록 구조를 바꾸기가 어려워집니다. '''숙제'''로 제로페이지 위키에 있는 페이지를 검색해 보세요. 내용으로 정리할 수 있는 페이지가 있지만, 손보려면 드는 시간이 적지 않을 겁니다. 일일이 페이지를 열어보기 전까지는 그 안에 어떤 내용이 있는지 알 수도 없고요. 또 하위페이지는 링크를 걸기가 더 어렵습니다. 상위 페이지 외에는 그 하위 페이지의 역링크 개수는 0에 가깝습니다. 이를테면 [5인용C++스터디/멀티쓰레드]는 [5인용C++스터디]에서만 링크하고 있습니다. 이러한 현상은 하위의 하위 페이지로 들어가면 더 심해질 것입니다. -- [Leonardong]
[새싹스터디2006]
- Linux . . . . 23 matches
리눅스는 현재 컴퓨터의 커다란 흐름중의 하나이다. FSF에 의해서 지원을 받는 핵심적인 운영체제로 현재 기능적, 보안적 측면이 기존의 [Unix] 시스템에 버금갈 정도 발전하였고 [GNU]의 사상하에 만들어진 [GPL]을 따르기 때문에 무료로 사용이 가능하여 서버 운영체제로 많은 인기를 누리고 있다. 본디 리눅스라는 하는 것은 운영체제의 [Kernel] 명칭이며, 주로 접하게 되는 패키지 형태로 이루어진 배포판의 전체 구성을 리눅스라고 여기는 경우가 있으나 이는 리눅스의 광의적 정의라고 생각하면 될듯 싶다.
리눅스와 비슷한 운영체제로는 정통적인 유닉스 클론 이라고 평가받는 [:FreeBSD BSD]계열이 있다. BSD계열중 가장 잘알려진 [http://www.kr.freebsd.org FreeBSD]의 경우 실제로 과거부터 hotmail.com, yahoo.com, cdrom.com 을 운영해온 네트워킹에 대한 안정성이 입증된 운영체제이다. 실제로 2.6커널의 도입이전에는 BSD의 네트워킹이 더욱 뛰어나다는 평가를 받았지만 일반적인 의견이었으나, 많은 구조적 변경을 통해서 리눅스는 현재 이런 점을 극복하고 BSD와 리눅스를 선택하는 것은 운영자의 기호일 뿐이라는 이야기를 한다. 최근에는 리눅스를 데스크탑의 용도로 까지 확장하려는 노력의 덕분에 로케일 설정관련 부분이 대폭 강화되었으며, 사용자 편의성을 고려한 WindowManager인 [Gnome], [KDE] 등의 프로그램이 대폭 강화되면서 low-level 유저라도 약간의 관심만 기울인다면 충분히 서버로써 쓸 만한 운영체제로 변모하였다.
본 페이지는 특별히 리눅스에 대한 실제 운영에 관한 이야기를 지양하려고 한다. 운영에 관한 내용은 리눅서들이 항상 말하듯이 네트워크의 바다에 널려있기 때문이다. 수많은 자료들을 대하면서 자신이 필요한 자료를 찾는 것도 리눅서가 되는데 필요한 덕목이다.
어느정도 실력을 쌓았다 싶으면 RunningLinux, Oreilly 를 읽기를 권한다. 이 책은 비록 초심자가 읽기에는 부적절하지만 APM설정에 어느정도 리눅스의 구조에 대해서 익힌 사람들이 리눅스를 운영하기 위한 전반적 기초지식의 대부분을 습득 할 수 있는 수작이라고 생각된다.
[http://www.zeropage.org/pub/Linux/Microsoftware_Linux_Command.pdf 마이크로소프트웨어_고급_리눅스_명령와_중요_시스템_관리]
[http://www-106.ibm.com/developerworks/linux/library/l-web26/ 리눅스2.4와 2.6커널의 비교 자료]
[http://www.kldp.org 리눅스 문서 한글화 프로젝트(KLDP)]
[http://j2k.naver.com/j2k_frame.php/korean/http://www.linux.or.jp/JF/ 리눅스 문서 일본어화 프로젝트(LJFP)]
[http://kltp.kldp.org 한국 리눅스 팁 프로젝트(KLTP)]
[BSD]도 상당히 유명한 편인데 이 커널의 제작자가 안알려진 것은 약간 특이한 일이라고 생각할 것이다. 이유인 즉은 BSD는 현재 메인테이너들에 의해서 커널이 관리되기 때문이다. 리눅스 커널은 커널 메인테이너 들을 의견의 제시를 하지만 실제로 방향을 결정하는 최종 결정권자는 리눅스 커널의 최초 개발자인 리누즈 토발즈이다. 그렇지만 BSD는 세계에 있는 BSD메인테이너(커미터)중에 몇명이 선발되어 커널의 개발을 주도하고 운영되기 때문에 사실 어떤 한사람의 이름이 특별히 나올 여지가 많지는 않다. 리누즈 토발즈는 좋은의미의 독재자라고 불리기도한다.
[http://translate.google.com/translate?hl=ko&sl=en&u=http://www.softpanorama.org/People/Torvalds/index.shtml&prev=/search%3Fq%3Dhttp://www.softpanorama.org/People/Torvalds/index.shtml%26hl%3Dko%26lr%3D 리눅스의 개발자 LinusTorvalds의 소개, 인터뷰기사등]
- NSIS/예제3 . . . . 23 matches
; 해당 인스톨러 이름
; 인스톨러 화일 이름
SubCaption 0 ": 라이센스기록"
SubCaption 1 ": 인스톨 옵션"
SubCaption 2 ": 인스톨할 폴더 선택"
SubCaption 3 ": 인스톨중인 화일들"
; 인스톨러 왼쪽 상단에 표시될 인스톨러 아이콘
; 기본 인스톨 문구
; 라이센스 표시 관련
LicenseText "인스톨 하기 전 이 문구를 읽어주십시오" "동의합니다"
UninstallText "ZPTetris 를 언인스톨 합니다"
UninstallButtonText "언인스톨하기"
; 윈도우 프로그램추가/삭제 관리자를 위한 Uninstall 관련 key를 레지스트리에 저장
; 언인스톨을 위해 써 넣었었던 레지스트리 키 제거
SubCaption: page:0, text=: 라이센스기록
SubCaption: page:1, text=: 인스톨 옵션
SubCaption: page:2, text=: 인스톨할 폴더 선택
SubCaption: page:3, text=: 인스톨중인 화일들
LicenseText: "인스톨 하기 전 이 문구를 읽어주십시오" "동의합니다"
UninstallText: "ZPTetris 를 언인스톨 합니다" ""
- ShellSort . . . . 23 matches
거북이 스택의 원래 순서와 새로 만들어져야 할 스택의 순서가 주어졌을 때 최소한의 이동 횟수만으로 원래 스택을 새로운 스택으로 재배치할 수 있는 순서를 찾아야 한다.
입력의 첫번째 줄에는 테스트 케이스의 개수를 나타내는 K라는 정수 하나만 들어있다. 각 테스트 케이스는 스택에 들어있는 거북이의 개수를 나타내는 n이라는 정수로 시작되며 그 밑으로 n개의 줄에 걸쳐서 거북이 스택의 원래 배치가 기술된다. 각 줄에는 거북이의 이름이 들어있으며 맨 윗 줄에는 스택 맨 위에 있는 거북이의 이름이 있고 위에서 아래로 순서대로 거북이의 이름이 나열된다. 각 거북이한테는 그 거북이만의 이름이 주어지며 각 이름은 80글자를 넘지 않는 문자열이고, 알파벳, 숫자, 스페이스 문자, 점('.')만 쓰인다. 그 밑으로는 n개의 줄에 걸쳐서 새로운 스택이 기술되며 여기에서도 위에 있는 거북이부터 아래있는 거북이 순으로 이름이 열거된다. 각 테스트 케이스는 정확하게 2n+1개의 줄로 구성된다. 거북이의 수(n)는 200 이하로 제한된다.
각 테스트 케이스에 대해 한 줄에 하나씩의 거북이 이름이 출력되며 이 거북이 이름은 스택을 빠져 나와서 맨 위로 올라가는 거북이의 이름을 의미한다. 이 출력에 나와있는 순서대로 자기 자리를 빠져 나와서 맨 위로 올라가는 과정을 반복하면 원래의 스택이 새로운 스택으로 바뀌어야 하며 최소한의 이동 횟수로 작업을 끝낼 수 있어야 한다. 이 조건을 만족하는 이동 방법이 여러 가지 있으면 그 중 아무 것이나 출력해도 된다.
서로 다른 테스트 케이스 사이에는 빈 줄을 하나씩 출력한다.
- 데블스캠프2002/진행상황 . . . . 23 matches
* 목요일의 ["RandomWalk2"] 에 대해서 다시 CRC 디자인 세션과 구현시간을 가져보았다. (["ScheduledWalk/재니&영동"], ["ScheduledWalk/창섭&상규"]) 이번에는 신입회원팀과 기존회원팀으로 나누어서 디자인 세션을 가지고, 팀별로 구현을 하였다. (신입회원 팀에서의 클래스 구현에서는 1002가 중간 Support)
* CRC 디자인 세션때 후배들끼리 대화하면서 디자인하는 모습을 보았다. 목요일날 창준이형과 1002가 했었던 때에 얼핏 지나갔을지도 몰랐을 '이 스펙에서 명사에 해당되는 것들은 어떤것이였죠?' 라는 말을 기억하며 대화중에 언급하는 모습을 보며 보람을 느껴본다.
* 마지막 날에 온 사람이 3명. 그리고 문제를 푸는데 참여한 사람이 2명 밖에 안남았다는 점은 데블스캠프를 준비한 사람들을 좌절하게 한다. 그나마 한편으로 기뻤던 점은, 아침 7시가 되도록 컴퓨터 하나를 두고 서로 대화를 하며 RandomWalk를 만들어가는 모습을 구경했다는 점. 그 경험이 어떻게 기억될지 궁금해진다.
게다가 피시실에 서 있는중 중간중간 아이디어가 떠오를때 화이트보드를 쳐다보고 있노나니 내용 없는 빈 보드를 가만히 두고 싶어지지 않는다. 손이 근절근절해지도록 일종의 NoSmok:어포던스 를 제공한다고 할까. 칠판과는 다르게 손도 잘 안더러워진다.
* 세미나나 스터디를 준비할때 앞 세미나의 흐름이 연결되었을 경우 그 진행이 더 쉽다. 앞에서의 세미나 내용을 이용하여 설명하면 강사나 학습자나 서로 시간낭비를 줄일 수 있으니까. 추후 이러한 세미나 준비를 할때 그 체계성을 고려해야 할 것이다.
* 일단 지난시간에 만들었었던 RandomWalk 의 스펙을 수정한 RandomWalk2 를 사람들로 하여금 풀게 한뒤, 그 중에 완성한 두명을 뽑아 (상규와 현민) 자신이 어떻게 프로그래밍을 했는지에 대해 창준이형의 진행으로 질답을 하면서 설명해나갔다. 그리고 코드를 프로젝터와 노트북을 이용, 신피의 벽에 비추며 설명하였다. (["RandomWalk2/상규"], ["RandomWalk2/현민"])
* ["RandomWalk2"] 를 ObjectOrientedProgramming 으로 구현하기 - 위의 Python 관련 실습동안 ["1002"] 는 ["RandomWalk2"] 에 대해서 C++ Prototype을 작성. (["RandomWalk2/ClassPrototype"]) 이를 뼈대로 삼아서 ["RandomWalk2"] 를 작성해보도록 실습. 해당 소스에 대한 간략한 설명, 구현의 예를 설명. 중간에 객체들에 대한 독립적인 테스트방법을 설명하면서 assert 문을 이용한 UnitTest 의 예를 보였다.
Python으로 만든 스타크래프트 놀이는 참가자들이 무척이나 좋아했다. 또 그 직전에 Python Interactive Shell에서 간단하게 남자, 여자, 인간 클래스를 직접 만들어 보게 한 것도 좋아했다. 아주 짧은 시간 동안에 OOP의 "감"을 느끼게 해주는 데 일조를 했다고 본다.
* 어떤 만화에서 보면 한 스승이 춤을 지도할때 재현성에 대해 이야기한다. '극장에 가득찬 관중들 앞에서, 당신은 "오늘은 신이 내리지 않았습니다" 라고 사과할 셈인가요?" 세계의 정상엔 최고의 춤에 '재현성'을 가지고 있습니다. 의식하십시오. 발가락, 발바닥, 모든 근육들을.'
처음 ["1002"]가 계획한 세미나 스케쥴은 조금 달랐다. "어떻게 하면 ObjectOrientedProgramming의 기본 지식을 많이 전달할까"하는 질문에서 나온 스케쥴 같았다. 나름대로 꽤 짜임새 있고, 훌륭한(특히 OOP를 조금은 아는 사람에게) 프로그램이었지만, 전혀 모르는 사람에게 몇 시간 동안의 세미나에서 그 많은 것을 전달하기는 무리가 아닐까 하고 JuNe은 생각했다. 그것은 몇 번의 세미나 경험을 통해 직접 느낀 것이었다. 그가 그간의 경험을 통해 얻은 화두는 다음의 것들이었다. 어떻게 하면 적게 전달하면서 충분히 깊이 그리고 많이 전달할까. 어떻게 하면 작은 크기의 씨앗을 주되, 그것이 그들 속에서 앞으로 튼튼한 나무로, 나아가 거대한 숲으로 잘 자라나게 할 것인가.
그래서 ["1002"]와 JuNe은 세미나 스케쥴을 전면적으로 재구성했다. 가르치려던 개념의 수를 2/3 이하로 확 잘랐고, 대신 깊이 있는 학습이 되도록 노력했다. 가능하면 "하면서 배우는 학습"(Learn By Doing)이 되도록 노력했다.
* 실습 - Personal Web Server 설치 & 간단한 ASP 실습. 윈도우즈 프로그래밍 관련 실습. 도스용 ["Omok"] 프로그래밍
* 홈페이지를 유닉스 계정에 올리기
* 도스에서 Debug 를 이용, 어셈블러로 abcde-z 를 화면에 출력하기.
* 본래 Unix 실습때 쉘 스크립트를 이용, 쓰레기통 작성을 하려고 했지만, 실제 실습때 하지 못했다.
꼭 생소하다의 문제를 떠나서, 전반적인 컴퓨터 동작원리 보다 구체적 용어들 (어떻게 보면, 이미 공부하여 알고 있는 사람들의 경우 일상어화 되어버린 언어들)이 먼저 나와버렸기 때문이다. 컴퓨터가 하드웨어와 소프트웨어로 구분되어지기 이전엔 어떠했는지, 그게 하드웨어와 소프트웨어로서 구분하는 방법으로서 폰 노이만 아키텍쳐가 나온 이야기라던지, 그러하기 때문에 PC 카운터가 필요하며 메모리로부터 명령어를 읽어온 뒤, CPU에서 명령을 해석하고 처리한다라던지 등등. 그러한 이야기가 나오기전에 어드레스/세그먼트/옵셋/디코딩 이 나와버렸기 때문에 어려운 세미나가 되어버렸다고 생각한다. 후에 상민이가 다시 동작원리부터 상대적으로 쉬운 용어로 설명을 해주면서 사람들의 반응을 유도한점에 대해서는 사람들이 한번 생각을 해볼 필요가 있다. 우리와 대화하는 사람은 어느정도의 지식수준을 가지고 있는가에 대해서. 정말 이해 안가는 부분에 대해서는 질문 자체를 만들어내기 힘들다. --석천
* 추상화 단계에 대해서 - 세미나 대상자의 수준을 파악하고, 그 사람에게 친숙한 지식들 (만일 컴구조에서 어드레스/옵셋 이야기를 그들이 배웠던 포인터의 개념과 같이 설명했더라면? 우리가 파이프라인 설명을 들었을때 책에서 세탁기의 예가 나온것처럼 설명을 했었더라면?)과 융합시키는 건 어떨까. 정직이가 중간에 '포인터 지금 어렵죠? 그거 나중에 어셈을 배우면 그냥 저건 메모리 주소에요' 라고 설명했었는데, 그것을 실제로 메모리 그림을 그려주고, 포인터의 값이 어떻게 들어가는지에 대해 설명했었더라면 어떠했을까? --석천
* 불필요한 스레드일지도 모르겠으나, 일단 완벽히 어셈쪽 이야기를 하는 것이 아니라, 단순히 C 언어같은 하이레벨 언어에서의 관점으로 얘기하는 것이라면, 포인터란 '가르키는 것' 이라는 추상적인 개념일 뿐입니다. 오히려 어설프게 메모리의 주소라는 개념을 알게 된다면 나중에 더욱 큰 혼돈을 불러일으킬 수 있습니다.. 저처럼요.. -["zennith"]
* 불필요한 스레드란 없으니 걱정말고. ^^; 개인적으로 C 와 어셈과의 포인터관계를 어디서 찾았냐면, 해당 주소값이란 것이 무엇인가에서 찾았다. (단, 내가 정직이나 남훈이보단 하드웨어 관련지식이 깊지 않다) '포인터 값을 화면에 찍었을 경우에 나오는 엄청나게 큰 숫자(윈도우의 경우 32비트) 의 의미는 무엇인가?' 라는 질문을 하게 되었고. 그 이후 메모리가 16메가바이트라는 건 메모리에 0번부터 16메가바이트-1 이라는 번호를 부여하고, 해당 번호에 값을 대입하는 것이라는 접근을 하게 되었지. (물론, 이것도 물리적 주소는 아니겠지. 결국 우리가 이용하는 주소란 OS 에 의해 한번 걸러진 논리적 주소겠지.) 추상화의 정도를 이야기하라는 건 꼭 해당 언어 기준으로 이야기하라는 게 아니라, 경험에 대한 연결고리(여기서는 'C에서 포인터 변수를 화면에 찍어보니 이상하게 큰 숫자가 나왔다' 정도)를 찾아보자라고 한다면 정말 이야기가 '추상적'이려나; --석천
["데블스캠프2002"]
- 새싹교실/2011/무전취식/레벨10 . . . . 23 matches
김준석 : 5월이 막바지를 지냈어. 6월초에 프로젝트 발표가 4개 있어. 그래서 프로젝트에 치여삽니다. 하지만 잠도 잘자고 술도 잘먹어요. 그리고 구남영을 면회갔습니다. 소요산 근처 연천에 근무를 하는데 내가 옛날에 근무했던 지역에서 30분 정도 걸린지역이었다. 그래서 8시간이 걸렸음. 그래서 어제 힘들어죽는줄 알았다. 요즘 또 춤은 잘추고 있어요. 댄스스포츠 정말 잘 듣고있어요. 너희도 하고 싶으면 오세요. 프로젝트 한 기억밖에 없다.
정진경 : 작년 기출보고 갔는데 4문제 나왔는데 너무 어려움 . 삽질하다가 2문제 풀었는데 목요일날 결과 나왔는데 2등해서 넘 좋았음. 경진대회 전에 동양철학의 이해 수업이 있었는데 거기서 잠깐 졸았는데 귓속에 주문이 들어왔다 "양명학 주장학 " 그래서 깨고 보니까 머리가 아팠다. 10만원 현금으로 받고 부상있는데 기계식 키보드랑 무선 마우스. 1등부터 선택하는거임
아마 기계식 키보드는 못쓰고 무선 마우스가 선택될것 같음. 끝.
* 관련 페이지 : ThreeFs, [http://no-smok.net/nsmk/ThreeFs ThreeFs(노스모크)], [http://no-smok.net/nsmk/FiveFs FiveFs(노스모크)]
* 예를 들어 지난주에 돈가스를 먹은 것에 대해 후기를 쓴다면 : "지난주에 강남에 가서 하나에 5만원하는 돈가스를 먹었다.(사실) 기대를 잔뜩 했는데 별로 맛이 없었다.(느낌) 강남은 땅값이 비싸서 값만 보고 엄청 맛있을거라 기대하면 안된다는 것을 알았다.(깨달은점) 다음에는 미리 인터넷에서 평을 찾아보고 별점이 높은 돈가스집을 찾아서 가봐야겠다.(앞으로의 계획)"
* 개념 정리에 대해서는 그다지 많은 가르침이 없었습니다. 오늘의 집중 항목은 여러명이 코딩하는 방법과 직접 코딩을 해보는것이었죠. 지각에 대해서도 한마디했군요!! 지각할때 상대방의 양해를 구하지 않는것은 상대방에게 크나큰 실례입니다~ 모두 지각한다면 먼저 알려주는 센스쟁이가 되주세요. 오늘은 진경이가 와줘서 너무 기쁩니다. 든든한 조교가 있으니 강사가 무능해도 잘 진행되는군요. Show me the money!!! 담시간을 기대하시라!! 또한 태진이도 들으러와서 신나보이는 새싹이었습니다. 이런 수업방식이 적응이 안될수도잇죠. 신나고 신나게 배우고 먹고 마시는것입니다. 이게 맞는지는모르겠지만 학생들이 모쪼록 제 배움을 즐겁게 받아들여주었스면 좋겠습니다. 다음시간에도 Coding Coding입니다!! 얏후!! 후기써라. - [김준석]
* ㅋㅋㅋ오늘도 일등입니당*_* 위키올라오기전에 미리 확인한 건 처음이에요. 과제하다가 들어와서 써용. 오늘 코딩해본 1, 2번은 다했습니다. 스스로 생각해보고 스스로 코딩해보는게 중요한 것 같아욧!! 문제를 보고 어떻게 해결할까 고민하는 과정이 실력을 키우는 것 같네용... 여태까진 다른사람 생각을 그대로 옮기는 코딩을 했다면 이제부터는 제 스스로 생각해보고 코딩을 해야겠어요히히*-_-* 하하핫 이제 3번을..... - [이소라]
* 오랜만에 참여해서 C 과제를 풀었습니다. 어느새 1학기가 끝나가네요. C수업도 구조체, 파일입출력만 들으면 끝나는 것 같고, C언어에 익숙해질 수 있었던 1학기가 되었기를ㅋㅋ c 과제 저는 밤 새서 구현 다 했지만, 새로 다시 짜봐야할 것 같습니다. ㅋㅋ 4, 5번 문제는 꽤 소스가 길어지는 것 같네요. 스스로 직접 짜본다면 실력이 많이 늘듯... - [정진경]
// N값 질문 스캔과 N값 입력
// type 1 or type2 인지 물어보는 질문 스캔
// 만약 first seat이 다 찼을경우 질문 스캔
- 이영호/64bit컴퓨터와그에따른공부방향 . . . . 23 matches
Assembly를 마음껏 다루도록 286AT를 창고에 꺼내서 마음껏 테스트를 하겠다.
몇가지 질문을 한다면 (활동 영역을 아마 시스템 프로그래머 분야로 잡은 것 같아서, 좋아하는 분야를 공부하는 것에 대해서는 큰 이견이 없습니다.)
* C++ 혹은 더 나아가 C++ 보다 속도상으로 느린 스크립트 언어를 쓰는 사람은 C++ 개발자들보다 덜 우수할까요? (위의 Assembly > C++ 로 평가한것으로 봐서는, 퍼포먼스와 하드웨어 제어 용이성 관점에서 Assembly 를 평가한 것 같습니다만) C++ 개발자들 혹은 더 나아가서 Java 나 Python 과 같은 개발자들이 Assembly 와 같은 low level 제어성을 포기하는대신 얻어간 것은 어떤 것일까요?
그냥 시스템 프로그래머와 어플리케이션 프로그래머의 차이정도로만 생각하겠습니다. 언어 관련 논쟁과 다른 레이어간 논쟁에 대해서는 정말정말 재미없습니다. ^^ 의도하는 바도 아니고요. 단지, '시스템 프로그래머' 컨텍스트가 붙지 않았을 경우에는 다른 사람들에게는 좀 갸우뚱할 상황이여서 쓴 것일 뿐입니다. (그렇다고 시스템에 대한 이해의 중요성을 무시하려는것은 당연히 절대로 아니고요.)
* 어떻게 하면 정해진 시간 내에 원하는 스펙을 충족시키고, 최선의 성능을 발휘하는 결과물들을 만들어낼까?
* Global Optimization 관점에서, 어느 부분은 생산성을 살리고 어느 부분은 퍼포먼스를 추구할까? 퍼포먼스를 추구하는 모듈에 대해서는, 어떻게 하면 추후 퍼포먼스 튜닝시 외부 모듈로의 영향력을 최소화할까? (InformationHiding)
* 혹은, 전혀 다른 차원에서의 해결법은 없는가? (우스개 소리나마, 미국이 우주에서 이용할 수 있는 볼펜 개발차 수만달러 쓸때 소련에서는 간단히 연필로 해결했다.. 급의)
"종국에 C++과 같은 현재 패러다임을 따르는 사람들은 결코 나를 넘지 못하리니..."라는 말이 참이 되는 시점이 있다면 "나 역시 그들을 넘지 못하리니."도 참이 되진 않을까 반문해 보세요. 그리고 만에 하나 그렇게 된다면 거기에 만족할 수 있을까 생각해 보세요. 너무 이른 걱정이려나요? (전문성은 분야를 넘어서까지 적용되지는 않는다는 것이 최근 인지과학이 밝혀낸 사실입니다. 반드시 체스 전문가가 바둑을 특별히 잘두거나, 바둑 전문가가 체스를 뛰어나게 잘두거나 하지는 않습니다. 체스 고수가 특별히 IQ가 높고 암기력이 뛰어나거나 하지도 않고요. 한가지를 잘해서 두루 잘하기는 무척 어렵습니다)
컴퓨터 계의 대부 다익스트라(EdsgerDijkstra)는 이런 말을 했죠. "천문학이 망원경에 대한 학문이 아니듯이, 컴퓨터 과학 역시 컴퓨터에 대한 것이 아니다."(Computer science is no more about computers than astronomy is about telescopes.) 망원경 속을 들여파봐야 거기에서 명왕성이 뭔지 알 수가 없고, 컴퓨터를 속속들이 이해한다고 해서 컴퓨터 과학에 달통할 수는 없다 그런 말이죠.
잘 읽었습니다. 혹시 천문학을 공부해보셨는지요? 어릴적부터 천문학(정확히 천체물리학)에 관심이 많아 대학 과정을 고등학교때 배우기도 했습니다만(조금 이상한 geek같죠?), 천문학을 잘 하려면 말씀하신대로 컴퓨터에 대한 학문처럼 두루 잘 알아야하죠. 이러한 수학, 물리학화학(스펙트럼, 통계역학, 열 역학, 양자역학, 상대론 등)을 제대로 공부해 둬야 비로서 천문학을 제대로 공부할 수 있습니다. 즉, 어느 한가지라도 약하다면 그 사람은 천문학자가 아닌 천문대에서 일하는 사람과 뭐가 다를까요? 제가 Assembly를 공부하려 한것은 한쪽으로 치우친 공부가 아닌 컴퓨터의 가장 기초를 먼저 닦고 다른 분야로 올라가겠다는 것입니다.
생각이 너무 한쪽에 치우신거 같네요. 아마도 저 말고 다른 선배님들도 저와 비슷한 심정(생각)으로 글을 쓰셨을거 같습니다. 선배님들 말이 어셈블러를 공부하지 말라? C++만 공부하라~~ 이렇게 들리셨나요? 저는 아닌거 같은데요. 조금만 더 생각하고 읽었으면 좋겠네요. 위에 쓰신 글들을 보니 어쩌면 프로그래밍에 관련해서 저보다 더 많이 알고 있으리라 생각되는데요. 우선 젤하고 싶은 생각은 남의 글을 비판적으로 읽는것도 중요하지만, 그사람의 입장에서 생각해보는게 좋을거 같군요. A라고 말했는데, B라고 들으면 안돼겠죠. 어셈을 익히고 C++을 익히는것도 좋습니다. 그렇다고 C++을 익히고 어셈을 익히는게 나쁜 방법이라고 생각하지는 않는데요..@,.@. 제생각에는 님은 "어셈을 꼭 인힌다음 C++을 익혀야돼" 라는 고정관념에 빠진듯 함니다. 어셈을 모른다고 프로그램을 적게 이해한다고 생각하지도 않구요. 제 의견이지만 특정 프로그램언어 보나는 알고리즘, 자료구조 이런것들이 더 중요하다고 생각합니다. 그리고 C++이 쉽다? 정말 그럴까요? 정말 C++이 어셈보다 쉽다고 생각하시나요? 이펙티스 C++이나 엑셀레이터 C++ 이런책들을 한번 읽어 보시는것도 좋을거 같네요. 머 주저리 주저리 쓰게 됐는데 어디까지나 제 생각이고, 다른사람들의 입장에서 글들을 한번 다시 읽어 보는것도 괜찮은 생각인거 같군요. - 상섭
'' '특정언어를 공부한다'에는 두가지 의미가 같이 포함되어서 그런 것 같습니다. 즉, 언어 자체를 공부하는 것과 해당 언어가 쓰이는 분야(시스템, 웹, 컨커런트 등)를 공부하는 것. 아마 영호군의 경우 강조하려는 것은 시스템 레벨에의 지식에 대한 공부일 것이므로, '알고리즘/자료구조 대신 특정 프로그램언어를 공부한다'는 기우가 아닐까 생각. (물론, 하려는 이야기는 이해했음..~)--[1002]''
잡담성 글이지만.. 예전의 제 모습과 비슷한것 같아 정이 가군요...^^ 저도 영호군처럼 시스템 레벨의 것들을 무척 좋아합니다. 중학교 다닐때 어렵게 구한 assembler와(그시절엔 인터넷이 쓰지 않았기에 구하기가 쉽지 않았죠...) 어머니가 주신 참고서값으로 몰래 산-_-;; assembly 책 한권으로 집에 오기만 하면 mov ax, 4c00h를 타이핑하곤 했습니다. 그리고 저도 제가 하는 것만을 계속 고집했었죠. 뭐.. 지금은 생각이 좀 바뀌었지만^^ --[상규]
상규의 생각에 전적으로 동의합니다. 시스템 프로그래밍에서 있어서 최고가 되는 데에는 영호군이 말한바도 한가지 방법이 되겠지요. 하지만 절 비롯한 많은 분들이 B 를 잘하려면 A 부터 탄탄히 닦아야 한다는 의미로 받아둘여질 수 있어 저로서는 동의하기 힘든 부분입니다. 다른 사람의 생각을 자신의 기준으로만 재는 것은 바람직하지 않다고 생각합니다 - 임인택
- 제13회 한국게임컨퍼런스 후기 . . . . 23 matches
#title 제13회 한국게임컨퍼런스 후기
= 제13회 한국게임컨퍼런스 =
|| 행사명 || 한국국제게임컨퍼런스 Korea Games Conference 2013(KGC2013) ||
|| 장 소 || 서울시 삼성동 코엑스 컨벤션 센터 ||
|| 시간 || 강의 내용 || 스피커 || 비고 ||
|| 11:40 – 12:40 || 빠른 게임개발을 위한 Autodesk®3ds Max® 활용 팁 || 김일혁(오토데스크 코리아) || Graphic ||
|| 15:50 – 16:50 || 아바(AVA)의 트레일러, 협업을 통한 사운드 스토리텔링 || 장규식(주-레드덕) || Audio ||
* 코엑스에 도착한 시간은 8시 40분. 코엑스 신관이라고만 되어 있어 그랜드볼룸이라고는 생각하지 못하고 헤매다 도착... -ㅅ- 여하튼 등록을 마치고 기념품(거대 마우스 패드, 티셔츠, 책자 등)을 받은 뒤 들어가 보니 많은 부스들이 아직 준비 중... 그냥 무엇 무엇이 있는지 구경한 후 첫 세션을 들으러 들어갔다.
* 그리고 나서 음덕인 본인이 찾아간 곳은 Audio관련 세션. 트레일러를 만들더라도 음악을 어떻게 만들어야 하는지에 대해서 이야기를 했다. 스토리텔링을 통해 짧은 시간에 시선을 사로잡을 수 있어야 한다고 했다. 그러면서 잘못된 예와 잘 된 예를 보여주셨는데 잘 된 예도 그닥..
* 마지막 물리기반 렌더링.. 기대하고 들어갔으나 ‘아티스트 전용임 ㅇㅇ’ 이러는 바람에 ‘아 내가 길을 잘못 들었구나’라는 생각으로 그냥 멍 하니 들었..
|| 시간 || 강의 내용 || 스피커 || 비고 ||
|| 13:30 – 14:30 || 키노트 5 - 모두를 위한 MMORPG || 최관호/한재갑(네오위즈 블레스 스튜디오) || ||
|| 14:40 – 15:40 || 게임유저와의 소통: 음악과 사운드를 중심으로 || 양승혁(주-스튜디오 도마) || Audio ||
* 3일차에는 1일차에 그래픽 부분을 들으면서 프로그래밍과 큰 연관성을 찾지 못한 까닭에 프로그래밍 위주로 찾아 다니기로 했다. 하지만, 원래 들으려고 했던 ‘좋은 게임을 최고로 만들어 주는 요소 분석’ 파트를 들으려 했으나 갑자기 잠수를 타 버리는 바람에 급하게 언리얼 엔진 주제 쪽으로 넘어갔다. 모바일 게임과 관련한 이야기를 하면서 온라인 게임과는 비용, 기간 등 많은 차이가 발생하는 것에 대해서 이야기 했다. 그러면서 아티스트들은 제발 쓸데없는 자존심 버리고 게임이 잘 돌아가게 해 달라는 요구를 하시던.. 하기야 콘솔 게임 정도 되어야 그래픽에 많은 부분 신경 쓸 수 있겠다만 모바일은 화면도 작고 하니.. 라는 생각이 들었다. 결국 메모리를 줄이기 위해 Object를 나누어 Module 사용을 해라는 이야기로 마무리 지어졌다.
* 그 다음으로 다시 음악의 세계로~. 이번 스피커는 작곡가였다. 어울리는 음악을 만드는 것이 중요하다, 스토리를 이해해서 음악을 만들어라, User가 느껴야 하는 감정을 쫓아라 뭐 이런 이야기를 하면서 피아노 치고 노래하고.. (피아노 못 친다고 해 놓고 찾아보니 조수미 따라 다니면서 피아노 치시던 분 -ㅅ-) 그리고 Alt+Tab을 모르셔서 계속 USB 뺏다 꼈다 하시느라 좀 시간을 잡아먹긴 했다만 재미있는 시간이었다.
* 그 다음은 본래 국방과학연구소에서 헬리콥터 가상 시뮬레이션에 관한 이야기를 들을까 했는데, 주제가 그다지 재미있을 거 같지도 않고 부스 구경도 제대로 못하고 해서 부스 구경을 했다. 첫날에는 길게 줄 서 있던 Oculus 시연장에는 사람이 별로 없어 두 번 해 보기도.. 이곳 저곳 돌아다니면서 궁금한 거 좀 물어보기도 하고 게임도 직접 해 보고 하는 시간을 가졌다.
* 마지막 세션은 NVDIA와 Visual Studio를 연계해서 디버깅하는 것에 관해 이야기를 했는데.. 보여주면서 하긴 했는데 뭔 내용이 이렇게 지루한지..; 전반적인 NVIDA 소개와 필터 버그 등 버그가 발생하였을 때 픽셀 히스토리 기능으로 추적해서 셰이더 편집기능으로 수정하는 등 버그를 어떻게 고치는지, 툴은 어떻게 사용하는지에 대한 이야기가 주였다.
- AcceleratedC++/Chapter12 . . . . 22 matches
일반적인 C++의 기본형 데이터처럼 클래스도 여러가지의 연산자를 재정의 함으로써 마치 값처럼 동작하도록 할 수 있다.
이 장에서는 여러가지 연산자, 형변환을 클래스의 제작자가 제어하는 방법에 대해서 배운다.
12장에서는 string 클래스의 클론 버전인 Str 클래스를 제작한다. Str 클래스는 string 클래스의 형변환과 연산자의 구현에 초점을 맞추어서 제작한다.
이 클래스는 복사 생성자, 대입 연산자, 소멸자가 하는 모든일을 Vec클래스에 일임한다.
클래스는 기본적으로 복사 생성자, 대입 연산자의 기본형을 제공한다. 위의 클래스는 이런 연산에 대한 기본적인 요건을 만족하기 때문에 const char* 가 const Str& 로 변환되어서 정상적으로 동작한다.
상기의 클래스에는 Str(const char*) 타입의 생성자가 존재하기 때문에 이 생성자가 Str 임시 객체를 생성해서 마치 '''사용자 정의 변환(user-define conversion)'''처럼 동작한다.
이 구현의 세부적인 작동방식은 모두 Vec 클래스로 위임하였다. 대신에 const 클래스와 const 가 아닌 클래스에 대한 버전을 제공하였고, 표준 string 함수와의 일관성 유지를 위해서 string 대신에 char& 형을 리턴하도록 하였음.
if(is) { // EOF를 만나면 입력 스트림을 false 값을 리턴한다.
상기의 함수는 Str 자료형에 입력을 하기 때문에 Str 형에 대한 쓰기 권한이 필요하다. 그러나 9.3.1절처럼 단순히 입력 함수를 만들게 되면 일반 사용자가 객체의 내부 구조를 건드릴 수 있는 인터페이스를 제공하는 꼴이 되기 때문에 옳지 못하다.
friend 함수는 접근제어 레이블에 영향을 받지 않기 때문에 어디에 선언을 해도 무관하나, 가능하면 클래스 선언의 최초 부분에 놓는 것이 좋다.
이런식으로 동작하게 하면 임시 변수의 생성으로 인한 오버헤드가 상당함으로 알 수 있다. 이런 문제를 해결하기 위해서 string 클래스는 자동변환에 의존하지 않고, 피연산자들의 모든 조합에 대해 결합 연산자를 제공한다.
반면 대입연산자는 연산의 결과가 특정 객체에 영향을 주어야 하기 때문에 반드시 클래스의 멤버함수로 작성하는 것이 옳다.
만약 explicit 으로 Vec 클래스의 Vec<T>::Vec(size_type n) 을 정의 했다고 가정하고 다음의 코드를 보자
클래스의 제작자들은 명시적으로 '''변환 연산자(conversion operator)'''를 정의하여 그 객체의 타입이 목적인 객체의 타입으로 변환하는 것을 정하는 것이 가능하다.
그런데 istream 클래스는 istream::operator void*()를 정의하여 만약 입력에 문제가 있으면 void* 형으로 0을 그렇지 않은 경우에는 void* 를 리턴하게 함으로써 마치 bool 형처럼 사용하는 것이 가능하다.
- CppStudy_2002_2 . . . . 22 matches
* C++의 클래스 부분을 미리 여러가지 과제들과 함께 같이 공부하는 공간입니다.
= 스터디 목적 =
= 스터디 계획 =
* 앞으로 스터디 할 기간 : 총 6주, 6번의 모임
* 공부하는 범위 : C++ 기초플러스(성안당) 9장~13장,그 밖의 것
* 각자 '스스로'의 공부를 원칙으로 합니다
|| 7.18 ||["CppStudy_2002_2/객체와클래스"]||["CppStudy_2002_2/슈퍼마켓"]||
|| 7.25 ||["StringOfCPlusPlus"]||11.클래스와 동적 메모리 할당||
|| 8.1 ||["Refactoring/ComposingMethods"]||몇개 소스 리팩토링 해보기||
|| 8.9 ||STL(["STL/vector/CookBook"])과 리펙토링 몇가지||STL(["STL/vector/CookBook"], ["STL"])과 12.클래스 상속||
|| 미정 ||라스트 정리||수고했음다||
* 드디어 스터디는 시작됩니다...^^ 좀 힘들더래도 자신의 '발전'을 위한 거라 생각하시고 열심히 따라와 주세요
언제나 처음의 마음을 잊지말구 해나간다면 우리 스터디는 성공하지 않을까?? -세연
* 얼.........string 다해서 올리려구 했는데 그만 디스켓을 학교에서 안가지구 왔다. 이런일 한두 번 아닌데.......난 왜이럴까.......담부턴 나에게 디스켓 가져가라구 말들 좀 해줘 T.T - 세연
* 소스 올리고 난 다음 코드 리뷰 해보는지? 사람들이 꽤 중복된 코드를 쓴다던지, UI 부분과 로직 클래스 부분이 너무 같이 붙어있다던지 하는 것 같은데.. 재동 당신의 능력을 보여줘; --["1002"]
* 오늘(8월 1일)부터는 당분간 C++ 진도를 잠시 멈추고 제가 요세 공부하는 리펙토링을 소스에 적용해 보도록 하겠습니다
* 이번주는 서로 시간이 딱 엇갈려서 할 수 없이 쉽니다. 숙제는 꼭 하시고 담 스터디 날짜는 이번주내에 공지 하겠습니다 --재동
* 이제 스터디가 모두 끝났군요. 전 여러모로 많은 걸 알고 배운 스터디라 생각합니다. 모두들 이 배운 걸 (지식과 경험 그리고 기타 등등) 잊지않고 더욱더 발전 하는 사람이 되었음 합니다. --재동
- DevelopmentinWindows . . . . 22 matches
* 멀티태스킹 지원
* 멀티스래딩 지원
=== 서브시스템 ===
* Console 서브시스템 - 텍스트 모드 에플리케이션 운영
* '''Windows 서브시스템 - GUI 모드 에플리케이션 운영'''[[BR]]
(앞으로 Windows 서브시스템 기반의 프로그래밍을 윈도우즈 프로그래밍이라고 하겠다.)
* Native 서브시스템 - 디바이스 드라이버 운영
* Windows CE 서브시스템 - Windows CE 에플리케이션 운영
* POSIX 서브시스템 - POSIX 에플리케이션 운영
* 표준 사용자 인터페이스 제공 (["DevelopmentinWindows/UI"])
* 리소스
* 윈도우즈 API를 클래스로 포장하여 제공하는 클래스 라이브러리
=== 리소스 ===
* 아이콘, 커서, 메뉴, 다이얼로그 박스, 비트맵, 폰트, 엑셀레이터 테이블, 스트링 테이블, 버전 정보 등
* ["DevelopmentinWindows/APIExample"] - 소스 보기
* ["DevelopmentinWindows/MFCExample"] - 소스 보기
["데블스캠프2002"], [5인용C++스터디]
- HowToStudyDataStructureAndAlgorithms . . . . 22 matches
처음접하는 것이라면 배열 -> 스택 -> 큐 -> 리스트 -> 트리 순서로 나가는 것이 좋을듯. 정렬과 해싱 이하 뒤의 꺼는 아마 이번달내로 나가기 힘들것 같은데. 트리나 그래프까지만 목표로 잡아도 성공이라고 생각함.
그리고, 자료구조 레포트 선배들이 한 것이 있으니까, 그 문제들 구현을 목표로 잡아도 좋고. (원한다면 보내줄께.) ex) 스택:스택 구현, postfix 의 구현, 계산기 구현. 큐:큐 구현. 리스트:다항식 덧,뺄셈 & 곱셈 구현 (polynomial) 트리:2진트리구현
제가 생각컨데, 교육적인 목적에서는, 자료구조나 알고리즘을 처음 공부할 때는 우선은 특정 언어로 구현된 것을 보지 않는 것이 좋은 경우가 많습니다 -- 대신 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를 잘 못 공부한 사람과 비슷합니다. 이 사람들은 마치 과거 수학 정석을 수십번을 공부해서 문제를 하나 던져주기만 하면, 생각해보지도 않고 자신이 풀었던 문제들의 패턴 중 가장 비슷한 것 하나를 기계적, 무의식적으로 풀어제끼는 "문제풀이기계"와 비슷합니다. 그들에게 도중에 물어보십시오. "너 지금 무슨 문제 풀고있는거니?" 열심히 연습장에 뭔가 풀어나가고는 있지만 그들은 자신이 뭘 풀고있는지도 잘 인식하지 못하는 경우가 많습니다. 머리가 푸는 게 아니고 손이 푸는 것이죠.
이런 학생들이 주어진 알고리즘을 사용하는 소위 "객관식" 혹은 "문제출제자"가 존재하는 시험장 상황 하에서는 뛰어난 성적을 보일것임은 자명하다. 하지만 스스로가 문제와 해답을 모두 만들어내야 하는 상황이라면, 알고리즘을 완전히 새로 고안해내야 하는, 또는 기존 알고리즘을 변형해야 하는 대다수의 상황이라면 어떨까?
교육은 물고기를 잡는 방법을 가르쳐주어야 한다. 어떤 알고리즘을 배운다면, 그 알고리즘을 고안해 낸 사람이 어떤 사고의 과정을 거쳐서 그 해법에 도달했는지를 구경할 수 있어야 하고, 학생은 각자 스스로만의 해법을 차근 차근 "구성"(construct)할 수 있어야 한다(이를 교육철학에서 구성주의라고 하는데, 레고의 아버지이고 마빈 민스키와 함께 MIT 미디어랩의 선구자인 세이머 페퍼트 박사가 주창했다). 전문가가 하는 것을 배우지 말고, 그들이 어떻게 전문가가 되었는가를 배우고 흉내내라.
결국은 소크라테스적인 대화법이다. 해답를 가르쳐 주지 않으면서도, 초등학교 학생이 자신이 가진 지식만으로 스스로 퀵소트를 유도해 낼 수 있도록 옆에서 도와줄 수 있는가? 이것이 우리 스스로와 교사들에게 물어야 할 질문이다.
알고리즘을 공부하면 큰 줄기들을 알아야 합니다. 개별 테크닉들도 중요하지만 "패러다임"이라고 할만한 것들을 알아야 합니다. 그래야 알고리즘을 상황에 맞게 마음대로 응용할 수 있습니다. 또, 자신만의 분류법을 만들어야 합니다. (see also HowToReadIt Build Your Own Taxonomy) 구체적인 문제들을 케이스 바이 케이스로 여럿 접하는 동안 그냥 지나쳐 버리면 개별자는 영원히 개별자로 남을 뿐입니다. 비슷한 문제들을 서로 묶어서 일반화를 해야 합니다. (see also DoItAgainToLearn)
자료구조와 알고리즘은 프로그램을 만드는 데 있어서 중요하다고 생각합니다. 남이 만든 자료구조와 알고리즘을 이용하는데 그치지 말고 스스로 생각하여 만드는 경지에 오르면 좋겠습니다. -[강희경]
- 새싹교실/2011/쉬운것같지만쉬운반/2011.5.3 . . . . 22 matches
9. 각 자료형들의 표현 가능한 범위. 이를 통해 32bit 시스템에서 64bit 시스템으로 바뀌었을 때 달라지는 점들을 간략하게 배워봤다.
* 관련 페이지 : ThreeFs, [http://no-smok.net/nsmk/ThreeFs ThreeFs(노스모크)], [http://no-smok.net/nsmk/FiveFs FiveFs(노스모크)]
* 예를 들어 지난주에 돈가스를 먹은 것에 대해 후기를 쓴다면 : "지난주에 강남에 가서 하나에 5만원하는 돈가스를 먹었다.(사실) 기대를 잔뜩 했는데 별로 맛이 없었다.(느낌) 강남은 땅값이 비싸서 값만 보고 엄청 맛있을거라 기대하면 안된다는 것을 알았다.(깨달은점) 다음에는 미리 인터넷에서 평을 찾아보고 별점이 높은 돈가스집을 찾아서 가봐야겠다.(앞으로의 계획)"
* 지난 시간 배웠던 것을 반복을 했다. 모두에게 문제에 대한 대답을 전부 들었다. 굉장히 의미가 있었다고 생각한다. 스쳐지나가는 기본들을 다시 다잡았다고 생각한다. 잘못알고 있거나 약간 부족하게 알고 있던 내용들을 스스로 피드백을 줌으로서, 정리하게 하였다. 앞으로 마무리 할 때 쯤 다시 한번 이런 시간을 가져야겠다. - [박성현]
3. 소스 코드를 작성한다 -> 컴파일(.obj파일 생성) -> 링크(다른 오브젝트와) = .exe파일 생성
6. 전처리기는 컴파일하기 이전에 소스 코드를 완성시켜주는 역할!
7. 인자 전달받음 -> 첫 번째 인자로 전달받은 문자열에 맞는 스타일로 전달받은 변수의 값들을 서식 문자에 맞추어 바꾸어 기본 출력 스트림으로 출력한다!
-컴파일을 하기 전에 소스 코드에 명령에 맞는 처리를 한다.
9. 각 자료형들의 표현 가능한 범위. 이를 통해 32bit 시스템에서 64bit 시스템으로 바뀌었을 때 달라지는 점들을 간략하게 배워봤다.
32비트 시스템에선 램디스크로 놀고 있는 램마저 알뜰하게 써주는 센스가 필요합니다.
(ex.램에다가 윈도우 환경변수를 저장,각종 웹브라우저 캐시 저장. 컴을 끌때 램에있던건 하드로 갔다가 컴을 켤때 다시 불러옴. 가끔 램디스크가 사라져 당황스럽게 되는게 단점)
- 열린제로페이지 . . . . 22 matches
'숨쉬는독'군은 평소 관심이 많던 보안 관련 스터디를 하고 싶은데 어떻게 시작하면 좋을지 잘 모르는 초보자이다. 앞서 공부했던 선배의 조언을 듣고 싶고, 또 같이 공부할 사람이 있으면 좋겠다는 생각이 들었다. 그리고 자신이 공부한 내용을 나중에 공부할 사람과 공유하며 같이 발전하길 원했다. 그러나 그가 속한 '우드페이지'란 학회에는 보안에 관심이 있는 사람이 그렇게 많지 않았다. 결국 '숨쉬는독'군은 선배, 동기를 모아(공교롭게도 그들은 '우드페이지' 회원이 아니었다.) 보안학회 '까스'를 만들기로 결심을 한다. 그러나 관련 분야 초보자가 새로운 학회를 만들기란 무척 버거운 일이었다. 결국 그가 만든 보안학회는 좌초되었다.
'숨쉬는독'군은 평소 관심이 많던 보안 관련 스터디를 하고 싶은데 어떻게 시작하면 좋을지 잘 모르는 초보자이다. 앞서 공부했던 선배의 조언을 듣고 싶고, 또 같이 공부할 사람이 있으면 좋겠다는 생각이 들었다. 그리고 자신이 공부한 내용을 나중에 공부할 사람과 공유하며 같이 발전하길 원했다. 그래서 그는 과내 학회 '오픈페이지'에 보안 스터디 그룹 '까스'를 조직하고 사람을 모았다. 중앙대학교 컴퓨터 공학과 학생이라면 누구나 거리낌없이 참여할 수 있는 학회 '오픈페이지'에 보안에 관심있는 사람들이 새로 모였다. 보안 스터디 '까스'는 '오픈페이지'의 위키위키에 보안에 대한 화두 정도를 던져놓고 해체되었다.
'배장이'군은 새내기 시절 사람과 어울리는게 마냥 좋아서 전공 공부는 뒷전이고 선배, 동기들과 어울려 노는게 제일 좋았다. 그러나 학년이 올라가면서 실속을 차려야겠단 생각이 들었고, 이에 따라 전공 공부에 관심과 열의를 조금 늦게 갖게 되었다. 마침 늦바람을 자극하는 주제인 MFC 스터디가 학회 '우드페이지'에서 시작되려한다는 것을 알았지만 '배장이'군은 '우드페이지' 회원이 아니기에 아쉬워 하며 술잔만 비운다. 그러다 '배장이'군은 평소 친분이 있는 집행부 선배와 동기들과 같이 방학동안에 스터디를 한다.
'배장이'군은 새내기 시절 사람과 어울리는게 마냥 좋아서 전공 공부는 뒷전이고 선배, 동기들과 어울려 노는게 제일 좋았다. 그러나 학년이 올라가면서 실속을 차려야겠단 생각이 들었고, 이에 따라 전공 공부에 관심과 열의를 조금 늦게 갖게 되었다. 마침 그의 늦바람을 자극하는 주제인 MFC 스터디가 학회 '오픈페이지'에서 시작되려한다는 것을 알고서 '배장이'군은 '오픈페이지' 에 스터디 동참 의사를 밝힌다. 비록 스터디 팀원들과는 학번 차이는 나지만 비슷한 실력으로 인해 '배장이'군은 무리없이 스터디에 합류하고 성과를 얻을 수 있었다.
전체적인 부분에 대한 고민은 부족하지만, 한가지 사실을 간과하는듯 하여 글을 남깁니다. 현 시점에서 제로페이지는 자선 단체가 아닙니다. 누군가 자신의 잉여 시간을 투자하여, 원할한 스터디나 프로젝트를 위해 돕는게 아닙니다. 시나리오 1-1, 2-1에서의 이유는 '누군가 뒷바라지를 안해줘서', '기대고 들어올 틈이 보이지 않아서' 라는게 주요한 이유로 보이지만, 현재로선 이러한 상황에 대한 여유가 없었고 또한 학회가 생긴 본래의 목적은 아니었기 때문입니다. 오히려 반문해볼 수 있습니다. 제로페이지에 들어오는데 누구도 막은 일이 없는것으로 알고 있습니다.(제가 학교에 없을때의 일은 모르겠습니다.) 진입장벽 이야기는, 어느 모임에나 있습니다. '모임에 처음나갔는데 아는 사람끼리만 이야기 하고 너무 서먹하더라'로 귀결되는 이야기는 여타의 동호회에서도 쉽게 찾아볼 수 있는 문제점 입니다. 모임에 들어오고자, 모임에서 어떤 내용을 얻고자 한다면 노력이 있어야 하는건 당연합니다. 애초에 그러한 접근 자체를 차단한다면 문제가 되겠지만, 현재는 말이 제로페이지로 묶여있는 상태이지 교류는 제한을 두지 않는것으로 압니다. 예를들어, 나우누리라는 통신회사가 자료를 누구나 쓸 수 있게 공개를 하지 않았다 하여, 나우누리는 정보 공유의 진입 장벽이 될 뿐이다. 라고 비난할 수는 없는 노릇입니다.
적극성이면 무엇이든 된다는, 이런 경우도 있습니다. 저희 고등학교 졸업때, 폐쇄적인 천체 관측 동아리의 회장은, 2학년때(1학년이 아닌) 중간에 그냥 끼어서 회장이 된 케이스가 있었구요. 좀 특별한 케이스죠. 저도 1학년때 축구하고 싶어서 어느날 무작정, 일요일 아침에 축구하는 동호회에서 껴서 한적이 있었지만(지금이야 그만 뒀지만 --;).. 대체 zp가 어떻게 해야 할까요? [[BR]]
zp 가 학회이지만, 과 내의 모든 공부를 책임져야하는 것 같은 맨 위의 시나리오는 마음에 와닫지 않는다. 원한다면 얼마든지 스스로 길을 찾으라고 하고 싶다. 두리뭉실하게 zp 가 열려있다면 구성원들의 구속력이 불분명한 패닉에 빠질것이다. --박지환
'''과내의 모든 스터디 그룹, 프로젝트 팀은 제로페이지를 통해 공부해야만한다.''' 라고 주장한 사람은 없습니다. 스스로 길을 찾되, 찾은 길이 학과내 사람들과 학술적 정보를 공유하는 장으로서의 제로페이지라면 막지 말아야 한다는 주장입니다. 목적성이나 운영체계가 명확하지 않고 두리뭉실한 상태의 ["열린제로페이지"]라면 패닉상태에 빠질것이란 말에는 공감합니다. --이덕준
["열린제로페이지"] 론에 대해서는 회원모집 방식 외에 다른 점은 그다지 보이지 않네요. (Web 에 대해서는 우리가 Closed User Group 을 표방하는 것도 아닌이상) 그렇다면 회원 모집방식에 촛점을 맞춘다고 할때, 회원 모집방식을 수시모집방식으로 하던지. 정모가 이제는 한달 2번이니까, 그때 논하는 방식으로 바꿀 수 있겠죠. 하지만, 기존 데블스 통합때의 약속에 대해 생각해볼 필요가 있다고 보이네요.
- 5인용C++스터디/후기 . . . . 21 matches
우선 처음 시작했던 사람들 모두가 함께 끝낼 수 있어서 이번 스터디는 그럭저럭 잘 끝난것 같습니다. 스터디 내용이 좀 많았지만 발표 준비도 잘 해 주었고, 숙제도 잘 하며 잘 따라와준것 같습니다. 이번 스터디가 얼마나 도움이 되었는지는 모르겠지만 지금까지 배운것 보다 좀 더 풍부한 경험이 되었다면 충분히 얻은것이라 생각합니다~ 앞으로는 관심분야를 잘 찾아서 스스로 스터디를 열고 열심히 공부하는 모습을 볼 수 있기를 바랍니다~^^ 다들 수고하셨습니다!
그래도 꾸준히 진도를 나가면서 전반적인 부분을 알게된 것 같네요. 많이 도움이 되었구요. 그리고 시스템체계에대해서도 약간 알았는데 앞으로도 공부하면서 더 많이 알아야 겠다는 의욕도 생기네요. 앞으로도 친구들과 스터디그룹을 만들어서 서로 공부하면서 선배님들께 물어보기도해야겠고^^; 글구 이번에 MFC를 배운것이 MFC를 공부하는데 이젠는 책을 보면 어느정도 할 수 있을 꺼 같아 좋은 것 같습니다.
문법이 복잡하고 어려워서 정말 힘들었지만 그에 대한 두려움을 조금이나마 극복하게 된것 같습니다. MSDN 찾아보면서 숙제를 완성시키는 과정이 나름대로 만족스러웠습니다. MFC의 메시징 시스템 등의 체계, 윈도우 메시지의 작동 원리 등을 완벽히 이해하고 싶다는 생각이 듭니다. 스터디를 어떤 식으로 준비하고 발표해야될지 알게 되었고 윈도우 프로그램을 보면 어떤 식으로 만들었는지 대략 알 수 있는 능력이 생긴 것 같습니다. 다음 스터디부터 더욱 열심히 하고 싶습니다.
처음에는 의욕적으로(하핫) 스터디 나오면서 MFC를 알아가게 되었는데요.. 나중에는 몇번 빠지다 보니 저도 모르게 흐트러지고 있었네요. 그래도 모두들 꾸준히 나오는 것을 보고 저도 끝까지 나올수 있었습니다 ^^. 무엇보다 개인별로 발표 준비를 하면서 스스로 알아갈 수 있었다는 점이 좋았구요, 그 덕분에 스터디를 집까지 연장할 수 있었습니다.
스터디 좋았구요~ 다음에 또 봐요~
중간에 빠졌던 날이 좀 부담됐지만 ! 결국 끝까지 4번 결석 압박을 견뎌내며 스터디를 마무리해서 기쁘네요.ㅋㅋ MFC를 했으니 이제 부담은 많이 줄었고요. 더불어 새 언어를 배우는데도 부담스럽지 않을 거라는 생각도 드네요. 자. 다음 스터디를 향해 전진~!
[5인용C++스터디]
- EightQueenProblemDiscussion . . . . 21 matches
말 그대로 그냥 정공법 (이 될지는 모르겠지만. -_-;)으로 나갔다. 여기서는 테스트 코드로 대신을..
맨 처음에는 해당 체스판에 대한 적절한 처리를 하는 것 부터 접근해 나아갔다. 판에 퀸을 놓는 것 부터 시작.
해당 level (0번째줄~7번째줄) 에 대해서 공격당하지 않는 위치를 얻어내기 위한 리스트 (정확히는 튜플)를 얻어내는 부분.
자신에게 항상 "What is the simplest thing that could possibly work?"라는 질문을 하면서 TestDrivenDevelopment를 했나요? 테스트/코드 사이클을 진행하면서 스텝을 작게 하려고 노력했나요? 중간에 진척이 별로 없는 경우, 어떤 액션을 취했나요? 그 때 테스트 사이클의 스텝을 더 작게하려고 했나요? 만약 다시 같은 문제를 새로 푼다면 어떤 순서로 테스트를 하고 싶나요? (직접 다시 한번 새로 시작하는 것도 강력 추천) 왜 다른 사람들에 비해 시간이 상대적으로 많이 걸렸을까요? 테스트 코드를 사용한 것이 그 시간만큼의 이득이 있었나요? TestDrivenDevelopment를 해내가면서 현재 패스하려고 하는 테스트 케이스에서 무엇을 배웠나요? 켄트벡이 말하는 것처럼 사고의 도구가 되어 주었나요? 참고로 저는 EightQueenProblem을 파이썬으로 약 30분 정도 시간에 50 라인 이내로(테스트 코드 제외) 풀었습니다. TestDrivenDevelopment로요. --김창준
즉, 실제 Queen의 위치들을 정의하는 재귀호출 코드인데요. 이 부분에 대한 TestCase 는 최종적으로 얻어낸 판에 대해 올바른 Queen의 배열인지 확인하는 부분이 되어야 겠죠. 연습장에 계속 의사코드를 적어놓긴 했었는데, 적어놓고 맞을것이다라는 확신을 계속 못했죠. 확신을 위해서는 테스트코드로 뽑아낼 수 있어야 할텐데, 그때당시 이 부분에 대해서 테스트코드를 못만들었죠.
지금이라면 'Level 8일때 바로 판을 찍지 않고, 저 상황의 데이터구조체를 그대로 복사해서 결과만 넣어놓는 리스트를 하나 더 만들고, 그 결과들에 대해 올바른 배열을 했는지 테스트하는 코드를 뽑아낼 수 있겠다' 라는 아이디어가 떠오르긴 하네요. (그렇더라도 100라인은 넘어갈것 같긴 하네요. ^^;)
사고의 도구로써는 연습장과 TFP 둘 다 이용했지만, 순수하게 적용하지는 않았습니다. (위의 Queen을 놓는 부분에 대한 재귀호출부분에서는 적용못함) 테스트작성시간/코드작성시간 등에 대한 관리는 하지 않았습니다. (이 부분에 대해서는 반성을. ^^;) 흠.. 그리고 'The Simplest Thing'을 찾아나갔다기 보다도, 이미 해당 문제에 대해서 의사코드를 생각하고, 해당 코드에 대해 Top-Down 형태로 모듈을 나눈뒤에 모듈에 대해 테스트를 만들어갔다는 생각이 드네요. --석천
* 말에 대한 정보를 체스판에만 가지게 하였다. (문제 분석 소홀히한 댓가 TT)
적당한 자료구조를 끝까지 찾지 못해 헤맸다는 느낌입니다. 처음 TDD를 접하는 파트너로서는 테스트를 빨리 이해할 수 없어서 한 동안 페어 사이에 공백이 느껴졌습니다. 속도를 늦추고 파트너에 맞추자, 파트너가 드라이브를 하는 의욕을 보였습니다. 완성하지 못해 다른 이의 코드와 비교하는 시간이 없어서 안타깝습니다.
- Java Study2003/첫번째과제/곽세환 . . . . 21 matches
자바는 C++와는 달리 처음부터 객체지향 개념을 기반으로 하여 설계되었고, 객체지향 언어가 제공해 주어야 하는 추상화(Abstraction), 상속(Inheritance), 그리고 다형성(Polymorphism) 등과 같은 특성들을 모두 완벽하게 제공해 주고 있습니다. 또한, 자바의 이러한 객체지향적 특성은 분산 환경, 클라이언트/서버 기반 시스템이 갖는 요구사항도 만족시켜 줄 수 있습니다.
자바는 컴파일 시에 에러 검사를 철저하게 하고, 실행 시에 발생할 수 있는 에러에 대해서도 실행 시에 철저하게 검사를 수행함으로써 신뢰도가 높은 프로그램을 작성할 수 있도록 해 줍니다. 또한, C/C++ 프로그램 개발자들을 가장 혼란스럽게 하고, 프로그램의 치명적인 오류를 발생시킬 수 있는 포인터 및 포인터 연산을 자바에서는 사용하지 않게 함으로써, 포인터를 사용함으로써 프로그래머가 범할 수 있는 오류를 없앴다는 것입니다.
자바는 분산환경에서 작동하도록 설계 되었습니다. 그러나, 자바는 자바 언어와 자바 런타임 시스템 내에 보안 기능이 내재되어 있기 때문에 보안성이 있는 프로그램을 개발할 수 있도록 해 줍니다. 이러한 특성은 자바 프로그램이 네트웍 환경에서 바이러스 등과 같은 프로그램이 파일 시스템을 파괴하려는 것을 막을 수 있도록 해 줍니다.
자바는 서로 다른 이종(Heterogeneous)의 네트워크 환경에서 분산 되어 실행될 수 있도록 설계되었습니다. 이와 같은 환경에서는 응용 프로그램들이 다양한 하드웨어 아키텍쳐 위에서 실행될 수 있어야만 합니다. 이를 위해 자바 컴파일러는 이종의 하드웨어 및 소프트웨어 플랫폼에서 효율적으로 코드를 전송하기 위해 설계된 아키텍쳐 중립적인 중간 코드인 바이트코드를 생성합니다. 이는 동일한 자바 프로그램의 자바 바이트코드가 자바 가상머신이 설치되어 있는 어떤 플랫폼에서도 실행될 수 있도록 하는 것입니다. 또한, 자바는 기본 언어 정의를 엄격하게 함으로써 효율적인 이식성을 제공해 주고 있습니다. 예를 들어, int 형과 같은 기본 데이터형의 크기를 플랫폼과 무관하게 일정하게 하고, 연산자의 기능을 확실하게 규정하고 있습니다. C 언어를 이용하여 int 형을 선언할 때, 도스에서는 16비트, 윈도우 95/98/NT 등 32비트 운영 체제 환경에서는 32비트, 유닉스에서는 32비트 등 그 플랫폼에 따라 크기가 다르지만, 자바에서는 플랫폼에 상관없이 32비트로 고정되도록 하였습니다. 이는 자바 프로그램이 실행되는 환경이 자바 가상머신으로 동일하기 때문입니다.
자바에서는 인터프-리터가 런타임 환경을 검사할 필요 없이 실행될 수 있도록 구성하였기 때문에 뛰어난 성능을 제공해 줍니다. 쓰레기 수집기(garbage collector) 즉 메모리 관리자는 자동으로 낮은 우선순위의 백그라운드 스레드로 실행되어 메모리가 필요할 때에만 동작하도록 함으로써, 자바 가상머신에게 무리를 주지 않으면서 보다 나은 수행 성능을 제공할 수 있도록 해 줍니다. 또한, 방대한 양의 계산을 수행하는 프로그램은 계산이 많은 부분을 본래의 플랫폼에 해당하는 기계어 코드로 재작성하여 자바 프로그램과 인터페이스 할 수 있도록 하였습니다.
자바 언어로 작성된 자바 프로그램을 중간언어 형태인 자바 바이트코드로 컴파일하고, 이렇게 생성된 자바 바이트코드를 자바 인터프리터가 해석함으로써, 자바 인터프리터와 런타임 시스템이 이식(porting)된 모든 플랫폼에서 자바 바이트코드를 직접 실행할 수 있습니다.
다중 스레드(Multi-thread)를 지원한다:
자바의 다중 스레드 기능은 동시에 많은 스레드를 실행시킬 수 있는 프로그램을 만들 수 있도록 해 줍니다. 자바는 동기화 메소드들을 기본적으로 키워드로 제공함으로써, 자바 언어 수준에서 다중 스레드를 지원해 줍니다. 자바 API에는 스레드를 지원해 주기 위한 Thread 클래스가 있으며, 자바 런타임 시스템에서는 모니터와 조건 잠금 함수를 제공해 줍니다.
자바 바이트코드 명령어를 해석하고, 이를 자바 인터프리터가 설치되어 있는 플랫폼(윈도우 95/98/NT, 유닉스, 매킨토시 등)에 맞게 실행시켜 줍니다.
JDK와 함께 제공되는 자바 가상머신에 의해 독립적으로 실행될 수 있도록 작성된 자바 프로그램입니다. 다시 말해서, 여러분의 컴퓨터에서 윈도우의 도스창 또는 유닉스 쉘 등과 같은 쉘에서 자바 가상머신을 이용하여 실행시키는 자바 프로그램입니다. 위에 나오는 그림은 자바 애플리케이션의 실행 과정을 자세히 보여주고 있습니다.
델파이 또는 비주얼 베이직을 이용하여 프로그램을 작성할 때, 버튼이나 창과 같은 컨트롤들을 마우스로 끌어다 프로그램 내에 삽입할 수 있도록 되어 있는데, 이와 마찬가지로 자바 빈은 하나의 완벽한 기능을 갖고 재사용될 수 있도록 만들어진 소프트웨어 컴포넌트입니다. 마이크로소프트에서 제공되는 ActiveX 컴포넌트와 같이 자바에서 컴포넌트 프로그램을 가능하도록 해 줍니다.
- Java Study2003/첫번째과제/방선희 . . . . 21 matches
* VM이란? : 자바 언어 및 그 실행 환경의 개발자인 썬 마이크로시스템즈에 의해 사용된 용어이며, 컴파일된 자바 바이너리 코드와, 실제로 프로그램의 명령어를 실행하는 마이크로 프로세서(또는 하드웨어 플랫폼) 간에 인터페이스 역할을 담당하는 소프트웨어를 가리킨다.
* 2. 서블릿이나 JSP 는 J2EE의 구성원들로서 서버사이드 스크립트라고 합니다. JSP가 만들어진 이유가 뭐냐하면, 서블릿의 문제점을 해결하기 위해서라고나 할까... 웹 프로그래밍이란게 본질적으로 웹디자이너와의 협력이 불가피한데 서블릿의 경우에는 DISPLAY 부분을 수정하기 위해서 웹디자이너가 접근하기 어렵다는 단점이 있죠.. 이때문에 JSP가 만들어졌다고 알고 있습니다. JSP라는 파일은 웹 디자이너가 페이지를 수정하기 편하게 되어있다는게 장점이죠. JSP가 컴파일되면 서블릿이 됩니다.(이게 전부임...) 그리고 서블릿이 실행되면 실제 HTML 페이지가 클라이언트에게 전송되는 것입니다.
빈즈에 대해서 이야기 하자면 웹 서비스라는 큰 테두리 내에서 이야기를 해야 하는데, 간단하게 말하자면 빈즈라는 것이 만들어진 이유는 프로그램의 DISPLAY 부분과 LOGIC 부분을 분리해서 좀 더 확장성있고 유연한 시스템을 개발하고자 하는 취지에서 탄생한 것입니다.(언뜻 이해가 안될 수도 있음...)
프로그래밍을 할때 데이터베이스에 대한 접근이라든가 또는 다른 시스템에 대한 참조를 할때 굳이 그 시스템에 대해서 세세하게 알필요 없이 그저 외부에 주어진 인터페이스만을 이용해서 접근하면 됩니다. (예를 들자면 어떤 기능을 이용할때는 이런 메소드를 호출하면 된다. 어떤 값을 저장하기 위해서는 이런 메소드로 접근하면 된다 정도). 빈즈에 대한 내용은
* Java란 프로그램언어는 enterprise 급 기업의 web시스템에서부터 작은 핸드폰에 이르기까지어디든지 사용할 수 있다. 다시 말해 Java를 할 줄 알면 어느 곳에나 적용 가능한 프로그램을 개발 할 수 있다는 말이다. 그 뿐만 아니라, Java로 개발된 시스템은 다른 언어로 개발된 시스템보다도 훨씬 쉽게 확장이 가능하다.
예를 들어 Java로 인사시스템을 개발하여 운영하고 있다가, 새로운 급여 시스템을 개발하고자 한다고 가정하자. 이때 Java는 다른 언어에 비해 기존 시스템과 쉽게 연동가능하며, 혹 기존 시스템이 Java가 아니더라도 그 일은 가능하다.
* Java는 보안능력이 뛰어나다. 예를 들어 네트워크를 통해 내 PC로 download된 Java로 개발된 프로그램은 일반적으로 그 능력이 제한된다. 다시 말해 바이러스처럼 작용할 수 없다는 말이다 (이점은 MicroSoft의 Active X와 비교된다).
기존에 Sun OS에서 Java로 개발한 인사시스템을 Windows NT로 이관하고 싶다. 이때 프로그램 수정없이 가능할까? Windows NT를 지원하는 JDK가 있다면 가능하다. 그러고 Windows NT를 지원하는 JDK는 있다.
예를 들어 A라는 회사에서 인사 시스템을 Java로 개발하여 사용하고 있다고 가정하자. 다른 B라는 회사에서도 같은 인사 시스템을 개발하고자 한다면, B회사는 A회사의 인사 시스템 중 승진과 관련된 일부분을 가져와 그대로 사용할 수 있다.
- 데블스캠프2012 . . . . 21 matches
= 데블스 캠프 2012 =
= 데블스 강의 테이블 =
* 강사님들. 각 강의마다 페이지 만드실때 '''데블스캠프2012/첫째날''' 형식으로 만들어주세요.
|| 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 ||
|| 3 |||| 배웠는데도 모르는 C |||| [http://zeropage.org/index.php?mid=seminar&category=61948 APM Setup] |||| 소켓, 웹, OpenAPI |||| |||| [:데블스캠프2012/넷째날/묻지마Csharp 묻지마 C#] |||| C로배우는 C++의원리 || 10 ||
|| 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 ||
|| 8 |||| 페챠쿠챠 |||| Kinect |||| [:데블스캠프2012/셋째날/앵그리버드만들기 앵그리버드 만들기] |||| |||| 새내기를 위한 파일입출력 |||| CSE Life || 3 ||
|| 웹 서비스 구축 전반에 관한 이야기 || [유상민](9기) ||
|| 테스트를 위한 CTIP || [서영주](외부강사) ||
|| [wiki:데블스캠프2012/첫째날/후기 첫째날 (월요일)] ||
|| [wiki:데블스캠프2012/둘째날/후기 둘째날 (화요일)] ||
|| [wiki:데블스캠프2012/셋째날/후기 셋째날 (수요일)] ||
|| [wiki:데블스캠프2012/넷째날/후기 넷째날 (목요일)] ||
|| [wiki:데블스캠프2012/다섯째날/후기 다섯째날 (금요일)] ||
* [데블스캠프2012/준비]
[데블스캠프], [2012년활동지도]
- 창섭/배치파일 . . . . 21 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[:]문자열 : 사용자가 선택할 수 있는 키목록을 [] 괄호 내에 ', ' 로 구분하여 출력하고 /C 스위치를 사용하지 않으면 기본적으로 YN이 사용됩니다.
- %%<변수>, &<변수> : 변수로 사용되는 것은 임의의 영문자로 1자만 허용됩니다. 주의할 점은 배치파일에서 사용할 경우는 반드시 %%처럼 두개를 연달아 사용해야 하며, 일반 도스 프롬프트에서 사용할 때는 % 하나만 사용합니다.
- <집합> : %%<변수>에 대입하고 싶은 값을, 또는 스페이스로 구분하여 대입하고 싶은 순서대로 나열합니다.
for %d in (read,wh,file) do hlist %d*.* ☞ 도스 프롬프트에서 실행시
- <문자열1> == <문자열2> : <문자열1> 과 <문자열2> 가 같을 때에만 참이되고 <명령>이 실행됩니다. 주의할 점은 문자열의 대,소문자가 구별되며, 문자열중에 구분기호(콤마,스페이스,세미콜론,등호,탭)가 포함되어 있으면 않됩니다.
- 02_Python . . . . 20 matches
* 마지막으로 후배들과 같이 파이썬 스터디를 할수 있기를 바라는 바램
* 가장 정확하게 말하자면 객체 지향 스크립 언어이다. (see also Ousterhout's IEEE Computer article ''Scripting: Higher Level Programming for the 21st Century'' at http://home.pacbell.net/ouster/scripting.html )
* GUI , 시스템 유틸리티 , AI , 인터넷 스크립팅 등에 사용할수 있는 언어이다.
* Red Hat의 리눅스 인스톨러인 아나콘다는 파이썬으로 짜여져 있다
* NASA 는 임무 제어 시스템에 파이썬을 사용한다
'' C 나 C++ 은 소스를 한꺼번에 다 치고서 나중에 "컴파일" 하는식이지만 Python 의 경우 자신이 쓰는 라인마다 읽혀들어간다. ''
== C 와 C++ 과 Java 와 Python 의 간단한 소스 비교 ==
리스트 [1,[2, 'three'],4]
s2[i] 인덱스
s2[1:j] 슬라이스
=== 리스트 ===
L1 = [] 빈리스트
* 리스트와 비슷하나 리스트와는 다르게 객체 간의 순서를 가지지 않는 객체들의 집합이다
* 리스트와 같은 방식으로 동작하지만 객체의 내용을 바꿀수 없다.
For/else 시퀀스 반복 for x in mylist: print x
Global 네임 스페이스 def function(): global x,y; x = 'new'
- 5인용C++스터디/에디트박스와콤보박스 . . . . 20 matches
* 에디트박스는 어떻게 만드나?
* 에디트박스의 내용을 어떻게 얻어오나?
* 콤보박스에는 어떤 종류가 있나?
* 콤보박스는 어떻게 만드나?
* 콤보박스에 어떻게 아이템을 추가하나?
* 콤보박스의 내용을 어떻게 얻어오나?
* 다이얼로그 박스에서 만들고 사용하는 방법을 발표하면 안됨!
* 리스트박스에 대하여...
에디트 컨트롤은 CEdit 클래스로 표현된다. 멤버함수는 다음과 같다.
Paste / 클립보드의 텍스트를 붙여넣는다.
첫 번째 인수로 에디트의 스타일을 주되 에디트는 메인 윈도우가 될 수 없으므로 WS_CHILD 스타일을 주어야 하고 생성하자마자 보여야 하므로 WS_VISIBLE 스타일을 주어야 한다. 또한 에디트는 디폴트로 경계선을 가지지 않으므로 WS_BORDER 스타일을 주어야 보이게 된다. 두 번째 인수로 에디트가 차지할 사각영역을 주고 세 번째 인수로 에디트의 부모 윈도우의 포인터를 준다. 마지막 인수인 nID는 에디트 컨트롤의 ID이되 통지 메시지를 처리하지 않을 경우는 ID를 주지 않아도 상관없다.
이렇게 Create 함수로 만든 에디트의 통지 메시지는 어떻게 처리해야 할까. 클래스 위저드가 메시지 핸들러를 만들 때 해주는 세가지 동작을 프로그래머가 직접 해줘야 한다. 우선 메시지 맵에서 메시지와 메시지 핸들러를 연결시켜 준다. ON_EN_CHANGE 매크로에 의해 IDC_MYEDIT 에디트가 EN_CHANGE 메시지를 보내올 때 OnChangeEdit1 함수가 호출된다.
EN_HSCROLL / 사용자가 수평스크롤 바를 클릭하였다.
EN_VSCROLL / 사용자가 수직스크롤 바를 클릭하였다.
EN_KILLFOCUS/ 포커스를 잃었다.
EN_SETFOCUT / 포커스를 얻었다.
- ProgrammingWithInterface . . . . 20 matches
책에서는 말한다. 많은 개발자들이 [[OOP#s-1.2|인터페이스]] 보다는 [[OOP#s-1.2|상속]]을 사용하여 개발한다고... 그렇다! 사실이다. 나도 여지껏 인터페이스로 무장한 코드를 보지 못했다.
언제나 개발을 할 때 '어라~ 같은 일 하는데? 이거 Base 클래스 만들어서 위로 올려야 겠는데?' 일말의 틈도 주지 않고 실행한다. 다형성을 사용하는 코드를 생성한다. '와우~! 한결 깔끔해 졌는걸?' 하지만 오산이었다. 시간이 지나서 먼가 추가할 동작들이 생겼다. 이제 고치기 시작한다. Base 클래스 부터... 고치고 나니 컴파일이 되지 않는다. 코드 수정의 여파가 하위 클래스들에게 까지 미친다. 정말 미친다. 이런 상속을 통한 계층 구조는 상위 클래스와 하위 클래스의 결합도를 높여준다. 지나 치게 크게..! 동감하지 않는가? 하나를 고쳤는데 수정할 꺼리가 마구 쏟아지는 상황을...
상속을 사용하는 상황을 국한 시켜야 할 것같다. 상위 클래스의 기능을 100%로 사용하면서 추가적인 기능을 필요로 하는 객체가 필요할 때! .. 이런 상황일 때는 상속을 사용해도 후풍이 두렵지 않을 것 같다. GoF의 책이나 다른 DP의 책들은 항상 말한다. 상속 보다는 인터페이스를 통해 다형성을 사용하라고... 그 이유를 이제야 알 것같다. 동감하지 않는가? Base 클래스를 수정할 때마다 하위 클래스를 수정해야 하는 상황이 발생한다면 그건 인터페이스를 통해 다형성을 지원하는게 더 낫다는 신호이다. 객체는 언제나 [[SOLID|SRP (Single Responsiblity Principle)]]을 지켜야 한다고 생각한다.
자 모든 값을 clear 를 사용해 삭제했는데 topOfStack의 값은 여전히 3일 것이다. 자 상속을 통한 문제를 하나 알게 되었다. 상속을 사용하면 원치 않는 상위 클래스의 메소드까지 상속할 수 있다 는 것이다.
상위 클래스가 가지는 메소드가 적다면 모두 [오버라이딩]하는 방법이 있지만 만약 귀찮을 정도로 많은 메소드가 있다면 오랜 시간이 걸릴 것이다. 그리고 만약 상위 클래스가 수정된다면 다시 그 여파가 하위 클래스에게 전달된다. 또 다른 방법으로 함수를 오버라이딩하여 예외를 던지도록 만들어 원치않는 호출을 막을 수 있지다. 하지만 이는 컴파일 타임 에러를 런타임 에러로 바꾸는 것이다. 그리고 LSP (Liskov Sustitution Principle : "기반 클래스는 파생클래스로 대체 가능해야 한다") 원칙을 어기게 된다. 당연히 ArrayList를 상속받은 Stack은 clear 메소드를 사용할 수 있어야 한다. 그런데 예외를 던지다니 말이 되는가?
자.. Stack과 ArrayList간의 결합도가 많이 낮아 졌다. 구현하지 않은 clear 따위 호출 되지도 않는다. 왠지 합성을 사용하는 방법이 더 나은 것 같다. 이런 말도 있다. 상속 보다는 합성을 사용하라고... 자 다시 본론으로 들어와 저 Stack을 상속하는 클래스를 만들어 보자. MonitorableStack은 Stack의 최소, 최대 크기를 기억하는 Stack이다.
"위임(합성)을 통해 인터페이스를 구현하자." 라는 결론이 나온다.
- UnixSocketProgrammingAndWindowsImplementation . . . . 20 matches
페이지의 컨텐츠를 보아하니, 따로 페이지를 뽑아내도 될것 같아 [문서구조조정] 하였습니다. 원래 페이지 이름은 '''데블스캠프2005/Socket Programming in Unix/Windows Implementation'''였습니다. - [임인택]
// 성공 시 파일 디스크립터, 실패 시 -1 리턴
PF_UNIX : 유닉스 방식의 프로토콜 체계 사용 (프로세스간 통신)
PF_NS XEROX : 네트워크 시스템의 프로토콜 체계 사용
=== type: 서비스 타입 ===
SOCK_STREAM : 스트림 방식의 소켓 생성 (TCP/IP)
AF_UNIX : 유닉스 파일 주소 체계
ntohs(): network-to-host 바이트 변환 (해당 시스템)
ntohl(): network-to-host 바이트 변환 (해당 시스템)
// 따라서 Little_Endian을 사용하는 시스템에서는 Big-Endian으로 바꿔줘야한다.
// 성공 시 파일 디스크립터, 실패 시 -1 리턴
// 타 시스템으로 이식을 위해 되도록 send를 사용하는 것이 좋다.
// 타 시스템으로 이식을 위해 되도록 send를 사용하는 것이 좋다.
◎ Visual C++에서 빈 소스 파일 하나를 연다.
// 소켓 디스크립터 // 소켓 핸들
// 프로그램이 끝날 때, 항상 WSACleanup()으로 리소스를 해제해야한다.
// client와의 데이터 전송을 위해 client 소켓 디스크립터가 필요하다.
// exit로 종료를 하면 모든 파일 디스크립터를 자동으로 닫고 종료한다.
※ 컴퓨터는 하나의 처리밖에 하지 못한다. 따라서 위의 소스는 하나의 client밖에 받아 들일 수 밖에 없다.
- 2006년4학년1학기수업 . . . . 19 matches
|| 1(9:00) || || 전자상거래 4452 || || 전자상거래 4452 || LINUX시스템 4452 ||
|| 2(10:00) || || 전자상거래 4452 || || LINUX시스템 4452 || LINUX시스템 4452 ||
|| 3(11:00) || || 운영체제설계 4453 || 데이타베이스 4551 || 운영체제설계 4453 || ||
|| 4(12:00) || 데이타베이스 4551 || || 데이타베이스 4551 || 운영체제설계 4453 || ||
서울 22390 - 01 프로그래밍실습(1) 컴퓨터공학부 전공 봅스트홀 컴퓨터공학과실습실3(수10,7,8,9)
서울 32732 - 01 고급프로그래밍실습(1) 컴퓨터공학부 전공 봅스트홀 컴퓨터공학과실습실3(월9,10,11,12)
서울 31582 - 01 데이터베이스프로그래밍실습 컴퓨터공학부 전공 한상만 봅스트홀 컴퓨터공학과실습실3(목10,7,8,9)
일단 신청해 놓으세요. 구피에서 수업하면 20명 정원이니 나중에 신청하기 힘들어요. 교수님이나 조교에 따라 스타일이 다르니 수업을 어떤 식으로 진행할지는 모르겠네요. 저는 고급(1)신청할래요~ -- 재선
|| 1(9:00) || || 전자상거래 4452 || || 전자상거래 4452 || LINUX시스템 4452 ||
|| 2(10:00) || || 전자상거래 4452 || || LINUX시스템 4452 || LINUX시스템 4452 ||
|| 3(11:00) || || || 데이타베이스 4551 || || 공업수학 ||
|| 4(12:00) || 데이타베이스 4551 || 공업수학 || 데이타베이스 4551 || || 공업수학 ||
데이터베이스 : 05484-01
리눅스 : 27883-01
- 2ndPCinCAUCSE/ProblemB . . . . 19 matches
B 번 문제 : 촌수 계산. 소스파일 이름 : bbb.c or bbb.cpp
입력은 표준 입력이다. 입력의 첫줄에 테스트 케이스의 개수를 나타내는 정수 T(10 이하)가 주어진다. 다음 줄 부터 T개의 테스트 케이스가 주어진다. 테스트 케이스에서 사람들은 1,2,3,...,n (1<=n<=100)의 연속된 번호로 각각 표시된다. 테스트케이스의 첫째 줄에는 전체 사람의 수 n이 주어지고, 둘째 줄에는 촌수를 계산해야하는 서로 다른 두 사람의 번호가 주어진다. 그리고 셋째 줄에는 입력할 부모-자식 관계의 개수 m이 주어진다. 넷째 줄부터 m개의 줄에는 부모-자식 관계를 나타내는 두 번호 x y 가 나온다. 이 때 앞에 나오는 번호 x 는 뒤에 나오는 정수 y의 부모 번호를 나타낸다.
출력은 표준 출력이다. 출력은 T줄로 이뤄진다. 각 테스트 케이스에 대해서 입력에서 요구한 두 사람의 촌수를 나타내는 정수를 출력한다. 어떤 경우에는 두 사람간의 친척 관계가 전혀 없어 촌수를 계산할 수 없을 때가 있다. 이 때는 -1을 출력한다. T개의 테스트 케이스를 모두 맞혀야 이 문제를 맞힌 것이다.
2 //테스트케이스의 수
9 //첫째 테스트케이스 시작. 9명
12 //둘째 테스트케이스 시작. 12명
- AcceleratedC++/Chapter8 . . . . 19 matches
실제 컴파일시 컴파일러는 프로그래머가 지정한 타입으로 이 함수를 인스턴스화 시켜서 생성하고 바인딩한다.
typename 은 아직 인스턴스화 되지 않은 함수를 컴파일러가 읽어들일때 타입 매개변수와 관계된 타입의 형을 생성할때 앞에 붙여야 하는 키워드 임. ex) vector<T> or vector<T>::size_type
=== 8.1.2 템플릿 인스턴스화 ===
STL은 실제로 함수의 인스턴스화에 관한 표준적인 방식을 제정하지 않았다. 따라서 각 컴파일러마다 서로 다른 방식으로 함수를 인스턴스화한다. 따라서 자신의 컴파일러의 특징을 파악하는 노력이 필요.
* 컴파일 링크 모델 Compiler : 실제로 인스턴스가 만들어지기 전까지는 템플릿 코드의 유효성을 알 수 없다. 에러는 링크시에 발생
* 독자적 방식의 template 모델 Compiler : 최근의 방식. 인스턴스화를 위해서 STL 정의부에 대한 접근이 필요.
|| c.find(val) || 특정형의 인스턴스인 c를 통해서만 접근가능. 내장배열에 적용 불가능 ||
순방향 연산자의 모든 연산을 지원하고 '''--'''연산을 지원한다면 이 반복자는 '''양방향 반복자(bidirection iterator)''' 라고 부른다. 표준 라이브러리 컨테이너 클래스들은 모두 양방향 반복자를 지원함.
* 두번째 인자로 하나가 지난 값을 갖도록함으로써 자연스럽게 out-of-range의 상황을 파악하는 것이 가능하다.
istream, ostream 의 반복자를 얻음으로써 입출력 스트림을 제어하는 것이 가능하다.
- Bigtable/DataModel . . . . 19 matches
1. 태블릿은 SSTABLE들의 집합으로 구성되어있으며 SSTABLE들의 리스트를 저장하고 있다.
태블릿은 SSTABLE들의 집합으로 구성되어있으며 SSTABLE들의 리스트를 저장하고 있다.
1. 태블릿은 SSTABLE의 ID+오프셋을 리스트를 저장하고 있다.
1. 데이터 블록과 인덱스 블록
1. 인덱스 블록
1. 약 64KB마다 존재하는 row key를 블록의 인덱스로 한다.
1. 블록의 인덱스와 실제 파일의 주소를
1. 블록 인덱스로 선택된 row key부터 다음 블록 인덱스로 선택된 row key가 나올 때 까지를 하나의 블록 단위로 한다.
1. '''데이터 블럭과''' '''인덱스 블럭으로''' 나누어짐
1. '''인덱스 블럭은 크기제한 없다'''.
1. '''인덱스 블럭 : 태블릿이 참조하고 있는 SSTable의 블럭 인덱스들 merge'''
1. SSTABLE들의 인덱스를 가진다
1. 인덱스는 어떻게?
1. 커밋로그의 가장 마지막 타임스탬프와 memtable의 가장 오래된 타임스탬프와 비교하여 memtable의 타임스탬프가 더 최신이라면 로그삭제가능
'''자료구조 : B+-트리 -- 배열(루트, 메타태블릿) + 리스트(유저태블릿) --'''
- HelpOnLists . . . . 19 matches
== 리스트와 들여쓰기 ==
숫자가 매겨진 리스트와 총알 리스트를 아주 자연스럽게 입력하실 수 있습니다. 총알 리스트를 만들고 싶으시면 그 줄의 첫 시작을 "{{{[공벡]*}}}"로 시작하여 써주시면 됩니다; 숫자가 매겨진 리스트는 그 줄의 시작을 {{{[공백]1.}}}으로 시작하시면 됩니다.
[공백]* 총알리스트 1
[공백]* 총알리스트 2
[공백][공백]1. 번호 리스트 1
[공백][공백]1. 번호 리스트 2
[공백]* 총알리스트 3
* 총알리스트 1
* 총알리스트 2
1. 번호 리스트 1
1. 번호 리스트 2
* 총알리스트 3
번호가 매겨진 리스트는 "{{{1.}}}" 뿐만아니라 "{{{a.}}}", "{{{A.}}}", "{{{i.}}}", "{{{I.}}}"를 지원합니다.
복잡한 리스트도 간단히 공백으로 여러번 들여쓰기를 하면 쉽게 만들 수 있습니다.
만약 공백을 넣어 들여쓰기만 하고 {{{*}}}나 번호리스트를 지원하는 {{{1.}}} {{{a.}}} 이외의 다른 문자가 온다면, 그 단락은 들여쓰기된 단락으로 인식됩니다.
- MFC/Control . . . . 19 matches
하나의 컨트롤은 클래스와 연계될 수도, 안될 수도 있다. 정적 컨트롤의 경우 클래스가 필요없을 것 같지만 CStatic 이라는 클래스를 통해서 모양을 변경하는 것이 가능하다. 마찬가지로 버튼 컨트롤들의 경우도 대부분 Dialog 객체를 통해서 처리가 된다. CButton 클래스의 경우에는 컨트롤을 관리하는데있어서 객체가 필요할 경우에 이용하게 된다. 이러한 모든 컨트롤들은 모두 윈도우의 일종이기 때문에 CWnd 에서 상속된 클래스를 이용한다.
|| 버튼 컨트롤 || 한번의 마우스 클릭으로 응용프로그램과 통신. 라디오 버튼은 다른 버튼과 그룹으로 묶여서 다중 선택이 불가능하도록 한다.[[BR]]반면 체크박스는 개별적인 선택이 가능하다. [[BR]]푸시 버튼은 일반적으로 대화상자를 닫는데 사용된다. ||
|| 스크롤바 || 스크롤바는 독립적이며, 대화상자의 안에서 사용됨 ||
|| 리스트 박스 || 기정의된 항목에서 선택을 할 수 있도록 한다. 텍스트 이외에도 아이콘을 표현하는 것이 가능하다. ||
|| 편집 컨트롤 || 텍스트라인을 입력하고 편집가능하다. 여러줄의 텍스트를 편집하도록 확장 가능. ||
|| 콤보 박스 || 리스트 박스의 기능과 텍스트를 수정하는 옵션, 텍스트입력기능을 조합한 것. Save As를 살펴보자. ||
- 정모/2011.3.7 . . . . 19 matches
* 프로젝트/스터디 위주로 지난주의 활동 공유 혹은 앞으로의 계획 홍보
* [Spring/탐험스터디]
* 현재 스터디 진행 인원이 3명인데 [정의정]이 새터에 가느라 나오지 않음.
* [DesignPatterns/2011년스터디]
* [JavaScript/2011년스터디]
* 세미나 테스트
* 3월 8일 화요일 오후 7시 봅스트홀(207) AVR
* [Ruby/2011년스터디/세미나]
* 관련 페이지 : ThreeFs, [http://no-smok.net/nsmk/ThreeFs ThreeFs(노스모크)], [http://no-smok.net/nsmk/FiveFs FiveFs(노스모크)]
* 예를 들어 지난주에 돈가스를 먹은 것에 대해 후기를 쓴다면 : "지난주에 강남에 가서 하나에 5만원하는 돈가스를 먹었다.(사실) 기대를 잔뜩 했는데 별로 맛이 없었다.(느낌) 강남은 땅값이 비싸서 값만 보고 엄청 맛있을거라 기대하면 안된다는 것을 알았다.(깨달은점) 다음에는 미리 인터넷에서 평을 찾아보고 별점이 높은 돈가스집을 찾아서 가봐야겠다.(앞으로의 계획)"
* 활동 공유로 읽었던 책을 간단히 소개하면서 내용을 되새김질하는 계기가 되어 좋았다. 루비를 다운받아 irb를 사용해 실습을 해보았다. 성현이가 OMS로 영화 재해석을 했다. 동영상도 실행되고, 효과음도 나왔다면 더 재밌는 발표가 될 수 있었을 텐데 강의실이나 상황이 열악해서 안타까웠다. 마지막에 시간이 모자라서 코드레이스를 하지 않고, 간단히 Snowball Keyword 게임을 했는데 규칙을 잘못 이해하고 얘기하여 바로 탈락했다. 다음에는 좀 더 의도를 잘 파악하도록 집중해서 들어야 겠다. - [강소현]
* 활동보고에서 책읽기 모임 보고를 하면서 간만에 정말 정식활동 시작!! 한번쯤 해보고 싶었던 루비 프로그래밍 실습도 하면서 알찬 정모가 되지 않았나 느꼈습니다. 아쉬웠던 점은 시간 안배인데, 정모의 시간에 대한 제한은 없으나 어느 정도 deadline은 잡아야 하지 않나 하는 생각이 들었습니다. (예를 들면 늦어도 9시까지는 끝낸다 라던가..) 책읽기모임 활동보고의 소요시간이 약간 길었는데, 각자 읽은 책에 대해서 정모에서 나누는 것이 가장 효과적이긴 하나 모임 때 나눴던 얘기의 단순 요약판이니 이제부터는 위키를 참조하는 것도 좋지 않을까 싶네요. 그리고 루비 코드 레이스는 참여자를 봐서 다음주 정모 때 하는게 어떨까요 - [송지원]
* 학생회 회의 떄문에 늦어서 루비 세미나 뒷부분부터 참석한 관계로 많은 프로그램을 놓쳐버렸습니다 OTL 아쉽더군요... 우선 새싹의 경우는 나름 담당자 인데 정모에 참여를 못해서 아쉽습니다. 그리고 성현이형의 영화 해석을 보면서 깨달은건데 그렇게 영화가 해석되는지 몰랐습니다. 그리고 JavaScript 스터디에 야매로 참가하면서... 알게된 내용이지만 인터프리터 언어에도 객체지향 언어가 존재하고 종류가 꽤 많다는게 신기하네요. 제가 어디서 주워 듣기로는 Python도 OOP가 가능하다고 하던데;; 아무튼 늦게 들어간게 죄입니다 ㅠ -[윤종하]
* 제 2공학관에 강의실이 얼마 없는지 공대 행정실에서 자꾸 봅스트홀을 빌려주려고 하네요. 번거롭게 왔다갔다 해야했던 점이 아쉽습니다. 정모 활동을 회의보다는 세미나 등 학술 활동 위주로 가려다보니 전보다 많은 시간을 소요하게 되었습니다. 개강하니 정모를 늦게 시작해서 그 점이 난감하네요. 정모에서 할 수 있는 짤막한 활동들을 기획해보겠습니다. 그리고 프로젝트/스터디 했던 것들을 공유할 때 좀 더 재미있고 효과적으로 공유할 수 있는 방법도 함께 생각해보았으면 좋겠습니다. :) - [김수경]
* 루비에 대해 알게 되었습니다. 매우 흥미로웠지만, 별로 실용적으로 쓸 일은 없을 것이라는 생각이 들었습니다. 좋아하던 영화들을 다른 관점에서 보고 나니 "아 그럴 수도 있군! 이거 재미있는데?"라는 생각이 들었습니다. 갑자기 새싹스터디 커리큘럼 작성에 부하가 걸리기 시작했습니다. 새로운 thread를 열어서 job을 분담하지 않는다면 timeout이 날 것 같아 걱정 중입니다. 다음 페차쿠차로 Objective-C에 대해 발표 해보아야겠습니다. - [황현]
- 정모/2011.7.18 . . . . 19 matches
== 프로젝트/스터디 ==
* [Spring/탐험스터디]
* [DesignPatterns/2011년스터디]
* [JavaScript/2011년스터디]
* [ACM_ICPC/2011년스터디]
* [EnglishSpeaking/2011년스터디]
* '''문제를 인식했을 때 일단 멈춰서 생각하는 게 중요하다''' 매번 브레이크를 거냐라고 생각이 들겠지만 문제가 스스로 사라지는 일은 거의 없는데다 스스로 자라는 성질이 있어서.. 특히 팀플레이에서는 문제인식을 공유하는게 중요하다고 생각해요!! 나중에 피바람이 붑니다. - [서지혜]
* (아이폰 사파리가 스크롤이 없어서 잠시 새치기 할께요 ㅠㅜ)첫 OMS를 하게 되었습니다. 사실 내용이 참 빈약해서... 아 재미 없고 망하는거 아닌가 걱정했는데 다른 후기들 보니까 생각보단 반응이 좋네요. OMS끝난뒤에 했던 활동은 저에겐 너무 어려워서 졸고 말았습니다 .. 죄송해요분명히 OMS시작 5분전만해도 잘되던 팀뷰어가 잘안돼서 당황했음 - [고한종]
* 방학중 정모에서 제가 공부한 것을 공유하는 코너를 진행하겠다고 했는데 지난번엔 정모를 짧게 끝내느라, 이번주는 다른 공유들이 있어서 계속 안 하게 되네요 ㅋㅋ 사실 시간 떼우려고 생각해낸 코너라 못하게 되는 게 바람직한 것 같습니다(?) 이번 OMS는 리눅스 서버를 직접 돌려보는 것에 대한 내용이었는데 저는 1학년때 리눅스가 뭔지도 그냥 들은 정도로만 알고있었던 기억이 납니다. 그런데 새내기가 직접 서버 구축하고 그 내용을 정모에서 공유하는 걸 보니 부럽네요ㅠㅠ 저도 그런 경험을 해봤으면 좋았을텐데... - [김수경]
* 처음 OMS를 보면서 우리집 컴퓨터도 이제 6년차에 돌입했는데.. 저렇게 써야하나 라는 생각이 들다가 그냥 이상태로 쓰지 뭐 이런 생각이 든 -_-;;; 암튼.. 저도 1학년땐 리눅스를 사용하는 모습만 보고 직접 써 보지는 못했었는데 사용하는 모습을 보니 대단하다는 생각이 드네요. 리빙포인트를 하면서 학원에서 들었던 이야기랑 삼수때 겪었던 이야기가 믹스되어 말하게 되었네요. 원래는 그냥 학원 이야기만 하려고 했는데 -ㅅ-a Joseph Yoder 와의 만남 후기를 들으면서 스티브 맥코넬씨가 쓴 Code Complete라는 책에서 이야기 하는 내용과도 많이 겹치는구나 라는 생각을 했습니다. - [권순의]
* 한종이가 집에 남는 컴퓨터를 굴리는 방법을 OMS해 주었죠. 서버쪽은 아직 관심이 없어서 전혀 손대보지 않고 있었는데, 한종이는 진규한테 여러모로 들었다거나 혼자 여러가지를 연구해보아 많은 것을 알고 있는거 같았어요. (그러나 리눅스에 대한 관심이 일어나지는 (아직) 않았습니다..ㅠㅠ) 지원이누나가 해준 DB2에 대한 설명(과 IBM에 대한 설명)에서는 우리과에 관련된 스키마를 여러가지 얻을 수 있어 좋았던거 같았어요. 항상 ZP형누나들이 많은걸 알려주셔서 정말 즐겁네요. ㅎㅎㅎ-[김태진]
* 과에 대한 스키마는 어디까지나 예시였고 뭔가 세미나가 아니고 이런걸 하겠다~ 였는데 알려줘서 즐겁다니 부끄럽군요 - [지원]
- 프로그래밍언어와학습 . . . . 19 matches
DeleteMe) 제목짓는 센스가 없는 관계로;; 원글의 뜻에 맞게 제목을 고쳐주시기를; Rename & Refactor This Page; --석천
* 학교에서 C++ 배운다고 하드웨어 건드리나. -_-; (전전공이라면 몰라도..) 컴퓨터공학과의 경우 학교에서 C++ 배워도 어셈블러 레벨까지 다루는 사람이 별로 없다고 할때, C++ 을 배웠다고 시스템레벨 까지의 깊은 이해가 필요없었다는 점인데.. 글을 읽으면, 마치 '교육용 언어로 C, C++ 을 배웠다면 시스템 레벨까지 이해할 것' 처럼 쓴 것 같다고 생각. (C, C++ 포인터를 레퍼런스 이상의 개념으로 쓴적이 있었나.. --a) 차라리 '우리는 전전공 출신에 하드웨어제어 해본 사람 뽑습니다' 라고 할것이지..쩝. Domain-Specific 한 부분을 생각치 않고서는 시스템 프로그래머에게서는 늘 자바와 Script Language 는 '군인을 나약하게 만드는 무기' 일 수밖에 없으니까.
* 사족1) 간혹 C++ 로 OS레벨을 건드리긴 하지; (잘못된 연산 오류, 파란화면, 시스템레벨로 건드린다면 이x직군 처럼 빨간화면도 가능하겠구나;)
> 컴퓨터 시스템을 어떻게 제어하고 어떤 식으로 영
하지만 이제는 컴퓨터 시스템에 대한 저차원적인 이해 없이도 얼마든지 뛰어난 프로그램을 만들 수 있는 영역이 늘어나고 있습니다. 언제든지 저차원에 대한 이해는 도움을 주지만 이제는 저차원의 정의가 조금 더 상향 조정된 문제 영역이 훨씬 많습니다. (컴퓨터 발전 초기에는 적용도메인이 협소했습니다)
> 스템을 이해하지 못하게 하고, 시스템 자체에 대한
목적에 따라, 이해/구축이 필요한 시스템의 추상 레벨 수준이 다릅니다.
> 화될 수 없다. 자바라는 언어는 마치 패스트푸드와 같
맥락을 제거한 언어의 우열 논의는 비생산적입니다. 또, 우리는 언어 자체말고도 (그 언어에 잠재해있는) 광막한 세계를 접합니다. C언어가 깊이가 있니 Java언어가 깊이가 있니 하는 것은 난센스입니다. 언어는 모두 깊이가 같습니다. see also [처치튜링논제]
C가 하드웨어를 조작하게 해주고, 따라서 컴퓨터 시스템을 제대로 이해하게 해준다는 것은 좀 과장된 주장으로 생각됩니다. "C 언어"가 보여주는 컴퓨터 시스템은 이미 몇계단 왜곡되어 있습니다.
영작을 수십년간 공부한 사람을 알고 있습니다. 맨날 관용구를 외우고, 문법을 익히고, 날마다 영작을 한 편 씩 해서 미국의 교수에게 그 글을 보내고 검사를 받아온 사람입니다. 그 사람이 몇 년 전 제게 고백을 했습니다. 자기 영작 공부는 후회스러운 것이라고. 그 사람은, 훌륭한 글을 쓰는 것은 단순히 언어적, 문법적인 요소를 떠나서 얼마나 훌륭한 아이디어를 갖고 있느냐에 일차적으로 좌우되는 것이라고 깨닫고, 후학들에게 다양한 주제의 책을 접하라는 충고의 글을 썼습니다. 명료한 글을 쓰려면 언어가 명료하기 이전에 사고가 명료해야 하며, 풍부한 글을 쓰려면 언어가 풍부하기 이전에 사고가 풍부해야 합니다.
p.s.2 토크백에 자바를 대학에서 가르칠 것을 주장하며 "파스칼 따위는 이제는 버려야죠"라는 말이 있는데, 버리려면 먼저 가지고 있어야 할 뿐 아니라, 파스칼을 갖거나 버리거나 하는 것은 이제 큰 의미가 없습니다. 구조적 프로그래밍 같은 파스칼을 주축으로 한 패러다임을 배우는 것이 중요합니다. OOP는 구조적 프로그래밍을 감싸안고 더 자라난 것이지 뒤에 남겨두고 진보한 것이 아닙니다.
- Chapter I - Sample Code . . . . 18 matches
인스톨하는 방법인데 별 필요 없을듯.. 우리가 직접 uCOS-II 를 설치하진 않을꺼니까.. 차라리 소스를 구해다가 컴파일을 하면 몰라도.
위처럼 다음과 같이 매크로 정의를 해 놓고 다음과 같은 소스를 적용시킨다고 해 보자
OS에서 공유자원이나 특정코드가 수행되는 도중에 다른 프로세스에 의해 interrupt 되는것을 방지하기 위해 크리티컬 섹션을 사용하게 된다. 이는 윈도우즈 프로그래밍에서 스레드관련 처리를 해 줄 때에도 나오는 용어이다. uCOS-II에서는 단순히 매크로함수를 이용해 크리티컬섹션에 들어오기와 나오기를 한다. 매크로함수가 하는 일은 단순히 인터럽트를 무효화, 유효화 시키는것 뿐이다.
#define OS_ENTER_CRITICAL() asm {PUSHF; CLI} // PUSHF가 몬지는 잘 모르겠다. 아마 스택에 무얼 집어넣는것 같은데.
// PUSHF는 CPU레지스터를 하나씩 일일이 스택에 넣는 작업을 간편하게 하기 위하여 호출 하는 ASM명령으로 정해진 순서에
// 의해 모든 레지스터의 내용을 스택에 PUSH하는 명령임. 반대는 POPF로 PUSHF의 역순으로 스택에서 꺼낸 데이터로 각각의 // 레지스터를 변경 시킴. 항상 이 두 명령은 한쌍이 되어 사용 되어야 한다.
디스플레이는 문자기반으로 한다. x, y값을 이용해서 아스키문자와 특수문자를 출력할 수 있다. 1글자 출력에 사용되는 바이트수는 2이다. 1바이트는 글자이고, 나머지 1바이트는 포그라운드/백그라운드 컬러이다. (상위 4비트가 백그라운드이고 하위 4비트가 백그라운드 컬러이다)
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]]
- EnglishSpeaking/TheSimpsons/S01E01 . . . . 18 matches
* 크리스마스를 즐겁게 보내는 옆집 플랜더스네 가족들, 심슨네 가족들도 나름의 크리스마스를 보내려고 한다. 반면 심슨네 가족은 호머의 회사에서 크리스마스 보너스가 지급되지 않게 되고 크리스마스 때 쓰기 위해 모아놨던 저금통도 바트가 팔에 허락없이 문신을 해버리는 바람에 이를 지우기 위한 시술비로 전부 날려버린다. 호머는 모를 통해 알게 된 산타클로스 아르바이트를 하지만 받게 되는 급료는 겨우 13달러. 호머와 바트는 바니를 통해 알게된 경구장에서 '산타의 작은 도우미'라는 개에게 13달러를 모두 걸지만 꼴찌를 하고 돈을 잃는다. 그 대신 경구장에서 아예 쫓겨나 버린 '산타의 작은 도우미'를 크리스마스 선물로 집에 데려간다.
* 내용 : 리사, 바트가 산타클로스로부터 원하는 선물을 하나씩 말하고 처형인 Patty로부터 전화가 온다.
* 내용 : 바트가 허락 없이 문신을 해버리는 바람에 병원에 가서 모아둔 현금을 다 써버린다. 호머는 이 사실을 알고 차마 보너스를 받지 못했다고 말하지 못함.
* 내용 : 보너스를 못받았다는 사실을 차마 가족들에게 말하지 못하는 호머는 모의 술집에서 바니를 통해 산타클로스 알바가 있음을 알게 되고 면접을 본 후 일을 시작한다.
* 내용 : 보너스를 받지 못했다고 차마 말하지 못하는 호머와 뭔가 있음을 느끼지만 감 못잡는(?) 마지의 대화 내용.
- NSIS/예제4 . . . . 18 matches
설치중에 윈도우 서비스를 멈췄다가 살리는 스크립트. 이것때문에 삽질을 좀 했다....-_-;; servicelib.nsh 파일을 인클루드 해줘야한다.
;인스톨러 이름
;인스톨러 파일 이름
SubCaption 0 ": 라이센스기록"
SubCaption 1 ": 인스톨 옵션"
SubCaption 2 ": 인스톨할 폴더 선택"
SubCaption 3 ": 인스톨중인 화일들"
;라이선스
LicenseText "인스톨 하기 전 이 문구를 읽어주십시오" "동의합니다"
;인스톨 디렉토리
SubCaption 0 ":라이센스기록"
SubCaption 1 ":인스톨 폴더"
;인스톨러 아이콘
;인스콜러 아이콘
;인스톨 버튼
;서비스 종료
;서비스 다시 시작
- VMWare/OSImplementationTest . . . . 18 matches
OS를 만들어보고 싶은 마음에 무작정 뛰어 들었는데 대부분 환경은 리눅스상이
스스로 자신의 커널 디버거를 만들어야 하는 거 같습니다. ) 에디팅과 컴파일
Chobits os의 소스를 얻을 수 있습니다.
무척 좋은 Protected mode에 대한 설명과 소스를 담고 있는 사이트
소스가 공개된 여러 os가 있습니다.
ORG 0x7C00 - PC가 리셋되면 부팅될 디바이스의 첫번째 섹터(512바이트)를
- 우리는 디스켓도 사용하지 않고 바로 컴파일해서 이미지로 뜬 후 VMWare로
로드할 것입니다. ( no 플로피 부팅디스켓, no 리붓, no test machine )
= 소스 파일들 =
= 소스 =
다음은 커널 소스입니다.
위의 커널 소스를 컴파일 하기 위해서 VC 컴파일 환경을 구성해보도록 합니다.
= VMWare 테스트 환경 구성하기 =
Partcopy.exe 툴을 사용하여 부팅 디스켓에 놓을 수도 있지만 번거롭습니다. 따라서 VMWare에서 직접 이를 디스켓 이미지로 로드하도록 합니다.
제일 중요한 것은 이렇게 만든 가상 testos 의 플로피 디스켓 부팅 설정입니다.
Use Floppy Image에 해당 img 패스 맞추도록 합니다.
- 서버재조립토론 . . . . 18 matches
[정모]때 서버 재 조립에 대한 이야기가 나왔다는 이야기를 회장님을 통해 들었습니다. 일단 제가 회의에 참석하지 못하고 회의록이 올라온 것도 아니므로 어떻게 해서 서버 재조립 이야기가 나왔는지 알고 싶습니다. 일단 제 생각은 굉장히 부정적인데요. 서버가 하는 일이 거의 웹서버 내지는 소스 리파지터리로 사용되고, 대규모 소스를 컴파일한다거나 덩치가 큰 프로그램이 돌아가는것도 아니기 때문입니다. 게다가 동시접속 사용자수로 많지 않은걸로 알고있는데요. (물론 이런것들은 이제부터 하기 위해 하나 새로 맞춘다!! 면 할말 없지만..) 이 상황에서 굳이 새로 서버를 맞추는게 필요할지... [임인택]
네 충분히 그렇게 생각 하실수 있다고 생각합니다. 현재로서 서버가 하는일이 웹서버및 소스 Repository 로서의 역할이니깐요. 그리고 마지막에 프로젝트 때문에 필요할 경우에 나 새로 맞출 필요가 있다고 하신 말씀도 동감합니다. 현재 한 3주 동안 제로페이지 서버가 제대로 작동하지 않았습니다. 제로페이지 서버를 아주 자주 이용하는 입장에서는 많이 제로페이지 서버에 들어가니깐 서버가 죽어 있어서 여러가지로 불편했고, 현재 제로페이지 서버와 연계해서 돌아가는 위키 포탈을 운영 및 관리하는 입장에서는 치명적이었습니다. 제로페이지 회원들이야 안면이 있으니깐 이해해 주겠거나 좀 불편하고 말겠지 하고 생각하실수도 있지만, 위키 포탈 서비스가 우리 학회에서 제공을 해주는 서비스지만 외부에서 이용하는 사용자도 꽤 있었는데 왠만한 사용자들은 다 빠져 나간듯 하네요.. 그래서 지금은 급한게 다른 서버에서의 DB 지연을 기다리는 시간을 원래 1분에서 3초로 줄여서 그나마 임시 방편으로 수습을 했습니다. 또 프로젝트 진행을 하는데에도 제로페이지 서버가 자주 죽어서 진행을 제대로 할 수가 없었습니다.
제로페이지 서버가 현재 분명 문제가 있고, 이것을 해결해야 한다는데에는(즉 좀 가끔가다가 죽으면 뭐 어때 하는 분은 없을거라고 생각합니다.) 모두 동감 하실거라고 생각합니다. 현재 제로페이지 서버가 아주 자주 죽는 문제가 제로페이지 서버의 하드웨어 적인 문제인가, 소프트웨어 적인 문제인가, 인프라적인 문제인가 이 3가지중 하나라고 생각합니다. 인프라적인 문제는 다른 학회나, 동문서버도 안 죽고 하니깐 제외 하겠습니다. 그러면 하드웨어 아니면 소프트웨어 적인 문제인데. 솔직히 저는 리눅스가 오래 사용해서 자주 뻗는다는 것은 좀 이해가 가지 않습니다. 리눅스를 서버로 우리보다 훨씬 오래 사용하는 곳도 부지 기수일텐데 그런곳들이 모두 이런 문제를 겪고 있을까요.. 그렇다고 지금까지 관리가 안되서 그런것도 아니라고 생각합니다. 상민형, 석천이형, 영창이 모두 제가 생각하기에는 그 누구보다도 서버 관리를 잘 했다고 생각합니다. 물론 테스트를 해봐야 알 문제입니다. 오늘 회장님이 테스트 해본다고 했는데 가끔씩 서버가 죽는 문제를 어떻게 테스트를 해야할지 전 감이 안 오네요. 한 일주일정도 제로페이지 서버를 죽이고 다른것(다른 하드에) 웹서버를 깔아서 아주 아주 수시로(몇분 단위로) 그 웹서버로 들어와서 죽었는지 확인을 해야 하는데(물론 테스트는 테스트를 진행하는 한두사람만 하겠죠. 현재의 제로페이지 위키만 해도 하루 방문자가 1000이 넘는것에 비해서...)그게 참 어려운 문제라고 생각합니다. 또 한 일주일동안 서버를 죽이는것도 현재 위키위주로 돌아가는 제로페이지에도 치명적이구요. 이렇게 테스트를 해서 만약 하드웨어 적인 것이 문제라면 또 다시 서버를 업그레이드 한다음에 다시 서버를 설치하는 작업을 해야겠죠.
즉 제가 서버업그레이드를 제안하는것은 하드웨어적인 문제나 소프트웨어적인 문제를 동시에 해결하고자 제안한 것입니다. 위와 같은 테스트를 할경우 그에 따른 희생및 서버 관리자의 불필요한 수고가 필요합니다. 그리고 학회 운영 및 프로젝트에서도 많은 희생이 따름니다. 그리고 위와 같은 테스트도 확실한 방법은 아니구요, 여전히 불확실성을 내포한 방법입니다.
저는 업그레이드가 필요하다고 생각합니다. 서버의 핵심은 안정성인데, 지금의 서버는 안타깝게도 그 역활을 제대로 수행해주지 못하고 있기때문입니다. 서버 업그레이드 시도를 하게되면, 이전의 컴퓨터에 문제가 없다고 판단될 경우 새서버의 보조 역활과 리눅스 테스트용 서버로 사용해도 큰 문제가 없다고 생각합니다.^^ 속도 측면에서는 현재의 서버도 전혀 문제가 없지만, 안정성이 낮은점은 이용자의 입장에서 불편하다고 느낄 수 밖에 없기 때문입니다.(실제로 많이 불편했답니다.ㅠ.ㅜ 꼭 필요할때만 죽어있어요..) - [조현태]
흠.. 저로서는 그다지~ -_-; 안정성이라는 것이 하드웨어적 안정성의 문제라면 모르겠지만.. 현재 서버의 잦은 다운 or 리부트는 하드웨어적인 문제로 보이지 않네요. 리눅스 설정 때문인 것 같은데... 좀더 지켜보는 일이 필요 할 듯합니다. 돈이 남는다면 적당히 램정도는 올리는 것이 좋겠지만.. 전체 서버를 재 조립하는건 좀 낭비같기도 하네요.
- 요정 . . . . 18 matches
'성스러운 것' 과 '사악한 것' 어디에도 속하지 않는다. 보통때는 사람들과 다를 것도 없는 생활을 한다. 무리를 만들어 사는 것도 있으며 혼자서 사는 경우도 있다. 나무나 물의 정령처럼 자연계에 오랫동안 살기도 하고 모습을 감추고 살기도 한다.
육지에 사는 것, 물 속에 사는 것이 있으며 성질도 가지각색으로 인간에게 도움을 주는 것 (아일랜드의 레프리콘) 도 있지만 요정의 화살을 쏘아서 마비시키는 (콘월의 픽시) 등 나쁜 짓을 하는 것도 있다. 땅의 풍토나 자연에 따라 가지각색의 요정이 있다. 요정은 스스로 선택해서 모습을 나타내기 때문에 사람이 요정을 만나기는 쉽지 않다. 다만 느낄 수는 있다. 눈보다 귀로 요정의 존재를 아는 사람이 훨씬 많다는 걸 알아두어야 한다. 발소리나 노래 소리 따위는 요정의 짓이 대부분이다. 요정은 보기도 어렵지만 보게 되더라도 눈깜짝할 순간에 놓쳐버리고 만다. 투시 능력이 있는 사람에게는 보인다고도 하지만 보통 인간에게도 간단한 방법이 있긴 하다. 네잎 클로버를 머리 위에 올려놓고 요정이 바르는 약을 눈에 붙인다. (다만 약 만드는 법은 요정만이 알고 있다)
요정 중에는 악마적인 행동을 하는 요정도 있지만 결정적인 차이는 악마가 그런 행위를 하는 목적은 인간에게 해를 끼치거나 타락시키는 것인데 비해 요정은 그들 자신이 살아가기 위한 방편이거나 그들 스스로 즐기기 위한 것이다.
대개 요정은 우리가 먹는 것과 같은 것을 먹는다. 다만 유럽인들은 요정이 히스풀 줄기, 사슴과 산양의 젖, 보리, 밀 등을 주식으로 삼는다고 생각했다.
후이돌이라고 불리는 바이올린의 일종을 빠른 템포로 연주하고, 스텝을 밟기 쉬운 곡이라면 어떤 곡도 좋지만 특히 '지그 (jig- 만화영화 '인어공주' 에서 선상에서 나왔던 음악이죠. 춤추기 좋은 민속음악의 일종입니다)' 라고 불려지는 곡은 요정들의 댄스곡으로서 친숙한 것 같다.
믿을 수 없지만, 유럽에는 요정의 물건을 소장하고 있는 박물관이 많다.에딘버러에 있는 박물관에는 '요정의 관' 이 있다. 스코틀랜드의 서쪽에 떠있는 루이스 섬의 근처에 픽시의 작은 섬이 있다. 16 세기와 17 세기에 인간의 것으로 보기에는 너무나 작은 뼈가 발견돼었다는 기록이 남아 있다. 그러나 20 세기에 들어서 발견된 뼈가 바다새나 작은 포유동물의 것으로 판명됐기 때문에 과거에 발견된 뼈도 요정의 것은 아닌 것으로 보인다. 요정을 찍은 사진 중에서도 수정이나 이중 촬영한 흔적이 보이는 것이 많다.(참고로 빅토리아 시대엔 요정의 존재를 꽤 믿었다고 합니다. 이 시대에 초심령현상에 대한 열풍이 불기도 했지요.)
콘월 지방에 사는 난쟁이 픽시 (pixie)는 빨간 뾰족모자에 푸른 옷을 입고 둥근 눈과 귀를 가지고 있는데, 꽤 짓궂은 장난을 치기 좋아해 길에서 여행자가 길을 잃게 하고 집에서는 물건을 숨기거나 촛불을 불어 꺼 버렸다. 콘월 지방 사람들은 픽시를 세례를 받기 전에 죽은 갓난아기의 영혼이라 믿었다. 또 픽시의 땅 '가리토 랩 (가리트립스라고도 함)' 에 잘못하여 발이 닿으면 요정의 화살에 맞는다고 한다. 콘월의 옛 광산 갱도에는 '노츠카' 라는 광산의 요정이 살고 있어 친절한 사람에게는 바위를 울려서 광산이 있는 장소를 알려주었다고 한다.
아일랜드를 대표하는 레프리콘은 사람들에게 전혀 해코지하지 않는 아주 온순한 요정으로, 땅굴 속에 숨어 살면서 언제나 한쪽 구두만 만든다고 한다. (공포영화에 주연으로 나오기도 했지만..원래는 착한 요정이랍니다) 식사를 대접해 준 구둣방 노부부를 위해 밤새 구두를 만들어 주었다는동화 속 난쟁이 요정들은 바로 이들이다. 아일랜드의 또다른 요정 밴시는 늙은 여자의 정령으로 죽음이 찾아오려 하는집밖에서 울부짖는다고 전해진다. 밴시는 머리를 길게 기르고 푸른 옷에 흰색 망토를 입은 창백한 여성으로 직접 사람들을 해치지는 않지만 섬뜩한 울음소리 덕분에 두려운 요정으로 알려져 있다. 아일랜드에는 라난시라는 요정이 또 있는데 매우 아름다운 용모로 자기에게 매혹된 남자들의 생명을 앗아간다고 한다. 이 요정은 시인이나 예술가에게 영감을 주는 요정으로, 그리스 신화의 뮤즈들과 흡사한 점이 많다.
스코틀랜드에는 브라우니란 요정이 있는데 가족이 잠든 후 부엌을 치우거나 접시를 씻는 등 서비스를 하는 가사일을 좋아하는 요정이다. 근대에 들어 브라우니는 고풍스러운 갈색 옷을 입은 난쟁이로 표현되는데 원래는 갈색머리와수염을 기른 몸집이크고 못생긴 남자였다
또 트롤이란 요정이 있는데, 키는 대략 5-7cm 가량이다. 반면에 스프라이트라고도 불리는 꽃의 요정 데번은 약 12cm정도였다. 틸베리의 게르마스가 쓴 책에는 불과 8cm 정도밖에 안되는 포튜니스란 요정이 나오는데, 서양 사람들은 이 요정을 두려워했다. 그래서 그 시대 사람들은 요정을 ' good fellow' 또는 'kind people' 이라고 불렀다.
- 2008리눅스스터디 . . . . 17 matches
* 2008 년 8 월 11 일 스터디 끝났습니다.
* 교재 : 이소문의 엔터프라이즈 리눅스
= 스케줄 =
|| 7/7(월) || 퍼미션([지원]), 쉘 스크립트(승한) || 승한, [지원], [홍기], 윤석, 혁수 ||
|| 7/14(월) || 시스템 프로세스 관리(혁수), 부트 프로세스(윤석) || 승한, [지원], [홍기], 윤석, 혁수 ||
|| 7/21(월) || 사용자 계정 관리([홍기]), 리눅스 파일 시스템([지원]) || [지원], [홍기], 윤석, 혁수 ||
|| 7/28(월) || 시스템 정보 및 모니터링(윤석), 소프트웨어 설치 및 삭제(혁수) || [지원], [홍기], 윤석, 혁수 ||
|| 8/4(월) || 백업 및 압축(승한), 리눅스 보안([지원]) || 승한, [지원], [홍기], 윤석, 혁수 ||
|| 8/11(월) || FTP서비스(혁수), Apache웹서버([지원]) || 승한, [지원], [홍기], 혁수 ||
|| 8/14(목) || 리눅스 프로그래밍과 파일 시스템(영동) || [지원], [홍기], 혁수 + 영동 ||
* 쉘 스크립트
* 위키 페이지 만들었습니다. 스케쥴 대충 홈페이지 참고하고 어쩌고 해서 정리했구요..
* [http://zeropage.org/?mid=project&page=1&category=11025 제로페이지 홈페이지에 있는 리눅스 ppt들]
- 5인용C++스터디/다이얼로그박스 . . . . 17 matches
* 다이얼로그박스가 무엇인가?
* 모달 다이얼로그박스와 모달리스 다이얼로그박스의 차이가 무엇인가?
* 모달 다이얼로그박스는 어떻게 만드나?
* 모달리스 다이얼로그박스는 어떻게 만드나?
* 다이얼로그박스에 있는 컨트롤(버튼, 라디오버튼, 체크박스, 리스트박스 등...)은 어떻게 사용하나?
== 다이얼로그박스란? ==
대화상자(DialogBox)는 최상위 윈도우(top-level window)의 자식 윈도우로서 일반적으로 사용자로부터 정보를 얻기 위해 사용된다. Dialog는 사용자들이 파일을 선택하여 열기 등의 작업을 쉽게 하도록 합니다. 파일 작업을 쉽게하기 위해 제공하는 컴포넌트가 FileDialog클래스이다. Dialog는 Frame윈도우와 비슷한데 그 차이점을 살펴보면, 대화상자는 윈도우에 종속적이기 때문에 그 윈도우가 닫히면 대화상자도 따라서 같이 닫히게 된다는 것이다. 또한 윈도우를 최소화시켜도 대화상자는 사라지게 된다.
== 모달 다이얼로그박스와 모달리스 다이얼로그박스 ==
즉 modal dialog는 그 dialog가 닫혀지기 전에는 부모 윈도우로 마우스를 이용한 focus이동을 할 수 없다. 따라서, dialog를 닫지 않는 이상 main window프로그램을 이용할 수 없다.
- CryptKicker2 . . . . 17 matches
텍스트를 암호화하는 방법 중에 보안상 취약하긴 하지만 흔하게 쓰이는 방법으로 알파벳 글자를 다른 글자로 바꾸는 방법이 있다. 즉 알파벳의 각 글자가 다른 글자로 치환된다. 암호화된 것을 다시 원래대로 되돌릴 수 있으려면 두 개의 서로 다른 글자가 같은 글자로 치환되지 않아야 한다.
알려진 평문 공격법(known plain text attack)이라는 강력한 암호 분석 방법이 있다. 알려진 평문 공격법은 상대방이 암호화했다는 것을 알고 있는 구문이나 문장을 바탕으로 암호화된 텍스트를 관찰해서 인코딩 방법을 유추하는 방법이다.
여러 줄의 텍스트가 주어졌을 때 같은 케이스에서는 모든 줄에서 같은 치환 방법을 사용한다고 가정하고 그 중 한 줄은 the quick brown fox jumps over the lazy dog라는 평문을 암호화한 것이라는 점을 이용해서 암호화된 텍스트를 복호화하라.
첫번째 줄에는 양의 정수 하나만 들어있는데, 이 정수는 테스트 케이스의 개수를 나타낸다. 그 다음 줄은 빈 줄이다. 서로 다른 테스트 케이스는 빈 줄로 구분된다.
각 케이스는 여러 줄로 구성되는데, 앞에서 설명한 방법에 따라 암호화된 텍스트다. 암호화된 내용은 소문자와 스페이스만으로 구성되며 길이는 최대 80문자로 제한된다. 입력되는 텍스트는 100줄로 제한된다.
각 테스트 케이스에 대해 각 줄을 복호화하여 표준 출력으로 출력한다. 가능한 암호화 방법이 두 개 이상있으면 그 중 아무 결과나 출력해도 된다. 복호화할 수 없는 경우에는 다음과 같은 결과를 출력한다.
서로 다른 케이스 사이에는 빈 줄을 한 개 집어넣는다.
- InWonderland . . . . 17 matches
데이터베이스 및 전자상거래 프로젝트
=== 공용 소스 및 문서 ===
|| 소스 및 문서 || 올린이 || 설명 ||
|| Upload:alice.zip || 상규 || 데이터베이스 스키마 및 ODBC DSN ||
=== 데이터베이스 프로젝트 소스 및 문서 ===
|| 소스 및 문서 || 올린이 || 설명 ||
=== 전자상거래 프로젝트 소스 및 문서 ===
|| 소스 및 문서 || 올린이 || 설명 ||
|| Upload:EC_AliceCard000.zip || 신재동 || DB 연결 테스트 ||
|| Upload:EC_AliceCard001.zip || 신재동 || 웹 서비스 제공 ||
|| Upload:EC_client001.zip || 재동, 철민 || 클라이언트 테스트 ||
제공하는 서비스 (클라이언트는 이것들을 이용함)
[WebMethod(Description="앨리스 가맹점 인증")]
그건 적립이나 사용후에 "포인트 조회" 서비스를 통해서 보여주면 되겠지. 그리고 로그아웃도 서비스로 넣을 필요는 없어. --재동
- 데블스캠프2005/RUR-PLE . . . . 17 matches
= [데블스캠프2005]/[RUR-PLE] =
* 일시 : 데블스 캠프 목요일
= 작성한 소스 =
|| [데블스캠프2005/RUR-PLE/Sorting] ||
|| [데블스캠프2005/RUR-PLE/TwoMoreSelectableHarvest] ||
|| [데블스캠프2005/RUR-PLE/SelectableHarvest] ||
|| [데블스캠프2005/RUR-PLE/Harvest/Refactoring] ||
|| [데블스캠프2005/RUR-PLE/Newspaper/Refactoring] ||
|| [데블스캠프2005/RUR-PLE/Newspaper] ||
|| [데블스캠프2005/RUR-PLE/Harvest] ||
* 중복 피하기 5분 + 예전 소스에서 중복 제거(10분)
* 문제에서 아래와 같은 소스를 참고 하라고 한다. 저는 좀 다르게 했습니다. 우선 참고는 했고..
* while문을 사용하여 중복된 씨앗의 개수가 2 이상인 임의의 개수일 경우에도 처리 가능하게 위 소스를 수정한다.
* 아래 그림과 같이 원래 정렬되어 있는 경우에도 제대로 작동되는지 테스트 해본다.
* sort1, sort2 맵을 가장 먼저 모두 오름차순으로 정렬하는 분에게 [데블스캠프/2005/RUR-PLE/경품]을 드립니다.
[데블스캠프2005/RUR_PLE/조현태]
[데블스캠프2005]
- 새싹교실/2011/무전취식/레벨8 . . . . 17 matches
김준석 : 이번주금요일에 IFA 에 참여를 합니다. Ice breaking같은 커뮤니케이션 기술, 회의 진행. 지난주에 체육대회 개최한걸 다사다난하게 끝냈습니다. 스티브 잡스에 관한 발표도 잘했어. 강원석 : 저도 스티브잡스 책봐요 ICon:스티브잡스! 사람들이 평가를 했는데 '교수님보다 잘갈킴' 기분이 좋았음. 어제 ZP 스승의 날 행사를 해줌. 춤은 여전히 잘배우고 있습니다.
이소라 : 저번주 목요일날 모여서.별로 한게 없음. 어제한거 말씀드림. 어제 집에가서요. 친구 대타로 알바하게되었음. 걔가 축제를 하는데 공연을 해야한다고 알바를 대신해야한다고 그랬음. 축제가 수목금이라 월화는 안가도 될줄 알았는데 교육을 받으래서 2시간 일찍가서 교육받고 알바함. 8~12시까지 할것도 없음. PC방이었음. 그래서 일을 더했는데 사람이 2~3시되면 사람도 없는데 40대 아저씨가 이상한 창을 띄우고 보는걸 카운터에서 봄. 그리고 빨리 닫음. 문화충격. 어제 잠을 못자서 스트레스를 받아서 라면, 햄버거 먹고 먹고 먹고 먹고 잘수 있었는데 친구랑 나가서 놀음.
강원석 : 지지난주 엄마가 동생이랑 일주일간 해외여행가서 아빠랑 둘이서 쓸쓸히 밥먹고, 거의 일주일간 폐인생활했는데 엄마가 오니까 좋아요. 4월말에 헬스 등록해서 헬스 하는데 트레이너랑 일주일에 3번씩 합니다. 근데 트레이너가 식단까지 관리해서 맘대로 먹지도 못함. 그리고 운동하고 집에오면 탈진하기 직전이라 아침에 코피남. 3주동안 5kg빠짐. 2달남았는데 10kg더 빼겠습니다. 선대 점수 나옴. 앞에서 20등 내외. 완전 잘찍음.
* 관련 페이지 : ThreeFs, [http://no-smok.net/nsmk/ThreeFs ThreeFs(노스모크)], [http://no-smok.net/nsmk/FiveFs FiveFs(노스모크)]
* 예를 들어 지난주에 돈가스를 먹은 것에 대해 후기를 쓴다면 : "지난주에 강남에 가서 하나에 5만원하는 돈가스를 먹었다.(사실) 기대를 잔뜩 했는데 별로 맛이 없었다.(느낌) 강남은 땅값이 비싸서 값만 보고 엄청 맛있을거라 기대하면 안된다는 것을 알았다.(깨달은점) 다음에는 미리 인터넷에서 평을 찾아보고 별점이 높은 돈가스집을 찾아서 가봐야겠다.(앞으로의 계획)"
* 오.. 1등 ㅊㅋㅊㅋ. 기특하군 새벽에 메신저에 있는거보니 뭐하는진 모르겠지만. 재밌길. 파일pointer가 좀 신기하긴 하지 사실 난 저걸 배울때 그냥 문법으로 알았는데 생각해보면 pointer라는것을 깨달은게 정말 오래걸렸달까? 구조체는... 나중에 진화한단다 그걸 위해서 고생좀 해봐야지. 그래 우리가 앞으로 더욱 레벨업된 몬스터를 상대하게 될꺼야. - [김준석]
- 스터디제안 . . . . 17 matches
같이 스터디할 것을 제안하는 장소.
=== 컴퓨터고전스터디 ===
["컴퓨터고전스터디"]
CACM, IEEE Software, IEEE Computer, Seminar:SoftwareDevelopmentMagazine 등의 잡지를 정리해서 그 요약글을 매 달(나눠서) 올리는 스터디는 어떨까?
잡지 정리 스터디 같은 경우에는 정모때 정리한걸 간단히 발표 해도 상당히 좋을거 같습니다. 특정한 분야가 아니라 모든 회원들이 들어도 될만한 내용일 테니 회원들에게도 도움이 되고 정모의 입지도 높일 수 있을거 같습니다. - 상협
== 스터디에 대한 생각 ==
스터디를 하기 위해 또 다른 조직을 만들기가 부담이 된다면 이런 곳을 통해 인원을 모을 수 있겠습니다. 스터디하는 데에까지 꼭 멤버쉽 커뮤니티가 필요한 것은 아니겠죠.
많은 경우, 특정 주제에 대한 스터디를 만들 때에는 가능하면 독립적인 아이덴티티를 드러내는 이름을 짓기보다, 그냥 공부하는 구체적 주제로 이름을 짓는 것이 나은 것 같습니다(반대로 특별한 이름을 짓는 것이 주는 장점도 많습니다). 어차피 스터디 그룹은 한시적인 것이고, 공부하자고 모인 것이지 어떤 조직을 만들자고 모인 것은 아니며, 해당 그룹이 공부한 내용은 이런 위키에 축적이 될 것이므로. 그룹의 공동체적 성격이 초점이 되고, 공부보다 "관계"가 중심에 놓이는 경우가 있는데, 이는 공부하는 사람들이 피해야할 것입니다. 같은 주제를 공부하고 싶은 사람들끼리 모여서 정말 열심히, 성실히 공부한 다음, 그 자료를 위키에 남기고, 다음을 기약하며 소리없이 해산하면 그만인 것이죠. 이 때의 또 다른 장점은, 다음에 그 주제를 공부하는 다른 스터디 그룹이 있을 때 이전에 스터디를 했던 사람들의 작업에 접근할 확률이 더욱 높아진다는 것이죠. 관계중심적인 공동체를 이루면 장점도 많지만, 외부에서 절연될 확률이 높아진다는 단점도 있는 것 같습니다.
스터디의 이름에 담겨 있는 정보가, 해당 분야나 스터디의 시기의 정보뿐 아니라, 목표에 부합하는 의미가 첨가되는 것 역시 의미있을 것으로 생각합니다. 이름을 읽을때 마다 목표를 상기시키는 역할도 겸할수 있어서, 거울의 역할을 할 수 있을 것입니다. 하지만, 말씀 하신대로 독립적인 주제와 독립적인 의미를 가지게, 목표만을 이름으로 삼는것은 스터디의 내용과 괴리 될수 있다는 위험때문에, 피해야 할 것으로 생각합니다. --["neocoin"]
''어떤 뜻인지? 해당 스터디의 목표로 이름을 짓는 것이 스터디 내용과 괴리될 수 있다라는 말이 해석이 안되는중. --["1002"]''
- 정모/2011.5.9 . . . . 17 matches
== 캡스톤 설계실 사용 안내 ==
* [http://onoffmix.com/event/2823 IFA 국제퍼실리테이터 컨퍼런스 2011 공유회]
* 컨퍼런스 소개, 퍼실리테이션 트랜드, 아이스 브레이킹 기법 소개, 그래픽 퍼실레테이션 관련 동향, Q&A
* 저 토요일 3시부터 면접스터디가 잡혀서 아침 10시부터 2시까지 있다 갑니다. 데블스 staff 모임 참가 못할 거 같으니 나머지 staff분이 회의 후 회의 내용 공유해주세요 - [Enoch]
* 국제 오디오 페스티벌... 귀만 진탕 호강한 시간이었지... - [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를 했는데 기호에게 미안하네요... 장소가 산만하기도 하고 좀 부담스러웠을 것 같아요ㅜㅜ 그와 별개로 내용은 정말 흥미로웠습니다. 항상 생각했던 것이지만 쓰기 편하고 단순하게 만들면 할 수 있는 게 제한되어 문제고 이것저것 할 수 있게 파워풀하게 만들면 너무 복잡한 게 문제… - [김수경]
- Athena . . . . 16 matches
* 그리스 로마 신화에 나오는 지혜의 여신 "아테나" 입니다. 지혜롭게 프로그래밍을 하고자 만든 이름입니다...^^
* 첫 회의 - 프로젝트 이름 결정, 기본 코딩 스타일 결정, 첫 ["PairProgramming"] 호흡
* 복잡했던 소스 처음부터 다시 짬 - 재동 (30분)
* 코딩 스타일 변경
* 5시반 ~ 7시반 히스토그램 작성 (2시간) - 명훈, 재동
* 9시반 ~ 1시까지 히스토그램 작성(3시간30분) - 명훈
* 히스토그램 그릴 때 깨끗한 선이 그려지지 않음(윈도우상 픽셀의 한계)
* 참신한 아이디어 1번 작성- 스크린캡쳐기능(1시간30분) - 명훈
* 마우스좌표를 바이트배열좌표로 변환(2시간) - 명훈
* 마스크 몇 개 만듬(3시간) - 재동
* 팝업메뉴 띄울때 클라이언트영역좌표를 전체스크린 좌표로 변환 작업(30분) - 명훈
* 나머지 마스크 만듬(30분) - 재동
* 컬러구현에 대한 마스크 적용하기(3시간) - 재동, 명훈
* 3.1 히스토그램
* 3.1.1 일반 히스토그램
* 3.1.2 누적 히스토그램
- DataCommunicationSummaryProject/Chapter9 . . . . 16 matches
* 2000년대 부터 wireless LANs가 데이터 속도와 가격만에서많은 성장을 가져왔다.IEEE의802.11b의 지준을 많이 사용한다.물론 아직은 핸드폰이나 인터넷에 비할수는 없지만,성장 속도는 빠르다. 새로운 시스템은 유선에 도전을 줄 만큼 데이터전송량과 속도를 증가 시켰다.
* 적외선 사용이 실패였지만 아직도 많은 연구와 회사의 사용이 있다.4세대 모바일 시스템으로 주목 받고 있다.roaming하는데 별 어려움 없이 랜과 3새대 휴대폰과 Bluetooth와의 연결도 가능할 것이다.
* 앞에서 예기했지만 짧은 반경이면 고주파이고(고주파는 아직 국가에서 할당이 잘 안돼었다) ,개인이 베이스스테이션을 달므로 허가 받은 주파수가 아니다. 즉 누구나 사요할수 있는것이다. 그럼 사용되는 주파수대를 알아볼까? 물론 고주파다.
* ISM 2.4 는 여러 국가에서 모두 사용가능한 주파수 범위이다.따라서 너무나 많은 곳에서 사용하므로 완전 사장보다 더 복잡하다. 그러니 스프레드 스펙트럼을 사용한다. 하지만 11Mbps이상은 능력이 딸린다.
* License-Free Radio 통신서비스를 하도록 허락한 주파수대이다.(돈주고 판것이것지) 물론 미국과 유럽의 기준이 약간 틀리다.
* HiperLan2 는 802.11a와 거의 물리적인 층은 비슷하다. 그러나 인터넷에 기준을 두지 않는다.(인터넷이 데이터를 처엄부터 기준으로 했다면, ETSI는 음성위주 여기에 데이터를 같이 생각 했으며로 당연하다) TDMA 을 기반으로 한다. 당연 음성 서비스에 좋은 서비스를 해준다. 그러나 역시 미국(802.11a)한테 밀린다.
* 스캐닝 : AP 선정 작업
* 미국같은 GSM이 힘을 못쓰고, 큰 라디오 블로킹 스카이스크래퍼가 일반적인 나라에서 유망할 거라고 예측
* 전체의 무선 시스템을 하나의 칩에 넣음
* 짧은 거리 무선 시스템은 허가되지 않은 주파수 영역을 사용한다. 이것들은 대화를 위해 공개될수 있고, ISM 어플리케이션과 공유될수 있다.
* 디지털 무선 전화기 시스템은 보통 전화기 만큼 좋은 음질을 제공한다. 그들은 종종 혹독한 간섭을 겪는다.
* 4G 모바일 시스템은 무선 랜을 확장한다. 왜냐하면 거리가 매우 짧고, 많은 장치들이 3G, 무선랜, Bluetooth와 콤비로 사용되기 때문이다.
- PythonForStatement . . . . 16 matches
비슷한 것을 찾자면 C++의 배열보다는 C++의 string 클래스, Java의 String 클래스와 비슷하다는 점을 알 수 있어. -- [Leonardong]
for 타겟객체리스트(target) in 시퀀스형(expression_list==sequence):
in 다음에 와야할 문은 시퀀스형 입니다.
시퀀스의 정의는 다음과 같습니다.
시퀀스
음수가 아닌수로 제한되어 있으며 순서가 매겨진 집합. 내장함수인 len()는 시퀀스의 아이템 갯수를 반환한다. 시퀀스의 길이라 n이면, 인덱스는 0..n-1 까지의 범위를 가진다. 시퀀스의 아이템 i는 a[i]로 선택된다.
내장형의 시퀀스는 2.3 기준으로 여섯가지가 미리 정의 되어 있습니다.
내장형인 strings 도 시퀀스 형이며, {{{a[i]}}} 형태로 접근할수 있습니다. 따라서,
위에 기술된대로 list형 역시 시퀀스 형이며, {{{a[i]}}} 형태로 접근할수 있습니다.
왜 C++에 안되느냐면, C++의 제어문이 C문법에 종속되어 있고, C에서는 배열과 같이 주소를 통한 인덱스로 접근하는 형들이 종료 인덱스에 대한 정보가 없어서 구현이 불가능합니다. 추상화 시켜 C++에서는 [STL]에 for_each(..) 라는 함수로 비슷한 것이 구현되어 있기는 합니다.
- VendingMachine/재니 . . . . 16 matches
== 클래스 나누기 ==
* 자판기는 사용자 인터페이스를 구현하는데 사용하고, 사람이 주문할 음료(Drink)를 따로 분류하자..
이정도면 클래스를 나누는 것은 끝난 것 같으니깐 각각의 객체(클래스)에 필요한 역할을 나누어보자..^^
= 소스 =
* 클래스를 너무 많이 만들어서 괜히 복잡해졌다는 재동이 형의 지적을 받았습니다.[[BR]]
아직 클래스 사용법도 제대로 모르는지라 서툴기도 하고.. 결론은 역시 공부해야할 것이 많다는 것...^^
''클래스 수가 많아서 복잡해진건 아닌듯(모 VendingMachine 의 경우 Requirement 변경에 따라 클래스갯수가 10개 이상이 되기도 함; 클래스 수가 중요하다기보다도 최종 완료된 소스가 얼마나 명료해졌느냐가 복잡도를 결정하리라 생각). 단, 역할 분담할때 각 클래스별 역할이 명료한지 신경을 쓰는것이 좋겠다. CoinCounter 의 경우 VendingMachine 안에 멤버로 있어도 좋을듯. CRC 세션을 할때 클래스들이 각각 따로 존재하는 것 같지만, 실제론 그 클래스들이 서로를 포함하고 있기도 하거든. 또는 해당 기능을 구현하기 위해 다른 클래스들과 협동하기도 하고 (Collaboration. 실제 구현시엔 다른 클래스의 메소드들을 호출해서 구현한다던지 식임). 역할분담을 하고 난 다음 모의 시나리오를 만든뒤 코딩해나갔다면 어떠했을까 하는 생각도 해본다. 이 경우에는 UnitTest 를 작성하는게 좋겠지. UnitTest 작성 & 진행에 대해선 ["ScheduledWalk/석천"] 의 중반부분이랑 UnitTest 참조.--["1002"]''
- 데블스캠프2010/다섯째날/ObjectCraft . . . . 16 matches
2. 구조체에서 클래스로
== 유닛 스탯 ==
* [wiki:데블스캠프2010/다섯째날/ObjectCraft/미션1/변형진 변형진]
* [wiki:데블스캠프2010/다섯째날/ObjectCraft/미션1/허준 허준]
* [wiki:데블스캠프2010/다섯째날/ObjectCraft/미션1/김정욱 김정욱]
* [wiki:데블스캠프2010/다섯째날/ObjectCraft/미션1/서민관 서민관]
* [wiki:데블스캠프2010/다섯째날/ObjectCraft/미션1/강소현 강소현]
* [wiki:데블스캠프2010/다섯째날/ObjectCraft/미션1/박재홍 박재홍]
* [wiki:데블스캠프2010/다섯째날/ObjectCraft/미션1/김상호 김상호]
* [wiki:데블스캠프2010/다섯째날/ObjectCraft/미션2/변형진 변형진]
* [wiki:데블스캠프2010/다섯째날/ObjectCraft/미션2/허준 허준]
* [wiki:데블스캠프2010/다섯째날/ObjectCraft/미션2/박재홍 박재홍]
* [wiki:데블스캠프2010/다섯째날/ObjectCraft/미션2/강소현 강소현]
* [wiki:데블스캠프2010/다섯째날/ObjectCraft/미션2/서민관 서민관]
* [wiki:데블스캠프2010/다섯째날/ObjectCraft/미션2/김상호 김상호]
* [wiki:데블스캠프2010/다섯째날/ObjectCraft/미션3/김상호 김상호]
- 제12회 한국자바개발자 컨퍼런스 후기/유상민의후기 . . . . 16 matches
["제12회 한국자바개발자 컨퍼런스 후기"]
원문 : 한국 자바 개발자 컨퍼런스/12회 관련 개인 위키 페이지
대답을 통해서, 학교에서 소프트웨어 공학 수업들었을때와 비슷한 느낌을 받을 수 있었다. 요구 분석 절차를 위해서 300페이지 짜리 문서를 보면서 5분단위로 쪼개진 프로세스를 지키면서 하라는 소리는 하지말라는 의미와 별반 차이 없을 것 같다. 중간에 청중에게 질문한게
* 캐시가 안되서 망한거 많이 봤다는 표현을 썼는데.. 그런거 본적없다. 사례가 있으면 좋겠다. 그냥 개념적으로 생각해도, 이 부분은 납득하기 어렵다. 국내 트래픽이면 그냥 돈써서 장비 업하면(스케일 업) 쉽게 해결된다. 뭐, 만약 사례가 네이버 만화라면 이해가 간다.
* memcached 와 mysql 벤치 마크중에서 mysql query hit을 99% 수준으로 놓고 테스트 해봤냐?
* 위의 disk vs mem 하면 차이가 큰게 당연한데 아주 큰 차이가 있을 테스트를 왜 보여주는지 이해가 안갔다. 더불어 하지 않았다는 것은 위의 벤치마크가 쿼리 히트율이 떨어진다는 의미인데... in memory db 로 벤치마크를 하면 모를까.. 그냥 스트레스 테스트 결과로 보강했으면 좋겠다.
중간에 자신에 경험을 섞어서 이야기할 가능성이 있지만 그냥 포기하고 이동. 사람이 많아 움직이기 부담스러워서 이 홀에 있으려고 했는데 내용이 나를 내 쫓는다.
위에 내용을 시작하자 마자 충격 먹고.. 갈곳 없어서 여기에 들어갔다. 스프링 관련 들으려고 했었는데 다 비슷한 생각인 모양. 사람이 너무 많아서 들어갈수도 없었다. 인천 관련 이곳은 있었음. 재미있는 점은 여기에 VIP 다 모여있다. (jco 회장단, 전자신문 기자, 각종 업체들) 제목이야 홍보 자리였는데, 알고보니 업체들 커뮤니케이션 하는 자리였던 모양.
* 토즈 같은 시스템 부족
* 이 자바 컨퍼런스를 인천에서 열어도 이정도 인원이 모인다고 생각합니까?
* 옥상훈 : 이렇게 크게 하는 것 보다는, 먼저 작게 시작해야 한다. 앞서 이야기 했지만 지역 기반의 지속적이고 작은 스터디 모임을 시작하는게 좋다. JCO 처음 시작할때 100~200명 수준으로 아주 작게 시작했다.
* 개선점 ~ 그냥 3,4명 패널을 놓고 계속 질문 답변으로 진행하는게 좋을 것 같다. 모두를 아우르기 위해 추상적인 용어를 쓰면 모두가 조금씩 만족하지 못하는 부분이 생긴다. 3명 정도가 구체적인 자신의 경험을 이야기하는 편이 좀 더 매끄럽고 자연스럽게 진행되지 않았을까 싶다. 주제가 기억은 안나지만, 과거에 그런 진행 방식 본적이 있었는데, 이 자리에는 그런 방식으로 하면 이번에 하면 매우 어울릴 것 같다.
* 집에 돌아와 stan4j 돌려보고 있는데 정말 최고다. 당장 13개의 순환 의존성에 문제가 있는 지점을 찾아준다. Java 언어가 매크로가 없고 매타 프로그래밍 요소가 적다는 언어의 특성으로 이런 멋진 도구가 만들어 진다는건 정말 좋다. 특히 손영수씨가 500개 클래스 안쪽에서는 무료라고 했는데, 이런 대단한 도구가 시간 제약이 아니라 규모 제약으로 무료라니 정말 놀랍다.
- DNS와BIND . . . . 15 matches
db 파일(DNS 데이터 베이스 파일)
호스트->주소 맵핑하는 파일 - db.DOMAIN
주소->호스트 맵핑하는 파일 - db.ADDR
DNS 리소스 레코드 : db 파일내의 항목들
리소스 레코드들의 (일반적)순서 - SOA(start of authority) 레코드, NS(name server) 레코드, 기타 레코드, A(address), PTR(pointer), CNAME(canonical name)
terminator.movie.edu => 주 마스터 네임 서버의 이름
A - 호스트 네임을 주소로 맵핑하는 리소스 레코드
CNAME - 별명을 그에 해당하는 정규(canonical)네임으로 맵핑하는 리소스 레코드
네트워크 주소를 호스트 주소로 맵핑
; 인터페이스를 위한 특정한 이름들
; 인터페이스를 위한 특정한 이름들
== 호스트 네임 검사 ==
== 주 마스터 네임 서버 운영하기 ==
* 추가 테스트
- ProgrammingPartyAfterwords . . . . 15 matches
서강대의 희상, 성근, 경훈은 미리 와서 리눅스에 Eclipse 를 깔고 그들을 기다리고 있었다.
모두 리눅스에서 개발을 했고, MOA팀은 C+ViImproved 를 사용했고, ZP#1, ZP#2는 모두 Java+["Eclipse"]를 사용했다.
먼저, 김창준씨가 앞으로 나와서 인사를 하고 이 파티의 의의를 설명했다. 그리고는 바로 파티의 스케쥴과 간략한 참가방법을 설명했다. 멘터(Mentoror)와 퍼실리에이터(Facilliator)의 역할, 소개 등이 있었고, 심사방법이나 심사 요소에 대한 자세한 설명이 있었다..
그 때쯤인가, ZP#2팀의 Mentor이신 김창준님이 '슬쩍' 오셔서 Design이 잘 떠오르지 않는다면, 비슷한 아키텍쳐를 가진 문제를 풀어서 그 아키텍쳐를 재사용해 보라는 말씀을 하셨다. 하지만, 우리 팀원중 아무도 그것에 대해선 이후에 언급하지 않았다.(묵살되었다. --) 그러다가 우선 요구분석에 대한 이해를 높이고, 디자인을 상세화하기 위해서(디자인->코딩->디자인->코딩 단계를 반복하였다.) 코딩을 시작하기로 하였다. 상협군과 인수군은 매직펜을 맡았고, 희록군은 키보드를 맡았다. 희록군은 Unix환경에서의 Eclipse의 작업 문제로 인해 심각한 스트레스를 받고 있었다. 그러다가 컴퓨터를 한번 옮겼으나 그 스트레스를 줄이진 못했다. 아무래도 공동으로 프로그래밍 하는거에 익숙하지가 않아서 좀 서투룬 감이 있었다. 그래도 해야 겠다는 생각을 하고 문제의 요구 사항을 분석하고 어떻게 설계를 해야할지 의논했다.
요구분석을 마치고 디자인을 하기로 한 시간이 되었기에 팀원들은 한 테이블에 모였다. 그리곤 CRC 카드를 이용해서 디자인에 들어가기 시작했다. 암묵적으로 ["구근"]님이 ZP#2의 무게중심이 되어서 디자인 회의가 시작되었다. 어떤 클래스들이 필요한가, 어떤 이벤트를 누가 발생시키고 그 이벤트를 누가 알아야하는가에 대한 이야기가 오가는 가운데 ["데기"]는 문제파악 조차 제대로 안되어서 무척 혼란스러웠다. 서로 요구분석 이해에 차이가 있었음에도 불구하고 디자인은 계속 진행되었고, 시간은 계속 흐르고 흘러서 구현을 시작하기로 한 시간을 훌쩍 넘어버렸다.
세 팀의 발표를 모두 듣고 멘터 3명은 각 팀의 소스를 프린트해서 채점을 위해 잠시 장소를 옮겼다.
''우..~ 기사 쓰기쪽에 열올리다 보니 스레드까지 커서가 안넘어가져요;; --석천''
이런 시뮬레이션에 관심이 있다면 다음의 자료들을 참고하길 바랍니다. (일단 두 번 정도는 스스로의 힘으로 풀어보고 나서 참고하면 좋을 것임)
* NoSmok:StructureAndInterpretationOfComputerPrograms 에 나온 Event-Driven Simulation 방식의 회로 시뮬레이션 [http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-22.html#%_idx_3328 온라인텍스트]
* Discrete-Event System Simulation : 이산 이벤트 시뮬레이션 쪽에 최고의 책으로 평가받는 베스트셀러. 어렵지도 않고, 매우 흥미로움. [http://165.194.100.2/cgi-bin/mcu240?LIBRCODE=ATSL&USERID=*&SYSDB=R&BIBNO=0000351634 도서관]에 있음
- ProjectVirush . . . . 15 matches
외계인이 지구에 있는 생명체에게 바이러스를 보낸다. 강력한 바이러스로 지구 생명체를 몰살하려고 플레이어는 바이러스를 통제하는 과학자가 된다. 외계 본부에서 받은 지령을 성공적으로 수행하면 보상이 뒤따르지만, 그러기 위해서는 만만치 않은 다른 바이러스들을 따돌릴 전략을 세워야 한다.
== 마스코트 ==
그래도 마스코트는 귀엽죠?
예약(zone->lab) 서버 사용자마다 스레드 할당 4
제작실 클라이언트 바이러스 이름 입력 부분 추가 12
제작실 서버 바이러스가 이름을 갖도록 1
[바이러스삶과죽음사이]
바이러스는 미생물의 일종이다. 정확히 말하면 생물과 무생물 사이에 위치한다.
바이러스는 궁합이 맞는 경우에만 들어가 살 수 있다.
세균, 동물, 식물 바이러스가 있다.
백신이란 치명적인 바이러스를 예방하기 위한 것이다. 치료제가 아니다.
바이러스 크기는 세포보다 매우 작다.
- [Lovely]boy^_^/Arcanoid . . . . 15 matches
* 스테이지는 역시 파일로 처리
* 소스에 이것저것 막 넣다 보니 지금 코드가 상당히 지저분해졌다. 중복을 최대한 없애는 방향으로 해놔서 중복은 별루 없지만, 한 메소드가 너무 길고, 클래스 별 역할 분담이 제대로 이뤄지지 않은것 같다. 모든 충돌루틴이 다 CArcaBall에 집중되어 있다.
* 전체적인 디자인 변화 : 먼저번게 분산식이었다면, 이번건 커다란 관리 클래스에서 알아서 하는 식으로 바꼈다. OOP로부터 점점 멀어지는거 같긴 하지만..--;
CArcaObject - 알카노이드에 등장하는 모든 오브젝트들의 부모 클래스(위치, 크기, 비트맵, getter/setter)
* 더블버퍼링 & 비트맵 마스킹
* 지난번엔 x로 1, y로 1 이렇게 움직였지만.. 이번에 대각선 길이 루트2에다가 cos22.5, sin22.5 이런걸 해버리면.. 캐스팅 될때 1,0 이 되면서 수직, 또는 수평으로만 움직일 수가 있다.
// 소스 OnInitialUpdate() 맞나? 어쨌든 초기화 하는거에서
여담으로, 전에 MFCStudy 로 할때 각도 계산까지 넣었다면 좋을뻔 했지? ^^;; 하지만 아마 그때 넣었으면 더 시간이 걸렸을꺼 같아서;; 어이 인수 과거 소스를 나에게 넘겨 쿨럭. 농담이고, 아 진작 소스 겉어 둘껄 ^^;; --["neocoin"]
흑 ㅠ.ㅠ 예전 소스가 있었다면 제가 이거 만들고 있겠어요?--; 고스트 삽질로 싸그리 날렸더니만, 생각도 못한 ZP 자료실에 실행파일만 덩그라니 남아있을줄은..--;
진짜 소스 겉어서 링크 해둘껄 다들 옛날 소스 보면 정말 재미있을텐데 --["neocoin"]
* 블록이 깨졌을때 나오는 아이템을 20개 먹으면 미사일이 하나 생긴다. Ctrl을 누르면 미사일 발사. 지나가는 코스에 있는 블록들의 내구도 1씩 감소.(미사일이 이상하게 생겼다. 고쳐야겠다.)
- 고한종 . . . . 15 matches
>선호하는 기술 스택은
- [고한종/업적/WinAPI를 통한 테트리스]
- ~~[고한종/업적/WinAPI로 만든 학과주점 포스기]~~
* 내 1학년 겨울방학을 전부 잡아 먹고, 2학년 1학기, 여름방학 전반부도 잡아먹은 녀석 (...), 지금보면 정말 허접한 App인데, 아직도 이 소스의 도움을 받고 있다. 가끔 들여다보면 전부 싹다 갈아 엎어버리고 싶은 생각이 가끔 든다. [황현]선배의 마음이 약간은 이해가 된다. 이해가 안되는건 갈아 엎는 걸 개강직전에 하고 여름방학에도 하고 그랬다는거지 (...), 이걸 안 했으면 지금의 나는 좀 다른 사람이었을 것 같다. - [고한종], 13년 3월 16일
* JAVA의 Swing으로 만든 시간표 대신 만들어주는 프로그램 (...) 사실 만들어 놓고 안쓴다. 2학년 말에 만들어 놓고 이번 학기(2013년 1학기)에 본인조차 안 쓴걸 보면 기획부터가 잘못된 물건. 일단 소개를 하자면, 수강신청 기간이 되면 포탈에 그 학기에 개강될 과목들을 정리해서 xls 파일로 올려줍니다. 이걸 받아서, poi 라는 JAVA 라이브러리? 에 넣고 돌리면 "[cell값]" 형식으로 String이 나옵니다. 그럼 이걸 stringTokenizer에 ]와 [를 토큰으로 해서 잘게 쪼개줍니다. (애초에 그런거 없이 CSV로 나오면 최고겠지만.. 할줄 모름 ㅠ). 사실 그냥 엑셀에서 CSV로 만들어 쓰면 되는 데, 그때 당시엔 사용 편의성을 도모한답시고 뻘짓 함. 어짜피 아무도 안 쓸텐데 ㅠㅠ 그렇게 얻어낸 과목의 시간정보를 ArrayList에 넣고, 그걸 가지고 backtraking인지.. 를 했던것 같음. 결국 속도는 처참했지만 -_-... 모든 결과가 나오는 것도 아님. 마지막으로 코드를 수정하고나서 테스트로 돌렸을때, 내가 실제로 수강신청했던 시간표는 나오지 않았음 ㅇㅈㄴ... - [고한종], 13년 3월 16일
* 완성은 못 했고, 이때는 멀티스레드 쓸 생각을 전혀 못 했는데, 이제는 할 줄 아니까 지금 붙잡으면 고칠 수 있음. 이거 만들땐 AppStore에 올려서 돈벌 생각을 했었는데... 얼마전에 이거보다 훨씬훨씬 훨씬 훌륭한게 이미 나와버려서.. -_-;; 몇몇 사람들에겐 보여줬으니 알지도... [권순의]선배 사진가지고 많이 테스트해봤다. 테스트할려고 찍은 인물사진중엔 제일 좋은결과가 나왔었음. - [고한종], 13년 3월 16일
* 여태까지 만들었던 것중에 가장 잘나간 것. 하지만 속 알멩이는 여태까지 만든 것 중 가장 쓰레기. 이걸 OOP개념이라던가, 좋은 유지보수가 가능하게 코딩하려면, 프로젝트를 버리고 다시 시작해야 할듯. 소개하자면 이걸 공개한게 13년 1월 8일인가 하는데, 12년 12월 20일에 확산성 밀리언 아서라고 일본 ~~T~~CG(트레이드가 없어....) 게임이 들어왔다. 애니팡으로 한국 모바일 게임시장이 열린 상황 (그 전에는 미친 법 때문에 스토어에 게임 카테고리가 없었지....), 퍼즐류는 애니팡이 먹고, 슈팅게임은 드래곤플라이트, 레이싱(?)은 다함께차차차, 캐쥬얼은 윈드러너가 먹은 상황에, ~~T~~CG라는 새로운 장르가 수입이 되니.. 그야말로 공급이 없어서 단숨에 유저 확보. 지금 대략 생성된 계정은 못해도 80만개를 넘었다고 한다. 게임소개는 여기까지하고, 이 게임이 1기긱 1계정으로 기기종속 게임인데, 온라인 게임인데 부캐를 돌리고 싶은것은 어찌보면 당연!. 사람들이 로그아웃 하는 방법을 찾아놓은게 있다. 근데 겁나 불편하다 (...) 그래서 그걸 안드로이드 어플로 자동화시켜서 터치한번이면 되도록 만들었다. 그리고 공개 -> 2달이 지난 지금 1만 5천명이 내 블로그를 들렸다 나갔다. 아마 못 해도 1만은 다운로드 까진 해보지 않았을까 싶다. - [고한종], 13년 3월 16일
* 이거 결국엔 카피켓이 먼저 구글 플레이 스토어에 올라가 버렸다. 이런 저런 이유로 마켓에 올릴 생각은 없었지만. 카피켓이 스토어 올라가서 수익 내고 있는거 보니까 기분이 참 미묘미묘함 -[고한종](13/03/27)
* 그래픽스 연구실에서 서울시특허 과제로 만들고 있는 것 (13년 3월) 거의 완성했는데, 기반이 된 OpenCV가 intel CPU최적화라 아이패드에서 돌리면 겁나 느려서 시연불가능 급이다 -_- 속도만 해결하면 완성인 과제. - [고한종], 13년 3월 16일
* 원본 프로그램은 ActiveX로 만들어져있었다. 게다가 스레드 돌리기 싫어서 DoEvent 기법을 썼다(...) 이걸 나는 iOS로 포팅 하는데 성공했다. ActiveX도 결국 MFC이기 때문에 별로 안 어려워 보일 수 있으나... 모든 사용자 정의 함수는 void형에, 모든 멤버변수는 public이어서 어디서 초기화하는지 일일히 찾아서 작업해야 했다. 미치는줄 알았음. 심지어 한 함수안에서 딱한번 쓰는 변수도 클래스 멤버변수로 선언되어 있기도 했음.. 그냥 지역변수를 쓰지!? - [고한종], 13년 3월 16일
* ㄹㅇㄹㅇㄹㅇㄹㅇㄹ ㅜㅠ 전 옆에서 제 화면 쳐다보는거 자랑스럽게 생각했는데 ㅜㅠ... - [고한종]
- 논문번역/2012년스터디/신형준 . . . . 15 matches
Describe 논문번역/2012년스터디/신형준 here
패턴 인식의 도전 영역은 자필 문서 인식에 있다. 지금까지 대다수의 자필 인식 시스템은 우편 주소를 읽거나 은행 수표와 같은 형태들을 처리하는데 사용됬다. 반면에 이 시스템은 분리된 문자 또는 단어에 대해서 한계를 가지고 있는데, 오직 구속되지 않은 자필 문서의 인식에 대한 많지 않은 시스템 만이 존재했다. 이와 같은 수행의 증가된 복잡성 때문에, 문자의 부재 혹은 단어의 경계 정보, 거기에 크거나 심지어 한계가 없는 단어들에 의해 특징지어진다.
이 에세이에서 HMM에 기반한 어휘에 자유로운 필기 인식에 대한 시스템이 설명되어 있고, 영어로만 이루어진 문장 데이터 베이스에서 몇몇의 실험들이 필기자에 독립된 형태, 또한 다수와 개인 작가 형태에 대해서 비교하기 위해 실행되었다.
다음 부분에서 우리는 오프라인 필기인식에 관련된 일의 짧은 보고서를 볼 수 있다. 우리가 사용하는 데이터베이스는 section 3에서 소개되어질 것이다.
주어진 벡터 u과 실수 c에 대해서 c에 대한 u의 스칼라 곱은 u의 각 각 의 entry에 c를 곱함으로 써 얻어진 cu벡터 입니다.
Cu에서 c를 스칼라 라고 부릅니다. 이것은 획이 가는 활자의 형태로 쓰여집니다. (벡터 u를 나타내는 볼드체 활자로부터 구별하기 위해서)
스칼라 곱과 벡터 합의 연사자들은 다음의 예에서 처럼 결합될 수 있습니다.
평면에서 사각 좌표 시스템을 간주해봅시다. 이 평면에서 각각의 점은 정렬된 숫자들의 쌍으로 결정되기 때문에 우리는 기하학적인 점 (a,b)를 열 벡터로 인식할 수 있습니다.
이같은 경우에 개인적인 점들(화살표 그것 스스로에 대해서)은 특별한 중요성을 가지고 있지 않습니다.
R^n에서의 같음과 스칼라 곱과 벡터 합 의 연산자들은 R^2에서 와 같이 entry와 entry에 대응하여 정의되어 집니다. 이 벡터들에 대한 연산자들은 실수에대한 대응하는 속성들로부터 직접적으로 증명할 수 있는 다음의 속성들을 가집니다. Practice Problem 1과 Exercises 33 그리고 34 (이 섹션 마지막에 있는) 을 보십시오.
R^n에서 v1,v2,.....,vp 의 주어진 벡터와 주어진 스칼라들 c1,c2,....,cp에 대해서, 벡터 y는 y = c1v1+ .... + cpvp로써 정의되어 집니다.
- 새싹교실/2011/무전취식/레벨6 . . . . 15 matches
김준석 : 지난주에 시험기간. 댄스스포츠를하고. 댄스스포츠 동아리를 들어갔어. 5주를 나가서 신입회원이 됬다. 내가 거의 젤 어림. 요즘에 춤바람이 났다고 주위사람들이 얘기함. 그리고 게임을 너무 많이 했음. 심시티4 를 너무 열심히함. 그리고 이번주 프로젝트 발표가 3개가 있어. 이번주 금요일날 죽을것 같음. 전체적으로 시험은 B이상은 나올것 같음.
이소라 : 저요 물리시험을 봤는데. 1등함. 96점. 난좀 천재임. 그리고 천둥번개 엄청쳤음. 그때가 100일날이어서 놀러갈려했는데 못감. 슬픔 ㅠㅠ 그리고 창설 전 한게 없는데 1등함. ㅋㅋㅋㅋ 잘부려먹었다. 캐치마인드 해서 하나 마스터함. ㅋㅋ 그래서 똥별됨 ㅋㅋㅋ.
* Factorial 짤때 중요한건 Stack Call!! 함수 호출시. 스택에 돌아올 주소를 넣어두고 함수가 종료되면 스택에서 빼와서 돌아간다. 너무 많은 자기 자신을 호출하는 함수라면 스택에 너무 많이 쌓여 오버 플로우(Over Flow)로 에러가 나게 된다. 항상!! 종료조건을 정하고 함수를 설계하자.
* 관련 페이지 : ThreeFs, [http://no-smok.net/nsmk/ThreeFs ThreeFs(노스모크)], [http://no-smok.net/nsmk/FiveFs FiveFs(노스모크)]
* 예를 들어 지난주에 돈가스를 먹은 것에 대해 후기를 쓴다면 : "지난주에 강남에 가서 하나에 5만원하는 돈가스를 먹었다.(사실) 기대를 잔뜩 했는데 별로 맛이 없었다.(느낌) 강남은 땅값이 비싸서 값만 보고 엄청 맛있을거라 기대하면 안된다는 것을 알았다.(깨달은점) 다음에는 미리 인터넷에서 평을 찾아보고 별점이 높은 돈가스집을 찾아서 가봐야겠다.(앞으로의 계획)"
* 네모난 그릇이 스택의 모양이지요~~ 꼭 정해진건 아니지만 이해하기엔 좋답니다. Array에 대한 자세한 설명을 더 써주었으면 좋은데@_@ ㅋㅋ 진영이 졸고 있어도 잘 듣고있는거 보고있어요. 착한 어린이=ㅂ= 과자나 먹여봅세 - [김준석]
* 후기 늦게써서 죄송해요...ㅠ_ㅠ 스택은 어렵습니다. 별로 신경써야하는 부분이 아니라고 생각하고있었는데 그래서 재귀함수를 못했나봐요. 배열도 완전히 까먹고있던걸 새로배우는 마음으로 배웠어요. 배열~포인터까지는 다시한번 복습이 필요할것같아요! -[이소라]
- 튜터링/2011/어셈블리언어 . . . . 15 matches
= 시스템 프로그램 및 어셈블리언어 튜터링 =
* 1주차 : 어셈블리 소개 및 컴퓨터 시스템 개요
* 2주차 : 인텔 프로세서의 구조, 파이프라이닝과 슈퍼스칼라와 스케쥴러
* 3주차 : 스케쥴러 반복, 주소 체계
* 9주차 : 스택과 프로시저
* 14주차 : 고급언어 인터페이스
* 주제 : 어셈블리 소개 및 컴퓨터 시스템 개요
* 지난주에는 루프와 레지스터를 이용한 재귀함수까지 해 보았다.
* 이번에는 전역변수와 스택을 이용한 재귀함수를 구현해 본다.
*스택(Stack)이 쓰기 어려워요!
* 스택의 기본은 push와 pop.
* 스택에 push되는 값이 무엇인지 생각해보고 pop된 값을 어디에 저장할지를 정하자.
* 미스터 피자에서
* 상위 언어 인터페이스
- DesignPatternsAsAPathToConceptualIntegrity . . . . 14 matches
디자인패턴의 조직에 대한 우리의 토론중 디자인 패턴의 '자연적인 생성' 을 정의하기 어렵다는 의견이 있었다.만일 우리가 어떻게 디자인 프로세스에서 디자인 패턴들이 이용되는지 이해한다면, 그리고 패턴들의 조직화가 멀리 숨어있지 않다면, 이는 정의를 위한 좋은 프로퍼티가 될 것이다. 크리스토퍼 알렉산더(Alexander) 는 디자인 패턴의 자연적 생성은 이득이 되는 요소중 하나임을 강조했다. 소프트웨어의 관점의 업무 내에서 자연적인 생성은 실패한것 처럼 보이며, 디자인 패턴을 이용하는 더 일반적인 접근 방법은 다음과 같은 식으로 묘사된다. "xyz 문제에 대해 직면하게 되었을때.. 해결책은.." 혹자는 소프트웨어계에서 더 디자인패턴의 편의주의적인 적용은 디자인패턴의 생성적인 이용보다 유용하다고 말할지도 모른다.
이러한 차이의 근본은 디자인 프로세스 내에서의 디자인 패턴에 대한 촛점의 부족일지도 모른다. 사실상, 우리는 디자인 패턴과 관련된 디자인 프로세스에 대한 토론을 거의 보지 못했다. 디자인패턴을 프로세스와 독립적으로 쓰이는 도구처럼 보기도 한다. 이에 대해 좀 더 연구해보자.
오브젝트/클래스 디자인 위에 아키텍쳐의 존재
이는 Brooks 가 25년 전에 쓴 말이다. "ConceptualIntegrity 는 시스템 디자인에서 가장 중요한 일이다." 그는 계속 말한다. "이 딜레마는 잔인한 것이다. 효율성과 개념적 완전성중 혹자는 디자인과 구축을 하는 것을 선호할 것이다. 큰 시스템에 대해 혹자는 책임을 맡을 중요한 맨 파워를 가져올 방법을 원할 것이다. 그래서 프로덕트는 적시에 출현할 것이다. 어떻게 이 두 필요요소들이 조화를 이룰 거인가?
하나의 어프로치는 정의, 가장 최우선의 중요한 특질을 상승시킨다. (어뎁터빌리티나 변화에 대한 분리) 그리고 이 퀄리티들들을 디자인 프로세스의 설립의 용도로 이용할 수 있다. 만일 이 최우선의 특징이 프로세스의 목적이나 구체적 디자인 분류의 하나라면 아마 'many'는 같은 개념적 완전성을 "약간의 좋은 감정"으로서 적시에 프로덕트를 ..
다음은 "객체지향 메소드들의 효과를 테스트하기 위한 리트머스 종이로서의 디자인 패턴" 으로부터의 요약이며, 통찰력을 제공해줄 것이다.
몇몇 O-O 디자인 방법론들은 구체적 디자인 기준에 따라 최적으로 나누어진(모듈화되어진) 아키텍쳐나 마이크로-아키텍쳐들을 개발하는 명확한 단계의 폼에서 시스템적인 프로세스를 제공한다.
- QuestionsAboutMultiProcessAndThread . . . . 14 matches
1. Single CPU System에서 프로세서 A 가 Run 중일 때, I/O 작업을 해야 돼서 다른 프로세서 B로 스위칭을 하는 상황이다.
* 스위칭을 한다면, 프로세서 A에 Time Slice를 조금 남겨놓고 스위칭을 하는 것인가? 즉 I/O 작업을 계속 할 수 있도록 CPU가 조금씩 I/O 작업을 진행하면서 프로세서 B를 실행하는 것인가?
* A) processor라고 쓰신 것이 아마도 process를 의미하는 것 같군요? scheduling 기법이나, time slice 정책, preemption 여부 등은 아키텍처와 운영체제 커널 구현 등 시스템에 따라 서로 다르게 최적화되어 설계합니다. thread 등의 개념도 운영체제와 개발 언어 런타임 등 플랫폼에 따라 다를 수 있습니다. 일반적으로 process의 context switching은 PCB 등 복잡한 context의 전환을 다루므로 단순한 thread 스케줄링보다 좀더 복잡할 수는 있으나 반드시 그런 것은 아닙니다. - [변형진]
* 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) 동시에 할 수도 있습니다. - [변형진]
* 오오.. 이렇게 비유를 할 수 있다니 예술스럽네 - [서지혜]
* 예제 읽으면서 마치 헤드 퍼스트 책을 읽는듯한 느낌을 받았다..ㅋㅋㅋ - [송지훈]
- Squeak . . . . 14 matches
스퀵은 스몰토크(Smalltalk)입니다. 일반적으로 스몰토크라 그러면 국내에서는 컴퓨터 역사의 한 부분으로 과거의 언어정도로 생각하고 있습니다. 그래서인지 국내에서는 일부 취미 생활로 공부하는 사람, 극(극극극극)히 적은 특정 분야의 회사를 제외하고는 쓰이지 않습니다. 그러나 스몰토크는 진보적이라면 진보적이지 결코! 절대로! 과거의 고리타분한 언어가 아닙니다. 무엇보다도 스몰토크는 무척! 즐겁습니다. 특히 '스퀵'은 더 즐겁습니다. ;) (소개글은 http://squeak.or.kr 에서 퍼왔습니다)
== 스퀵으로 할 수 있는 것들 ==
* 스퀵 (스퀵으로 스퀵을 한다? )
* 창준선배님과 상민형께서 올해초쯤에 마소에 게제하신 글을 보고 스퀵을 알게 되었습니다. (그전에 책을 갖고 있긴 했었지만요) 기사를 보고 스퀵을 조금 익혀두었다가 나중에 자식을 낳고 자식과 같이 스퀵을 즐길 수 있었으면 좋겠다는 생각을 하고 스퀵을 해봐야겠다는 생각을 했습니다. 하지만 아직 사용하고 있는 사람들이 많지 않은것 같더군요 - 임인택
- VisualBasicClass/2006/Exam1 . . . . 14 matches
① Alignment는 텍스트 박스 안의 문자열을 정렬한다.
리스트 박스는 여러개의 선택사항을 제공한다. 이 때 리스트 박스 항목 선택은 값이 ? 일때선택 유형이 확장된 다중 선택으로 'Shift + 누름' 또는 'Shift + 화살표 키'를 사용할 수 있다.
② 사용자에게 제공되는 인터페이스 옵션을 중심으로 설계가 이루어진다.
D) 사용자 인터페이스 설계 및 구성
㉠ 툴 박스에서 추가하고자 하는 툴을 클릭한다.
㉢ 폼 위에서 마우스 포인터를 컨트롤을 두고 싶은 위치에서 클릭, 드래그하면 컨트롤이 나타난다.
14. 옵션버튼이 명령 버튼과 체크박스와 다른 점은?(1점)
① List1에서 현재 선택된 아이템의 인덱스를 나타낸다.
② 선택된 아이템 인덱스가 변경되었을 때 이용된다.
③ 가장 최근에 추가된 아이템의 인덱스를 기억한다.
- XpQuestion . . . . 14 matches
- '필요하면 하라'. XP 가 기본적으로 프로젝트 팀을 위한 것이기에 혼자서 XP 의 Practice 들을 보면 적용하기 어려운 것들이 있다. 하지만, XP 의 Practice 의 일부의 것들에 대해서는 혼자서 행하여도 그 장점을 취할 수 있는 것들이 있다. (TestDrivenDevelopment, ["Refactoring"], ContinuousIntegration,SimpleDesign, SustainablePace, CrcCard Session 등. 그리고 혼자서 프로그래밍을 한다 하더라도 약간 큰 프로그래밍을 한다면 Planning 이 필요하다. 학생이다 하더라도 시간관리, 일거리 관리는 익혀야 할 덕목이다.) 장점을 취할 수 있는 것들은 장점을 취하고, 지금 하기에 리스크가 큰 것들은 나중에 해도 된다.
개인적으로, TestDrivenDevelopment 는 연습해보면 배울 게 많다고 생각한다. Test 를 작성하는데에서 배웠던 일들이 많기에. (Test 를 작성하기 위해 큰 모듈덩어리에서 일어나는 중간단계에 대해 더 깊게 생각하고 작은단위로 쪼갠다던지, AcceptanceTest 를 작성하기 위해 전체 시스템 돌아가는 과정을 안다던지 등등)
- Story Card 는 Kent Beck 이 사용자와 더 빠른 피드백을 위해 생각한 덜 형식적인 방법이다. 어차피 Story Card 는 전부 AcceptanceTest 로 작성할 것이기에, 테스트가 작성되고 나면 AcceptanceTest 가 도큐먼트 역할을 할 것이다. Index Card 도구 자체가 보관용이 아니다. 보관이 필요하다면 위키를 쓰거나 디지털카메라 & 스캐너 등등 '보관용 도구', 'Repository' 를 이용하라.
- 어차피 실제 고객에게 가치를 주는 중요한 일만을 하자가 목적이기에. Documentation 자체가 중요한 비즈니스 가치를 준다던가, 팀 내에서 중요한 가치를 준다고 한다면 (예를 들어서, 팀원중 몇명이 항시 같이 작업을 할 수 없다던지 등등) Documentation 을 EngineeringTask 에 추가하고 역시 자원(시간)을 분배하라. (Documentation 자체가 원래 비용이 드는 일이다.)
- ["1002"] 가 ProjectPrometheus 를 할때엔 거의 전체 작업을 Pair로 진행했다. Integration 비용이 전혀 들지 않았다. (두명이 멤버였으니; 당근!) 그리고 초기 소스와 지금 소스중 초기 모습이 남아있는 부분을 보면 '젠장. 왜 이렇게 짠거야? 이런 허접한...' 이다. 중복된 부분도 많고, 매직넘버도 남아있고, 처음엔 쓸거라 생각했던 일종의 어뎁터 역할을 하는 클래스는 오히려 일만 복잡하게 만들고 등등.
단, 올바른 Pair는, 역시 Pair 하는 사람들 스스로 성숙할 필요가 있는 것 같다. ["1002"] 처럼 삐지기 쉽거나 F 스타일에 더 가까운 MBTI 스타일을 가진 사람은 약간. -_-; (["1002"] 는 INFP 인데, F 스타일이 T 스타일의 3배이다.; 물론 MBTI만으로 사람 전체를 평가하는것은 당근 아님.~)
- 데블스캠프2006/월요일/연습문제/switch . . . . 14 matches
[데블스캠프2006/월요일/연습문제/switch/정승희]
[데블스캠프2006/월요일/연습문제/switch/이차형]
[데블스캠프2006/월요일/연습문제/switch/윤영준]
[데블스캠프2006/월요일/연습문제/switch/김준석]
[데블스캠프2006/월요일/연습문제/switch/임다찬]
[데블스캠프2006/월요일/연습문제/switch/김대순]
[데블스캠프2006/월요일/연습문제/switch/주소영]
[데블스캠프2006/월요일/연습문제/switch/윤성준]
[데블스캠프2006/월요일/연습문제/switch/이장길]
[데블스캠프2006/월요일/연습문제/switch/성우용]
[데블스캠프2006/월요일/연습문제/switch/이경록]
[데블스캠프2006/월요일/연습문제][데블스캠프2006/월요일] [데블스캠프2006]
- 데블스캠프2012/넷째날/묻지마Csharp . . . . 14 matches
== 데블스캠프2012/넷째날/묻지마C# ==
* 링크 예시 : [데블스캠프2012/넷째날/묻지마Csharp/Mission1/송지원]
* [데블스캠프2012/넷째날/묻지마Csharp/Mission1/김준석]
* [데블스캠프2012/넷째날/묻지마Csharp/Mission1/서영주]
* [데블스캠프2012/넷째날/묻지마Csharp/Mission2/김준석]
* [데블스캠프2012/넷째날/묻지마Csharp/Mission2/서민관]
* [데블스캠프2012/넷째날/묻지마Csharp/Mission2/서영주]
* [데블스캠프2012/넷째날/묻지마Csharp/Mission3/김준석]
* [데블스캠프2012/넷째날/묻지마Csharp/Mission3/서민관]
* [데블스캠프2012/넷째날/묻지마Csharp/Mission3/김수경]
* [데블스캠프2012/넷째날/묻지마Csharp/Mission3/서영주]
* [데블스캠프2012/넷째날/묻지마Csharp/김태진] - 미션 1~4
* [데블스캠프2012/넷째날/묻지마Csharp/서민관]
* [데블스캠프2012/넷째날/묻지마Csharp/Mission4/서영주]
- 데블스캠프2013/셋째날/후기 . . . . 14 matches
* 개인적으로 저한테는 실용성으로 따지면 아마 이번 데블스 캠프 1위가 아닌가 싶을 정도로 마음에 드는 주제였습니다. Window Builder는 전에 순의 선배가 쓰시는 걸 봐서 이런 게 있는 건 알았지만 그래도 직접 써 보니 생각보다 더 좋군요. 아마 나중에 정말로 쓸 일이 많이 있지 않을까 싶습니다. - [서민관]
* 자바도 C처럼 직접 짜는 것만 있는 줄 알았는데 편리한 인터페이스가 구현되 있다는 것은 처음 알았네요 - [원준연]
* net beans를 써봐서 인지 window 빌더에 그다지 거부감은 없던것같습니다. 다만, 이클립스내에서 사용할 수 있다는 점에서 좋은것같습니다. 이때까지 net beans랑 이클립스를 혼용해서 사용해왔었는데 좋은 플러그인을 직접적으로 알게되어서 좋았습니다.(window 빌더의 존재는 알았지만 사용해보기에 너무 귀찮아서 이때까지 사용할 기회를 못가졌었는데 가지게 되서 좋았습니다.) -[김윤환]
* 음... 사실 정말 열심히 준비를 해서 최대한 차근차근 쉽게 설명을 해 보자고 생각을 했는데... 그래도 역시 처음 접하는 것이라 그런지 그렇게 간단하게 진행되지는 않은 것 같아서 마음에 아쉬움이 남습니다. 새내기들이 파일 포인터랑 파일 입출력을 조금이라도 알고 있었으면 훨씬 수월했을텐데 말이죠. 그래도 제가 할 수 있는 전력을 다 했다고 생각하고, 앞으로 똑같은 주제로 세미나를 한다고 해도 더 낫게는 못 할 겁니다. 따라서 앞으로 같은 주제로 세미나를 할 일은 아마 없지 않을까 싶습니다. 부탁이라도 들어오지 않는 이상. 이것 때문에 마음 걱정이 커서 밥을 먹어도 먹는 느낌도 없었는데, 그래도 스스로 만족스러울 만큼은 한 것 같아서 속이 후련하고 또 조금은 아쉽기도 합니다. - [서민관]
* 올해 데캠에서는 유난히 네트워크를 이용한 것이 많이 나오는 군요! 네트워크 매니아인 저를 불타오르게 하는 세션이였네요.(하지만, 저는 네트워크가 어떤 것인 지 공부했을 뿐, 어떻게 만드는 지는 공부를 안해서... 실습 때 애를 좀 먹었습니다..) 만드는 것이 더 어렵군요! 사이언스가 엔지니어링만큼 중요하지만서도, 역시 엔지니어링이 훨씬 더 대단한 일을 하고 있다는 것 느낍니다! - [김해천]
* 좋습니다. 개인적인 생각인데 데블스 캠프가 완전히 컴공의 전공으로 뒤덮이는 것보다 가끔 이런 내용이 있어도 좋지 않을까 하는 생각을 좀 합니다. 그러던 와중에 이런 세션이 있으니 좀 만족스럽죠. 정말 전자 전기에서 오셔서 많은 재미있는 것을 보여주시는 것 같습니다. 감사합니다. - [서민관]
* 아두이노,,, 우노..게다가 우노..에 대한 안좋은 추억이..ㅠㅜ 물론 세션 내용은 흥미롭게 들을 수 있었습니다. 다만, 우노를 가지고 블루투스 모듈을 연결한 다음 안드로이드랑 통신할때 이게 문자열을 해석 잘 못하는 경우를 당해서 맨붕한적이 있어서... - [김윤환]
* C#으로 반쯤 날로먹다 격한 삽질로 신나게 시간을 날려먹어서 멘탈에 살짝 기스가 갔... 습니다만 저를 비롯한 많은 사람들이 가장 활발하게 활동했던 수업이라 좋았습니다. 다만 앞에서도 말씀드렸지만 모두의 멘탈이... - [조영준]
* 개인적으로 좀 아쉬움이 큰 세션이었습니다. 물론 머신 러닝이 쉬운 주제가 아니라는 건 맞습니다. 하지만 오히려 그렇기 때문에 강사 입장에서는 최대한 난이도를 낮추기 위한 노력들을 할 수 있지 않았을까 하는 생각이 조금 남습니다. 적어도 새내기나 2학년 들이 머신 러닝이라는 뭔가 무서워 보이는 주제 앞에서 의욕이 사라질 수 있다는 생각을 했다면, 전체적인 알고리즘의 간단한 의사 코드를 보여주거나, DataSet을 줄인다거나 해서 조금 현실적인 시간 내에 결과를 보고 반복적으로 소스 코드를 손을 볼 수 있게 할 수 있지 않았을까요. 적어도 간단한 샘플 소스를 통해서 이 프로그램이 어떻게 돌아가는가, 어떤 input을 받아서 어떤 output을 내는가 등에 대해서 보여주었다면 더 재미있는 실습이 될 수 있지 않을까 하는 생각이 듭니다. 머신 러닝은 흥미로운 주제지만, 흥미로운 주제를 잘 요리해서 다른 사람들에게 흥미롭게 전해줄 수 있었는가를 묻는다면 저는 좀 아쉬웠다는 대답을 할 것 같습니다. - [서민관]
- AcceleratedC++/Chapter9 . . . . 13 matches
|| 클래스 타입 || string, vector, istream 등 기본언어를 가지고 구현된 타입 ||
C++은 클래스 타입과 같은 사용자가 정의한 어플리케이션 고유의 타입을 정의할 수 있는 많은 기능은 지원한다.
std::istream& read(std::istream&); //입력 스트림으로 부터 입력을 받아서 4개의 멤버변수를 초기화한다.
|| class 키워드를 사용한 클래스 || 기본 보호모드가 private 으로 동작한다. ||
|| struct 키워드를 사용한 클래스 || 기본 보호모드가 public 으로 동작한다. ||
'''※ 이것을 보면 C++에서 클래스의 구현은 C에서 구조체의 구현을 확장시킨 것으로 볼 수 있는 증거가 된다.'''
name 멤버 함수와 같이 클래스 내부에 정의를 하는 것은 inline으로 함수를 정의하는 것도 동일한 효과를 가진다. 이렇게 멤버변수에 접근을 위해서 만들어지는 함수를 통칭 '''접근함수(accessor function)'''이라고 부른다.
접근함수는 캡슐화의 기본개념이 반하는 것으로 다른 인터페이스 일부로서만 사용해야한다.
=== 9.3.2 비어있는지 테스트 ===
'''※ 이런 식으로 헤더파일을 제공하고 실제의 구현된 소스파일은 이미 컴파일된 obj파일로 제공한다면 실제로 판매되는 컴파일러라도 그 컴파일러가 제공하는 함수의 실제구현은 볼 수가 없다.
생성자는 클래스의 이름과 동일한 이름으로 함수의 이름을 갖는다. 또한 리턴타입이 없다.
현재 Student_info 형은 3번째의 경우에 해당하며, 현재 제공되는 멤버함수로는 문제가 생길 일이 없지만, 후에 이 클래스에 기능을 추가할 경우 문제가 발생할 가능성이 존재하므로 생성자를 만들어 주는 것이 좋다.
|| * 구현 시스템이 객체를 담을만한 메모리를 할당함. [[HTML(<BR/>)]] * 초기 설정자 목록에 의해 객체들을 초기화 [[HTML(<BR/>)]] * 생성자 본체를 실행 ||
- AdventuresInMoving:PartIV . . . . 13 matches
첫 줄에는 테스트 케이스의 개수를 나타내는 양의 정수가 입력되며, 그 다음 줄은 빈 줄이다. 각 테스트 케이스는 정수만으로 구성된다. 첫번째 정수는 워털루에서 대도시까지의 거리를 킬로미터 단위로 표시한 것으로, 최대 10,000이다. 그 밑으로는 출발지로부터 거리가 가까운 것부터 먼 것 순서로, 주유소에 대한 정보가 입력되며, 최대 100개까지 입력될 수 있다. 각 주유소에 대해 워털루로부터의 거리(킬로미터 단위)와 휘발유 1리터당 가격(0.1센트 단위)이 입력된다. 리터당 휘발유 값은 최대 2,000(즉 200센트 = 2달러)이다. 서로 다른 테스트 케이스 사이에는 빈 줄이 입력된다.
각 테스트 케이스에 대해 워털루에서 대도시까지 가는 데 드는 연료비의 최소 값을 출력한다. 문제의 제약조건에 따를 때 워털루에서 대도시까지 갈 수 없으면 "Impossible"이라고 출력한다. 서로 다른 테스트 케이스에 대한 결과 사이에는 빈 줄을 출력한다.
위의 테스트 케이스를 보면 처음에는 거리가 100인 주유소에 무조건 가야합니다. 그러면 기름은 0이 되고, 스터디때 말한 방법으로 하면 앞의 200까지를 살피고, 가장 작은 가격이 있는 곳인 (200, 777) 까지 갈 수 있는 기름 100을 넣고 출발합니다. 그러나 여기서 살펴보면 최적의 해는 여기서 50만큼의 기름만 넣고, 150의 지점에서 또 50의 기름을 넣어서 (200,777)에 가는 경우입니다. -- 보창
- C++Study_2003 . . . . 13 matches
2003 년도 C++ 스터디 페이지입니다.
* 모든 03들 C++ 스터디 정상화!!
* [5인용C++스터디]
* 이거 스터디 안하나요? 그냥 위에서부터 3명씩 해서 팀짜서 하죠.
지금 오인용스터디 그룹은 어떻게 해서 생긴건지 딴 사람들은 왜 스터디 안하는지
원래 회의때 스터디에 대한 이야기를 하려 했으나 스터디 희망자중 5명만 회의에 참석하여 이 5명으로 구성된 [5인용C++스터디]가 우선적으로 만들어진 것입니다. 나머지 분들도 스터디를 하시려면 두 그룹 정도로 나누어 스터디를 진행하시면 되겠습니다. 전부 한꺼번에 스터디를 하기에는 좀 인원이 많습니다. --[상규]
* 죄송 전 결국 스터디를 못하겠네요. 시간이 안나요,,,,역시 혼자 자습해야겠군요....
- ConstructorMethod . . . . 13 matches
인스턴스를 만들때 가장 유연한 방법은 "new" 메소드 뒤에다가 여러 메세지를 보내주는 것이다.
하지만 이 방법은 쓸만한 인스턴스를 만들기 위해 클래스의 레퍼런스를 찾아봐야 하는 등의 골치 아픈 문제가 있다. 특히 클래스가 복잡할때는 문제가 좀 커진다.
그래서 Constructor Method를 쓰기를 권한다. 즉 인스턴스를 똑바로 만들어주는 각각의 메소드를 추가해주는 것이다.
하지만 이 패턴은 C++/Java에서는 별로 필요가 없을듯하다. 생성자의 오버로딩을 언어 차원에서 지원해주는데 굳이 쓸 필요가 있나 하는 생각이 든다. 하지만 스몰토크에서는 new를 오버로딩하는걸 그리 반겨하는것 같지는 않다.
개인적으로는 JUnit Test 작성할때, Test 대상이 되는 클래스에 대한 리팩토링 시도하는중 중간단계 역할로 많이 써먹었음.
ps. 스몰토크에서는 오버로딩이 없는 걸로 알고 있음. --[1002]''
음.. 오버로딩이 없나요? 보면 new랑 new:이렇게 두개 있는 클래스도 있던데... 저건 아예 다른 메세지인가요? --[인수]
- Java2MicroEdition . . . . 13 matches
Java 2 Micro Edition (J2ME) 은 휴대전화나 PDA 같은 이동통신 기기등의 가전제품을 목표로 하고 있다. 그래서 초소형 장치에서 작은 장치에 이르는 이른바 소형 디바이스 들이 Java 를 사용할 수 있도록 지원하는 플랫폼이다.
그림을 보면 맨 아래에 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 등을 다운받을 수 있다. 다운받으면 소스코드까지 포함되어 있고, 개발하려는 하드웨어에 포팅하면 된다. (자세한건 잘 모르겠음...ㅡ.ㅡ)
java.sun.com/j2me 에 가면 J2ME Wireless Toolkit 을 다운받을 수 있다. J2ME Wireless Toolkit 에 에뮬레이터가 포함되어 있어서 직접 테스트 해볼 수 있다.
* [http://zeropage.org/~dduk/development/j2me/midp-2_0-fr-spec-ko.zip midp 2.0 한국어 스펙]
- ProjectSemiPhotoshop/Journey . . . . 13 matches
* 한일 : 프레임웍 작성 , Bmp 로딩 구현, Sampling 구현, 팀원간 소스 이해, 시간예측, 다음 일정 계획
* 이제야 위키를 본다. 시간은 많은데 뭐가 그리바쁜지...항상 바쁜 현민이다. 지금 열심히 푸쉬푸쉬를 하는 중인데 잘 되는 것도 없고...이제야 겨우 움직이고 블럭을 넣으면 이미지가 바뀌는거 까지 했다. 이제 스테이지 넘기는 거랑 점수 계신하기만 하면 될 거 같은데....아직 더 공부를 해야할 것 같다. 난 아직 마니 부족해...-.ㅜ
* 한일 : 현민과 경태, 현민 집에서 알카로이드의 기본을 열심히 배우고 익힘. - 자료실 스크린 샷
* 내가 점심을 먹고 낮잠을 자는 바람에 피씨 실에서 모이기로한 스터디 약속이 깨졌으나 4시 반쯤에 부시시 일어나서 경태에게 스터디를 하자고 했음. 웨 항상 밥 먹고 나면 졸리는지는 모르겠으나... -.ㅡ;;; 어쨋거나 스터디는 무사히 진행됨.
* 상민이와 한 프로그램의 스타일이 달라서 나중에 세미 포토샵을 공동을 작업할 때에는 어느 정도 비슷하게 맞춰야할 것으로 보여..-.ㅡ 아직 뭘 모르는 나의 눈에는 그렇게 보였음.
* 한일 : 3시간 정도의 상민과 현민의 Alcanoid SpikeSolution 작성 - 자료실 스크린샷
* 처음에는 저번에 했던 스터디 내용의 연장이라 따라갈 수 있었는데 뒷부분에 벽돌을 개별적으로 설정해주는 그 배열을 쓰는데서 솔직히 좀 이해가 잘 안된다. 책을 보고 더 연마해야할 듯 싶다. -- 현민
* ["STL"] 관련 서적은 네가 가진게 없을꺼라고 생각한다. 학교에서도 가르쳐주지 않는 부분이라. 스스로 익혀야 한다. 너무나 단 과실이라, 꼭 보기를 권한다. 관련 내용은 ["STL"] 에서 ["STL/vector"],["STL/vector/CookBook"]를 참고하면 될꺼다. --["neocoin"]
* 현민이에게 야속한 말일지 모르지만, 솔찍히 약간 당황스러웠다. ''무엇을 해야하는가?'' 에서 출발하고 싶었지만, 불행히 ''무엇을 배워야 하는가?'' 로 출발과 끝을 마무리 했다. 역시 ''문제를 인식''하는 단계가 중요함을 느낀다. --["neocoin"]
* 스파르타식으로 하장. ^^;; --경태
- ProjectVirush/Rule . . . . 13 matches
= 바이러스 =
* 숙주는 기본적으로 모든 바이러스를 잡을 수 있는 항체를 어느 정도 갖는다. (이를 '''기본 항체'''라고 한다.)
* 새로운 바이러스가 숙주에 침입했을 때 기본 항체가 바이러스를 잡는다.
* 기본 항체가 새로운 바이러스를 잡기에 모자라는 경우(바이러스 사살 속도<바이러스 증식 속도), 숙주는 새로운 바이러스임을 알아차리고 이에 특화된 항체를 생산한다. 특화된 항체는 기본 항체보다 바이러스 사살 속도가 빠르다.
* 플레이어끼리 암투 - 상대 약점을 이용해서 경쟁한다. 자기 바이러스에 유리하도록 숙주를 조종하거나 상대 바이러스에 대한 면역이 생기도록 일종의 예방접종용 바이러스(백신)을 퍼트린다.
* 외부의 도움 - 새 바이러스를 외계인 본부에서 지원받는다.
- SharedSourceProgram . . . . 13 matches
소스공유 프로그램(Shared Source Program)을 통해 주요 MS 제품군의 소스에 접근할 수 잇는 권한을 획득한다. 특히 소스공유 프로그램은 현재 한국과 호주 양국 MVP에게만 부여된 권한이다.
MVP만의 뉴스그룹에서 창업한 경우도
리눅스를 정부 프로그램으로 채택하는 국가들이 세계적으로 늘어나고 있는 가운데, 마이크로소프트(MS)가 오피스 소스코드 공개를 통해 오픈소스 진영에 적극 맞서고 있다.
MS는 3년 전부터 `소스공유 이니셔티브'(Shared Source Initiative)라는 프로그램을 통해 협력업체들과 정부에 윈도 소스코드를 공개해왔다. 특히 최근 몇 년간 각 국 정부가 오픈 소스 진영으로 전환하는 것을 막기 위해, 정부와 특정 회사가 소스코드를 볼 수 있는 프로그램을 확대해왔다.
돈을내고 라이센스를 받아야 하는 프로그램이라 학교측에서도 그전에 컴공의 각 학회들에게 어떤 방식으로 SSP를 활용해 나갈지를 먼저 물어보고 실제로 진행을 할 예정인가보다.
- TdddArticle . . . . 13 matches
TDD 로 Database TDD 진행하는 예제. 여기서는 툴을 좀 많이 썼다. [Hibernate] 라는 O-R 매핑 툴과 deployment DB는 오라클이지만 로컬 테스트를 위해 HypersonicSql 이라는 녀석을 썼다고 한다. 그리고 test data 를 위해 DBUnit 쓰고, DB Schema 제너레이팅을 위해 XDoclet 와 Ant 를 조합했다.
여기 나온 방법에 대해 장점으로 나온것으로는 비슷한 어프로치로 500 여개 이상 테스트의 실행 시간 단축(Real DB 테스트는 setup/teardown 시 Clean up 하기 위해 드는 시간이 길어진다. 이 시간을 단축시키는 것도 하나의 과제), 그리고 테스트 지역화.
류군 이야기로는 Oracle 의 경우 설치하고 딱 실행하는데만 기본 메모리 200메가 잡아먹는다고 한다. -_-; 로컬 테스트를 위해 HypersonicSql를 쓸만도 하군.; (In-memory DB 식으로 지원가능. 인스톨 할것도 없이 그냥 콘솔에서 배치화일 하나 실행만 하면 됨. 근데, JDBC 를 완벽히 지원하진 않는 것도 같아서, 약간 애매. (ResultSet 의 first(), last(), isLast() 등의 메소드들이 실행이 안됨)
DeleteMe) - 오라클의 경우 인스턴스당 기본으로 먹는게 보통 200 메가 정도. 즉 기본 외에 자기가 만든걸 더 띄울경우 보통 400 메가 이상을 먹게 되는데 이건 뜰때 얘기고 가만히 냅두면 50 메가 이하로 메모리가 내려감. 물론 윈도우 하에서 얘기임. 나머진 확실하지 않음. 연결이 많아지면 메모리가 다시 올라갈것임. -박준용-
그렇다 해도 오라클을 테스트를 위한 Local DB 로 돌리기엔 덩치가 크겠죠? --[1002]
여기에서의 TDD 진행 방법보다는 Reference 와 사용 도구들에 더 눈길이 간다. XDoclet 와 ant, O-R 매핑 도구를 저런 식으로도 쓸 수 있구나 하는 것이 신기. 그리고 HSQLDB 라는 가벼운 (160kb 정도라고 한다) DB 로 로컬테스트 DB 를 구축한다는 점도.
Xper:XperSeminar 를 보니 일단 셋팅이 되고 익숙해지면 TDD 리듬이 덜 흐트러지는 방법 같았다. (재우씨랑 응주씨가 원래 잘하시고 게다가 연습도 많이 하셔서이겠지만;) password 추가되고 테스트 돌리는 리듬이 좋아보인다. 단, 테스트 돌아가는 속도가 역시 Real DB 이면서 [Hibernate] 까지 같이 돌아가서 약간 느려보이는데, 이건 해보고 결정 좀 해야겠군.
reference 쪽은 최근의 테스트와 DB 관련 최신기술 & 문서들은 다 나온 듯 하다. 익숙해지면 꽤 유용할 듯 하다. (hibernate 는 꽤 많이 쓰이는 듯 하다. Intellij 이건 Eclipse 건 플러그인들이 다 있는걸 보면. XDoclet 에서도 지원)
- TheWarOfGenesis2R/일지 . . . . 13 matches
* 몇달만의 작업인지... 스크립트리더의 작성이 진행중
* 초기에는 Text모드로 스크립트를 만들고, 추후에 Binary모드로 스크립트를 만들 계획
* 레벨업, 경험치 시스템 도입
* 헤더와 소스 나누었음.
* 마우스 스크롤 완성, 그래픽 루틴은 거의 완성단계
* 스크립트(맵) 에디터 골격 제작
* 리팩토링의 위대함을 계속 느껴 버렸다. Extract Method는 기본이고, 상위 클래스로 올리기, 등등 이것저것 하니까 매우 간단해지는 것을 느꼈다.
* 스크립트 에디터 : 기본적인 맵 편집이 가능하다.
* 메인 프로그램 : 스크립트를 읽어오기가 가능하다.
* 메인 프로그램 : 스크롤시 맵을 벗어나면 스크롤이 되지 않는다.
- html5/web-workers . . . . 13 matches
* 웹 워커 : 자바스크립트 코드를 백그라운드에서 실행하기 위한 기술
* 현재 웹브라우저는 웹페이지를 하나의 스레드로 실행
* web workers가 메인 스레드(웹 페이지)와는 별도의 백그라운드 프로세스로 자바스크립트 실행
* 일 대 일 : <워커>, 하나의 워커 객체와 하나의 백그라운드 프로세스가 일대일로 대응
* 다 대 일 : <공유 워커>, 여러개의 워커 객체가 하나의 백그라운드 프로세스와 대응
* 워커는 생성시부터 UI와 다른 스레드에서 동작
* UI와 워커 스레드는 변수를 공유할 수 없다.
* 워커 인터페이스 생성자에 JavaScript 소스 파일의 URL인수로 전달하면 소스파일을 내려받아 백그라운드에서 실행한다
* 공유 워커는 윈도우가 달라도 URL과 이름이 같으면 같은 프로세스 공유
- 도덕경 . . . . 13 matches
"... 성스러운 사람은 함이 없음의 일에 처하고 말이 없음의 가르침을 행한다.
... 공이 다 이루어지고 일이 다 되어도 백 가지 성의 사람들이 한결같이 일컬어 나 스스로 그러할 뿐이라고 하는도다!
... 내가 함이 없으니 백성이 스스로 질서를 찾고, 내가 고요하기를 좋아하니 백성이 스스로 바르게 되고, 내게 일이 없으니 백성들이 스스로 부유하게 된다. 나는 바램을 가지지 않는다. 그러니 백성들은 스스로 통나무가 될 뿐이다.
... '''성스러운 사람은 쌓아 두지 아니하니, 힘써 남을 위할수록 자기가 더 있게 된다. 힘써 남에게 주면 줄수록 자기가 더 풍요롭게 된다. '''
하늘의 길은 잘 이롭게 하면서도 해치지 아니하고, 성스러운 사람의 길은 잘하면서도 다투지 아니한다."
- 상협/감상 . . . . 13 matches
|| ["누가내치즈를옮겼을까"]|| 스펜서 존슨 || 2002년초 || 1 || ★★ ||
|| ["이기적인유전자"] || 리처드 도킨스 || 2002/5/22 || 1 || ★★★★★ ||
|| ["상협/학문의즐거움"] || 히로나카헤이스케 || 2002/8/26 || 1 || ★★★ ||
|| ["아직도가야할길"] || 스캇펙 || 군대 || 1 || ★★★ ||
|| [마케팅천재가된맥스] || 제프콕스,하워드 스티븐스 || 3월 23~25 || 1|| ★★★★ ||
|| [포지셔닝] || 잭 트라우트, 알 리스 || 3월 25 ~ 31 || 1 || ★★★★ ||
|| [마이포지셔닝] || 잭 트라우트, 알 리스 || 4월 2 ~ 6 || 1 || ★★★★ ||
|| [시간관리인생관리] || 마크 포스터 || 4월 22 ~ 24 || 1 || ★★★ ||
* 난 원래 영화 잘 안보는 스타일 이지만, 마음도 심난하고 해서 컴퓨터로 이 영화를 보게 되었다. 처음 부분에서는 좀 황당한 재미가 있었고, 중간 부분으로 가면서 지루해져서 그만 볼까 하는 생각도 했지만, 좀 더 보다 보니깐 재밌어져서 결국 끝까지 봤다. 이 영화를 보고 느낀점은... 음.. 지금 내가 보고 있는 세계도 혹시 환상은 아닐까 하는. ㅡㅡ;; 메트릭스도 생각나고.. 그리고 영화속 주인공이 불쌍해 보였다. 뭐 비록 천재인거 같지만 그렇게 사는것은 별로 유쾌한 일은 아닐거다. 또한 천재적인 사람들은 사회에 잘 적응 못하는건 아닐까 하는 생각도 해본다. 한때 나도 머리가 천재적으로 좋았다면 좋겠다고 생각도 해보았지만, 그땐 이런 생각을 했었다. 머리가 너무 좋다면 노력해서 뭔가를 해내는 그런 쾌감을 얻을 기회가 적을 수도 있고, 주위로부터 한사람의 인격체로 인정되기 보다는 하나의 이용해 먹을 도구로 인식되지는 않을까 하는 생각도 해본다.(그사람 == 머리, 이런 이미지가 생기면 그 사람의 다른 모습은 전혀 관심밖의 일이 될테니..)
- 조영준 . . . . 13 matches
* [http://steamcommunity.com/id/skywavetm 스팀 사용자]입니다.
* [http://facebook.com/skywavetm 페이스북]합니다. : 사는 이야기 + 잉여
* DevilsCamp 2015 - Game Programming in Java with LibGdx - [데블스캠프2015/첫째날]
* 공대 해오름제 ZeroPage 부스 준비 및 운영
* [데블스캠프2014] 세션 진행
* [파스칼삼각형/조영준] - 지금 생각해보면 격한 뻘짓.
==== 스터디 ====
* [스터디/게임에 미친이들을 위한 히치하이킹]
* [데블스캠프/2013] - 5일 전부 참가.
* 방학동안에 기초 자바 스터디가 만들어 질...듯?
* 코드레이스 재미있었는데, 나중에 여유가 나면 주기적으로 주최를 해 보고 싶기도. ~~그런데 하는거랑 주최랑은 다르겠지~~
* 어찌된게 자바스터디가 반쯤 코드레이스 식으로 진행되고있음 -_-;
- 포커솔리테어평가 . . . . 13 matches
카드는 5x5 행렬에 나눠진다. 각 행과 열을 구성하는 5장의 카드에서 가장 높은 계급을 결정하는 것이다. 계급의 순서는 노 페어, 원 페어, 투 페어, 트리플, 스트레이트, 플러시, 풀 하우스, 포캉드, 스트레이트 플러시로 구성된다. 패는 가장 높은 계급으로 한 번만 사용된다. 예를 들어, 포카드는 투 페어나 트리플로 다시 사용되지 않는다.
5. 스트레이트 : 아래 계급 중 어떠한 것도 해당되지 않으며, 5장의 카드의 숫자가 순차적으로 구성되는 경우. A(에이스)는 14나 1로 사용될 수 있다. 예를 들어, AC, 2H, 4D, 3H, 5S도 스트레이트 이며, JH, XD, QC, KD, AS도 스트레이트 이다.
7. 풀하우스 : 아래 계급 중 어떠한 것도 해당되지 않으며, 원 페어와 다른 카드들로 트리플을 이루는 경우(예 : 3C, QS, QP, 3H, 3S)
9. 스트레이트 플러시 : 5장으로 스트레이트와 플러시 모두 포하되는 경우
다음 예제 입력에서 5개의 열을 평가하면 스트레이트 플러시 스트레이트 원 페어, 플러시, 트리플이 된다. 5개의 행에 대해서 평가하면 포카드, 풀 하우스, 투페어, 노 페어, 투 페어가 된다.
- 프로그램내에서의주석 . . . . 13 matches
자네의 경우는 주석이 자네의 생각과정이고, 그 다음은 코드를 읽는 사람의 관점인 건데, 프로그램을 이해하기 위해서 그 사람은 어떤 과정을 거칠까? 경험이 있는 사람이야 무엇을 해야 할 지 아니까 abstract 한 클래스 이름이나 메소드들 이름만 봐도 잘 이해를 하지만, 나는 다른 사람들이 실제 코드 구현부분도 읽기를 바랬거든. (소켓에서 Read 부분 관련 블럭킹 방지를 위한 스레드의 이용방법을 모르고, Swing tree 이용법 모르는 사람에겐 더더욱. 해당 부분에 대해선 Pair 중 설명을 하긴 했으니)
그리고 개인적으론 Server 쪽 이해하기로는 Class Diagram 이 JavaDoc 보는것보다 더 편했음. 그거 본 다음 소스를 보는 방법으로 (완벽하게 이해하진 않았지만.). 이건 내가 UML 에 더 익숙해서가 아닐까 함. 그리고 Java Source 가 비교적 깨끗하기에 이해하기 편하다는 점도 있겠고. (그래 소스 작성한 사람 칭찬해줄께;) --석천
하지만, "확실히 설명할때 {{{~cpp JavaDoc}}}뽑아서 그거가지고 설명하는게 편하긴 편하더라."라고 한말 풀어쓰는 건데, 만약 디자인 이해 후에 코드의 이해라면 {{{~cpp JavaDoc}}} 없고 소스만으로 이해는 너무 어렵다.(최소한 나에게는 그랬다.) 일단 코드 분석시 {{{~cpp JavaDoc}}}이 나올 정도라면, "긴장 완화"의 효과로 먹고 들어 간다. 그리고 우리가 코드를 읽는 시점은 jdk를 쓸때 {{{~cpp JavaDoc}}}을 보지 소스를 보지는 않는 것처럼, 해당 메소드가 library처럼 느껴지지 않을까? 그것이 메소드의 이름이나 필드의 이름만으로 완벽한 표현은 불가능하다고 생각한다. 완벽히 표현했다면 너무나 심한 세분화가 아닐까? 전에 정말 난해한 소스를 분석한 적이 있다. 그때도 가끔 보이는 실낱같은 주석들이 너무나 도움이 된것이 기억난다. 우리가 제출한 Report를 대학원 생들이 분석할때 역시 마찬가지 일것이다. 이건 궁극의 Refactoring문제가 아니다. 프로그래밍 언어가 그 셰익스피어 언어와 같았으면 하기도 하는 생각을 해본다. 생각의 언어를 프로그래밍 언어 대입할수만 있다면야.. --["상민"]
내가 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 영역이 되는 부분이 구분되려면 또 쉽진 않겠지만.
- 2ndPCinCAUCSE/ProblemC . . . . 12 matches
C 번 문제 : 줄 세우기. 소스파일 이름 : ccc.c or ccc.cpp
유치원에 N명의 아이들이 있다. 오늘은 소풍을 가는 날이다. 선생님은 1번부터 N번까지 번호가 적혀있는 번호표를 아이들의 가슴에 붙여주었다. 선생님은 아이들을 효과적으로 보호하기 위해 목적지까지 번호순서대로 일렬로 서서 걸어가도록 하였다. 이동 도중에 보니 아이들의 번호순서가 바뀌었다. 그래서 선생님은 다시 번호 순서대로 줄을 세우기 위해서 아이들의 위치를 옮기려고 한다. 그리고 아이들이 혼란스러워하지 않도록 하기 위해 위치를 옮기는 아이들의 수를 최소로 하려고 한다.
입력은 표준 입력이다. 입력의 첫줄에 테스트 케이스의 개수를 나타내는 정수 T(10 이하)가 주어진다. 다음 줄 부터 T개의 테스트 케이스가 주어진다. 테스트케이스의 첫째 줄에는 아이들의 수 N이 주어진다. 둘째 줄에는 N명의 아이들의 순서를 나타내는, 1부터 N 사이의 정수로 이뤄진 순열이 주어진다. 순열에서 정수 사이에는 빈칸이 하나 들어 있다. N은 2이상 200이하의 정수이다.
출력은 표준 출력이다. 출력은 T줄로 이뤄진다. 각 테스트 케이스에 대해서 번호 순서대로 줄을 세우는데 옮겨지는 아이들의 최소 수를 출력한다. T개의 테스트 케이스를 모두 맞혀야 이 문제를 맞힌 것이다.
- 3DAlca . . . . 12 matches
= 베타 테스트 결과 조언 =
* 마우스로 잘 움직이면 좋겠다.
* 공이 벽이나 벽돌에 튕길때 살짝 표시하는게 좋겠다. => 공 부딪힐때 꼭 타격 표시 (예-> 스톰에서 주먹으로 퍽퍽 치면 퍽퍽 소리나고 빨간색 번쩍 번쩍 하는거.)
|| 7.12 || ["3DGraphicsFoundation"]스터디 그룹에 참가 ||
|| 7.29 || 충돌 약간 해결..그래도 좀 문제 있음. + 베타테스트 ||
|| 10.2 || 시간 관계상 네트워크 보류 && 스코어 추가, 생명치 추가, 스테이지 1 구성 함 ||
|| 10.3 || 스테이지 2,3 추가 ||
|| 10.30 || 스테이지 4~7 넣고, SeeMore 가시화 공모전에 제출 -_-;; 심심풀이로 내봄 ||
* 스테이지 만들기
* 으아.. 서버는 자바에 클라이언트는 API??? -_-; 이구구.. 고생하겠구나.. 나도 그거 할려다가 골치아파서 혼났다. 서버는 스트림 기반이라 페킷 기반인 클라이언트랑 맞물리려면 골치아플것인데.. 흠흠; - 해성
= 소스 코드 =
- BasicJava2005/5주차 . . . . 12 matches
- static은 클래스에 종속되는 변수로 인스턴스명이 아닌 클래스명으로 호출된다.
2. Math클래스 와 기초클래스의 Wrapper 클래스
- Math클래스에는 각종 함수와 상수들이 선언되어 있다.
- 각종 Wrapper클래스(Integer, Double, Character...)
- 클래스의 명을 쓰기가 귀찮을때.....
6. 모든 예외의 상위클래스 Exception
- 모든 예외는 Exception클래스를 상속받는다.
- CryptKicker . . . . 12 matches
텍스트를 암호화하는 방법 중에 보안상 취약하긴 하지만 흔하게 쓰이는 방법으로 알파벳 글자를 다른 글자로 돌리는 방법이 있다. 즉 알파벳의 각 글자를 다른 글자로 치환한다. 암호화된 것을 다시 원래대로 되돌릴 수 있으려면 두 개의 서로 다른 글자가 같은 글자로 치환되지 않아야 한다.
암호화된 텍스트가 한 줄 이상 입력되는데, 각 줄마다 서로 다른 치환 방법이 적용된다고 가정하자. 암호화 이전의 텍스트에 있는 단어는 모두 주어진 사전에 들어있는 단어라고 가정하고, 암호화된 텍스트를 해독하여 원래 텍스트를 알아내자.
입력은 한 개의 정수 n이 들어있는 행으로 시작되며 그 다음 줄부터는 한 줄에 하나씩 n개의 소문자로 쓰인 단어들이 알파벳 순으로 입력된다. 이 n개의 단어들은 복호화된 텍스트에 들어갈 수 있는 단어로 구성된 사전이다. 사전 뒤에는 몇 줄의 텍스트가 입력된다. 각 줄은 앞에서 설명했던 방법에 따라 암호화된다.
사전에 들어갈 수 있는 단어의 개수는 1,000개를 넘지 않는다. 단어의 길이는 16글자를 넘지 않는다. 암호화된 텍스트에는 소문자와 스페이스만 들어가며 한 줄의 길이는 80글자를 넘어가지 않는다.
각 줄을 복호화하여 표준 출력으로 출력한다. 여러 문장으로 복호화될 수 있다면 그 중 아무 결과나 출력하면 된다. 가능한 풀이가 없다면 알파벳 모든 문자를 아스테리스크(*)로 바꾸면 된다.
- NumberBaseballGame . . . . 12 matches
2-1. 사용자에게 받은 수와 컴퓨터가 만든 수가 같은 수에 같은 위치면 '스트라이크'.[[BR]]
이때 사용자가 395라는 숫자를 입력하면 '1 스트라이크 1볼'이 됩니다.[[BR]]
(3이 스트라이크를. 9가 볼을 만들었습니다.)[[BR]]
사용자는 스트라이크와 볼수로 컴퓨터가 만든 수를 추리하여 찾는 것입니다.
조금 더 문제 정의를 명확히 할 필요가 있지 않을까 합니다. (여기에 올라온 몇 개의 코드들을 살펴볼 때 명확한 스펙이 잘 전달되지 않은듯 합니다)
만약 그렇다면, 다음의 경우에 스트라이크와 볼은 각각 얼마인가요? 혹은 어떤 에러 메시지를 출력하나요?
* 출력 : 스트라이크와 볼의 갯수 출력. 다 맞추었다면 "아웃" 출력.[[BR]]
=== 문제 소스들 ===
* 아래와 같은 예제 식으로 소스를 만든 페이지에 넣어 주세요.
||도전자||총개발시간||소스라인수('''주석제외''')||사용언어|| Source ||
반대로, 사용자가 숫자를 부르면 컴퓨터가 맞추게 하는 방법도 있습니다. 두 가지를 합하면 컴퓨터와의 대결이 됩니다. ^^ (그런데 거의 이기기가 불가능합니다.) 소스는 [http://my.netian.com/~sshiskom/file/python/baseball.py 여기]에.
see also ["데블스캠프2002"]
- XMLStudy_2002/Start . . . . 12 matches
step5. 디스플레이
*XML 문서는 XML로 기술된 구조적인 정보로 구성되는 문서이며 XML1.0스펙에 맞게 작성하며 XML을 지원하는 프로세서(또는 프로그램)에서 사용하기 위해서 Well-formed나 Valid한 형태로 작성된 문서를 말한다. ---> 정의
*XML문서는 택스트 파일이라는 형태로 저장되므로, XML파일 자체는 OS나 특정 프로그램에 의존적이지 않는 특성을 지닌다.
*XML문서는 문서로서의 역할을 하기도 하지만, 데이터들을 담을 수도 있다. 즉 XML 문서는 택스트 형태의 데이터로서의 역할을 할 수도 있다.
*XML 응용프로그램이란 이러한 택스트 객체(textual object)를 처리하여 사용할수 있는 프로그램이다.
*version : XML문서가 준수하는 XML 스펙의 버전 번호
*type : 사용할 스타일 시트의 타입을 기술 XSL(text/xsl)과 CSS(text/css)가 있음
*href : 사용할 스타일 시트 파일의 위치를 기술
<!ELEMENT 엘리먼트 이름 컨텐츠_스펙>
*컨텐츠 스펙에 올수 있는 것은 EMPTY와 ANY이다. 다른 엘리먼트의 이름을 구성하는 EBNF가 올수 있다. 문자테이터를 포함하면 #PCDATA로 표시
*EMPTY : 컨텐츠 스펙이 EMPTY인 경우라면 이 엘리먼트는 내용으로 아무 것도 갖을 수 없다는 것을 의미하고 empty element로 사용
*플러스 기호(+) : 요소가 임의의 수만큼 반복해서 나타날 수 있다. 단, 적어도 한 번은 나타나야 한다.(즉, 요소가 한 번 이상 나타나야 한다.)
- ZeroWiki에서 언어습관 . . . . 12 matches
NeoCoin은 ZeroWiki 항해를 하면서 ZeroPage 가 [노스모크]와 다른 방향으로 위키의 언어 습관이 관습화 되어 가는 것을 관찰할수 있었습니다. ([노스모크]는 일상어보다 좀더 공개 석상에서 쓰이는 분위기, 어휘로 언어 습관이 형성되어 온것 같습니다.)
오늘은 씨++ 숙제를 하고... 스터디들도 빨리 해봐야 겠어요 ^^
''과거 [노스모크]의 전례를 보았을때, 기존 회원들은 자연계처럼 자정작용이 언어습관에 적용되기를 바란것이 아닐까요? 제가 읽는 대부분의 커뮤니티에 저런 패턴의 글들이 자연 소멸했습니다. 지금 저 글을 읽기 힘들다는 느낌 자체가 신기한 경험입니다. 마치 "그놈은 멋있었다."를 읽다가 눈이 피곤한 느낌이라고 할까요? ''--NeoCoin
지적하신 내용에 공감합니다. 기존 사용자 층의 글이 자연스럽게 줄어들고, 새로운 사용자 층이 증가하면서, 형성되는 언어습관이 재미있어서 주목하고 있는것 이지요.
아시다 시피 위키는 과거글이 꾸준히 읽히고, 타인이 고칠수 있는 시스템입니다. 그래서 모두가 읽는데 의미 전달의 변이가 적은 표준어, 서술 형식으로 수렴되는 것을 당연하게 생각했습니다. (반대로, 게시판은 한번 쓰면 타인이 못고치고 다시는 읽지 않으니 분위기가 수렴되거나 하는 것이 적겠지요.) 그런데, [제로위키]는 최근 2년간의 모습이 재미있거든요?
'' ...전략...위키는 과거글이 꾸준히 읽히고, 타인이 고칠수 있는 시스템입니다. 그래서 모두가 읽는데 의미 전달의 변이가 적은 표준어, 서술 형식으로 수렴되는 것을 당연하게 생각했습니다. (반대로, 게시판은 한번 쓰면 타인이 못고치고 다시는 읽지 않으니 분위기가 수렴되거나 하는 것이 적겠지요.) 그런데, [제로위키]는 최근 2년간의 모습이 재미있거든요? ...후략...'' --NeoCoin 윗글 인용
* 예, 꾸준히 제기되는 문제입니다. 과거 글이 읽히는 것까지 위키라는 시스템이 책임지지는 않지요. 이제 [제로위키]도 2000페이지가 넘었고, 각 페이지당 A4 한장이라고 생각해도, 1000장의 두꺼운 사전이니까요. 휴~, 그 중 우리가 읽고 키울것은 많게 잡아도 20% 내외 일것입니다. (200~300 페이지) 당장 사용하는 것은 10% 정도? 그러나 위키 시스템의 철학적인 면에 대한 학습과 토론의 장이 전무한 상황에서 당연한 결과 같네요. [위키요정]과 NoSmok:문서구조조정 NoSmok:WikiGardening 등의 노력이 적은게 아쉽습니다.
* [제로위키]는 활동하는 [위키요정]이 적습니다. 예를들어 '''데블스캠프2003/ToyProblems/파일입출력''' 제목의 페이지를 발견해서 '''[파일입출력]'''으로 변경하는 이런 활동입니다. 이런 활동의 가치 인식이 중요합니다.
이러니 저러니 해도, 순수한 [자유게시판]으로만 운영되는 것 보다는 지식의 재활용 경우가 많은 것 같습니다. 페이지 상호간에 링크를 걸고, 약간 공적인 성격의 페이지중 [지금그때]나 [데블스캠프2004]의 준비 모습은 한페이지를 계속 키워나가는 모습들을 보이니까요.
이를 주목해 보니, 타 위키가 새로운 사용자 계층 유입이 한꺼번에 일어나지 않는다는 공통점이 보이군요. 그래서 타 위키는 언어습관이나 문화가 급격히 변화하는 것은 없습니다. 새사용자 들도 기존 위키에 분위기에 따르니까요. 마치 메일링 리스트 사용하는 것 처럼 말이죠.
- django/RetrievingObject . . . . 12 matches
데이터베이스에서 레코드를 조회할 때는 Model클래스를 관리하는 Manager클래스를 이용한다. 가장 간단하게는 모든 레코드를 가져오는 방법이 있는데, 모델마다 기본적으로 제공되는 object라는 매니저를 이용한다. object 매니저로 레코드를 조회하면 QuerySet이 반환된다. 이는 관계형 데이터베이스 CLI인 JDBC의 ResultSet과 유사하다.
일대다 관계인 레코드의 경우는 selete_related메소드를 이용하면 데이터베이스 접근 횟수를 줄일 수 있다. 일반적인 데이터베이스 조회는 추상화되어있어 실행할 때마다 쿼리를 수행한다. 하지만 selete_related메소드를 사용하면 한 번 데이터베이스에서 결과를 가져온 후 필요할 때는 이를 그대로 사용한다. 다음 예제에서 두 방식이 어떻게 다른지 확인할 수 있다.
# 데이터베이스에서 한 번 값을 가져온다.
# Employee테이블에 접근하기 위해 다시 데이터베이스에서 값을 가져온다.
# 데이터베이스에서 값을 미리 가져온다.
# 이전에 Employee값까지 가져왔기 때문에 다시 데이터베이스에서 값을 가져오지 않는다.
Django에서 기본적으로 제공하는 조인 연산은 없다. SQL문을 직접 수행하여 원하는 결과를 얻을 수 있다. 이는 JDBC의 인터페이스와 비슷하며, 커서를 이용하여 질의를 수행한 결과를 하나씩 얻어오는 방식을 사용한다. 다음은 특정 부서 에서 시행한 위험 관리 대책을 얻어오는 함수이다.
- 데블스캠프2006/월요일 . . . . 12 matches
= 데블스캠프2006/월요일 =
||pm 07:00~08:00 || 데블스 소개및 프로그램 설치 || ||
||am 01:00~02:00 || [데블스캠프2006/SVN], [데블스캠프2006/SSH] || 남상협 (01) ||
||am 04:00~06:00 ||[데블스캠프2006/CPPFileInput] [http://zerowiki.dnip.net/~namsangboy/schoolScore.html 데블스캠프2006/성적관리프로그램] [http://zeropage.org/svn/namsangboy/SchoolScore/SchoolScore.cpp Source]|| 남상협 (01) ||
위 일정시간에 배우는 예제 소스는 최종프로그램에서 다 사용 하여서 프로그램을 만든다.
[데블스캠프2006/월요일/연습문제]
[데블스캠프2006/월요일/함수]
[데블스캠프2006/준비] [데블스캠프2006] [데블스캠프]
- 데블스캠프2011/둘째날/후기 . . . . 12 matches
* 사실 스크래치를 접해보는 건 이번이 두 번째군요. 2009년 데블스캠프에서도 한 번 다루었던 걸로 기억합니다. 스크래치는 원래 아동 교육용으로 만들어진 프로그래밍 언어라고 들었습니다. 그런데 아동용이라고 대충 넘기기에는 기능도 생각보다 훨씬 다양하고 능력도 강력한 것 같아요. 1학년 떄는 이래저래 미숙한 부분이 많아서 그런 부분을 볼 여유도 없었는데 다시 보면서 약간 여유가 있어서 그런지 잘 만들었다는 느낌이 새삼 들었습니다. 그리고 이번에도 2009년 때처럼 게임을 만들기로 했었는데, 이번에는 다행히도! 제대로 돌아가는 게임을 만들었습니다. 사람이 그래도 발전이 있긴 하군요. 앞으로도 열심히 해야겠습니다.
* 제가 처음 준비했던 컨텐츠였는데 성현이가 세미나를 진행하니 감회가 새로웠습니다. 저는 09년 때 간단한 인터페이스만 가르쳐줬는데 학우들이 창의적인 컨텐츠를 많이 만든 반면 성현이는 기능 하나하나 상세히 설명해주어서 제가 몰랐던 기능도 많이 알게 되었습니다. 수업을 들으면서 플래시 같은 애니메이션을 만들었는데 갑자기 게임을 만들라고 해서 소닉이 좌우로 이동하는 것밖에 못 만들어봤네요 ㅋㅋ 그래도 이동할 때의 모습을 바꾸는 데에서 삽질 끝에 성공해서 뿌듯뿌듯했습니다. 저의 Scratch 작품의 포인트는 역시 '음악' 입니다.
* Scratch를 어제 블럭 쌓기라고 해서 무슨 테트리스 같은 거라고 생각했는데, 오늘 보니 아 이런거구나 하는 것을 알게 되었습니다. 꼭 프로그램 짜기 전에 의사 코드로 하는 것 같더군요a. 마지막에 성현이가 게임 만들으라고 해서 뭐 할까 하다가 슈퍼마리오 배경도 있고 해서 그걸로 좀 비슷하게 하려고 했는데, 파이프에 닿았을 때 그걸 넘어가게 하는 걸 하려다 망했네요 ㅋㅋㅋ 그러다 보니 그냥 마리오가 움직이고 뛰기만 하는 걸로 끝났습니다. 좀 더 도구를 잘 활용하지 못함이 아쉽긴 했습니다.
* Scratch!! 오늘 했던것중에는 가장 재밌게 했습니다. (하나는 약간 강의위주였고, 하나는 저희에게는 좀 어려웠으니까요..;) 저는 학점 나올 시즌이 되었기에 그에 걸맞게(?) A학점 잡기 게임을 만들었어요. F학점의 추격을 피하며 B학점을 챙기고, 최종적으로는 A를 몰아넣어서 잡으면 되는거 였지요. 사실 다른데서 만들어 놓은 마우스 피하기에 약간 영감을 받은거였지만.. 아무튼 3시간이 부족하다 느낄정도로 재밌게 했어요. 다만 끝에 시간이 모자라 다른사람들이 한것들을 함께 보지 못한건 좀 아쉬웠던거 같아요.
* Hacking != Cracking. Cheat Engine, 자바스크립트를 이용한 사이트 공격? 툴을 이용한 Packet Cracking 등 개인적으로 무척 재미있던 세미나였습니다. 뭐... 사실 많이들 관심은 있지만 실제로 하는 걸 보는 건 흔치 않은 만큼 이번에 세미나를 볼 수 있었던 것은 여러모로 행운이었다고 생각합니다. 더군다나 질문을 꽤 많이 했는데 선배님이 친절하게 답변을 해 주셔서 정말 감사했습니다. 웹 쪽은 이래저래 공격을 당할 가능성도 높은 만큼 나중에 그쪽으로 가게 된다면 관련 기술들도 배워둬야 하지 않을까 싶군요.
* 이번 주제는 1학년 때 새싹 스터디 하면서 잠깐 보여주었던 내용을 다시금 보게 되어서 재미있었습니다. Cheat Engine을 직접 사용해 볼 수 있는 부분도 상당히 매력있었습니다. 많이들 듣던 해킹에 대한 정확한 정의도 알게 되었고 그 과정이 어떻게 되는지 조금이나마 알 수 있었던 부분이었습니다. 세미나에서 보여주고자 했던 게임이 생각되로 되지 않아 아쉽긴 했지만, 한편으로는 저렇기 때문에 보안이 중요하다는 것도 다시금 생각할 수 있었습니다.
링크 : [:데블스캠프2011/둘째날/Machine-Learning/NaiveBayesClassifier/김동준 Machine-Learning의 제 코드입니다.]
* 조금 하다가 멍 해지네요. 이번 방학 때 준비 많이 해서 다음 학기를 맞이해야 겠다는 생각이 더욱이 확고해졌습니다. 역시 데블스 캠프는 평소에 접해보지 못하는 것을 접할 수 있게 해 주어 좋네요. 하나하나 해 나가다가 어느 부분에서 막히니까 멍 해지면서 그냥 옆에 성현이 하는 거 구경하다 끝난 것 같은... -ㅅ-;; 힘드네요a
를 이용해 문서의 개수를 세는데는 성공! 나머진 내년 데블스캠프때....
[데블스캠프2011]
- 새싹배움터05 . . . . 12 matches
* C는 [새싹C스터디2005]에서 진행되고 있습니다.
C, 발표잘하는법, PPT제작 기법, [Python], [PHP], [ExtremeProgramming], ToyProblems, Linux, Internetworking(TCP/IP), Ghost(demonstration), OS(abstraction), OS+Windows, Embedded System, 다양한 언어들(Scheme, Haskell, Ruby, ...), 보안(본안의 기본과 기초, 인터넷 뱅킹의 인증서에 대해..), C언어 포인터 특강(?), 정보검색(검색 엔진의 원리와 구현), 컴퓨터 구조(컴퓨터는 도대체 어떻게 일을 하는가), 자바 가상머신 소스 분석
* 이번에 세미나 및 프로젝트를 할때는 과거에 비슷한 주제로 했던 문서들을 적극 활용하였으면 좋겠습니다. 지금까지 보통 세미나,스터디를 하면 뭐든 새로 만들었는데 그것보다 과거에 했던 것중에서 좋은것들을 잘 모아 편집하고 추가로 필요한 내용들을 넣는것입니다. 그렇게 하여 한가지 주제에 대한 완성도 높고 양질의 문서들을 만들어 나가서, 세미나, 프로젝트가 그 순간에만 활용되고 끝나기 보다는 과거의 것을 정제 하고 과거 했던 비슷한것들을 할 시간에 더 양질의 내용을 채워 나가서 계속 활용하였으면 합니다. -[상협]
* 그리고 지금까지 프로젝트 진행 프로세스를 잘 살펴 보아서 어떤식의 진행이 파국(?)으로 치달았는지 분석해보면서 제로페이지식의 제대로된 스터디 프로세스, 프로젝트 프로세스를 만들어 나가보았으면 합니다. -[상협]
[데블스캠프]같은 행사에서 하루 정도는 신입생이 재학생을 대상으로 세미나를 해보는것도 좋을것 같다. 준비의 주체는 신입생 모두이고 주제는 어떤 것이 되든 상관없다. 신입생들은 준비하는 과정에서 이것저것 얻게 되는 부분이 무언가 한가지는 반드시 있을 것이다. - [임인택]
리눅스 어떤가요? 사실 제가 알고 싶은 건데ㅋ -[강희경]
리눅스라면.. [임인택]이 할 생각 있음.
저는 포인터에 대해서 하기로 정해졌습니다. 그 다음으로 리눅스를 인택이형이 해주시면 되겠네요^^ --[상규]
확실하게 리눅스로 정해진 건가? 희경이 말고 새내기들 생각은 어떤지 궁금하구만. - [임인택]
- 2ndPCinCAUCSE/ProblemA . . . . 11 matches
A 번 문제 : 삼각형 만들기. 소스파일 이름 : aaa.c or aaa.cpp
입력은 표준 입력이다. 입력의 첫줄에 테스트 케이스의 개수를 나타내는 정수 T(10 이하)가 주어진다. 다음 줄 부터 T개의 테스트 케이스가 주어진다. 각 테스트케이스에는 성냥개비의 개수를 나타내는 정수가 주어진다. 성냥개비의 개수는 1 이상 50,000 이하이다.
출력은 표준 출력이다. 출력은 T줄로 이뤄진다. 각 테스트 케이스에 대해서 삼각형의 개수를 출력한다. T개의 테스트 케이스를 모두 맞혀야 이 문제를 맞힌 것이다.
- 3rdPCinCAUCSE/ProblemB . . . . 11 matches
B 번 문제 : 직사각형. 소스파일 이름 : rect.c or rect.cpp
입력은 표준 입력이다. 입력의 첫줄에 테스트 케이스의 개수를 나타내는 정수 T(10 이하)가 주어진다. 다음 줄 부터 T개의 테스트 케이스가 주어진다. 각 테스트 케이스는 네 줄로 이뤄지며, 각 줄은 네 개의 정수로 구성된다. 첫 번째와 두 번째의 정수는 사각형의 왼쪽 아래 꼭지점의 x 좌표, y 좌표이고, 세 번째와 네 번째의 정수는 사각형의 오른쪽 위 꼭지점의 x 좌표, y좌표이다. 단, x좌표와 y좌표는 1이상이고 1000 이하인 정수이다.
출력은 표준 출력이다. 출력은 T줄로 이뤄진다. 각 테스트 케이스에 대해서 네 개의 직사각형이 차지하는 면적을 출력한다. T개의 테스트 케이스를 모두 맞혀야 이 문제를 맞힌 것이다.
- 3rdPCinCAUCSE/ProblemC . . . . 11 matches
C 번 문제 : 구슬 찾기. 소스파일이름 : ball.c or ball.cpp
입력은 표준 입력이다. 입력의 첫줄에 테스트 케이스의 개수를 나타내는 정수 T(10 이하)가 주어진다. 다음 줄부터 T개의 테스트 케이스가 주어진다. 각 테스트 케이스의 첫 줄은 구슬의 개수를 나타내는 정수 N (1<=N<=99) 과 저울에 올려 본 쌍의 개수 M 이 주어진다. 그 다음 M개의 줄은 각 줄마다 두 개의 구슬 번호가 주어지는데, 앞 번호의 구슬이 뒤 번호의 구슬보다 무겁다는 것을 뜻한다.
출력은 표준 출력이다. 출력은 T줄로 이뤄진다. 각 테스트 케이스에 대해서 무게가 중간이 절대로 될 수 없는 구슬의 수를 출력한다. T개의 테스트 케이스를 모두 맞혀야 이 문제를 맞힌 것이다.
- ACM_ICPC/2013년스터디 . . . . 11 matches
= 스터디 =
* 2013년 스터디 시작!
* [subsequence/권영기] - 부분 구간, 건조, 공격적인 소 문제 코드 모두 있어여. 근데 소스 공개하기 부끄럽네..
* greedy method - [http://211.228.163.31/30stair/quick_change/quick_change.php?pname=quick_change 거스름돈], [http://211.228.163.31/30stair/germination/germination.php?pname=germination 발아]
* 스택 - [http://211.228.163.31/30stair/tw/tw.php?pname=tw 송신탑]
* 개강 이후에는 매주 수요일 6시에 스터디 시작하기로 결정, 격주로 토요일에도 만나기로 함.
* 코드포스 문제풀기
* 코드포스 복기
* 최대 path의 길이를 구한 후에 뒤로 돌아가면서 숫자가 줄어드는 녀석들을 스택에 담으면 path도 구할 수 있다.
* 풀면서 주의할 점 : dp테이블의 범위에 벗어나는 경우(예를 들어서 음수 번지)가 나올 수 있으므로 이에 대한 처리를 해줘야 한다. 비쥬얼 스튜디오에서 코드를 작성할 때, 테이블 범위에 벗어나도 정답이 나오는 경우가 생겨서 이런 예외를 발견하기 힘들었음..
* 우리의 1년간의 여정은 갑작스럽게 끝이 찾아왔습니다.
- BeingALinuxer . . . . 11 matches
Being A Linuxer는 '리눅서가 되는' 정도의 뜻으로 해석할 수 있다. 이는 완료형이 아니라 진행형이다. 이 스터디로 인해 참가자들이 리눅스를 조금이나마 이해하고 리눅스 환경에 익숙해지는 것을 최종 목표로 한다.
1. 학과 과제를 한번 이상 리눅스 환경에서 구현.
3. 오픈소스에 대한 친근감.. (?) 형성
7. 4~6의 과정을 하나의 사이클로 보고 한 사이클을 3주에 끝내는것으로 가정. 스터디가 종료될 때까지 스터디를 반복
* 첫 번째 - 간단한 리눅스 소개, 서버 접속법(terminal, sftp), 파일 목록보기, 디렉토리 옮겨다니기 ([http://zeropage.org/~linuxer/documents/BeingALinuxer01.odt 자료01], [http://zeropage.org/~linuxer/documents/BeingALinuxer01.pdf PDF버전])
* 첫 번째 모임(5월 25일) - 참가자 가지치기(?), 팀 나누기, 첫 스터디(5월 31일, 6월 1일)
* 6월 1일 화요일 5시 30경 부터 구피와 과방을 배회. 다른 스터디 사람들 찾지 못해 난감해 함. 연락할 방법 또한 없어서 난감해 함. 6시 12분경 귀가를 결심. 다음에 만날땐 번호를 '꼭!!!' 따야겠다 결심함. --[형노]--
[스터디분류]
- CxxTest . . . . 11 matches
C++ 의 경우는 언어차원에서의 리플랙션을 지원하지 않기 때문에 테스트를 추가하는 부분이 자바나 파이썬 등에 비해 상당히 귀찮다. 그에 대한 대안으로 [CUT] 등의 C UnitTestFramework 의 경우 외부에서 Perl 등으로 작성한 스크립트언어로 테스트실행과 관련한 Runner 를 코드제너레이팅하는 방법을 쓰고 있다.
CxxUnit은 [CUT]의 C++버전이라 봐도 약간 상통하리라 본다.(오래되기는 CxxUnit 이 더 오래되었던걸로 기억) Python 이나 Perl 의 코드제너레이터 스크립트를 이용, Runner화일을 만들어준다. 이를 컴파일하여 실행하면 테스트가 실행된다.
[1002]의 경우 요새 CxxUnit 을 사용중. 밑의 스크립트를 Visual Studio 의 Tools(일종의 External Tools)에 연결시켜놓고 쓴다. Tool 을 실행하여 코드제너레이팅 한뒤, 컴파일. (cxxtestgen.py 는 CxxTest 안에 있다.) 화일 이름이 Test 로 끝나는 화일들을 등록해준다.
단점이 있다면 테스트 상속이 안된다는 점이다. 개인적으로 MockObject 만들어 인터페이스 테스트 만든뒤 RealObject 를 만들어 테스트하는 경우가 많은 만큼 귀찮다. (테스트의 중복으로 이어지므로) 어흑.
- DataCommunicationSummaryProject/Chapter11 . . . . 11 matches
* 광대역 무선 시스템 - 전화 + 케이블TV
* 광대역(대역폭이 넓은) 무선 시스템이 몇년 내에 유용할 것으로 보이는데 전화든 TV 든 유선통신보다 싸고 쉽게 쓸 수 있을 것이다.
* 통신 서비스를 하는데 있어 가장 효율적이고 빠른 방법이다.
* 대부분 보급되어있는 wireless local loop system은 산업, 과학, 의학용 주파수(ISM band) 를 사용한다. 실제로 IEEE 802.11b 표준에 기초한 시스템도 있다.
* 라이센스가 없어도 되기 때문에 누구나 설치할 수 있다. 하지만 누구나 그런 생각을 가지고 사용하기 때문에 통신방해가 많이 일어난다.
* 8km 까지는 서비스 범위가 도달한다. 표준으로 11Mbps를 지원하지만 multipoint 특성상 대역폭을 사용자들이 공유하기 때문에 실제로는 2~6Mbps 가된다.
* 1970년대 45Km 이상까지도 되는 케이블 TV 와 경쟁하기 위해 TV 방송 시스템으로 개발되었다.
* 허가되지 않은 시스템은 국제적인 ISM 밴드를 사용할 수 있고, 종종 IEEE 802.11 무선랜 표준에 기초하기도 한다.
* MMDS와 LMDS는 고정된 셀룰러 시스템을 형성하는데에 익숙해질 수 있는 다중점 시스템이다. MMDS는 길지만, 작은 대역폭을 가지고 있고, LMDS는 짧지만, 높은 대역폭을 가지고 있다.
* 레이저 빔은 허가가 필요없고, 다른 어떤 타입의 고정 무선시스템보다 나은 수용능력을 제공한다. 하지만 거리가 졸라 짧다.
- FoundationOfUNIX . . . . 11 matches
* Ctrl + z 보는거 중단하기 -> 실행중인 프로세스 중단하기
* Ctrl + c 보는거 중단 -> 차이는 이 것은 실행중인 프로세스 멈추기
* ps (process state 프로세스 상태 확인하기)
* 프로세스 전환하기 ps, fg
* 실행 프로세스 종료하기 kill
* 쉘 스크립트 짜기 [http://kldp.org/KoreanDoc/Shell_Programming-KLDP kldp 쉘 프로그래밍 참고 강좌]
* 마지막 과제로 쉘 스크립트 언어로 쓰레기통 만들기 (고려중.. 안할지도 모름.)
* 간단한 쉘 스크립 파일 만들기
* 먼저 만드는 방법 설명해 준다. 그후 date, ls, 한후 자신의 home 디렉토리로 가는 쉘스크립트 파일을 만들게 함
see Also ["데블스캠프2002"],["데블스캠프2002/진행상황"]
- JavaStudy2004/자바따라잡기 . . . . 11 matches
자바(JAVA)하면 섬나라 자바를 연상케 한다. 그러나 미국 사람들에게 자바는 에스프레소 커피로 유명한 커피 체인점을 생각 하게 된다. 유래는 커피체인점이고, 커피의 대명사로도 사용된다.
자바는 가전 제품에 들어갈 소프트웨어를 만들기 위해 탄생했다. 자바를 개발한 사람은 선 마이크로시스템즈 사의 제임즈 고슬링(James Gosling)이라는 사람이다. 그는 특정한 컴퓨터 칩에 대해 컴파일하여야 하는 널리 알려진 컴퓨터 언어인 C 언어의 문제점, 또 가전 제품의 긴 수명으로 인한 완벽한 호환을 가진 소프트웨어의 개발 요구, 가전 제품에 사용될 소프트웨어의 높은 신뢰성 필요 등의 문제에 대한 해결방안을 모색 해야만 됬다.
이 문제를 해결하기 위하여 고슬링은 C와 C++를 개조해서 해결을 해보려고 시도를 했던 것이다.그래서 C언어의 불필요한 부분이나 문제가 될 부분들을 제거한 새로운 언어를 개발하게 되였는데, 이것이 바로 자바인 것이다. 최초로 자바를 이용한 프로젝트는 가전 제품과 전기 기기들을 통합하여 가정 환경에 새로운 인터페이스를 제공하는 소위 그린 프로젝트(Green Project)라는 것 이였다. 그러던 1993년, 그래픽 기반의 월드와이드웹이 발표되고 자바의 개발자들은 곧 이러한 웹 기반의 응용 프로그램에는 자바와 같은 기기(컴퓨터 및 그 운영체제)로부터 독립된 언어가 이상적이라는 것을 발견하였다. 그리하여 그들이 개발한 것이 나중에 핫자바(HotJava)로 이름이 바뀐 웹러너(WebRunner)라는 웹 브라우저였다. 이것이 최초로 자바를 지원한 웹 브라우저가 되었다. 자바라는 이름은 지역의 어느 커피점 안에서 얻었다. 그래서 지금은 웹 페이지에서 항상 끓고 있는 커피의 상징을 볼 수 있다.
*1. 최근의 컴퓨터 분야의 용례에서, 가상머신은 자바 언어 및 그 실행 환경의 개발자인 썬 마이크로시스템즈에 의해 사용된 용어이며, 컴파일된 자바 바이너리 코드와, 실제로 프로그램의 명령어를 실행하는 마이크로프로세서(또는 하드웨어 플랫폼) 간에 인터페이스 역할을 담당하는 소프트웨어를 가리킨다. 자바 가상머신이 일단 한 플랫폼에 제공되면, 바이트코드라고 불리는 어떠한 자바 프로그램도 그 플랫폼에서 실행될 수 있다. 자바는, 응용프로그램들이 각각의 플랫폼에 맞게 재작성 되거나, 다시 컴파일하지 않아도 모든 플랫폼에서 실행되는 것을 허용하도록 설계되었다. 자바 가상머신이 이를 가능하게 한다. 자바 가상머신의 규격은 실제 "머신"(프로세서)이 아닌 추상적인 머신을 정의하고, 명령어 집합, 레지스터들의 집합, 스택, 가배지를 모은 heap, 그리고 메쏘드 영역 등을 지정한다. 이러한 추상적, 혹은 논리적으로 정의된 프로세서의 실제 구현은, 실제 프로세서에 의해 인식되는 다른 코드, 혹은 마이크로프로세서 그 자체에 내장될 수도 있다. 자바 소스 프로그램을 컴파일한 결과를 바이트코드라고 부른다. 자바 가상머신은, 실제 마이크로프로세서의 명령어에 그것을 대응시키면서 한번에 한 명령어씩 바이트코드를 해석하거나, 또는 그 바이트코드는 실제 마이크로프로세서에 맞게 JIT 컴파일러라고 불리는 것을 이용해 나중에 컴파일될 수도 있다.
*2. IBM에서 말하는 가상머신은, 다중사용자가 자원을 공유하는 운영체계를 말하며, 각 사용자는 마치 그 시스템의 모든 자원을 혼자 독점하는 것처럼 느낀다.
*3. IBM에서 말하는 가상머신이라는 용어는 또한, 내재된 콘트롤 프로그램에 의해 교대로 관리되는 운영체계를 의미하는데 사용되기도 한다. 그렇기에, IBM의 VM/ESA는 IBM S/390시스템 상의 다중 가상머신을 조정할 수 있는 것이다.
출전 : 1997년 9월호 디스커버 잡지 72쪽에 실린, David Gelernter의 "Truth, Beauty, and the Virtual Machine".
- Spring/탐험스터디 . . . . 11 matches
== 스터디 소개 ==
* 스터디 시간
* [토비의스프링3]
* 세미나가 아니라 각자가 공부한 것을 바탕으로 공유하고 정답을 찾아나가는 스터디
* 스터디 모임에서는 각자 한 주간 학습하고 과제를 수행한 경험을 공유하고 궁금증을 해결
* 코치 참석 여부와 상관없이 스터디를 정시에 시작한다.
* 스터디 대상이 매우 방대하므로 충분한 개인적인 학습과 과제 수행, 그리고 스터디 모임에서 많은 질문을 할 것
* 헐 이 스터디를 시작한게 벌써 1년 2개월째라니..
* 그동안 스터디한게 하나도 안남아있다 망
[2011년활동지도], [2012년활동지도], [스터디분류]
- TheWarOfGenesis2R . . . . 11 matches
7. 심심할때마다 인수군은 일러스트 하기
* 선호 : 스크립트 파서
== 기본적인 길찾기 알고리즘 구현한 소스(11/05) ==
* [http://zeropage.org/pub/Genesis2R/BasicMovement_Source.zip 소스]
* [http://zeropage.org/pub/Genesis2R//DXTest.rar 소스]
* [http://zeropage.org/pub/Genesis2R/TileEditor.zip 소스]
* [http://zeropage.org/pub/Genesis2R/Stage.zip 스테이지 컨버터]
* 억.. 그러냐?--; 우리가 실행한 테스트에서는 다 고친줄 알았는데 아니었나 보군.
= 소스 =
|| Upload:G2RGUI.zip || 전투 루틴 GUI 포팅 테스트 ||
|| Upload:ScriptEditor.zip || 스크립트 에디터 ||
- TowerOfCubes . . . . 11 matches
여러 테스트 케이스가 입력될 수 있다. 각 테스트 케이스의 첫번째 줄에는 주어진 정육면체의 개수를 나타내는 정수 N(1≤N≤500)이 입력된다. 그 밑으로 N줄에 걸쳐 각 정육면체를 설명하는 내용이 입력된다. 각 정육면체를 설명하는 부분에서는 각 면의 색이 입력되는데, 각각 앞, 뒤, 왼쪽, 오른쪽, 위, 아래의 색을 나타내는 색이 순서대로 입력된다. 편의상 색은 1에서 100까지의 정수로 표현하자. 정육면체는 무게가 증가하는 순서대로 입력된다고 가정해도 좋다. 즉 첫번째 정육면체가 가장 가볍고 N번째 정육면체가 가장 무겁다고 가정할 수 있다.
우선 각 케이스마다 출력 예에 나와있는 식으로 테스트 케이스 번호를 출력한다. 그 다음 줄에는 가장 높은 탑의 정육면체 개수를 출력한다. 그 다음 줄부터는 탑을 이루는 정육면체를, 맨 위에 있는 정육면체부터 아래로 내려가면서, 한 줄에 하나씩 출력한다. 정육면체를 출력할 때는 입력된 순서를 나타내는 번호를 출력하고 스페이스를 하나 출력한 다음, 어느 방향에 있던 면이 위로 올라가도록 쌓았는지를 나타내는 문자열(front, back, left, right, top, bottom, 앞, 뒤, 왼쪽, 오른쪽, 위, 아래를 나타냄)을 출력한다. 답이 여러개 있을 수 있는데, 그 중 아무 답이나 출력해도 된다.
서로 다른 테스트 케이스 사이에는 빈 줄을 출력한다.
- WinAPI/2011년스터디 . . . . 11 matches
* 고한종 : 내년 컴공주점에서 쓸 포스기 제작.
* 일단 장소는 캡스톤설계실.
* 스터디그룹 결성.
* 윈도우 스타일 이나 옮겨 적어 놔야지.-[고한종]
* class style 은 패스.
||스타일||설명||
||WS_VSCROLL||13.수직 스크롤 ||
||WS_HSCROLL||14.수평스크롤 ||
||WS_SYSMENU||15.시스템메뉴 ||
||WS_TABSTOP||18.tab으로 포커스 지정 가능 ||
[2011년활동지도],[스터디분류]
- ZeroPage . . . . 11 matches
여러가지 힘든 여건 속에서도 뜻이 있는 사람들의 수고와 노력으로 지금까지 이어져 온라인/오프라인 활동을 계속하고 있습니다. 지금까지의 ZeroPage 는 ZeroPage를 거쳐간 사람들이 만들어놓은, 혹은 현재 활동중인 사람들의 과정에 대한 결과이며, 다시 많은 사람들에 의해 재창조되고 새로운 모습을 만들어나가게 될 것입니다. 언제나 '현재 진행형' 중인 학회이기를. 이 정의 또한 사람들이 스스로 깨뜨리고, 더 좋은 방향으로 바꾸어나가기를.
현재는 02년도부터 도입한 wiki 시스템을 통하여 각 프로젝트나 스터디를 진행할때마다 문서 산출물을 만들어 내어 양질의 정보들을 축적해 나가고 있다. 이 시스템은 스터디와 프로젝트를 팀으로 진행할때 공동 knowledge repository 의 역할을 함으로서 진행하는 회원 들에게 도움이 되고, 추후에 다른 회원이 비슷한 스터디나 프로젝트를 할때 그 wiki 페이지를 참고 함으로써 같은 곳에 쏟을 노력을 줄이고, 그 wiki 페이지를 다시 키워 나감으로써 지속적으로 양질의 정보를 축적하여왔다. 이로서 제로페이지의 wiki 시스템은 현재의 회원과 학교를 떠난 회원그리고 앞으로 제로페이지에 들어올 회원들 모두에게 도움이 되는 시스템으로서 자리매김하고 있다.
* 2002 ZeroWiki 시스템 도입. Devils 통합.
* 대상 - Prometheus(도서관 랩퍼 시스템) : 강석천, 류상민
- 니젤프림/BuilderPattern . . . . 11 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 에 연결해 준다.
Abstract Factory Pattern : 어떤 종류의 명확한 오브젝트를 생성할 것인지를 실행 시간까지 연기한다. (실행시간에 결정한다) 예를 들자면, 레스토랑에서 오늘의 추천메뉴를 선택하는 것이다. 서버(interface to factory)는 "오늘의 추천요리" 라는 abstract generic message 를 주방(concrete factory)에 전달하고 음식을 받게 될 때 concrete product 를 얻게 되는 것이다.
- 데블스캠프2006/준비 . . . . 11 matches
= 데블스캠프2006/준비 =
- 월 : 표준입출력, 문법, 함수, MSDN, 비트연산, 아스키 / 수생, 유선, 용안, 정현, 규완
- 목 : 클래스, 객체지향, API / 선호, 준수, 용재, 창섭 , 재혁
- 금 : 페어, 코드레이스, 마무리 발표. / 현태, 휘동, 건영, 재웅
[데블스캠프2006/준비/월요일]
[데블스캠프2006/준비/화요일]
[데블스캠프2006/준비/수요일]
[데블스캠프2006/준비/목요일]
[데블스캠프2006/준비/금요일]
* 겁내 빡빡한데 나도 데블스 캠프 시간중 정해지지 않은 시간 혹은 대타용으로 좀 널럴한걸로 하나 할께~ 여차 하면 [RUR-PLE] 재탕도 ㅋ -[상협]
[데블스캠프2006]
- 새싹교실/2011/데미안반 . . . . 11 matches
* ||Application||DB||그래픽스||네트워크||
으로 위쪽으로 갈 수록 상위개념이라 합니다. 선형대수학 때 배운 내용의 일부가 수치해석(3-1학기)에 들어있습니다. 그리고 그래픽스(4-1학기) 수업에서 수치해석을 전제로 수업을 합니다. 수업시간에는 '''선형대수학을 포기하라'''했었는데, C라이브러리로 그래픽을 만드는 식의 컴퓨터 그래픽스 수업에 관심이 있으신 분은 '''절대 포기하지 마세요 ㅎㅎ'''
* 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 출처 링크! 클릭하세요:)]
* [박성국] - ^오늘은 함수에 대해서 자세히 배우고 그에 필요한 지식인 지역변수 전역변수 static변수에 대해 자세히 배웠습니다.^ 하나하나 배우면서 C언어어에 대한 자신감을 가졌습니다. 특히 Recursive function에 대해 정확한 이해를 통하여 활용할 수 있게 되었습니다. 항상 스펀지같이 쏙쏙 머리속에 들어오는 수업 감사합니다.
* 널(null) 문자: ‘\0’ (아스키코드 값으로 0)
*실습(2): 문자열을 입력 받는다. 입력 받은 문자열을 구성하고 있는 문자 중에서 아스키코드 값이 가장 큰 문자를 찾아서 출력하는 프로그램을 구현해보자.
* [박성국] - 배열에 대해 평소 개념과 실습이 적었는데 오늘 개념도 자세히 배우고 실습도 충분히 한 시간이었어요. :) 또한 과제도 하면서 더욱 자세히 이해 할 수 있었습니다.!!! 그리고 오늘 수업중 다같이 나가서 루카스 옷도 받아온 정말 유익한 시간이었습니다. ㅋㅋ
* 음 음 여러 모로 유익했지 ~ㅁ~ㅋㅋ 40분이나 기다렸지만 만족스러움!ㅋㅋ -[강소현]
* 위키 정리가 매우 알차네요!! 그런데 한편으론 이렇게 정리하려면 위키에 적는 것이 새싹교실 선생님에게 너무 부담스럽지 않을까 싶은 걱정도 듭니다. 즐겁게 정리하고 있다면 정말 좋은 일이지만 혹시 너무 부담스럽다면 덜 꼼꼼히 적어도 괜찮을 것 같아요~ - [김수경]
- 시간관리하기 . . . . 11 matches
보통 이 문제에 대해서는 '스스로가 게을러서' 로 끝나고, 문제에 대해 너무 막연하게 대처한다.
["1002"] 의 경우 치열하게 살고 있진 않지만, 몇몇개 해본 일들이 있다. 처음에는 크고 거창하게 계획 세우고 일들 순위 매기면서 하는 스타일을 시도했었는데, 요사이는 작고 간단하며 실천적인 행동들을 생각하려고 노력한다. (하지만, 여전히 게으르다;)
* 핸드폰 알람 밑에 다이어리 놓기 - 보통 아침은 핸드폰 알람소리로 깬다. 그 밑에 그날의 할일을 놓는 것이다. 핸드폰 찾으러 돌아다니고, 그러다가 스탠드를 켜고, 핸드폰 알람 끄고, 그리고 어쩔수 없이!; 그날의 To Do List 를 보게 된다.
비록 책을 쓴 저자인 스티븐 코비는 자신의 글을 스스로 실천하지 못했는지도 모르겠지만, 책 내용으로 보면 자기혁신,관리책의 기본 바탕이 되는 내용이라 생각된다. (단, 개인적인 생각으로는, 프랭클린 플래너는 안써도 될것 같다. 사람 스타일마다 다르겠지만)
의외로 '간단해보이는', 하지만 인간적인 시스템을 제공한다. TDD 를 하는 사람들이라면 'To Do List 에 등록해놓기' 생각날지도.
시간관리 책들을 보고 처음부터 거대 시스템을 만들어서 한꺼번에 자신에게 적용하려고 하는 사람들에게서, 소프트웨어 개발방법론인 XP 에서의 다음의 주문은 어쩌면 의외의 효과를 가져오는 것 같다.
"당신이 매우 바빠서 스케줄이 가득 찼더라도, 정말 노력하면, 새로운 일을 그 사이에 추가할 수 있다는 것입니다."
- 우리가나아갈방향 . . . . 11 matches
지식에 대해서는 공유할 수 있지만, 경험과 공부한 것 자체는 공유할 수 없다는 것임을.. 결국은 공부는 스스로 하는 것일테니. 똑같은 책의 한 구절을 보아도 사람에게마다 영양소가되는 위치가 다른 것임을. 일종의 훈련인 것에 대해서는 누구도 어떻게 해줄 수가 없는거지.
이 말의 의도는 충분히 이해를 하지만 오해의 소지가 있을 것 같아 사족을 답니다. 모여서 할 수 있는 공부가 분명히 있습니다. 이것은 혼자서만 할 수 있는 공부와는 다릅니다. 모여서 하면 아주 좋은 성과를 볼 수 있는, 그러나 혼자서는 하기 힘든 그런 공부가 분명히 있습니다. 수프를 먹으면서 포크의 "비어있음"을 탓하고 스푼의 "차있음"을 찬양하지만, 과일을 먹으면서는 포크의 "비어있음"을 고마워하고 스푼의 "차있음"을 비난하는 법입니다. 사건(event)과 물건(thing), 즉 사물에는 "나"와의 관계 속에서 그것의 "도"를 밝혀주는 길과 쓰임이 생깁니다. 그 길로 다니면 편하고 자연스럽고 쓸모를 얻지만, 자신이 길을 억지로 내려고 하면 불편하고 거북하며 쓸모를 얻지 못합니다. --김창준
''DeleteMe) 오해의 소지가 있게 쓰긴 했네요. 본래의 의도는 (01들은 내가 한 이야기를 들어서 알겠지만) 스터디를 할때, 책을 미리 읽고 난 뒤의 생각이나 프로그래밍을 했을때의 경험들을 들고 올 생각을 하지 않고, 모이고 난 뒤에 그제서야 책을 읽을 생각을 한다는 점을 지적하고 싶었습니다. 모임자체를 하나의 시스템으로 보고 공부하지 않은 자신을 시스템으로 억지로 묶어보려고 하는 모습같아서.. 그 점을 지적하고 싶었습니다. 같이 공부했을때의 효율이 혼자서 할때보다 높기 위해서는 (장점을 가질 수 있으려면) 사전에 공부하려는 해당 부분에 대한 의미를 조금이라도 파악해두어야 한다고 생각합니다. --석천''
따스한 5월의 봄날에 맞이한 제로페이지의 10주년을 진심으로 축하합니다. 10년이라는 적지 않은 시간동안 우리 학회가 만들어온 크고 작은 모습 하나하나는 선배님들과 여러 동기 여러분 그리고 후배님들의 학문에 대한 열정과 서로에 대한 이해와 배려가 일구어낸 아름다운 자화상이라고 생각해봅니다. 우리 제로페이지는 중앙대학교 컴퓨터공학과의 최대 학회이며 여러 학생들의 학술적 비젼을 제시해 주고 있는 중요한 학회입니다. 이런 제로페이지가 좀 더 발전적이고 원숙한 모습을 갖추기 위해서 당부하고 싶은 것들을 몇가지 말씀 드리고자 합니다.
이번 방학에도 어김없이 프로젝트나 스터디가 열리고 있습니다. 프로그래밍 언어를 좀더 잘 다루려고, 공부나 프로젝트를 같이 해보는 경험을 쌓으려고, 자신이 공부해서 알고 있는 내용을 다른 사람에게 설명해주려고, 아니면 그냥 재미로 참여하는 분들이 많으리라 생각합니다. 그러는 가운데서 지식과 경험을 쌓을 수 있기에 제로페이지 활동은 현재로도 분명 값어치가 있습니다.
이러한 상황에서 학부생이 경력 관리를 하는 한 가지 방법으로 제로페이지 활동을 할 수 있을 것입니다. 실제로 기업에서 일하는 수준엔 못 미치더라도, 자신의 실력을 보여줄 수 있는 포트폴리오를 만드는 것이지요. 자기가 혼자 만들고 즐기는 것이 아니라 남에게 보여줄 것이기에 어느정도 완성도를 지녀야 할 것입니다. 이게 별 것 아닌 것 같지만, SourceForge같은 공동체도 대다수가 경력 관리를 위해 오픈 소스 프로젝트에 참여하고 있다고 합니다.
- 정모/2011.9.20 . . . . 11 matches
* 김건영 선배님께서 웹 서비스쪽 벤처 기업에서 함께 일할 사람을 구하는 중이라고 하십니다.
* 외부 기사란 어떤건지 궁금하네요. 다른 학회의 정보같은 걸 말하는 건가요? 아니면 IT 뉴스등도 포괄하는 건가요? - [서지혜]
* 기사라고 해서 뉴스를 말하는 건 아닌데 ㅋㅋㅋ 소식같은 걸 외부 기사로 섭외하려는 건 아니고... 자기가 관심있는 분야에 대해 쓴 내용이 제일 좋지. - [김수경]
== 스터디/프로젝트 공유 ==
* [ACM_ICPC/2011년스터디]
* [JavaScript/2011년스터디]
* [DesignPatterns/2011년스터디]
* [Spring/탐험스터디]
* 오랜만에 처음부터 끝까지 정모를 참여한 시간이었습니다. 몇몇 분들이 오지 않으셔서 좀 썰렁했던 것 같네요. 제로페이지에서 진행하는 스터디에 참여하고 싶은 생각도 있었는데 아무래도 시간이 부족할 것 같아서 포기했네요 ㅠㅠ; OMS 대상자가 될 뻔한 위험이 있었네요 살떨려요.. 오늘 OMS를 보고 집에 가는 길에 책을 질렀습니다. '독서'용은 아니지만 저에게 도움이 될 것 같네요. 그런데... 으앙 제가 참가자가 아니라니! - [장용운]
* 구인 구직의 시간에서 루비가 언급될 줄 몰랐어요! 데블스캠프에서 세미나를 했던 지혜언니의 선견지명에 감탄했습니다ㅎㅎ 제가 만든 ZP 로고는 그냥 0 page라는 의미로 OMS에서 제 역할을 해주었지요 ㄲㄲ 독서 모임을 하면서 확실히 좋았던 점이 제가 책을 읽는다는 그 자체였어요. 고등학교 과제는 인터넷에서 긁는거 아니냐 했었는데 그게 바로 저였습니다ㅠㅠ 과제로 내주지 않는 이상 책을 전혀 찾지 않았었는데 독서모임을 하면서 주제 외의 책을 찾아 읽는 데도 어색하지 않은게 좋았달까요. 아직까지도 줄거리나 의견을 말하는 데는 쩔쩔매지만 계속 하다보면 물 흐르듯이 말하는 날이 오겠지요 ~ㅁ~ 많이 참여하면 좋겠어요~ -[강소현]
* 벤처(?) 회사에서 구직하러 많이 오시는군요.. 임베디드 시간에도 홍보하러 오시고ㅇ_ㅇ 시작하는 사람들의 열기가 느껴져서 둑흔거리네요ㅋㅋ 개인적인 의견이지만서도.. 벤처야말로 노련함이 필요한 곳 같아요.(아니면 천부적인 센스라거나!) 특히 우리나라처럼 벤처 제도가 잘 없는곳에서는..
- 정모/2013.6.10 . . . . 11 matches
== 소프트웨어 마에스트로 면접 이야기 ==
* 2013년 6월 24일은 데블스캠프 ~~다다음주~~
== 스터디, 프로젝트 지원 관련 ==
* 스터디나 프로젝트를 하는 경우에는 ZP에서 기자재, 도서 등은 우선적으로 지원하고, 다른 비용도 나름대로 지원하니 신청해 주세요.
= 데블스캠프 =
* 데블스캠프 공식 포스터 제작 완료
정모가 끝나고 몇몇 사람들이 함께 포스터를 붙였습니다.
* 스태프 회의는 시험 끝나고 하기로 했습니다.
= 스터디 공유 =
* 쉬었습니다. ~~면접에, 플젝에, 시험에, 데블스에...~~
- 1thPCinCAUCSE/ProblemA . . . . 10 matches
입력은 표준 입력이다. 입력의 첫줄에 테스트 케이스의 개수를 나타내는 정수 T (10 이하) 가 주어진다. 다음 T줄의 각 줄마다 테스트 케이스가 주어진다. 테스트 케이스는 정수 네개로 이뤄진다. 이들 정수 사이에는 빈칸이 있다. 앞 두개의 정수는 시작 시각의 시와 분을 나타내고 뒤 두 개의 정수는 끝 시각의 시와 분을 나타낸다. 시는 1 이상 12 이하의 정수이고, 분은 0 이상 59 이하의 정수이다.
출력은 표준 출력이다. 출력은 T줄로 이뤄진다. 각 테스트 케이스에 대해서 자기가 계산한 회수를 한 줄에 하나씩 출력한다. T개의 테스트 케이스를 모두 맞춰야 이 문제를 맞춘 것이다.
- 1thPCinCAUCSE/ProblemC . . . . 10 matches
입력은 표준 입력이다. 입력의 첫줄에 테스트 케이스의 개수를 나타내는 정수 T (10 이하) 가 주어진다. 다음 T줄의 각 줄마다 테스트 케이스가 주어진다. 테스트 케이스는 b와 w로 이루어진 길이 9인 문자열이 주어진다. 이 글자들 사이에는 빈칸이 없다. 이들은 차례로 1,2,3,4,5,6,7,8,9에 해당하는 칸의 색을 나타내는데, b는 검은색이고, w는 흰색이다.
출력은 표준 출력이다. 각 테스트 케이스의 X에 대해 자기가 계산한 회수를 한 줄에 하나씩 출력한다. 모두 흰색으로 바꾸는 것이 불가능하면 -1을 출력한다. T개의 테스트 케이스를 모두 맞춰야 맞춘 것이다.
- 2학기자바스터디 . . . . 10 matches
2003년도 2학기 자바스터디 페이지입니다
DeleteMe) 제 생각에는 프로젝트를 하나 진행하는 것이 낳을 것 같습니다. 책의 내용을 그대로 따라가다 보면 굉장히 지루합니다. 그냥 프로젝트를 하나 선정해서 하는 것이 재미있을겁니다. 그리고 교제는 흠... 여러분들이 영어라고 안보는 레퍼런스와 튜토리얼이면 충분하다고 생각이 들지만 그게 아니라면 비싼거 말고 싼걸루 좋은책 하나 선정해서 보시기 바랍니다^^; -[상욱]
아~ 참고로 저의 게으름으로 방학 중 자바 스터디가 허술한 점은 사과드립니다;;; -[상욱]
오히려 우리들이 더 게으르게 했죠 ㅡ.ㅡ;;; 많이 나가진 못했지만 그래도 개념적인 면(객체지향이나 클래스..)에서 자세히 설명해 주셨는데... 앞으로 도움이 많이 될것 같아요... 계속 공부하는 후배들이 남았다는것만 해도 큰 성과지요 ^^ -세환
추석끝나고 본격적으로 시작하죠... 교재는 따로 정하지말고 도서관에서 읽기 쉬운걸로 골라서 보면 될것 같구요... 프로젝트까지는 아니어도 간단한 프로그램짜는걸로 해요(toy problem이나 5인용스터디에서 했던것처럼) -세환
이 스터디그룹은 왜 한다는 소리가 안나오냐? 하면 가서 볼려구 했는데..^^; -[상욱]
교재는 [게임을 만들며 배우는 자바 프로그래밍]이고 지금목표는 테트리스, 더 나아간다면 네트웍테트리스...
[2학기자바스터디/첫번째모임]
[2학기자바스터디/운세게임]
- COM/IUnknown . . . . 10 matches
COM 객체의 핵심을 이루는 인터페이스.
COM 객체를 다루는데 있어서 가장 핵심적인 인터페이스. REFIID 를 이용해 ID 에 맞는 인터페이스 포인터를 얻을 수 잇다.
※ 이론적인 내용은 C++ 의 스마트 포인터 파트를 참조. 참조카운팅의 용도와 필요성에 대해서 숙지한다.
C++ 스마트 포인터에서는 참조 카운팅을 이용해서 dangling pointer 문제를 해결한다. boost 의 shared_ptr이 이를 구현한다.
IUnknown 은 구현체가 유효한 기간동안 인터페이스 포인터를 변경시키면 안된다.
인터페이스 포인터는 '''QueryInterface(IID_IUnknown, (void**) &pIUnknownInterface)''' 를 통해서 얻을 수 있으며, 이의 유효를 검사하는 것이 가능하다.
정상규현된 컴포넌트라면 인터페이스 포인터를 비교하는 것을 통해서 각 객체가 같은 컴포넌트의 인스턴스인지 확인이 가능하다.
- ChocolateChipCookies . . . . 10 matches
첫째 줄에는 테스트 케이스의 개수를 나타내는 양의 정수가 한 개 입력된다. 그 다음 줄은 빈 줄이며, 서로 다른 테스트 케이스는 빈 줄로 구분된다.
각 테스트 케이스마다 여러 줄이 입력되는데, 각 줄마다 쿠키 반죽의 정사각형 표면에 있는 칩의 위치인 (x,y) 좌표를 나타내는 부동소수점수가 두 개씩 입력된다. 각 좌표는 0.0 이상 50.0 이하다. (단위는 센티미터) 각 칩은 점으로 생각할 수 있다. 초콜릿 칩의 개수는 최대 200개며, 전부 서로 다른 위치에 있다.
각 테스트 케이스에 대해 지름 5cm인 쿠키 한 개에 들어갈 수 있는 초콜릿 칩의 최대 개수를 나타내는 정수를 하나씩 출력한다. 쿠키가 완전히 가로, 세로 50cm인 반죽 판 안에 들어가야 할 필요는 없다(즉 쿠키가 완전히 원 모양이 아니어도 괜찮다).
서로 다른 테스트 케이스의 결과 사이에는 빈 줄을 출력한다.
- CommonPermutation . . . . 10 matches
입력 파일에는 여러 개의 케이스가 들어갈 수 있으며 각 케이스는 두 개의 연속된 줄로 구성된다. 즉 첫번째 줄과 두번째 줄이 한 테스트 케이스를 이루며 세번째 줄과 네번째 줄이 또 다른 테스트 케이스를 이루는 식이다. 각 행에는 소문자로 이루어진 문자열이 하나씩 들어있으며 한 테스트 케이스를 이루는 문자열 중 첫번째 것을 a, 두번째 것을 b라고 하자. 각 문자열의 최대 길이는 1,000글자다.
입력된 각 테스트 케이스마다 한 줄씩 x를 출력한다. 위의 조건을 만족하는 x가 여러 개 있으면 알파벳 순으로 맨 앞에 있는 것을 출력한다.
- FifteenSecondsRule . . . . 10 matches
어떤 시스템/프로그램이 있을 때, 모든 개념적 단위(예컨대 패키지, 모듈, 클래스, 메쏘드 등)를 개발자 자신이 15초 이내에 설명할 수 있어야 한다는 "15초 룰"의 확장판이 꽤 유용할 때가 많습니다. 이런 식으로 설명을 모두 마쳤을 때는 소스 코드 전부를 설명한 셈이어야 합니다.
여기서 청자가 그 설명을 이해할 수 있냐 없냐는 것은 크게 중요하지 않습니다. 15초 이내에 개발자 자신이 스스로 설명할 수 있어야 합니다.
예를 들어, 경매 시스템이 있을 때, "이 시스템은 무얼 하는 것이냐?"라는 질문에 15초 이내에 깔끔하지만 '''완전한'''(complete) 대답을 할 수 있어야 하며, "그럼, 이 시스템에서 {{{~cpp Authentify}}} 서브 시스템은 뭘 하는 것이냐?"라는 질문에 역시 15초 이내에 완전한 대답이 가능해야 하고, "이 {{{~cpp FooBar}}} 객체는 무엇을 하는가?"라는 질문에 또 15초 이내의 대답이 나와야 합니다. 이런 식의 설명이 모두 끝났을 때, 소스 코드 '''전체'''를 훑은 셈이여야 합니다 -- 이게 용이하려면 프로그램의 구조가 이런 설명의 구조와 유사해야 합니다.
- LoveCalculator/zyint . . . . 10 matches
오옷~!! 역시 진트.. 무한한 알고리즘의 복잡함에서 저렇게 깔끔한 소스를 만들어내다닛.. 요리왕..아니 소스왕 진트..ㅎ
음.. 그래도 클래스가 없다닛~!! 에잇 클래스가 없는 C++은 단팥없는 붕어빵이얏~!(괜히 심술중..ㅎ) ㅋ~
└ 사실;; 아직 클래스 공부는 안해서 쓸줄 모르거덩 ㅋㅋㅋㅋㅋ 그래서 못썼어;; 아직 벡터랑 이런거만 배워서 일단은 저리 해두었엉 ㅠㅠ
알파벳에서 숫자가 아닌 문자(alpha = alpha - 'a' +1)로 처리 하였다면 가독성이 좋아지지 않았을까? 그런데, 이건 내 취향일 수도 있지만,.. class로 함수들을 묶어 외부 접근을 못하게 했으면 나중에 소스코드를 재사용하기 훨씬 쉬워졌을텐데. 함수 분류는 현태 말대로 좋은거 같네. (그리고 upper함수는 toupper라고 이미 구현되어 있어.) - 이영호
└ 아!!!!!! 그렇게 하면 되는군요.. 미쳐 생각지 못했습니다.. 단순히 'a' 요렇게만 하면 됐는데 ㅋ 아스키 번호를 생각해내는 수고는 덜필요가 있겠네요
toupper는... 몰랐습니다ㅠㅠ 비주얼어시스트로 upper쳐봤는데 안나와서 걍 만들었어요; MSDN 뒤졌으면 찾아서 썼을텐데~크크ㅠㅠ
위에말대로 클래스는 아직 배우지 않아서;; 배우면 곧 적용시켜야 겠네요^^ 아직 클래스의 위력은 잘 모르겠어서; -zyint
- MFCStudy_2002_2 . . . . 10 matches
* 기본적인 MFC사용법(?), 간단한 클래스와 함수에 대한 공부
* 클래스 위저드 사용법에 대한 공부.
* 숙제 : 테트리스 뼈대 만들어오기..
* 숙제 : 테트리스 블럭의 회전 부분 만들어오기.
* 목욜날 제로페이지 정모하는 날 아닌가? 정모시간이랑 우리 스터디 하는 시간이랑 겹치는거 아냐??
* 아마.. 내가 이정도 때 했구나.. -_-;; 그때 딱 도움 되었던게.. 남의 source 훔쳐 보기. -_-+ www.codeguru.com 가서 많이 받아서 봤지.. -_-;; MFC 잘쓰는데는 꽤나 도움이 될거구만.. 뭐.. 거 가보면 mfc 내에서 엄청나게 상속받아서 지들이 만들어 놓은게 많아서 왠만한건 분석도 못하는게 많이 있지만. --; 그래도 도움 짱이지... 지금 쓰질 않아서.. -_-; 기억이 하나도 안나는구만. 에또.. 제프 아저씨와 찰스 아저씨의 책을 읽어 보도록 해요. --; 세미나 하는 사람들한테 물어봐 그건.. --;; 그럼.. 휘릭~ -- guts
책이 없어서 그런지 좀 정리가 안된 느낌이다. 책을 빨리 사야겠다..함수를 몇개 배운거 같긴 한데 기억이 잘 나질 않으니..기억나는 사람이 이 페이지에 내용을 올려놨음 좋겠다.그리고 앞으로 스터디 할 때 책을 중심으로 차근차근 진도를 나가면 좀 정리가 될것 같기두 한데..-은지 [[BR]]
''덧붙임. 비단 윈도우 프로그래밍뿐만 아니라 다른 어떤 종류의 프로그래밍을 하더라도 레퍼런스(라고 해야하나.. 적당한 단어가 생각이 안나네요..;;)는 없어서는 안되죠'' - 임인택
방학 끝날때까지 테트리스 꼭 만들자..- 은지[[BR]]
성재씨 제가 적어준 소스 분석 해보세요 ^_^; 다른 분들도 다음주까지는 꼭 완성해 오시길 바랍니다. -선호[[BR]]
- OpenCamp/첫번째 . . . . 10 matches
- 진행: ZeroPage 200 OK 스터디 그룹
* jQuery 실습용 파일 - 마우스 우클릭으로 다운 요망
- 진행: 작은자바이야기 스터디 그룹
* 발표하는 입장이어서 좀 많이 떨렸었습니다. 발표하는 주제가 별로 재미있거나 신기한건 아니어서 사람들 지루해할 것 같았는데 들으신 분들은 어땠는지 잘 모르겠네요. 나중에라도 자바스크립트를 공부할 때 기억이 나서 도움이 됐으면 좋겠습니다. 그 외에 듣는 입장에서는 web의 기본 protocol이나 ajax, node.js에 대한 설명이나 웹 헤더의 분석 그리고 jquery, php의 실습 등 이론 부분과 실습 부분 다 재미있었습니다. 하지만 다음번 자바 발표는 좀 무섭네요... - [서영주]
* 데블스 때도 그랬지만 남들 앞에서 발표를 한다는 건 상당히 떨리는 일이네요. 개인적으로는 이번 발표를 준비하면서 방학 동안 배웠던 부분에 대해서 다시 돌아보는 기회가 되었습니다. 그리고 그 외에도 방학 동안에 다루지 않았던 native app을 만드는 것이나 분석용 툴을 사용하는 법, Node.js, php 등 다양한 주제를 볼 수 있어서 좋았습니다. 물론 이번 Open Camp에서 다룬 부분은 실제 바로 사용하기에는 약간 부족함이 있을 수도 있겠지만 이런 분야나 기술이 있다는 것에 대한 길잡이 역할이 되어서 그쪽으로 공부를 하는 기회가 될 수 있으면 좋겠습니다. - [서민관]
* 1시간 늦게 왔는데 데블스 캠프를 한번도 겪어보지 못 한 저는 참 좋은 경험을 한 것 같습니다. node.js 영상 볼때 우리도 빨리 저런거(아두이노 같은거) 만지고 놀았으면 좋겠다는 생각을 했어요. 웹언어에 좀 더 능숙했다면 더 많이 감탄했을텐데 그러지 못해서 아쉬웠습니다. jQueryUI 십습해볼땐 정말 재밌었어요 간결함에 감탄. - [고한종]
* nodejs를 다른 사람 앞에서 발표할 수준은 아니였는데, 어찌어찌 발표하니 되네요. 이번 Open Camp는 사실 Devils Camp랑은 성격을 달리하는 행사라 강의가 아닌 컨퍼런스의 형식을 흉내 내어봤는데, 은근 반응이 괜찮은것 같아요. Live Code이라는 약간은 도박성 발표를 했는데 생각보다 잘되서 기분이 좋네요. 그동안 공부했던것을 돌아보는 계기가 되어서 좋은것 같아요. - [안혁준]
* 1학년 때 데블스캠프에 잠깐 참가했을 때 수업시간에 배우는게 다가 아니라는 것을 느꼈었습니다. 이번 오픈캠프에서도 생각하지 않고 있었던 웹 분야에 대해 많은걸 알게 되어 좋았습니다. 처음 keynote에서 개발자에 미치는 영향력에 대해 설명하셨을 때부터 집중이 확 된 것 같습니다. 겨울방학 때 웹쪽을 공부해야겠다는 생각이 들었고, 자바스크립트로 구현하는 OOP부터 조금 어려웠지만 나중에 많은 도움이 될거라고 생각합니다. 책까지 받게 되어 너무 좋았지만 (+밥까지 얻어 먹게 되어) 뭔가 죄송하다는 생각도 들었습니다!_! 피곤하실텐데도 열심히 발표하거나 행사진행을 위해 애쓰시는 모습을 보며 가끔 공부가 힘들다고 투정하는 저를 반성하기도 했습니다. 덧: 생중계 코딩이 가장 인상적이었습니다~! - [구자경]
* 데블스도 그렇고 이번 OPEN CAMP도 그렇고 항상 ZP를 통해서 많은 것을 얻어가는 것 같습니다. Keynote는 캠프에 대한 집중도를 높여주었고, AJAX, Protocols, OOP , Reverse Engineering of Web 주제를 통해서는 웹 개발을 위해서는 어떤 지식들이 필요한 지를 알게되었고, NODE.js 주제에서는 현재 웹 개발자들의 가장 큰 관심사가 무엇있지를 접해볼 수 있었습니다. 마지막 실습시간에는 간단한 웹페이지를 제작하면서 JQuery와 PHP를 접할 수 있었습니다. 제 기반 지식이 부족하여 모든 주제에 대해서 이해하지 못한 것은 아쉽지만 이번을 계기로 삼아서 더욱 열심히 공부하려고 합니다. 다음 Java Conference도 기대가 되고, 이런 굉장한 행사를 준비해신 모든 분들 감사합니다. :) - [권영기]
- ProjectPrometheus/CookBook . . . . 10 matches
"한글 테스트..." +
단순하지만 매우 편리한 타이머. 태스크 바에서 남은 시간을 확인 가능
Python 에서의 string.urlencode 과 마찬가지로 GET,POST 로 넘기기 전 파라메터에 대해 URL Encoding 이 필요하다. URLEncoder 라는 클래스를 이용하면 된다.
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 참고
다음은 Python 을 이용, Cookie, GET/POST 변수들을 채운뒤 해당 사이트의 결과물을 인쇄하는 소스.
그리고, 제어판-관리도구-서비스 에서 resin web server 서비스를 시작 시킨다.
ZeroPageServer 웹 프로그램을 만들어서 미리 읽어볼 소스를 주신 선우형에게 감사드리며~! 형 덕택에
build_zpLocal.xml ( .../Prometheus/bin 에 빌드하는 스크립트 ) 를 이용, 실행되는 위치와 관계없는 곳에 일단 컴파일을 하고, 테스트를 돌리게 한다.
- ProjectPrometheus/Iteration9 . . . . 10 matches
* 도서관 UI 와 시스템 스타일이 바뀐점에 대한 대처.(GET/POST 변수들에 대해 분석. Extractor 클래스들 수정)
* 그리고, 아직 시험서비스여서인지 모르겠지만, 퍼포먼스가 이전보다 더 느려진것 같은. -_-; 이에 대해서도 궁리.
학교 도서관 시스템 새 버전에서 달라진점
* 바구니 기능 - 근데, 우리가 생각한 기능은 아닌듯. 용도가 좀 다름. 이에 따라 login 이 쿠키 스타일로 바뀜. (JSP 를 쓰던데, Session 스타일일 가능성도)
도서관 시스템쪽 에러메세지 관련 처리
미스테리 : logging.jsp 파일이 include 시에 과거 코딩으로 돌아온다.
- ProjectVirush/ProcotolBetweenServerAndClient . . . . 10 matches
|| 지역 선택 || showmap 1(지역 번호) || showmap Server내용 참고 || 지역 구별자(숫자) || showData 지도에보여줄감염자수 정상인수 + 바이러스이름1 개수1 항체수1 + 바이러스이름2 개수2 항체수2 ... ||
|| 연구실 || showlab || showlab Server내용 참고 || 연구실 들어감. || showLab 지도에보여줄감염자수 정상인수 + 바이러스이름1 개수1 항체수1 + 바이러스이름2 개수2 항체수2 ... ||
|| 실험실 || experiment 바이러스이름 || experiment Server내용 참고 || 바이러스 투여 || 그래프 3개(현재 바이러스 수, 해당 항체수, 사람의 생명력) 그래프 당 점 7-8개 ex) experimentData 8 host8개 antibody8개 virus8개 ||
|| 제작실 || make 증식속도 잠복기 독성 감염율 DNA 이름 || make true || 바이러스 정보 || 이름 같으면 make false ||
|| 예약 리스트 || getList || actList 명령개수 명령 시 분 ... (ex actList 1 getHuman 10 10) || 예약 리스트 || 예약 명령, 시, 분 ||
- RoboCode . . . . 10 matches
* 로보코드(Robocode)란 스크린 상에서 전투하는 자바 객체인 자바 로봇을 만들어 개발자들이 자바를 배울 수 있도록 하는 프로그래밍 게임입니다.
각 로보코드 참가자는 자바 언어의 요소를 사용하여 자신의 로봇을 만들면서 자바가 갖고 있는 상속성, 다형성, 이벤트 처리 및 내부 클래스 다루는 방법을 배우게 됩니다
로보코드는 초보자들이 자바에 쉽게 접근할 수 있도록 도와주며, 전문가들은 이를 이용하여 다른 개발자들과 실력을 견주면서 자신의 프로그래밍 스킬을 향상시킬 수 있도록 합니다.
로보코드는 오픈소스를 기본 전제로 합니다. 등록되어 있는 다른 개발자들의 소스를 다운받아 분석하고 자신의 소스를 업로드하는 과정을 반복하면서 로봇은 점차 진화하게 됩니다. 이것이 오픈소스의 묘미이지요.
로보코드를 이용해 로봇을 만들면서 여러분의 자바 스킬이 향상되는 것을 느낄 수 있을 것입니다.
=== 배틀 & 모임 로봇소스 ===
||[RoboCode/random], [RoboCode/sevenp], [로보코드/베이비] , [RoboCode/msm], [RoboCode/siegetank],[RoboCode/ing] || 2005년 데블스캠프 ||
- SmallTalk/강좌FromHitel/강의2 . . . . 10 matches
Smalltalk를 사용하여 프로그램을 짜기 위해서는 우선 여러분의 시스템에
Smalltalk 시스템에 명령을 내리거나, 이미 만들어진 프로그램의 결과를 확
지고 있습니다. 즉 흔히 사용하는 텍스트 문서 편집기와 비슷한 동작 방식을
스트 편집기와 다른 점은, 이곳에는 Smalltalk의 명령들이 들어가고, 이 명
일단 마우스나 글쇠판으로 밀대(scroll bar)를 사용해서 아래와 같은 문장이
방금 우리가 실행한 명령은 1972년 10월에 Smalltalk 시스템에게 처음으로
Smalltalk 시스템에는 500개가 넘는 갈래가 존재한다는 말입니다. 갈래들을
1. 마우스를 이용하여 끌어서 덩이를 씌우는 방법.
대로 적용한 예입니다. 명령이 두 줄 이상이므로 글쇠판이나 마우스로 덩이를 씌
지 말고 이 창 위에 마우스를 끌어서 그림을 그려봅시다. 아주 잘 그려질 것
- zyint . . . . 10 matches
= 진트의 아스트랄 페이지입니다 =
|| 다빈치코드(일러스트레이티드 버젼;;) || . || ★★★★ || 음.. 다빈치코드는 상하권으로 나뉜거랑 이책이랑 두번봤는데... 아무래도 사진을 직접 보면서 읽으니 [[BR]] 이해가 잘갔다-_-(사실 글로만 읽다보면 이해가 전혀 안되는 부분도 있었고;; [[BR]]최후의 만찬 그림을 책을 읽으면서 바로 바로 [[BR]] 보고싶었엇는데 사진이 포함된 이책은 좋았던거 같다.ㅋ [[BR]]음.. 전체적인 줄거리와 책 속에 있는 지식은 나름대로 만족스러웠다. ||
|| 피아3집 || 11,000원 || ★★★★★ || 보컬 목소리도 마음에들고 기타랑 드럼, 키보드, 베이스 모두모두 러브리 -_-; ||
|| Mr. & Mrs. Smith || ★★★★· || 재밌다-_-; 막 싸우다가 갑자기 키스씬은 당황스러웠음; 툼레이더 나왔던 여주인공 다른사람인줄 알았다-_-; ||
|| 웰컴투동막골 || ★★★★★ || 대박작품-_-; 제목이나 포스터에서 풍겨오는 찌질함은 영화를 보면 바로 사라진다. [[BR]]감독 특유의(이 영화에서 처음보는것인듯) 아웃포커싱 기술로-_-; 감독의 쏀쓰가 물씬 풍겼다! 정말 최고의 영화! ||
|| 스텔스 || ★ || 폭탄 터지고 비행기 터지고 -ㄱ- 이런거 좋아하는 사람이면 좋아할거같은 영화지만................ 그다지 -ㅅ-[[BR]]내용도 엉성하고..........궁금증은.. 무인전투기에 왜 좌석이 있는것일까 -_-...[[BR]]별 반개도 아까운 영화. 시각적인 즐거움뿐, 스토리구성은 0점||
- 검색에이전시_temp . . . . 10 matches
|| 05/12/23 || 검색_test - 유용안 || 동문서버 자유게시판 검색 테스트 ||
* [http://prdownloads.sourceforge.net/goog-kongulo/kongulo-0.1.zip?download 웹스파이더(구글오픈소스)] - 이프로그램은 구글 데스크탑의 플러그인 같은 것으로서 이프로그램을 사용하여 특정 웹사이트 내용을 긁어서 구글 데스크탑 디비에 넣을 수 있다. 현재는 이 프로그램으로 구글 데스크탑이 아닌 그냥 파일에 쓰는식으로만 바꿔봄
* [http://ftp.apache-kr.org/lucene/nutch/ 오픈소스검색엔진Nutch]
* [http://www-128.ibm.com/developerworks/library/os-ecant/?ca=drs-tp2604#N101A7 이클립스에서파이썬개발] : 이클립스에서 디버깅하는거 찾다가 이거 찾음
* [데블스캠프2005/Python] 한번씩 따라 쳐보기 좋음
- 나를만든책장/서지혜 . . . . 10 matches
* 비상식(??)적인 회사 이야기. 기존의 회사에 대한 통념을 비판하고 있다. IT계열의 스타트업 회사라면 시도해 볼 만함.
* 헬프 1,2. 캐서린 스토킷
* 선택 - 스펜서 존슨
* 왜 이런 책이 세계적인 베스트 셀러인지 모르겠다. 이게 어른이 읽는 (지나치게 교훈적인) 동화책이었던가?
* 마우스드라이버 크로니클
* 마우스드라이버의 첫 고객이 엄마였다는게 귀엽다ㅋㅋ
* 마음을 가라앉히고 우주적 기운을 불러들인다는 내용이 소름끼치게 오그라들지만(기-chi-의 오그라드는 표현인듯) 고양이 이야기가 많이 나와서 읽었음. 게슈탈트 스캔이라고 동물의 신체/심리 상태를 스캐닝 한다는 내용도 대뇌피질 반사! 해서 보면 나름 재미있는 책.
* 시지프스를 다시 생각하다.
* 스무살에 알았더라면 좋았을 것들
- 데블스캠프2009/수요일후기 . . . . 10 matches
= 데블스캠프2009/수요일후기 =
* [송지원] - 사실 들으면서 이걸 컴구나 OS를 안들은 1,2학년 애들이 쉽게 받아들일까 생각했고 컴퓨터로 딴짓을 하며 놀고 있는 애들을 보며 살짝 걱정했는데 위의 1학년 애들 후기를 보니 그렇지도 않은거 같다=_=;; 다만 병윤이 수업 자체가 실습 없는 강의 수업이였는데 여기저기서 타자소리가 들리고 마우스클릭 소리가 들렸던건 아쉬웠다. 물론 위키페이지 고치느라 버벅댔던 나도 할말은 없다;;
* [송지원] - 기대 이상의 세미나였다. 준석이가 데블스 전부터 자신의 세미나에 대해 엄청 자신없어했고 형진이가 Abstractionism을 하며 강의가 좀 확장되어 준석이가 가르칠 범위까지 해버리는 바람에 준석이가 할게없다고 걱정하던데, 오히려 형진이의 강의로 토스를 받아 붕어빵 예시로 스파이크를 날려준 느낌이다. 그래도 OOP란 개념 자체가 확 와닿기 쉽지 않은지라 마지막엔 내가 괜히 오지랖 부렸다..;;
* '''서민관''' - 수요일 수업에서 제일 마음에 들었던 부분입니다. 이클립스를 써 본 것도 좋았고, 무엇보다 JUnit test는 정말 마음에 드네요. 앞으로 갈수록 프로그램의 크기가 커질텐데 이클립스를 통한 svn 사용이나 JUnit test나 둘 다 팀 프로젝트용으로는 정말 좋은 기능이라고 생각합니다. 정말 뭐라고 더 칭찬을 해야 할 지 말이 안 나올 정도로 마음에 들었어요. 한 방에 제대로 프로그램을 못 짜는 저한테는 메인 함수 없이도 버그 수정이 가능하다는 건 정말 고마운 기능이죠.
* [송지원] - 사실 너무 아쉬웠다. JUnitTest를 위해 예로 제시한 계산기 클래스도 함수 하나 정도밖에 테스트 해볼 수 없는 이상한 설계의 클래스였다(너무 OOP 다음수업이라 캡슐화에만 신경을 썼던듯). 한 마디로 Java도, JUnit도 맛보기만 해준 꼴이 된것 같다. 하지만 '''JUnit은 확실히 강한 라이브러리다'''. 내가 몸소 느끼고 자발적으로 세미나한 이유도 그렇다. 내 세미나는 즈질이였지만 많은 1,2학년 학우들이 Java로 개발을 진행할 때 도움이 되었으면 한다.
- 데블스캠프2009/월요일 . . . . 10 matches
= 데블스캠프2009/월요일 =
|| 송지원 || Scratch (스크래치) || 초등학생도 할 수 있는 프로그래밍을 통해, [[br]]프로그래밍에 대한 친근감과 흥미 유발 || ||
||pm 07:00~08:00 ||svn과 함께하는 코드 레이스 || 김홍기 ||
||pm 08:00~09:00 ||짧은 코드를 만드는 코드 레이스 || 김홍기 ||
||pm 09:00~10:00 ||빨리 코드를 작성하는 코드 레이스 || 김홍기 ||
[데블스캠프2009/월요일/연습문제]
[데블스캠프2009/월요일/Scratch]
[데블스캠프2009/월요일후기]
[데블스캠프2009] [데블스캠프]
- 새싹교실/2013/라이히스아우토반/6회차 . . . . 10 matches
관련 페이지 : ThreeFs, ThreeFs(노스모크), FiveFs(노스모크)
예를 들어 지난주에 돈가스를 먹은 것에 대해 후기를 쓴다면 : "지난주에 강남에 가서 하나에 5만원하는 돈가스를 먹었다.(사실) 기대를 잔뜩 했는데 별로 맛이 없었다.(느낌) 강남은 땅값이 비싸서 값만 보고 엄청 맛있을거라 기대하면 안된다는 것을 알았다.(깨달은점) 다음에는 미리 인터넷에서 평을 찾아보고 별점이 높은 돈가스집을 찾아서 가봐야겠다.(앞으로의 계획)"
앞으로는 더 열정있게 배워서 다 마스터해 버리겠습니다.
오늘은 스위치-케이스와 와일 이프-엘스 등등 실습을 했어요
[새싹교실/2013],[새싹교실/2013/라이히스아우토반]
- 성당과시장 . . . . 10 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. 오픈소스「뜨거운 경제 논쟁] 같이 아직까지도 꾸준한 논쟁이 이루어 진다.
|| 성당 || 찬란한 고독 속에서 일하는 몇 명의 도사 프로그래머나 작은 그룹의 뛰어난 프로그래머들에 의해 조심스럽게 만들어지고 때가 되어야 발표할 수 있는 엄숙한 성당 건축 방식 ||
|| 시장 || 일찍, 그리고 자주 발표하여 다른 사람에게 위임할 수 있는 것은 모두 위임하고, 뒤범벅된 부분까지 공개하는 그런 스타일은 서로 다른 의견과 접근 방식이 난무하는 매우 소란스러운 시장 같은 분위기 ||
우리가 본래 생까했던 성당 방식이 아니라 시장방식의 개발형태로 꽤나 괜찮은 시스템인 '''리눅스'''시스템이 탄생하였다.
- 정규표현식/스터디/문자집합으로찾기 . . . . 10 matches
* {{{다음과 같이 [] 는 리스트를 나열해주는 것으로 .과 같이 한글자만을 지원한다 여러개의 []리스트를 사용하고싶다면 '*'(와일드카드)를 붙이거나 범위를 지정해주는 {}를 사용하여 []* 이나 []{4,4}(4개 찾기)로 이용할수 있다.}}}
* {{{또한 다음과 같이 [0-9] = [0123456789]와 같이 사용하며 문자 또한 지원한다. 축약법은 하이픈(-)을 붙이는 방법으로 [A-Z][a-z] 이방법은 아스키 코드 방식을 따르며 축약시킬 경우 [a-A]는 역순이므로 되지 않는다. 또한 리스트([])안에서는 또다른 리스트([])와 역슬래시(\), 하이픈(-)을 제외하고는 모두 일반 문자와 같이 인식하므로 특수문자 %&^*$ 를 단순히 리스트 안에 나열하는것으로 검색할수 있다 리스트 안에서 리스트([])를 검색하는 방법은 역슬래시를 붙여 이스케이프를 시켜야한다.}}}
[정규표현식/스터디/문자집합으로찾기/예제]
- 정모/2002.7.11 . . . . 10 matches
* ["비행기게임"] - 파이썬으로 만드는 박진감 넘치고 스릴 만점 비행기 게임. 파이썬도 익히고 비행기 겜도 만들고
* ["DeepAspectOnC"] - C 를 더 깊고 공부 하자는 스터디
* ["ProjectPrometheus"] - 도서관 정보 관리 시스템
* 신입회원을 대상으로 하는 스터디팀 조직
* 새로 조직된 스터디팀 (팀 이름은 도우미들이 정하세요)
* 스터디 그룹을 진행할때 유의 사항
정모때 느낀점이지만, 오늘의 주제(신입회원 스터디팀 조성)에 비해 준비부족이란 느낌이 많이 든다. 개인적으로 미안하게 생각하며 반성중이다. 쩝. 회의 진행중 잘못된 점이라면.
1. 스터디팀 조직때 너무 두서없이 진행되었다.
2. 신입회원들에게 무엇을 공부할것이며, 개인적으로 공부할 것과 팀으로 공부할 것에 대한 성찰(어느정도 되었다고 생각했는데, 말로 꺼내어보려고 연습장에 정리하려니 계속 정리가 안되었다.), 기존 ["데블스캠프2002"] 와의 연장선을 모색할 방법 등에 대해서 이야기해보려는 시도(비록 ["데블스캠프2002"] 의 마지막날이 3명밖에 오지 않았더라도) 기존회원들의 책임이며, 소위 '어느정도 공부했다' 라는 사람들이 전달해줘야 할 지식이였으리란 생각을 해본다. (아직까지나마 한배를 타고 있다면) 이 또한 회의전 미리 조직화해야 하건만, 너무 늦어버렸군.
- 정모/2011.7.4 . . . . 10 matches
== 프로젝트/스터디 ==
* 지속 여부 결정 및 새로운 프로젝트/스터디 제안
* 여름방학 프로젝트/스터디는 [2011년활동지도]에서 보실 수 있습니다.
* [데블스캠프2011]이 끝나고 진정한 방학(?)이 되었습니다.
* 중간에 물리 교수님에게서 전화 와서 전화 받고 오니까 많은 부분이 지나가있더군요 -ㅅ-;;;; 쩝.. 뭐 그래도 들을 내용은 다 들었으니깐... 방학을 맞아 새로이 스터디가 진행되는 건 열심히 해 봐야겠네요a 결국 방학이든 아니든 학교는 자주 오게 된 -ㅅ-ㅋ 끝나고 곱창집이랑 하우스?에서 아이스크림 먹고 오락실 가서 1945한판 하고 (펌프가 없어서 못하고) 재미있었습니다. ㅋㅋㅋ - [권순의]
* 많은 스터디에 참가하게되었습니다. 이번에는 기필코 무언가를 얻어가야겠습니다. 각오를 다지며... -[정의정]
* 재학생으로 지낼 수 있는 마지막 학기라고 생각하니 역대 제로페이지 활동 중 가장 많은 프로젝트/스터디에 참가하게 되었습니다. 그 동안의 지피 활동에 비해 프로젝트/스터디 활동을 참 적게 했던게 부끄럽네요ㅠ 역시 공부와는 거리가 먼... 뭐 하나 도중하차 하지 않고 끝까지 하고 싶어요. 곱창은 검색한 보람이 있었고 오락실에서 아무 게임도 못한건 아쉬웠습니다. (테크니카라도 배워야 하나...ㄱ-) - [지원]
- 조재화 . . . . 10 matches
* 7/16~ over [5인용C++스터디]
* 7/21~ over [방울뱀스터디]
== 2003년 여름 데블스캠프를 참가하면서 배운점들 ==
데블스캠프 1
결과물 :[정렬/조재화], [구구단/조재화], [피보나치/조재화],[파스칼의삼각형/조재화], [숫자야구/조재화],[마방진/조재화]
데블스캠프 2
결과물 : [스택/조재화], [큐/조재화]
데블스캠프 3
데블스캠프 4
데블스캠프 5
- 지금그때2005/회의20050318 . . . . 10 matches
== 첫 시간 행사 : 질문 레스토랑 ==
매니저 : 레스토랑 소개, 주사위 굴리기, 질문에 대답할 사람 선택하기, 입막음을 담당
게스트 : 손님
메뉴판에 없는 질문이 하고 싶은 경우 포스트 잇에 적음
질문이 적힌 포스트 잇은 웨이터가 수거
포스트 잇 1000원
크게 두 개 부분,질문 레스토랑과 OST 부분으로 나뉨. 3시간 20분 계획
질문 레스토랑
6:25 질문 레스토랑 소개
시작& 질문 레스토랑 매니저 : 이승한
- 콤비반장의메모 . . . . 10 matches
==== 네트워크 스트리밍 ====
메모리를 mp3 버퍼.. (e.g. 32kByte) 를 더블 버퍼로 잡아서, 네트워크로 더블 버퍼링 시스템으로, 네트웍으로 받은 자료로 다음 버퍼를 채우고.. 이런 형식으로 버퍼를 채운 다음에, 플러그 인 형식으로 배포하는건 어떨까요. 머.. 이건 winamp 에만 한정되겠지요. - [zennith]
* 서버와 클라이언트가 서비스 품질이 보장되는 환경에 있다면 이 방식으로 충분히 해결
'''스스로 파괴되는 DVD 나왔다 '''
MGM이 11월 개봉한 20번째 제임스 본드 영화 '다이 어나더 데이' 홍보를 위해 제작한 DVD가 36시간 이내에 영화장면 일부와 예고편 내용이 사라져 영화평론가들에게 화제를 불러일으켰다.이 DVD는 새로 나온 음악과 영화정보도 알릴 수 있고 내용이 일정시간이 지나면 사라지므로 인터넷에 복제판이 뜰 염려가 그만큼 줄고 있기 때문이다.
이 기술을 개발한 플렉스플레이사와 스펙트라디스크사는 각기 DVD 겉혹은 내부에 화학물질을 첨가해 DVD를 이용하기 시작한 시간에서부터지정된 시간까지만 내용을 볼 수 있도록 하고 있다.
암호화와 동시에 접근제어(AccessControl)가 필요한 문제인것 같아요. 접근제어는 다분히 시스템 의존적이라 일반적인 해결이 쉽지 않은 문제죠. http://elicense.com/what/music.asp 이런식의 해법도 이미 나와있더군요. --["데기"]
- 1002/TPOCP . . . . 9 matches
추후 변화되는 부분을 확립하거나, 스펙을 명확화한다.
case) 물리 교수로부터 해당 메트릭스를 반전하는 프로그램 작성. 한 개발자는 (A) 뭔가 배울 수 있는 좋은 기회라고 생각, buffering 을 이용하여 문제를 해결하려고 함.
B 가 퍼포먼스에서 A 보다 10배 느림.
스케줄 예측시에 따른 차이
'목표'로서의 스케줄은 '할당된 시간'에 영향을 줄 수 있다.
'분석, 플로우 다이어그램 작성, 코딩, 테스팅, 도큐먼트' 로 분리하는 사고는 여러 면에서 프로그래밍을 왜곡시킨다.
우리는 각각의 프로그래머들이 자신이 잘 못하는 영역에 대해 스페셜리스트가 되게 일을 할당함으로서 학습률을 극대화할 수 있다. 또한, 그가 문제상황이 생겼을때 각가이 다른 작업으로 교체할 수 있는 기회를 가질 수 있다.
exam) 테스팅 단계
- 1thPCinCAUCSE/null전략 . . . . 9 matches
도구는 연습장과 인덱스 카드, assert 문을 이용한 테스트 케이스 등을 이용했습니다. 연습장과 인덱스 카드는 주로 개개인 수식과 중요 변수들을 적기 위해, 또는 그림을 그리기 위해 이용했고 (두 도구의 용도가 구분되어있진 않았음) 문제에 대해서 답이 나왔다하는 가정하에 (문제지에 Sample Input->Output 이 나와있었기에 가능했습니다.) Backward 로 문제가 해결된 상황을 가정하고, 그러기 위해 필요한 변수들을 찾아나가는 방법으로 진행했습니다. 프로그래밍 스타일은 Structured 스타일의 Stepwise Refinement & PBI & assert 를 이용한 TDD 를 사용했습니다.
한 20분정도 잘못진행했었는데, 첫번째는 ["1002"] 가 B 번문제를 제대로 이해하지 못했고 (앞부분만 읽고, 문제의 input-output 을 거꾸로 판단), 두번째는 input 이 100 일때의 output 예상치를 잘못계산한 상태에서 이를 근거로 Test Driven 을 시도해서 추후 발견뒤 테스트를 수정하는동안 시간을 낭비했습니다.
문제에 대해 역시 B 번을 진행하던 스타일대로 Structured 로 진행했는데, 초반에 너무 코드위주로 각 변수들을 뽑아내려고 접근한 것이 문제가 되었던 것 같습니다. 여유를 두고 페이퍼 프로그래밍을 했어도. 바늘들에 대해서 OO 로 접근했으면 좀 더 쉽지 않았을까 생각.
문제를 풀때 우스개로 이야기했던것이 '수학자의 접근이냐 공학자의 접근이냐'(페르마의 마지막정리 책에 나왔던 예. 즉, 연역/귀납). 이런문제인 경우 문제 풀기전 '어느쪽 접근이 더 유용할까' 궁리를.; 개인적으론 연역이 약해서 후자를..; --["1002"]
- 2학기파이선스터디 . . . . 9 matches
[2학기파이선스터디/if문, for문, while문, 수치형]
[2학기파이선스터디/문자열]
[2학기파이선스터디/ 튜플, 사전]
[2학기파이선스터디/함수]
[2학기파이선스터디/모듈]
[2학기파이선스터디/채팅창]
[2학기파이선스터디/서버]
[2학기파이선스터디/클라이언트]
[2학기파이선스터디/서버&클라이언트접속프로그램]
- 2학기파이선스터디/문자열 . . . . 9 matches
* 파이선의 여러 자료형중 시퀀스(sequence) 자료형에 속함.
- 시퀀스(Sequence) 자료형의 특징
>>> L = [100,200,300] # 리스트
== 시퀀스(Sequence) 자료형 연산(명령) ==
5. 멤버십 데스트(Membership Test) = in
* 문자열 연산은 앞의 시퀀스(Sequence)자료형 연산을 따른다.
['spam','and','ham'] <--- 단어의 리스트가 얻어짐.
>>> u.'''split'''('and') # 'and' 를 기준으로 분리. 'and'는 리스트에 없음.
[2학기파이선스터디]
- AM/AboutMFC . . . . 9 matches
자료는 소스분석으로 만들어 졌기 때문에 철저히 MFC 6.0(mfc42.dll Visual C++ 버전 6.0)을 기반합니다. 지금이 7.1 (mfc71.dll Visual C++ .NET 2003) 까지 올라 왔지만, 메세지 핸들링을 다룬 이 내용의 변화는 언급이 없습니다. ( from MSDN 2003 )
그나저나 정말 유치하게 써놨군요. 이 자료는 제 이야기를 전제하고 있어서 전혀 친절하지 않습니다.위에 언급한 프세 기사도 내용이 내용이니 만큼 :) 친절한 편은 아니지만 한줄씩 확인하면서 읽으면 알수 있습니다. 처음의 흥미로운 부분과 머릿말들을 보고 MFC 소스를 따라가는 방법만을 보세요.
|| Upload:MFC_Macro_23of3_2001.11.11.doc ||예제 소스코드 그림 파일로 캡춰||
MFC소스 코드 뒤지면서 재미있게 자료를 만들었습니다. 소스 뒤지는 방법은 아래를 참고하세요.
=== MFC 소스 분석 하려면? ===
F12로 따라가는 것은 한계가 있습니다.(제가 F12 기능 자체를 몰랐기도 하지만, F12는 단순 검색에 의존하는 면이 강해서 검색 불가거나 Template을 도배한 7.0이후 부터 복수로 결과가 튀어 나올때가 많죠. ) 그래서 MFC프로그래밍을 할때 하나의 새로운 프로젝트를 열어 놓고 라이브러리 서치용으로 사용합니다. Include와 Library 디렉토리의 모든 MFC관련 자료를 통째로 복사해 소스와 헤더를 정리해 프로젝트에 넣어 버립니다. 그렇게 해놓으면 class 창에서 찾아가기 용이하게 바뀝니다. 모든 파일 전체 검색 역시 쉽게 할수 있습니다.
그렇게 소스를 참고해서 그들의 의도을 알고 코딩 스타일을 흉내내면 됩니다.
- Class . . . . 9 matches
물 : '물'이라는 클래스.
음.. 나만의 생각일지는 모르겠는데... 물 시리즈로 모델링을 한다면 물 클래스를 상속받는 지하수 클래스, 해수 클래스 등등으로 보통 가지 않남?;
해수 : '해수' 라는 클래스.
- 염분 : '염분' 이라는 클래스.
클래스 '염분'
염분 : '염분'이라는 클래스
- 바닷물 속에는 다양한 원소들이 '염분'이라는 단어로 추상화된다. ->클래스.
- ComputerNetworkClass/Exam2006_2 . . . . 9 matches
2. 멀티미디어 스트리밍 서비스에 관련된 문제 출제. (RTP, 버퍼링, QoS 등의 문제를 복합시켰음)
2.5 멀티미디어 서비스에서 TCP는 왜 잘 사용 안될까
멀티미디어 스트리밍 서비스와 TCP의 궁합이 잘 맞지않는 이유를 기술하라는 문제. 수업시간에 몇번 말했기 때문에 난이도 평이. (UDP 위에 RTP 를 올리게 된 이유와 일맥상통함)
5. 통합 서비스와, 차별 서비스의 접근법의 차이를 쓰고 (Qos에 따른 서비스를 제공해주는 대표적인 기법) 각 서비스에서 WFQ를 어떻게 구현했는지
- DevelopmentinWindows/UI . . . . 9 matches
윈도우즈에서 제공되는 사용자 인터페이스.
* 버튼, 체크 박스, 라디오 버튼[[BR]]
* 에디트 박스[[BR]]
* 콤보 박스[[BR]]
* 리스트 박스[[BR]]
* 스크롤 바[[BR]]
* 프로그레스 바[[BR]]
=== 공통 다이얼로그 박스 ===
- EightQueenProblem2 . . . . 9 matches
EightQueenProblem을 해결하신 것을 축하드립니다. EightQueenProblem 페이지에 개발 시간과 소스 라인 수 등을 기록하셨나요? 사실 문제는 하나가 더 있습니다. 대부분의 프로그래밍 숙제/대회는 코드의 디자인은 잘 따지지 않습니다. 하지만 실세계의 문제에서는 코드의 적응도(adaptability)가 매우 중요한 요소가 됩니다. 자신이 작성한 프로그램이 얼마나 새로운 요구사항에 잘 적응을 하는지를 보면, 자신이 얼마나 디자인을 제대로 혹은 엉망으로 했는지 알 수 있습니다. 디자인 질에 대한 바로미터가 되는 것이죠.
||도전자||총수정시간||최종 소스라인수(주석제외)||사용언어||
||이준욱|| 0m (소스수정 없음) || 40 lines || C ||
||["이덕준"]|| 4m || 73 lines ["EightQueenProblem2/이덕준소스"]|| C++ ||
||["최태호"]|| 4m || 69 lines ["EightQueenProblem/최태호소스"]|| C++ ||
||임인택|| 0m (소스수정 없음) || 75 lines || C++ ||
''"소스수정 없음"은 잘 이해가 되지 않습니다. 첫번째와 두번째의 요구사항, 즉 기대하는 결과가 다르다는 점을 생각할 때 프로그램이 조금이라도 달라져야 합니다. 분명 처음에는 모든 해를 구하라는 요구조건이 없었는데 그렇게 했다면 당시로서는 그건 YAGNI(You Aren't Gonna Need It)이거나 혹은 고객이 원하지 않는 프로그램 아닐까요?''
만약 이 모든 것을 완료했고, 뭔가 더 도전할 것을 찾는다면, N-Queens Problem을 풀면 됩니다. (요구사항의 또 다른 변화! :( ) NXN 체스판에서 N개의 여왕을 배치하는 프로그램이 되도록 수정하는 겁니다.
저의 경우가 그렇지요..ㅡㅡ 소스를 어케 만들었길래 고치는데.. 헤매는지.. 쿨럭.. --선호.
- EnglishSpeaking/2011년스터디 . . . . 9 matches
== 스터디 방법 ==
1. 앞으로 스터디의 진행 방향
* 각자의 이 스터디를 하는 목적/목표가 무엇인가?
* 게스트 : [정진경]
* 마침 참여 인원 모두가 ACM 스터디 중이라 자신의 문제를 설명하고 소감을 말하는 시간을 가짐
* 이런저런 자유 주제로 이야기하다가 각자의 스마트폰에 대해 디스(?)하는 시간을 가짐
* [송지원] - 지난 번에 심슨 따라하기 보다 역할을 분담하니 조금 수월해졌다는 느낌이었습니다. 특히, 재미있는 장면을 선정해서 지난 번보다 조금 더 몰입할 수 있었어요. (지난 번엔 마지가 너 고민 있는듯 하다 뭐 이런 내용이었는데 이번엔 온 가족이 Scrabble 게임을 하는 장면 ㅋㅋ) Free Talking을 하면서 느낀 건 맨 처음 영어 스터디를 시작할 때보다 말문이 많이 트였다는 점. 이젠 6피에서 영어 쓰는 것도 그렇게 쪽팔리기만 하지는 않네요.
* [송지원] - 지난번까지는 쉽지만 알아두면 좋은 표현이 많은(..은 훼이크고 역할분담하기 괜춘했던) 장면들을 선택했다고 하면 이번에는 좀 길고 빠른걸 선택했는데.. 영상속도를 따라하기가 많이 버거워서 몇 번 스크립트 외워서 하다가 급마무리 ㅋㅋㅋ 빠르게 말하는게 중요한건 아니지만 익숙해지려면 많이 따라해봐야겠어요. 롤모델로 이렇다하게 생각나는 유명인사가 많지 않아서 (그냥 이 사람의 이런 점, 저 사람의 이런 점을 본받아야겠다 뿐이었지 롤모델은 그닥..) 어머니에 대해 많이 얘기했는데 공교롭게도 순의가 그날 우리 어무이와 대면했드랬죠 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
- Garbage collector for C and C++ . . . . 9 matches
= 인스톨 =
* 유닉스나 리눅스에서는 "./configure --prefix=<dir>; make; make check; make install" 으로 인스톨 할수 있다.
* C++ 인터 페이스를 추가 하기 위해서는 "make c++" 을 하여야 한다.
/! 시스템에 따라 Makefile 내용 중 CC=cc 를 CC=gcc 로 수정하여야 한다.
* C++ 인터 페이스를 추가 하기 위해서는 "make c++" 을 하여야 한다.
== 내가 사용한 인스톨 ==
== 인터페이스 ==
- HanoiProblem . . . . 9 matches
=== 문제 소스들 ===
* 아래와 같은 예제 식으로 소스를 만든 페이지에 넣어 주세요.
||도전자||총개발시간||소스라인수('''주석제외''')||사용언어|| Source ||
그리고 재귀함수를 만들 때 유의점과 사고보조물을 가르쳐 줍니다. 유의점이라면 재귀함수는 리턴되는 값의 종류(타입)가 모두 동일해야 한다는 것, 재귀호출을 벗어나는 지점 근방에서 유의해야 한다는 점 등이고, 사고보조물로는 스택의 상태를 그림으로 그리는 방법이나, 수식을 사용하는 방법 등이 있겠죠.
호주의 심리학자 존 스웰러(John Sweller) 교수는 순서효과(sequence effect)라 부르는 것을 증명했습니다.
시작하는 수를 하나 주고, 특정한 연산을 사용하여 정해진 스텝만에 다른 수로 전환시키는 문제를 주었습니다. 예를 들어, 8에서 시작해서 곱하기 2나, 빼기 7을 사용해서 6번의 스텝만에 15를 만드는 문제입니다.
see Also ["데블스캠프2002"],["데블스캠프2002/진행상황"]
- HowToStudyXp . . . . 9 matches
* XP Applied : 유즈넷과 메일링리스트의 논의 등 최근의 자료를 반영
* XP Examined (논문 모음집) : XP 컨퍼런스에 발표된 논문 모음
* 유즈넷, 메일링 리스트, OriginalWiki의 논의들
KentBeck 스스로가 XP Explained를 만약 다시 쓴다면 뜯어 고치고 싶은 부분이 상당히 된다고 말하는 것을 보아도 알 수 있듯이, 초기 XP 이후 바뀐 점, 보완된 점이 상당수 있습니다. 따라서, 책만으로 XP를 공부하기는 힘듭니다. 지금은 책 속의 XP가 사람들의 머리 속 XP에 한참 뒤쳐져 있습니다.
어찌되었건, XP에는 무술이나 춤, 혹은 악기 연주 등과 유사한 면이 많습니다. 따라서, 글을 보고 그것을 익히기는 쉽지 않습니다. 그나마 메일링 리스트 같은 "대화"를 보면 훨씬 더 많은 것을 얻을 수 있기는 하지만, 태권도 정권 찌르기를 말로 설명해 내는 것이 불가능에 가깝듯이 XP를 언어를 통해 익히기는 정말 어렵습니다. 우리의 언어는 너무도 성글은 미디어입니다. (XP는 매 초, 매 순간 벌어지는 "일상적" 장면 장면의 연속들이 매우 중요합니다.)
이게 힘들면 같이 스터디를 하는 방법이 있습니다(스터디 그룹에 관한 패턴 KH도 참고하시길. http://www.industriallogic.com/papers/khdraft.pdf). 이 때 같이 책을 공부하거나 하는 것은 시간 낭비가 많습니다. 차라리 공부는 미리 다 해오고 만나서 토론을 하거나 아니면 직접 실험을 해보는 것이 훨씬 좋습니다 -- 두사람 당 한대의 컴퓨터와 커대란 화이트 보드를 옆에 두고 말이죠. 제 경우 스터디 팀과 함께 저녁 시간마다 가상 XP 프로젝트를 많이 진행했고, 짤막짤막하게 프로그래밍 세션도 많이 가졌습니다.
- JavaStudy2004 . . . . 9 matches
[겨울과프로젝트] 2004년 겨울방학에 진행하는 [Java] 스터디.
* [JavaStudy2004/클래스]
* [JavaStudy2004/클래스상속]
* [JavaStudy2004/버튼과체크박스] - 성만
* [JavaStudy2004/콤보박스와리스트] - 이승한
* [JavaStudy2004/마우스로그림그리기]
* [JavaStudy2004/스택]
* 작년에 [상규] 형이 진형하셨던 [5인용C++스터디] 를 경험삼아 비슷한 방식으로 진행하려 합니다
- KnowledgeManagement . . . . 9 matches
* 지식 프로세스를 용이하게 하기 위해서 조직에게 필요한 것은? 어떠한 조직이 어떠한 프로세스에서 가장 잘 지식 관리를 할수 있나? 에 초첨.
* 무언의 지식은 잠재 의식에 있거나 내면화된 지식 그리고 각 개인이 스스로 알고 있다고 인지할 수 없거나 스스로 어떠한 특정한 결과를 성취했다고 알지 못하는 지식이다.
* Nonaka 와 Takeuchi 는 성공적인 KM program 은 지식의 공유를 위해서 내면화된 무언의 지식을 명시적으로 체계화된 지식으로 바꿀 필요가 있다고 얘기한다. 그리고 또한 반대의 경우도 개인이나 그룹에게 있어서 KM 시스템에서 한번 추출한 지식을 내면화 하고 의미있게 체계화 하기 위해서 필요하다고 이야기 한다.
* 예를 들어서 조직을 위해서 새로운 프로젝트에 착수하는 개인은 이전에 비슷한 프로젝트에서 배웠던 교훈이나 지식에 접근하려고 할 것이다. 현재 처리하고 있는 문제에 관련된 정보를 얻기 위해서 프로젝트 중에 관련된 정보에 접근하고, 프로젝트를 마치고 추후 프로젝트에서도 필요하게 될 정보를 남기기 위해서 관련된 정보에 접근하게 될 것이다. 지식 관리를 행하는 사람은 시스템, 저장소, 협동 프로세스를 제공하여 이러한 활동을 촉직 한다.
- MFC/CObject . . . . 9 matches
MFC의 계층 구조의 최상단에 있는 클래스이다. 자바로 치자면 Object 클래스에 비슷한 클래스이다.
이 클래스로부터 파생된 클래스는 다음의 3가지 레벨로 구분되는 기능이 있다.
|| DECLARE_DYNAMIC() || 런타임 클래스 정보를 지원한다. ||
|| DECLARE_DYNCREATE() || 런타임 클래스 정보와 동적인 객체 생성을 지원한다. ||
|| DECLARE_SERIAL() || 런타임 클래스 정보와 동적인 객체 생성, 그리고 객체들의 시리얼화를 지원한다. ||
''각각은 보조 매크로가 필요하며 DECLARE_ 대신 IMPLEMENT_ 접두사가 붙은 형태이다. 보조매크로는 클래스의 구현 파일 부분에 포함되어야 한다.''
- PragmaticVersionControlWithCVS/WhatIsVersionControl . . . . 9 matches
개발 중인 프로젝트의 모든 버전이 저장되는 장소이다. 파일 시스템, DB일수도 있으며, 어떤 경우에는 2가지를 같이 사용하기도 한다.
프로젝트의 기본으로 저장되는 소스코드. 그 외에 버전관리에 필요한 기타 파일들이 저장함.
|| 자동으로 생성되는 잔여파일의 경우 굳이이를 관리할 필요는 없다. 대신에 특수한 이유(컴파일 타임. 라이센스)로 필요한 경우에는 관리를 하는 경우도 있다 ||
기본적으로 Version Control 에서 관리의 가장 작은 단위는 파일이다. 그외에 한개의 프로젝트 단위로 전체 프로그램을 관리하고, 그 하부에 모듈을 기준으로 해서 소스를 관리한다.
버전 관리 시스템에서는 전체의 파일, 모듈단위, 프로젝트 단위로 이에 속한 파일들에 꼬리표라는 것을 붙이는 것이 가능하다.
브랜치를 만들게 되면 그 시점에서 브랜치로 만들어진 소스는 개발의 중심축선상에서 빠져나와서 기본 개발축과 다른 개발을 할 수 있다. 또한 이렇게 분기된 프로젝트의 변경부분을 본래의 개발중심축선상에 반영시키는 것또한 가능하다. 또한 이 릴리즈 시점을 지나서 개발중심축이 상당부분 진행이 된 상태에서 소비자가 릴리즈버전의 버그를 보고하여, 이 버그를 고쳐야할 필요가 생겼을때 개발자들을 새로 소스를 만들 필요없이 단지 릴리즈 시점의 브랜치로 옮겨서 작업을 하고, 패치를 만들어 내는 것이 가능하다.
상기와 같은 식으로 소스를 수정한뒤 fix01, fix02를 순차적으로 체크인하면 fix01에 의해서 저장소에 있는 파일이 갱신되었기 때문에 fix02가 체크인 되는 시점에서 충돌이 일어나게 된다. 이경우 CVS는 fix02의 소스에서 fix01에 반영된 3번째 줄의 변경내용을 병합하여 로컬 작업 공간에 반영하고 체크인하게된다.
- RandomWalk2 . . . . 9 matches
* 테스트 케이스들
첫 번 째 줄은 바퀴가 총 움직인 횟수(처음 바퀴가 놓이는 것은 움직인 것으로 치지 않는다)이고 한 줄은 띈 다음, 판의 각 칸에 바퀴가 방문한 횟수를 행렬로 출력하되, 동일 행의 칸은 빈칸(스페이스)로 구분하고, 각 행은 하나의 줄을 차지한다.
만약 자신이 작성한 코드를 위키에 올리고 싶다면 {{{RandomWalk2/아무개}}} 패턴의 페이지 이름을 만들고 거기에 코드를 넣으면 된다. 이 때, 변경사항을 하나씩 완료함에 따라, 코드의 어디를 어떻게 바꿨는지(예컨대, 새로 클래스를 하나 만들어 붙이고, 기존 클래스에서 어떤 메쏘드를 끌어온 뒤에 다른 클래스가 새 클래스를 상속하게 했다든지 등) 그 변천 과정과 자신의 사고 과정을 요약해서 함께 적어주면 자신은 물론 남에게도 많은 도움이 될 것이다. 또한, 변경사항을 하나 완료하는 데 걸린 시간을 함께 리포팅하면 한가지 척도가 될 수 있겠다.
모든 요구사항 변경이 끝났다. 히딩크처럼 "여전히 배가 고프다"면, 이 게임을 삼차원(큐빅)으로 확장하는 것을 고려해 보라. 입력/출력자료의 스펙 등은 모두 자신이 판단해서 직접 정의하라. 어찌 되었건 여기까지 도달한 것을 진심으로 축하한다.
- Self-describingSequence . . . . 9 matches
여러 개의 테스트 케이스가 입력될 수 있다. 각 줄마다 하나씩의 정수 n이 입력되며, 정수 한 개가 하나의 테스트 케이스를 이룬다(1 ≤ n ≤ 2,000,000,000). n이 0인 테스트 케이스가 입력되면 입력이 종료되며, 그 케이스는 처리하지 않는다.
각 테스트 케이스에 대해 한 줄에 하나씩 f(n) 값을 출력한다.
- Trac . . . . 9 matches
Trac(트랙) 은 소프트웨어 개발 프로젝트를 위한 위키 이자 이슈 트래킹 시스템이다. Trac은 웹 기반 소프트웨어 프로젝트 관리에 대해서 미니멀리스트적인 접근법을 취한다. 우리의 미션은 개발자들이 위대한 소프트웨어를 작성하는 것을 도우면서도, 그들의 방식에 대해 간섭하지 않는 것이다. Trac은 가능한한 팀에 이미 정착된 개발 프로세스와 정책에 대해서 덜 간섭해야 한다.
Trac 은 SubVersion 에 대한 인터페이스를 제공하며 위키와 통합되어있고 편리한 레포트 기능을 제공해준다.
Trac 은 이슈에 대한 서술과 커밋 메세지에 대해서 위키 태그를 지원하며, 버그,테스크,체인지셋,화일,그리고 위키 페이지들 간에 대해서 seamless 한 참조가 가능하게 해준다. timeline(타임라인)은 모든 프로젝트 이벤트를 순서에 맞게 보여주며, 프로젝트에 대한 오버뷰를 얻는 것과 트래킹 진행을 매우 쉽게 해준다.
http://bbs.kldp.org/viewtopic.php?p=291467 - kldp 에서의 스레드들
dev를 위해서는 사실 위의 링크들의 설치 방법은 거의다 쓸모 없다. Trac이 10->11로 넘어가는데 오래 정체되고 있는 이유는 내부를 대폭 개선하고 있기 때문이다. Template engine과 소스 컬러링 엔진을 바꾸었고, 기존의 plugin으로 존재하던 유용한 관리 도구들을 모두 결합하고 있다. 자료 구조도 손보고 있다. NeoCoin이 몇달간 dev버전을 사용해 보면서 별 무리 없이 이용하고 있다.
갈수록 오픈소스 진영에서 널리 쓰이는 중~ (최근에 구경한 프로젝트들 중 꽤 많은 녀석들이 쓰고 있었던지라..) --[1002]
* 난 링크 건 것 밖에 없어.;; 압박씩이나..~ (으흐흐) 그나저나, 시스템만 있으면 별 소용이 없고, 실제 이를 이용해먹는 프로젝트가 있는게 좋겠는데.. Toy Project 하나 만들어볼까.. --[1002]
- VendingMachine/세연/1002 . . . . 9 matches
하지만 이건 추후에 Vending Machine 에서 메소드를 다른 클래스에게로 이양시켜주면서 UI 부분과 관련한 클래스를 추출해 낼 수 있을 것 같다고 생각합니다. 여기서는 추후에 진행하도록 하겠습니다.
디자인을 할때에 보통 Input / Output 은 요구사항이 자주 바뀌므로 일단 메인 Vending Machine 코드가 작성되고 난 뒤, Vending Machine 의 인터페이스에 맞춰서 Input / Output 코드를 나중에 작성하는 것이 좋습니다.
일단 여기까지의 소스는 대강 이러합니다. 아직은 뭐 그리 큰 변화는 느껴지지 않습니다. ^^ (나머진 있다가 학교 도착한 뒤 마저;)
cout << "거스름돈" << money << "원을 돌려드립니다\n";
=== 중간 소스 ===
cout << "거스름돈" << money << "원을 돌려드립니다\n";
이쯤에서 문제점 - vending_machine 이 완전히 God 클래스입니다. 완전히 이 프로그램 자체가 vending_machine 객체와 동급이 되어버리죠.
cout << "거스름돈" << takeBackMoney << "원을 돌려드립니다\n";
- ZeroPageServer/set2002_815 . . . . 9 matches
* APM 테스트
* 설치는 한달여 즈음 전에 릴리즈된 woody를 기본으로, 일본의 미러 소스 리스트를 이용해서 네트웍 설치를 하였다. Redhat측에서 시작부터 rpm에 대한 체계적 통합적 관리가 되었다면, 현재의 deb 패키지 처럼 완전 네트웍 설치를 할수 있었을텐데 안타까운 점이다.
* [[HTML( <STRIKE> 계정 발급 테스트 </STRIKE> )]]
* [[HTML( <STRIKE> MySQL 계정 발급 테스트 </STRIKE> )]] : 대상 계정 reset
* [[HTML( <STRIKE> Browser CVS (Perl 스크립트) 설치 </STRIKE> )]] : 석천 설치 browserCVS 제거
* [[HTML( <STRIKE> 교내 http://zp/ 도메인 테스트 (안되는것 같다) </STRIKE> )]]
* [[HTML( <STRIKE> 개인별 cgi 권한 테스트 </STRIKE> )]]
* [[HTML( <STRIKE> JSP 계정 설정 테스트 </STRIKE> )]] : 대상 neocoin 계정 http://zeropage.org/~neocoin/hello.jsp
- 네이버지식in . . . . 9 matches
지식in이란 서비스는 질문에 답변을 해주는 게시판 형식이긴 하지만, 참여가 자유롭고 한 주제에 대해 글을 쓴다는 점에서 위키랑 비슷하다는 생각이다. '''오픈 백과사전'''이라는 게 있기도 하던데 이게 위키랑은 더 비슷한 형태이지만 지식in에 대면 별로 인기가 없어보인다.
가장 먼저 떠오른 건, 이용자 수였다. 이용자 수가 엄청나게 많다는 점이 지식in서비스를 활발하게 해 주었다. 이용자 수가 많아진 이유는 여러 가지가 있겠지만, 텔레비전 광고까지 낼 정도로 홍보를 해서 그렇지 않을까? 반면 위키 홍보는 몇 번인가 하고는 그 뒤로는 사람들이 알아서 쓰기를 바랬던 것으로 보인다. 알려지지 않은 서비스가 아무리 많은 장점이 있다 한들 사람들이 알아야 쓸테니까, 위키 사용이 활발하지 않은 건 일단 덜 알려져서라고 생각한다.
그 차이는 의외로 아주 간단합니다. 네이버지식인과 같은 시스템은 개인의 명성(reputation)에 대한 욕구에 상당 부분 의존하고 있습니다. 개인을 더 드러내는 것이죠. 반대로 위키는 개인이 잘 드러나지 않습니다. 명성 시스템이 아닙니다. see also ForgiveAndForget 이는 XP 철학과도 상통합니다. XP에서는 너희 팀에 영웅이 누구냐는 질문에 답이 바로 나올 수 있는 팀을 좋지 않게 봅니다. 영웅이 있는 팀은 위험한 팀입니다. XP는 보상도 팀단위로 받고 책임도 팀단위로 지는 것을 이상적으로 봅니다.
- 현재는 독점 시장을 형성하고 있습니다. 하지만 그 과정을 살펴보면 MS 사의 윈도우즈가 뛰어난 성능과 기능을 가져서 독점했다고 보기는 힘듭니다. 객관적, 주관적, 전문가의 분석 어떤점으로 보나 윈도우즈보다 뛰어난 운영체제는 언제나 존재해왔습니다.(물론 지금도 존재합니다.) 하지만 사람들은 이미 익숙해져버린 윈도우를 버리고(월등히 뛰어나지는 않지만 그렇다고 절대적 성능이 떨어지는것도 아니니) 다른 운영체제를 택한다는건 '모험'을 넘어서 '도박'에 가깝다고 느껴지게 됩니다. 그러므로써 그러한 모험 내지 도박은 말씀드렸던 낯설음,생소함등으로 이어지게 되고, 자연스레 다른 OS 들은 설자리를 잃어버리게 됩니다. 단순히 결과만을 놓고 보았을때 말씀하신 독점시장이 맞습니다만, 제가 말씀드리고자 했던 요지는 그 과정속에서 찾을수 있었던 '익숙함'이었습니다.
야후에서 위키서비스를 한다는군요. 서비스업체로서의 '위키'라는 이름을 걸고 서비스를 시도하는 건 처음이 아닐까 생각이 드네요. --[1002]
- 데블스캠프2003/다섯째날/후기 . . . . 9 matches
2003년 데블스캠프 다섯째날의 후기를 쓰는 곳입니다.
* 오목 짜고 뿌듯한 건 진짜 짱이었고;; 스타와 포트가 너무너무 재미있었다=ㅂ= 모君의 컴퓨터가 마우스를 흔들지 않으면 다운이 되서; 계속 흔들고 있었던 게 너무 웃겼다 ㅋ; 늘었다고 생각되는 건..프로그램 실력 조금이랑..스타와 포트 실력 왕창-_- (콜록) [이진훈]
* 마지막날. 페어로 오목을 거의 짰다. 5일동안 힘든만큼 많은 것을 얻었다. 데블스캠프에서의 열정을 계속 이어갔으면 좋겠다. --- 황재선[aekae]
* 마지막 스타크래프트가 짱이었다... ^^ 질럿은 짱쎄다..
* 마지막 날 참여는 못했지만 올해 데블스 캠프, 절반은 성공한 것 같습니다. 이제 방학 남은 기간동안 공부할 것을 찾아 (이미 많은 것을 보아 고르기만 하면 될 듯...) 열심히 공부하셔서 나머지 절반도 성공하시기 바랍니다. --재동
["데블스캠프2003"], ["데블스캠프2003/다섯째날"]
- 데블스캠프2006/목요일후기 . . . . 9 matches
= 데블스캠프2006/목요일후기 =
개인적인 사정으로 인해 처음이자 마지막 참여가 될 수밖에 없었던 데블스 캠프..[크흑!]
사실 코딩 자체를 스스로 논리를 생각하고 구현하는걸 잘 못하고 주변사람의 도움을 많이 받았었는데
오목을 코딩하면서 스스로 생각도 해보고 오류도 많이 겪었습니다.
집중력이 많이 떨어지기도 했는데요;; (심지어 현태 오빠의 코드레이스 점수판 만들기에 참여..ㄷㄷ)
뭐.. 어쨌든.. 준식이가 데블스 캠프 1달 하는게 어떻겠냐고 한 말이 기억에 남네요
[데블스캠프2006]
- 새싹교실/2012/부부동반 . . . . 9 matches
* 예를 들어 지난주에 돈가스를 먹은 것에 대해 후기를 쓴다면 : "지난주에 강남에 가서 하나에 5만원하는 돈가스를 먹었다.(사실) 기대를 잔뜩 했는데 별로 맛이 없었다.(느낌) 강남은 땅값이 비싸서 값만 보고 엄청 맛있을거라 기대하면 안된다는 것을 알았다.(깨달은점) 다음에는 미리 인터넷에서 평을 찾아보고 별점이 높은 돈가스집을 찾아서 가봐야겠다.(앞으로의 계획)"
C/C++의 문법과 활용을 자세하게 설명한 책. 문법을 소개하는데 그치지 않고 변화화는 코드가 실제 프로그램과 하드웨어적으로 어떠한 영향을 일으키는지 비교함으로써 본 스터디의 목적과 매우 잘 부합됨
이번 과제는 실질적인 코드보다 문제를 해결하는 프로세스를 알려주기 위한 과제입니다.
* 구조체와 클래스의 차이점, 구조체의 한계를 벗어나기 위한 수단
* 컴파일러의 도움없이 스스로 메모리와 포인터의 관계를 통해 완벽한 코드 구현
아쉽게도 강정란(12)은 이번주부터 스터디 활동을 그만두게 되었음ㅋ
- 숫자를한글로바꾸기/조현태 . . . . 9 matches
소스가 길어 보이지만 저기의 stack이라는 클래스.. 사실 저번에 [LittleAOI]에서 만들어서 2번이나 사용했던 클래스다.
소스가 프로그래머의 자산이라고나 할까..ㅎㅎㅎ
== 소스 ==
모양만 객체고 malloc을 사용하다니 -_-;;; 하이브리드 소스다 -_-;;; 안좋아 -_-;;;
└음.. 죄송합니다.^^ 술을 마셔서..ㅎ 하이브리드 소스에 대해서 조금만 더 말씀해 주세요.^^ 제가 8월 1일부터 휴가인데, 그때, 좀더 연구해서 더 나은 소스를 만들겠습니다.^^ - [조현태]
음;; 그런게 존재하는건 아니구... C언어면 C언어답게 하는 것이 좋구 C++이면 C++답게 코딩하는게 좋은데.. malloc은 C언어에서 쓰이잖아. 물론 C++에서도 쓰이겠지만 C와의 호환성 때문이지 정말로 쓰이는것은 new니까 new를 쓰는게 좋다는거지. 클래스를 malloc으로는 할당 못하거든.
- 위키설명회2005 . . . . 9 matches
제로페이지의 활동에 큰 축이 되지만 첫 진입에 어려움을 겪는 위키를 설명하고 사용해보며 자연스러운 진입을 유도하는 자리.
모임일정 : [정모/2005.3.7], 3월 7일 저녁 엠에스엔 회의, 수요일까지 wiki에 대한 자료수집, 당일 리허설.
[데블스캠프2004/월요일]의 [MiningZeroWiki]와 비슷하다
[노스모크] 에서 검색을 통해 흥미로운 페이지를 찾아내고 간단하게 발표를 한다.
[노스모크] 를 이용하는 이유는 ZP위키는 프로젝트 중심이기 때문에 흥미로운 페이지가 적고, [좋은위키페이지] 에대한 분별력이 떨어질 것이라는우려.
위키는 누구나 관련한 내용을 계속 수정해 나가고 필요한 내용은 덧붙여 놓기 때문에 본문 글이 점점 다듬어져 나갑니다.텍스트가 진화한다고 말하기도 합니다.
위키도 누구나 고칠 수 있고, 링크의 연결이 간단하고, 동일공간에서 텍스트가 진화할수 있다는 간단한 룰에서 출발합니다.
<p href = "http://no-smok.net/nsmk/위키위키">노스모크위키의 위키 소개 페이지</p>
- 노스모크에 가도 위키소개에 도움이 될 만한 페이지들이 많이 있을게다. - [임인택]
- 윤종하/지뢰찾기 . . . . 9 matches
/* mine.c: 지뢰찾기 소스 파일(TUI)
printf("********** 크리스마스에 할 거 없어서 만듦*********\n");
printf("게임을 종료합니다.\n제작: 크리스마스에 할게 없었다니까\n");
printf("2010년 크리스마스에 할거 없어서 만듦\n");
작년 크리스마스에 할게 없어서 모태솔로잉여프로젝트로 지뢰찾기를 제작해봤습니다.
- 정규표현식 . . . . 9 matches
== 스터디 환경 ==
* 설명 : 매주 화, 목 온라인 진행되는 정규표현식 스터디
* 환경 : [http://groups.google.com/group/zeropageregex google 그룹메일]을 통한 메시지 전달 / Wiki를 통한 스터디 내용 저장.
* 스터디 문서는 정규표현식/스터디/챕터이름 (ex : 문자열찾기 ) (caution : 붙여써야함) 의 형태를 따른다
* 스터디 모임요약본은 정규표현식/모임 안에 날짜별로 카테고리를 만들어 작성한다
* Wiki 문서 작성시 안의 내용은 자유이나 맨위에 정규표현식 내용 링크 리스트는 모두 나와야하며 스터디문서에서는 정규표현식 링크와 스터디 링크만 나와야 하며 반대로 모임문서에서는 정규표현식 링크와 모임 링크만 나와야한다.
- 정모/2011.10.12 . . . . 9 matches
== 스터디/프로젝트 공유 ==
* [JavaScript/2011년스터디]
* [ACM_ICPC/2011년스터디]
* [DesignPatterns/2011년스터디]
* [Spring/탐험스터디]
* [RegularExpression/2011년스터디]
== 캡스톤 설계실 안내 ==
* 오늘 오신 유상민 선배님께서 ZP의 과거사를 이야기 해 주심과 고대 유물을 전수해주셔서.. 갑작스러웠지만 뜻 깊은 자리였습니다. 그렇게 (소닉 20주년은 알고 있었는데 -_-a) 까먹고 있었던 ZeroPage 20주년 행사를 하게 되어 기쁘네요. 이 행사 이름도 잘 정한거 같아 좋았고요,, 음.. 오늘 OMS는 어디선가 많이 들었던 내용들이 종합적으로 나왔네요 ㅎㅎ 다만 어디선가 들었던 내용들이 좀 더 명확하게 되면서 그냥 녹는줄만 알았던 회충들이 소화가 된다는 사실에........... 음... 여하튼 재미있었습니다. - [권순의]
* 네, 중요한 일이 있으니 가급적 참여하라는 말에 뭘까 의아했는데 선배님이 오셨었군요! 전 이때까지 04밑의 이야기는 거의 들은적이 없었는데 좀 더 많은 걸 알게되어서 좋았던거 같네요. 폴리곤/데블스 였다니.... 11월말에 할 예정이니 잘 준비해서 성공적으로 했으면 좋겠어요. 뭐랄까, 20주년이라는 큰 행사라서 12월에 할 행사까지 다 모을거같은 행사의 총 집합체! 기대됩니다. -[김태진]
- 정모/2013.5.20 . . . . 9 matches
= [데블스캠프/2013] <- 클릭!!! =
* 6월말 ~ 7월 초에 5일 연속으로 진행하는 커퍼런스
* 데블스캠프 연락을 돌렸습니다. 양식은 [정모/2012.5.21] 내용을 참고로 했습니다.
관련 페이지 : ThreeFs, ThreeFs(노스모크), FiveFs(노스모크)
예를 들어 지난주에 돈가스를 먹은 것에 대해 후기를 쓴다면 : "지난주에 강남에 가서 하나에 5만원하는 돈가스를 먹었다.(사실) 기대를 잔뜩 했는데 별로 맛이 없었다.(느낌) 강남은 땅값이 비싸서 값만 보고 엄청 맛있을거라 기대하면 안된다는 것을 알았다.(깨달은점) 다음에는 미리 인터넷에서 평을 찾아보고 별점이 높은 돈가스집을 찾아서 가봐야겠다.(앞으로의 계획)"
* 왜 내가 1등인 겁니까!!... 발표 연습 많이 해야겠어요. 주제도 간결화하는 연습을 해야 겠고요. 경험 하나 쌓았다는 것에 만족하겠습니다. 근데 스터디 상태 공유를 안한 거 같은데.. - [김해천]
- 1thPCinCAUCSE/ExtremePair전략 . . . . 8 matches
* 저희 {{{~cpp Extreme Pair}}} 팀은 어떤 문제든 우선 소스를 기본적으로 밑에 형태로 시작했습니다. 그래서 입력과 출력이나 진행에는 전혀 신경 쓰지 않고 문제를 푸는 알고리즘(process() 함수 부분)에만 집중할 수 있었습니다.
* 코딩은 기본적으로 ["PairProgramming"] 이였습니다. 드라이버가 코딩할때 파트너는 잘못된 코딩뿐만 아니라 이해안가는 부분에서는 계속적인 질문으로 드라이버 스스로 명확한 코드를 만들도록 했습니다.
* ["TestDrivenDevelopment"]를 사용했다고 말하기는 그렇지만 테스트 케이스를 입력으로 넣어놓고 프로그래밍 중간 중간에 제대로 돌아가는 지를 확인하기 위해 지금까지의 진행 상황을 출력했습니다.
* 문제 제출 후 틀렸을 때 심사단 컴퓨터의 틀린 케이스를 대충 외워와서 문제점을 빨리 찾아 해결하였습니다.
* 시간을 단축키 위해 디스켓 제출할 때도 뛰었습니다...^^;;;
* 상규와 대회전 연습을 통해 코딩 스타일과 규칙을 미리 정했었던 게 중요했다고 생각합니다. 안그랬으면 알고리즘 이외의 것도 생각해서 속도가 느려졌을 것입니다. 그리고 미리 호흡을 맞춰봤으므로 하면서 딱딱 맞았습니다.
- 2005리눅스프로젝트 . . . . 8 matches
= 2005리눅스 프로젝트 =
* 리눅스에 서버관리 및 웹 프로그래밍
* '''이번주(21일)는 4교시에 스터디가 있습니다..'''
스터디분들은 꼬옥~ 각자 컴퓨터에 리눅스를 까시기 바랍니다.
[(zeropage)2005리눅스프로젝트<설치>]
* 교재 : 리눅스는 책으로 하는것보다는 인터넷에서 자료를 찾아서 하는게 더 나을듯 합니다.
- 오늘 드디어 리눅스깔았다~~ [최경현]
- AKnight'sJourney . . . . 8 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 의 순서를 따지면 결과는 하나로 정해져 있습니다. 최종 경로는 한 줄에 제공해야합니다. 전부 방문할 수 있는 경로가 존재하지 않으면, 당신이 한 줄에 출력 불가능합니다.
[http://poj.org/problem?id=2488 Problem A Knight's journey], [문제분류], [ACM_ICPC/2011년스터디]
- AM . . . . 8 matches
2004년 여름 방학 API & MFC 스터디 페이지 ( '''A'''PI -> '''M'''FC )
* 스터디 종료됨
== AM스터디에서 제작한 프로그램 ==
* [5인용C++스터디]
== 스터디 모임과 관련된 의견을 내주세요 ==
* [5인용C++스터디]처럼 그날그날 배운걸로 간단한 프로그램 숙제해요... 요즘들어 그냥 책만 보는것 같아서... 저만 그런가요?? --세환
* 제작발표는 안하는건가요?... 소스라도 올려 놓을게요 --세환
[스터디분류], [프로젝트분류]
- AM/20040705두번째모임 . . . . 8 matches
* 스터디 중간에 가는 사람들이 발생.
* 다음 스터디 계획 못 정함
| <- 박스 피하기
테트리스
* 스터디 진행을 두 부분으로 나누는 방법. 앞부분에서는 이론적인 부분을 같이 정리하고, 뒷 부분에선 Pair로 실제 구현을 진행하기
* 스터디 끝나기 5분전 정리의 시간. 인덱스 카드를 나누어준뒤, 그날 배웠다 생각되는 것을 5분 내로 적기.
* 실습실을 이용할때는 반드시 전에 미리 와 있는 사람들에게 양해를 구하고 스터디를 진행하기.
- AcceptanceTest . . . . 8 matches
AcceptanceTest는 blackbox system test 이다. 각각의 AcceptanceTest는 해당 시스템으로부터 기대되는 결과물에 대해 표현한다. Customer는 AcceptanceTest들에 대한 정확성을 검증과, 실패된 테스트들에 대한 우선순위에 대한 test score를 검토할 책임이 있다. AcceptanceTest들은 또한 production release를 위한 우선순위의 전환시에도 이용된다.
QualityAssurance (QA)는 XP process의 주요 부분이다. 몇몇 프로젝트들의 QA는 분리된 그룹으로부터 수행되어지지만, 어떤 프로젝트들에서의 QA는 개발팀 스스로에 의해 수행되어진다. 각각의 경우에서 XP는 좀 더 QA와 관계있는 개발을 요구한다.
AcceptanceTest는 자동으로 수행되어져야 하며, 또한 그렇기 때문에 자주 실행될 수 있다. AcceptanceTest score는 개발팀에 의해 점수가 매겨진다. 매 Iteration에 대해 실패한 AcceptanceTest를 수정하기 위한 시간분배 스케줄에 대해서 또한 개발팀의 책임이다.
["ProjectPrometheus"] 진행중에 ["1002"] 와 ["상민"]은 AcceptanceTest 를 작성하며 진행하였다. 주로 Python 을 이용하여 간단한 web bot 를 작성, 시스템이 잘 작동하는지에 대해 자동테스트를 구현했다.
(["ProjectPrometheus/AcceptanceTest"], 소스는 ZeroPageServer 의 CVS 프로젝트들중 AcceptanceTestServer 참조)
- BusSimulation/영동 . . . . 8 matches
특히 앞차가 사람을 태우는 동안 그 다음 버스가 오는 걸
* 열심히 할라고 한거 같지만 문제의 의도에서 벗어 났음. 이 문제는 실제 각 이벤트가 일어나면 다른 조건에도 긴밀하게 영향을 주고 받아야 제대로 돌아 간다. 버스가 이동할때와 버스 정류장에 도착할때 다른 데이터들에게 어떠한 영향을 끼치는지에 대해서 생각해 보아야 한다. 즉 각각의 데이터에 영향을 끼치는 이벤트가 어떠한 상황에 발생하는가를 생각해보고 그 상황에서 영향을 끼치는 데이터에 어떠한 방식으로 그 영향을 반영할 것인가도 생각해볼 문제- 상협
int bus_loc;//버스의 위치
//버스정류장에서 사람들이 타는 동안 멈춤 2분 걸림.
cout<<a+1<<"번째로 출발한 버스의 위치는 시작점으로부터 "<<bus_loc<<"km"<<endl;
cout<<a+1<<"번째 버스는 아직 출발하지 않았습니다."<<endl;
Bus bus[10];//버스 10개 생성
- DevOn . . . . 8 matches
* [정진경] - Gnome 3.10 즐기기는 잘 기억나지 않는다... 미안.. 진크리에이터... Wayland는 나름 도움이 되었는데, X 서버가 컴포지터가 인터프로세스 통신을 한다는 사실을 처음 알게 되었다. Wayland는 X 서버와 컴포지터가 합쳐져 있는 형태이고, 프레임버퍼를 위한 API가 제공된다는 것.. 이 부분은 나중에 공부해서 해당 페이지에 자세한 내용을 기술할 필요가 있을 것 같다...
=== 라즈베리파이로 크롬캐스트 따라하기 ===
* [정진경] - [파이어버그]의 기능들이 [파이어폭스]에 점점 합쳐지면서, 해당 기술들을 쓰는 것을 보여줬는데, [WebKit] 기반의 브라우저, 특히 [구글 크롬]과 크게 차별화된 점은 보지 못했다. 어느 정도 디테일한 부분에서 다른 점들이 있는 것 같은데, 눈으로 봐서는 잘 기억나지 않는다. 내가 크롬 도구를 전문적으로 써본 게 아니라서 파이어폭스의 디버거가 어떤 점이 더 우수한지는 잘 모르겠다. 기능 면에서는 부족하지 않은 것 같다.
== 활동 부스 ==
* 다음의 웹 접근성 테스트 프로세스에 대해 설명 들음. QA팀 외에 웹 접근성을 테스트하는 팀이 따로 있다고. 보통 QA가 전부 다 하는게 아닌가 했지만 2013 하반기 신입전형에서 웹 접근성 보고서를 읽고 1500자 글을 쓰게 한 것으로 보아 매우 진지하게 생각하고 있는듯. - [서지혜]
- IDL . . . . 8 matches
[CORBA] 의 경우 분산된 네트워크상에 따로 위치한 객체 간의 투명한 접근을 제공하는 서로 간의 약속이 필요하다. 이런 약속을 정의할 때 특정 언어([C], [C++], [Java] 등)에 의존하지 않는 인터페이스 정의 언어가 필요하게 되었는데, 그것이 바로 IDL(Interface Definition Language)이다. 서버와 클라이언트가 서로 통신을 하기 위해서 서버는 클라이언트에게 제공하는 서비스 인터페이스를 IDL 로 정의하게 되며, 클라이언트는 이런 인터페이스 정보를 활용하여 서비스를 활용하게 되는 것이다. CORBA 프로그램을 개발하기 위해서는 가장 먼저 IDL 을 정의해야 하는데, IDL 은 구현에 대한 정보는 포함하고 있지 않아 정의된 IDL 을 원하는 언어로
물론, 인터페이스를 정의하는 방법이 IDL 만 있는 것은 아니다. [Visibroker] 의 경우 [Caffeine] 이라는 것을 이용하면 IDL 을 사용하지 않아도 되며, Java 의 RMI 나 RMI-IIOP 를 이용해면 IDL 을 몰라도 인터페이스를 정의할 수 있다. 하지만, IDL 은 OMG에서 규정하고 있는 인터페이스 정의 언어의 표준이고 개발자가 익히기에 어렵지 않은 만큼 CORBA 프로그램을 할 때는 꼭 IDL 을 사용하도록 하자.
- JavaScript/2011년스터디/CanvasPaint . . . . 8 matches
* 소스를 올려주세요
//마우스를 누를때 그리기 시작
//마우스를 이동할때마다 호출.
//마우스 좌측버튼을 놓았을때
//마우스를 누를때 그리기 시작
//마우스를 이동할때마다 호출.
//마우스 좌측버튼을 놓았을때
[JavaScript/2011년스터디]
- MobileJavaStudy . . . . 8 matches
== 스터디 진행 방식 ==
* 서로의 소스를 비교해보며 잘된점과 잘못된점에 대해 생각해본다.
* ["MobileJavaStudy/SnakeBite"] - 스네이크바이트 게임 제작
* http://www.joyworld.co.kr - 핸드폰에서 직접 테스트해볼때 서버로 쓸 수 있는 사이트
* 모바일자바스터디는 일단 종료하는게 어떨까?? 다음에 2차 스터디를 하든지 아님.. 프로젝트를 하든지 하면 될듯 한데.. --["상규"]
* 그려 XP 스터디 때문에 좀 힘들꺼 같으니까 우선은 종료하자. 담에는 스터디가 아닌 프로젝트 페이지로 열자꾸나 --재동
- PowerOfCryptography/조현태 . . . . 8 matches
임시로 뒤에 두 숫자는 해결하지 못하는 소스를 짜두었다.
두번째 소스.. 숫자가 커도 저장하고 연산할 수 있을...듯 하다..;;ㅁ;; ㅎㅎㅎ MAX_LONG의 값을 10으로 줄이고 테스트를 해서 2개 이상의 경우에도 돌아가는 것은 알겠는데... 3번째 4번째 예제의 수가 원체 커야지 말이다. 연산의 결과가 좀처럼 안나온다. 곱하기 루틴에서 계속 더하고 있는듯..;;ㅁ;;
== 소스 ==
=== 두번째 소스 ===
-----------c언어 소스-------
----------디셈블리소스------
;;ㅁ;; 음.. 영호선배는 넘흐 마니 알고이쩡..>ㅃ<;; C언어 소스 봐도 모르게떠용..ㅎㅎ 64비트형의 인트형의 변수를 두개 지정하고 a에다가 최대값을..(아마 부호가 있기 때문에 -1저장됬을듯한..)넣고 b에는 a-1을.. 그럼 -2가 저장..;; 음.. 이게 아니라 혹시 b가 포인터라서 메모리 한칸 앞쪽을 잡아주는 건가요? 음.. 그러면 할당되지않은 메모리를 건드는 사태가..;;ㅁ;; 이것도 아닌가.. 연구를..;;ㅁ;; - [조현태]
- ProgrammingContest . . . . 8 matches
프로그래밍 컨테스트. ACM의 ICPC가 유명.
컨테스트는 아니지만, ITA 소프트웨어에서는 아예 자신들이 낸 문제를 풀지 않으면 이력서조차 받지 않는다.
이미 참가 신청을 한 한국팀(연세대, 경북대, ...)들도 몇 팀 보이는군요. 재미있겠죠? 등록은 컨테스트 시작 2시간 전까지 입니다.
만약 자신이 K-In-A-Row를 한 시간 이상 걸려도 풀지 못했다면 왜 그랬을까 이유를 생각해 보고, 무엇을 바꾸어(보통 완전히 뒤집는 NoSmok:역발상 으로, 전혀 반대의 "極"을 시도) 다시 해보면 개선이 될지 생각해 보고, 다시 한번 "전혀 새로운 접근법"으로 풀어보세요. (see also DoItAgainToLearn) 여기서 새로운 접근법이란 단순히 "다른 알고리즘"을 의미하진 않습니다. 그냥 내키는 대로 프로그래밍을 했다면, 종이에 의사코드(pseudo-code)를 쓴 후에 프로그래밍을 해보고, 수작업 테스팅을 했다면 자동 테스팅을 해보고, TDD를 했다면 TDD 없이 해보시고(만약 하지 않았다면 TDD를 하면서 해보시고), 할 일을 계획하지 않았다면 할 일을 미리 써놓고 하나씩 빨간줄로 지워나가면서 프로그래밍 해보세요. 무엇을 배웠습니까? 당신이 이 작업을 30분 이내에 끝내려면 어떤 방법들을 취하고, 또 버려야 할까요?
만약 팀을 짠다면 두사람은 PairProgramming으로 코딩을 하고(이 때 Interactive Shell이 지원되는 인터프리터식 언어라면 엄청난 플러스가 될 것임), 나머지 하나는 다른 문제를 읽고 이해하고, (가능하면 단순한) 알고리즘을 생각하고 SpikeSolution을 종이 위에서 실험한 뒤에 현재 커플이 완료를 하면 그 중 한 명과 Pair Switch를 하고 기존에 코딩을 하던 친구 중 하나는 혼자 다른 문제를 읽고 실험을 하는 역할을 맡으면 효율적일 겁니다. 즉, 두 명의 코더와 한 명의 실험자로 이루어지되 지속적으로 짝 바꾸기를 하는 것이죠.
또, Easy Input Set은 직접 수작업으로 풀고 그걸 일종의 테스트 데이타로 이용해서, Difficult Input Set을 풀 프로그램을 TDD로 작성해 나가면 역시 유리할 것입니다. 이렇게 하면 Time Penalty는 거의 받을 일이 없겠죠.
특이한 점은 토너먼트 형식으로 제한된 시간내에 프로그래밍 대결을 벌인다는 거죠. 이긴자에게 상금을 줍니다만 미국외의 사람에겐 받을 자격이 없는 것 같기도 합니다. 스윙 애플릿을 다운로드 받아서 주어진 문제에 대해 자바, C++, C# 등으로 코딩할 수 있고 제대로 해결했는지 그 자리에서 바로 확인할 수 있습니다. -- 박지훈
- ProjectAR/ThinkAbout . . . . 8 matches
- 속도는 많이 걱정하지 않아도 될것이다. 해상도가 낮고 텍스쳐의 크기가 작다면 생각보다 높은 속도를 얻을 수 있다. --선호
=== 몬스터가 취하는 행동들 ===
하위 몬스터는 그리 문제가 되지 않는다.(그냥 다가오게 한 다음 때리게 하면 되니까.) 하지만 보스급
몬스터는 뭔가 달라야 한다. 패턴을 가지든 AI를 가지든 단순한 움직임을 가져선 안된다.(엑션 RPG에서
몬스터가 그냥 다가와서 때리기만 한다면 말이 되지 않는다.) 이 문제도 많이 생각을 해 봐야 할 것이다
=== 아이템 시스템의 안정화 ===
아이템에 정령이 깃드는 시스템을 하기로 했다. 그 과정에서 발생하는 버그가 있을 수 있다. (정령 두개
- ProjectSemiPhotoshop/요구사항 . . . . 8 matches
시스템 설계에 관한 전반적인 밑그림을 그리기 위해, 팀은 스토리 구현에 필요한 세부적인 작업에 대한 아이디어 수집을 한다. 이 단계에서 고객은 프로그래머가 전혀 이해하지 못하는 부분을 알아 볼 수도 있다. 설계 프로세스를 지켜보면서 팀 전체는 공통의 지식과 자신감을 얻게 된다.
== Spec , To Do - 사용자 스토리 ==
i. 히스토그램
a. 일반 히스토그램(O)
* 누적 히스토그램(O)
== Additions - 가상 스토리 ==
- SoftwareEngineeringClass . . . . 8 matches
* 수업에서 원하는 것을 얻지 못하는 경우 수강은 하되 독학 혹은 학생 차원의 그룹 스터디를 할 것을 강력하게 권한다. 졸업 후 어디를 가건 두고 두고 유용하게 쓰일 것이다. 외국 유명 대학 경우 AOD/VOD로 수업 내용을 볼 수 있는 곳이 많이 있다.
* 본인은 거의 독학으로 SE 공부를 했다. 수업시간에 구조적 프로그래밍(structured programming)에 대해 설명을 들었을 때는 전혀 감흥이 없었고 졸음까지 왔다. 기억나는 내용도 없다. 하지만 스스로 공부를 하면서 엄청난 충격을 받았다. OOP는 구조적 프로그래밍의 패러다임을 완전히 벗어나지 못했다! 구조적 프로그래밍을 Goto 제거 정도로만 이해하는 것은 표피적 이해일 뿐이다! 구조적 프로그래밍 하나만 제대로 익혀도 내 생산성은 엄청나게 향상될 것이다! (참고로 정말 구조적 프로그래밍이 뭔지 알고 싶은 사람들은 다익스트라의 6,70년대 이후의 저작들을 읽어보길 권한다. 칸트 철학을 공부하는 사람이 칸트의 1차 저술을 읽지 않는다는 게 말이 되겠는가.) --김창준
''수업을 청강 할 정도로 내용이 있지는 않아. 그 이유는 딱 한 번만 이경환 교수님 수업을 들어 보면 알게돼. 차라리 관련된 책을 몇 권 보는 게 더 낳을 듯 해. 여튼 개인적으로는 여차여차해서 재수강으로 인해 이번 학기까지 2번째 듣고 있지만 수업 내용 보다는 우리과 수업중 가장 규모가 큰 (기간이나 팀인원수나) 팀 프로젝트를 해 보는 게 이 수업에서 가장 크게 배울 점이라고 생각해. 많은 팀원과 개발 계획부터 시작해서 최종 테스트까지의 일련의 프로젝트 개발 과정을 해 본다는게 확실히 도움이 되지. 그리고 배 보다 배꼽이 더 큰 문서가 좀 성질 나기는 하지만 경험상 해보는 것도 괜찮은 듯 해. --재동''
시간이 나면 ExtremeProgramming에 대해서도 이야기를 하신다는데, 어떤 이야기가 나올지 궁금하네요. [SPICE] 레벨4는 되어야 사용할 수 있다는 말엔 조금 당황스러웠어요. --[Leonardong]
하지만 역할별, 작업별로 만드는 계획서와 보고서에 쏟는 시간이 너무 많다는 생각은 저 뿐만이 아닐 것입니다. 심사시에는 계획서에서 언급하지 않은 활동을 실행했다고 딴지를 걸 정도로, 계획서대로 실행된 내용을 변경없이 실행하는 것이 프로젝트의 반복가능성을 평가하는 기준인것 같습니다. 설계와 구현 사이에서 계획대로 실행 안되는 부분을 극단적으로 느꼈는데, 예를 들어 클래스 다이어그램과 시퀀스 다이어그램이 [Refactoring]과 같은 코드 재구성 작업을 할 때마다 바뀌어야 했습니다. 다이어그램이 코드로 매칭되지 않기 때문에 코드를 바꿈은 물론 다이어그램을 바꾸는 이중의 수고를 겪어야 했습니다. :( --[Leonardong]
- VonNeumannAirport . . . . 8 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) 의 문제가 있었음을 느낀다.
-> 이에 따라 Input 부분이 바뀌고, Input 부분이 클래스와 합쳐진 코드의 경우 더더욱 골치.
* 복도중에서 일자형 에스컬레이터를 두어본다. - 상동.
* 지금 만든 모듈의 소스 수정없이 GUI 버전으로 재작성하기 - Input / Output 먼저 작성하는 사람들은 가장 고생.
- WebGL . . . . 8 matches
[Javascript]임에도 불구하고 마치 C프로그래밍 스타일의 함수들이 존재한다. [WinAPI]가 C스타일의 [OOP]이듯 WebGL 또한 C스타일의 OOP이다. 모든 함수는 WebGLcontext라는 객체에 있는데 보면 그냥 접두어를 붙이는 느낌이다.
* 텍스쳐 모드와 조명 모드가 매우 제한되어 있다.
* 쉐이더를 짜지않으면 쓸수가 없다. 심지어 텍스쳐를 입히는 것도 쉐이더에서 처리한다. 그냥 단색으로 처리하는 코드도 쉐이더 코드를 짜지 않으면 그냥 햐얀 것만 보게된다. 그리고 그것도 회전시킬수도 없다.
각 정점 사이에 있는 픽셀 마다 호출된다. 주로 광원효과를 적용한 픽셀의 최종적인 색깔이나 텍스쳐 연산에 사용된다. varying변수를 vertex shader에서 fragment shader로 넘겨주면 각 정점 사이에는 보간법으로 변환된 값이 넘어 온다.
현재 객체 래핑중 중대한 문제에 봉착. 대부분의 모듈과 세이더 코드는 [콜백]으로 호출되는데 이것을 적절히 래핑할 방법이 없다. webGL과는 하등 연관이 없는 부분이라서 각자 알아서 구현하도록 해도 되지만 대부분의 경우 같은 코드를 다스 짜고 있는 나를 보게 된다. 이것을 어떻게 해야 잘한 래핑이라 할수 있을까?
OpenGL과 동일한 -1.0 ~ 1.0이며 이를 넘어갈시에는 표현되지 않는다. 매트릭스 연산을 직접해야만 하는 WebGL에서는 이점이 간과되기 쉬워서 이미 그린 페이지가 어디에 있는지 찾는 현상이 발생하게 된다.
- WindowsTemplateLibrary . . . . 8 matches
오픈소스를 거침없이 비판하는 MS의 두드러진 지원이 없는 상황에서, MS는 WTL을 자유롭게 이용할 수 있도록 소스코드를 배포했다. 오픈소스 Common Public License 하에서 배포를 하면서, MS는 소스포지(인터넷 오픈소스 저장소)에 소스를 게재하였다. 소스포지에서의 WTL 버전은 7.5이다.
지원이 되지 않는 라이브러리이기 때문에 WTL에 관한 문서는 거의 없다. 그러나 대부분의 API는 표준 Win32 콜을 거의 직접적으로 반영하므로, WTL의 인터페이스는 대부분의 윈도우즈 프로그래머들에게 친숙하다.
- ZeroPage성년식 . . . . 8 matches
* 참가 신청: 온오프믹스(http://onoffmix.com/event/4096)
* 온오프믹스 참가 신청에 문제가 있나요?(이벤트 페이지를 제 이름으로 만들어서 저는 참가 신청을 할 수가 없습니다. 그래서 어떤 문제가 있는지 알 수가 없네요.) 선배님께서 온오프믹스로 참가 신청이 힘들다고 다른 방법을 만드는 게 좋겠다는 말씀을 해주셨습니다. 온오프믹스에 문제가 있다면 구글독스를 통해 추가적으로 신청을 받거나 아니면 온오프믹스 참가 신청시 발생하는 문제를 해결하는 법을 알아내어 온오프믹스 페이지에 안내하는 것이 좋을 것 같습니다. - [김수경]
* 페이스북에서 바로 신청을 하는 경우 문제가 있을수도 있는거 같았아요. 정욱이형이 저번에 된줄 알았는데 안됐길래 다시하라고 해서 됐거든요. -[김태진]
- html5/communicationAPI . . . . 8 matches
* 메세지 : 임의의 자바스크립트객체 또는 단순 문자열
* 통신 수행의 주체 : 윈도우, 백그라운드 태스크, 서버에서 동작하는 프로그램
* 메세지 이벤트 : 자바스크립트 객체 ( data, origin, lastEventid, source, ports)
* 메세지 수신 : onmessage이벤트 핸들러, 이벤트 리스너 (MessageEvent객체 얻음)
= 크로스 도큐먼트 메세징 =
* data : 임의의 자바스크립트 객체
* 이벤트 리스너
* [HTML5 스터디 카페] http://cafe.naver.com/webappdev.cafe
- neocoin/Log . . . . 8 matches
* 개학하자 정신이 없다. 1학기 보다는 더 여유로운데 불구하고, 종종 놓치는 것이 발생된다. 이것이 지난달에 잃어 버린 스케줄러의 역할이 었으리라.
* U- ocu 유닉스 계정 확인
* 스케줄러를 보면 이번달도 그리 한가한 달은 아니었다. 하지만, 고질적인 문제점인 금요일에 헤이해 지는 것을 고쳐야만 한다.
* 8일까지 MEC++로 씨름하였고, 이후에는 수강 신청이라는 것에 신경을 많이 썼다. 3월 중반에서야 시간표의 안정화가 이루어 져서, 시간 재배치 작업을 위한 스케중링에 들어갔고, 4월 중반즈음 하여 정립되어 중, 기말고사를 보낼 생각이다.
- JXTA는 과거 JXTA를 기고했던 마소 필자가 강의자(숭실대 대학원) 였는데, 거기에서 크게 발전한 것은 없다. JXTA의 구현 방향이 IPv6와 겹치는 부분이 많고, P2P의 서비스의 표준을 만들어 나가는 것에 많은 난관이 있다는 것이 느껴졌음. JMF는 강의자가 JMF의 초심자에 가까웠다. JMF가 계획 시행 초기의 당초 원대한 목표에 따르지 못했고, 미래 지향적인 프레임웍만을 남기고 현재 미미하다는 것에 중점, JavaTV가 일부를 차용하고, 그 일부가 무엇인지만을 알게되었음. JavaTV가 정수였다. 이 강연이 없었다면, 이날 하루를 후회했을 것이다. 현재 HDTV에서 JavaTV가 구현되었고, 올 7,8월 즈음에 skylife로 서비스 될 것으로 예상한다. 그리고 가장 궁금했던 "HDTV 상에서의 uplink는 어떻게 해결하는가"의 대답을 들어서 기뻤다.
* 한:데이터 베이스 시스템 ( Database System Concept ) : 제거, 4학년 이수 과목이므로 다음기회에
- zennith/MemoryHierarchy . . . . 8 matches
레지스터는 메모리 계층구조에서 가장 상위 계층으로서, 가장 빠른 속도와, 가장 적은 capacity 를 제공한다. 보통 개개의 레지스터는 그 프로세서의 word 크기이며, 현재 주로 사용되고 있는 인텔 i386 계열 프로세서들의 범용 레지스터의 크기는 32bit 이다.
요즈음의 RISC 구조 프로세서에서는, 모든 연산의 연산자들로 레지스터만 허용하므로, 이 제한된 숫자의 레지스터들을 어떻게 관리하느냐가 성능 향상의 주안점이다. 가령, 빈번하게 요구되는 변수는 계속 가지고 있는다던지, 아니면 한동안 쓰임이 없는 변수를 레지스터에서 버린다던지 하는 일이다. 물론, 이 일(optimal register allocation)은 컴파일러에서 담당한다.
캐쉬의 목적 : 어떻게 하면 최대한 메모리 참조를 적게하고 레지스터로 옮길 수 있을까.
가상 메모리의 목적 : 그래.. 메인메모리까지는 참을 수 있어. 참을 수 있다고.. 그런데, 최대한 디스크까지 가는일만은 피해보자.
- 데블스캠프2003/다루어볼문제와관련세미나 . . . . 8 matches
2003년도 데블스 캠프에서 다루어볼만한 문제와 관련 세미나를 다루는 곳입니다.
* 네. 현철이형 그래서 제가 생각한게 일단 동적 배열의 확실한 이해와, 링크드 리스트를 구현해보게 한다음에, 이들 지식의 선행으로 STL을 가르치려 하려구 그랬거든요. 위 두가지만 확실히 이해할 수 있다면 STL의 기본적인 (vector나 list같은) 것은 가르쳐도 무방하다고 생각합니다. --[인수]
* 저는 STL 같은 것은 그냥 할수 있을 만큼 사용할줄만 알면 되다고 생각합니다. Library 가 제공하는 것은 우리에게 좀더 고차원적인 사고에 전념할수 있는 것이 겠지요. 배열의 길이에 신경쓰지 않는 것만으로, C++에서 얼마나 무한한 사고가 가능할까요? 학교 교제는 C++을 가르치는 것이 아니라, C에다 어떻게 충돌을 일으키지 않고 문법을 추가시켜 C++이 되었는가를 가르치기 때문에 이런 기회는 필요 할것 같습니다. 아마 궁금한 사람은 STL의 소스를 보겠지요. 사족으로 STL은 OOP보다 Generic Programming의 관점에서 구현되 었습니다. --NeoCoin
* 도큐먼트나 튜토리얼을 이용하는 방법을 알려주는 것도 괜찮은 것 같습니다. 새내기들에게 MSDN 에서 검색을 하는 것을 알려줬더니 단지 영어라는 이유로 겁부터 먹고 사용을 못하더군요. 어떠한 주제를 던져주고 이러한 것들을 스스로 찾아서 사용하는 방법을 알려주는 것도 스스로 공부를 해 나가는데 있어서 좋은 경험이 되지 않을까 합니다. -- [상욱]
[데블스캠프2003]
- 데블스캠프2012/다섯째날/후기 . . . . 8 matches
* [이재형] - 오버로딩이나, 탬플릿 까지는 어렵지 않게 이해했는데 그 뒤부터 클래스, 구조체, 생성자와 소멸자, 상속, 가상함수 등등 부족한게 많아서 정말 멘붕에 멘붕을 거듭했습니다. 그래도 정말정말 How에대한 관점으로 공부해야겠다는 필요성과 더불어 이번 방학 공부에 동기부여가 잘 될 것 같아서 좌절감만 드는 것이 아니였습니다. 좋은 어려움이였던 것 같습니다.
* [서민관] - 개인적으로 C로 C++처럼 만들어 볼 수는 없을까 하는 생각을 조금 한 일이 있어서 보다 와 닿았던 것 같은 느낌이 강했습니다. 그리고 구조체의 맨 앞에 포인터를 배치해서 캐스팅하는 방법은 꽤나 그럴싸하군요. 항상 C++에서 궁금했던 것이 왜 맨날 첫 4바이트가 vtable의 정보를 가지고 있는 것인가였는데 아무래도 이번 실습 때 그걸 몸으로 체험한 것 같습니다. 난이도도 그렇게 높지 않으면서 진행도 단계적으로 되어 있어서 따라가기도 편했습니다. 다만 1학년한테는... 음...
* [권순의] - OMS에서도 관련된 주제로 이야기 하고 이번 시간에도 관련 주제로 이런 저런 이야기를 들었네요. Winapi를 가지고 하는거라 뭐랄까.. 이거 뭔가 너무 날거인거라 ㅋㅋ 거기다 소스도 참 ㅋㅋㅋㅋ 희성이도 인터넷에 돌아다니는 것도 이것과 비슷하다고 하는데 ㅋㅋ 뭐.. 비트맵이 예전엔 사양이 안 좋은 상황에서 쓰이다 보니 그런거니까 라고 ㅎㅎ.. 재미있었습니다.
* [김희성] - system32 내부의 호스트 경로가 흥미로웠습니다. 조작하면 재밌을거 같습니다. 개인적으로 선형대수학은 완충제라고 생각합니다. 뭐든지 구현을 할려면 선형대수학을 거쳐야하니...
* [서영주] - 정말로 CSE한 인생을 사셨구나 하는 생각이 들었습니다. 중고등학교 때 벌써 언어공부라니... 근데 인생 얘기하시면서도 맵 리듀스나 gba의 파일을 수정했던 얘기 등 중간중간에 들어있는 얘기들이 신기했습니다. 어떻게 그런걸 다 아시는지도 궁금하고. -_- 후기때도 했던 얘기지만 언젠가는 더이상 할 얘기가 없으실 때까지 얘기하시는걸 들어보고 싶습니다.
* [서민관] - 앞으로 데블스는 낮에 했으면 좋겠습니다. ㅠㅠ 왜 그렇게 졸렸을까요. 아마 전날 캡실에서 잔 게 역시 좋지 않았던 것 같은데... 더군다나 중요한 부분 이야기들을 다 조느라 못 들은 것 같아서 가슴이 아팠습니다. ㅠㅠ 근데 검색엔진 구현 때 선형대수학 얘기는 정말 할 말이 없군요. 역시 이것저것 전부 다 공부를 해야 하나.
= 스터디 시간 =
[데블스캠프2012]
- 동문서버위키 . . . . 8 matches
* 테스트 기간때의 개인페이지의 영향 - 동문서버팀에서 '좋은 선례' 를 만들어보기 위해 동문서버 프로젝트 자체가 돌아가는 모습 (ex - [http://dongmun.cse.cau.ac.kr/phpwiki/index.php?PPGroup_Board 동문서버게시판프로젝트]) 을 일부러 위키에 남겨보고, 몇몇 사람들이 공동번역페이지나 스터디 페이지 같은 것들을 열어봤었지만. 이미 그때 사람들의 주 관심사들은 자신들의 페이지들에 일기를 남기는 것이였었죠. 그 이후, 인식을 바꿀만한 사건들이 나오지 않은 것 같습니다.
* 위키 스타일의 이해차이 - 이미 잘 정립된 위키스타일을 인식하고 있는 사람이 있던가 하면 그렇지 못한 사람들도 있었죠. 이미 잘 정립된 위키스타일을 알고 있는 사람들이 바로 위키초심자에게 해당 룰을 적용하는 일은 위험한 것이라는 것을 그때 느꼈죠. (일부 사람들은 자신들이 작성하던 페이지를 도로 삭제하기도 했었죠. 위키의 룰이 강제성이 없으며, 반론을 제기할 수도 있는 것임에도 불구하고 시간낭비하기 싫었던 것일까요.. 쩝) 위키의 룰은 결국 위키를 사용하는 사람들이 이용해나가면서 서로 암묵적으로 인정해나가는 것들이 룰로서 올라가지, TopDown 식으로 명령하달식으로 내려 올 수 없는것이겠죠.
* 주제의식의 부족 - 이것은 앞의 이야기와 이어지는데요. 인식을 바꾸지 못했던 점과 이어지죠. 주제에 대해서 [http://dongmun.cse.cau.ac.kr/phpwiki/index.php?%B5%BF%B9%AE%C0%A7%C5%B0 동문위키] 페이지에서 언급을 했었으면서도 실제로 열려있는 페이지들이 그러하지 못했죠. 이는 시험서비스였다는 점도 작용하겠지만, 시험서비스가 기간이 너무 길었죠. (기약없는 시험서비스기간) --석천
- 문서구조조정토론 . . . . 8 matches
DeleteMe) 현재의 해당 스레드는 정모에 관한 모든것을 다루는 것이라 생각해서 말씀하신 주제를 포용한다고 생각합니다. 하지만, 의도의 전달이 잘못되었다면 작성자가 고치기를 간절히 바라고 있습니다. 현재 문서 구조조정이후 고치는 사람이 별로 없는거 자체가 약간 걱정이 되지요. --상민
'문서 조정은 문서 작성자가 손대지 말아야 한다' 라는 어처구니 없는 내용을 어떻게 끌어냈는지 모르겠습니다. 어느 부분에서 도대체 '구조 조정은 구조 조정자의 몫이다'라는 식의 이야기를 했다는지 궁금하군요. 제 이야기는 현재의 잘잘못을 따지고, '문서 구조 조정은 ''누군가 그 일을 할 사람''이 알아서 해라'라는 식의 이야기가 아닙니다. 문서는 누구나가 노력을 해서 고쳐가되, 다만 문서 구조 조정자는(누가됬건 현재 문서를 구조 조정하고 있는 사람은), 자신이 한 결과에 따라 어울리지 않는 글이 될 수 있으므로 해당 문서 구조 조정의 시점에서 더 신경을 써야 한다는 뜻입니다. 물론, 해당글의 작성자가 나중에 발견하고 이를 고칠수도 있지만, 처음 시점부터 좀 더 신경을 쓰는 방법이 효과적이라 생각한 이유입니다. 한번 더 강조하자면, 문서 구조 조정자가 신경을 쓸 필요가 있다라는 이야기가 해당 글의 작성자 자체가 '나는 문서를 구조조정할 필요가 없다'라는 의미는 절대 아님을 이야기합니다. 모로가도 서울만 가면 되지만, 더 편한 방법이 있다면, 그런 방법을 택하는게 자연스러운건 자명한 이치입니다. --이선우
["neocoin"]: 그렇다면 저에게는 지금까지 페이지가 나온 이유 자체가 모호해 집니다. 그럼 말씀하시는 주제가 결국 "문서 구조 조정은 신중히 해야한다." 이것이라고 생각합니다. 이것은 의견이라기 보다 문서 구조 조정시의 기본 명제라 생각하며, 이중에 말씀하신 "문서 구조 조정시에 위치 변경은 글쓴이의 의도의 방향을 바꾼다."라는 것도 문서 구조 조정을 신중히 겠지요. 이런 것은 당연히 동의 합니다. [[BR]] 이것에 반대한다는 말이 없고, 이는 해당 의견의 암묵적 동의라고 생각하고, 잘못된 부분에 대하여 다시 구조조정을 해 주십사 원한 것인데, 다시 대화가 다른 방향으로 전개되어서 "문서 구조 조정자"와 "문서 작성자"로 나뉘어서 접근하시는 말씀인것으로 받아 들였습니다.[[BR]]해당 글처럼 잘못 된 부분의 지적 이후, 고치지 않는다면 다른 이가 해당 문서를 더 고치지 못하는 위화감 이랄까요. 그런것이 발생한다고 생각합니다. 현재 위키에 00들와 01들이 이러한 "조심스러움의 유발 요인" 때문에 활발히 글을 날리는데 방해가 될것이라고 생각합니다. 글을 장려하는 입장에서 글을 계속 올리다 보니, 대화의 주제가 어긋난 것 같습니다. --상민
위키에서 편집의 권리를 '공유'하고 고쳐나가는 개념이 제대로 적용되는 것은, 위키를 쓰는 사람들이 점점 익혀나가야 할 부분입니다. 토론과 관련된 부분에서 위키의 방식이 단점으로 작용한다고 보지 않습니다. 예를 든다면, KLDP의 토론란을 보면 더더욱. 스레드가 길어질수록 주제와 맞지 않는 글들이나 중간에 일어나는 감정싸움들은 걸러져야 할 것임에도 불구하고 그 자리를 차지하고 있습니다. 스레드가 길어질수록 결국은 논제를 벗어납니다. 위키스타일이라면, 문서구조조정을 통해서 그러한 것을 어느정도 줄여줄 수 있을 것이라 생각됩니다.
문제는 문서구조조정인데, 이는 문서구조조정자가 신도 아니고. -_-; 하지만, 본 저자의 의도가 벗어나지 않도록 문서구조조정을 해야 하는것은 당연한 것이며, 추구해나가야 할 부분이겠죠. 저번에 문서구조조정 (데블스 관련) 을 했을때는 상민이랑 제가 넷미팅을 공유하고 대화하면서 문서구조조정을 했었습니다. (원래라면 데블스쪽에 있는 사람과 해야 더 무게균형이 있었겠지만) 중요한 토론이라면 이런식의 방법도 고려해볼만 하겠죠. (단, 역시 cost가 더 크긴 하겠죠.)
- 문자반대출력/조현태 . . . . 8 matches
처음 테스트한 파일이 러브데스티니의 가사여서 한글이 있었다..OTL
클래스도 써봤는데.. 본인이 보기에는 이쁘지만..^^ 남이 보기에는 영~~(아직 클래스를 못배웠다..ㅠ.ㅜ 2학기가 되어야 할텐데..ㅠ.ㅜ)
=== 소스 ===
지금 보니까 위에 C++ 소스도 뭔가 허접하다 -_ -;;;
=== 소스 ===
=== 소스 ===
- 병역문제어떻게해결할것인가 . . . . 8 matches
* 카투사 : 토익 780점 이상, 요샌 스피킹도 받아줌. 9월 쯤 접수하고 평생 한번밖에 지원을 못합니다.
* 이 항목이 미래창조과학부(MSIP)주관, 정보통신산업진흥원(NIPA)운영하는 SW 마에스트로와 MOU를 체결한 그 부서의 그 특기병과를 지칭한다면, 지원하기 위해서는 활동량이 많은 제로페이지 회원이어도 지원 자격 요건은 충족할 수 있습니다만, 그건 구색을 맞추기 위한 지원조건이고, 실제로는 MOU 체결한 기관의 지원자에게 우선순위를 부여하기 때문에, 비 기관 지원자가 서류를 통과할 가능성은 거의 없다고 합니다. (입대설명회에 나온 간부가 말하길 서류 특별점수가 60점 정도 되는데, MOU 기관은 만점 채우고 시작, 아닌 사람은 산더미 만큼 모아와야 채울 수 있다고 합니다.)
* MOU체결 기관으로는 SW 마에스트로, BoB( Best of Best)가 알려져 있으며, 소마가 훨~씬 널럴하고 쉬우니 소마를 추천
* 2013년 12.9 병청이의 난 : 2014년, 2015년도 현역TO는 마이스터고/특성화고 졸업 및 대학 미진학자 TO만 나오게 되었다. 이에 따라 2014년 TO를 준비하거나 내정되어 인턴 등을 하던 현역 대학생들은 낭패를 보게 됐다.
* 언어논리력: 맞춤법, 어휘력 등을 테스트합니다. 수능 언어영역의 쓰기,어휘,어법 파트와 상당히 유사합니다.(난이도는 그 이상)
* 자료해석력: 말 그대로 데이터를 분석하는 능력을 테스트합니다. 수능 언어영역의 자료해석 파트와 상당히 유사합니다.(난이도는 그 이상)
* 공간능력: 지도 맞추기입니다. 지도를 돌려놓고 위치찾기, 틀린 지도 찾기를 주로 테스트합니다.
* 지각속도력: 지각속도를 테스트합니다. 주로 특정 패턴이 존재하고 패턴에서 삐져 나온 녀석을 찾습니다.
- 상협/Diary/7월 . . . . 8 matches
|| 3D || 3장 끝까지 || 하기는함 || 소스를 대충보고 이해 안가는 부분도 많아짐 ||
* 오늘은 별로 한게 없당... 오늘 기숙사에서 기분이 좀 나빠지는 일이 있었다. 그때는 막 화가 났는데, 조금만 다르게 생각하자 그렇게 나빴던 기분도 풀렸다. 역시 사람은 화를 내는것보다 웃는게 훨씬 나은거 같다.^^ 옛날에 어디서 그런 연구 결과를 본거 같다.(화를 내는 경우와 웃는 경우 신체적 호르몬 분비나 스트레스 해소나 축적 정도...) 화내는것은 자기만 손해이고 스트레스만 쌓이는거 같다. 차라리 상대편 사람에게 화난점을 말하거나 그러한 여건이 안되면, 그 사람의 입장을 이해해 보려고 노력해 보거나 그사람이 나한테 잘해줬던 일들이라도 생각해보던지 해야겠다. 그리고 사람이 한번 소심해지면 한없이 계속 소심해지는거 같다. 오늘 기숙사에서의 일도 여러가지 방향과, 여러 사람의 입장에서 다양하게 생각해보면 그렇게 기분 나쁠일은 아닌거 같다. 소심해 지지 말잣~
|| ["비행기게임"] || 행동 클래스 30% 정도 하기 || 0% || 불행히도 ||
|| 3DAlca || 기본틀 완성(0.1버전정도) || 90% || 다행히도(충돌이 약간 부자연스러운거 같기도 하고..) ||
|| ["비행기게임"] || 행동 클래스 || 100% || 오케. ||
- 새싹교실/2012/아우토반/앞반/4.5 . . . . 8 matches
* 관련 페이지 : ThreeFs, [http://no-smok.net/nsmk/ThreeFs ThreeFs(노스모크)], [http://no-smok.net/nsmk/FiveFs FiveFs(노스모크)]
* 예를 들어 지난주에 돈가스를 먹은 것에 대해 후기를 쓴다면 : "지난주에 강남에 가서 하나에 5만원하는 돈가스를 먹었다.(사실) 기대를 잔뜩 했는데 별로 맛이 없었다.(느낌) 강남은 땅값이 비싸서 값만 보고 엄청 맛있을거라 기대하면 안된다는 것을 알았다.(깨달은점) 다음에는 미리 인터넷에서 평을 찾아보고 별점이 높은 돈가스집을 찾아서 가봐야겠다.(앞으로의 계획)"
* 어깨가 빠지는줄 알았어요..유.유 왜냐면 제 노트북을 가져왔었거든요. 제 노트북으로 신나게 프로그램 4개를 ㅉㅏ 보았습니다. 아우토 샘이 힌트를 좀 주셨지만, 그래도 스스로 생각해서 해보아서 보람찼습니다. 그리고 프로그래밍의 세계는 매우 무긍무진합니다. 왜냐하면 같은 프로그램인데 성준이아 소스코드가 달랐기 때문입니다. 하하하.. 신나요신나 WoW~~ 앞으로 프로그램 많이 짜보며 연습하고 복습도 열심히! 질문도 열심히 하겠습니다. 룰루랄라
- 새싹교실/2013/라이히스아우토반 . . . . 8 matches
* 새싹을 통해 정말로 유용한 측면에서의 언어를 배우고 컴퓨터언어를 최대한 마스터 하는 쪽으로 노력하겠습니다.!!-[박경준]
* 수업 따라가기 부담스러웠는데 좋은 기회 감사합니다ㅠㅠ 열심히 하겠습니다!-[이명연]
[새싹교실/2013/라이히스아우토반/1회차]
[새싹교실/2013/라이히스아우토반/2회차]
[새싹교실/2013/라이히스아우토반/3회차]
[새싹교실/2013/라이히스아우토반/4회차]
[새싹교실/2013/라이히스아우토반/6회차]
[새싹교실/2013/라이히스아우토반/7회차]
- 새싹교실/2013/양반/3회차 . . . . 8 matches
숙제를 했으면 ebellus@gmail.com으로 소스를 보내주세요~
힌트 : 공백도 문자입니다. (스페이스)
관련 페이지 : ThreeFs, ThreeFs(노스모크), FiveFs(노스모크)
예를 들어 지난주에 돈가스를 먹은 것에 대해 후기를 쓴다면 : "지난주에 강남에 가서 하나에 5만원하는 돈가스를 먹었다.(사실) 기대를 잔뜩 했는데 별로 맛이 없었다.(느낌) 강남은 땅값이 비싸서 값만 보고 엄청 맛있을거라 기대하면 안된다는 것을 알았다.(깨달은점) 다음에는 미리 인터넷에서 평을 찾아보고 별점이 높은 돈가스집을 찾아서 가봐야겠다.(앞으로의 계획)"
- 이학 . . . . 8 matches
from 히로나카 헤이스케 NoSmok:학문의즐거움 중 '자기발견 - 묻고, 듣고, 또 묻고' 중에서..
그런데 입학해서 2년 정도 지나니까 그는 더 이상 시시한 질문만 하는 학생이 아니었다. 가끔 질문다운 질문을 할 때도 있었고 4학년이 되어서는 마침내 우수한 논문을 써내어 학계 일류의 논문지에 발표할 정도로까지 성장하였다. 그는 그 후 내가 하버드 대학으로 옮길 때 강사로 따라왔다가, 스탠퍼드 대학의 조교수를 거쳐 지금은 캘리포니아 대학의 교수가 되었다.
일류 대학의 학생이라면, 이 이학만으로 단기간 내에 상당한 수준까지 배울 수가 있다. 가령, 3,4백 페이지 분량의 책에 씌어진 내용을 배우려고 할 때, 학생은 교수에게 가서 "이 책에는 무엇이 씌여져 있습니까?" 라고 일본의 대학에서는 상상도 할 수 없는 질문을 한다. 다소 유치하고 대략적인 질문이지만, 질문받은 교수는 그에 대해서 학생에게 열심히 설명한다. 그러면 그 설명에 대해서 또 질문하고, 그것을 몇 시간에 걸쳐서 되풀이하는 동안에 학생은 그 책의 요점을 파악해 버린다. 두꺼운 책을 몇 페이지 읽다가 이해하지 못해 포기하는 것보다 질문을 하는 것이 결과적으로 좋은 효과를 내는 셈이다. 물론 상세한 부분은 스스로 읽어야 되겠지만, 대체적인 요점이나 골격을 파악하면 책에 대한 이해는 훨씬 빠르다.
어떻게 대답하면 좋은가? 일본이란 어떤 나라인가, 일본인이란 어떤 성격을 가진 국민인가? 자기 스스로도 생각해 보고 책을 읽고 배워야 한다. 가르치기 위해서는 배워야 한다. 바꾸어 말하면 배우기 위한 방법의 하나는 남에게 가르치는 것이다.
도올 김용옥은 모르는 것이 있으면 남들과 달리 애둘러 묻지 않고, 직접적으로 묻습니다. "양자 역학이 뭔가요?" 거기에 "소립자, 원자, 분자 등의 미시적인 계에 적용되는 역학입니다" 식의 사전적 답변을 듣게 되면, 다시 묻습니다. "그러면 소립자는 뭔가요?" 이런 식으로 몇시간만 진행하다 보면 정말 "이해"란 걸 하게 됩니다. 물론 전문 텍스트를 보고 공부하는 과정이 결여되어 있으니 완전하진 않지만, 개념의 이해는 가능하다는 겁니다. 그런데 이게 나중에 그 분야를 공부하는 데에도 엄청난 도움이 됩니다. 천지차이죠. 수식 몇 개 외워서는 이런 지식의 심층구조(deep structure)를 획득하기 어렵습니다.
전산학 분야에도 지대한 영향을 미친 논리학자 타르스키의 "논리학 입문" 책을 보면 첫 장에 나오는 말이 걸작입니다. 그는 첫 페이지부터 도대체 "변수"란 무엇인가에 대해 설명을 합니다. 그러면서 대부분의 수학책이 이 개념을 잘못 가르치고 있다고 비판을 합니다. 대가는 이런 사람입니다. 가장 기본적이고, 가장 상식적인 대상에 접근해서, 사정없이 흔들어 놓고는 아주 명징하고 명료한 상태로 만든 후에 소리없이 사라집니다. 또, 파인만은 이런 말을 자주 했습니다. "어떤 개념이든지 수식을 쓰지않고 쉽게 설명할 수 없다면, 그 사람은 그걸 완전히 이해하지 못한 것이다"
- 인수/Smalltalk . . . . 8 matches
* 짜놓고 생각 : 이건 스몰토크프로그래밍이 아니다. C++/Java의 냄새가 너무 많이 나는것 같다. 부분부분을 좀더 간단하게 할 수 있을것 같기도 하다. 책을 더 봐야 할듯 싶다. 인스턴스 생성할때도 인자를 넘겨 받을 수 있을 텐데 잘 안된다.(지금 보니까 그렇게 하지 말라 한다. 대충 찾아보니 팩토리 메소드를 많이 쓰는것 같다. 또 클래스 메소드 만드는법 알아낼라고 줄기차게 삽질을 했다.--;) do라는 좋은게 있었군.
* 스퀵 소스 옮기기 너무 힘들다. ㅠ.ㅠ 좀 더 커지면 어떻게 될지... 흑 ㅠ.ㅠ
* 2차원 배열 클래스가 있었다. 레퍼런스를 잘 찾아보고 하자. 이제 조금 볼만하구나.
- 장용운 . . . . 8 matches
* 커스웨어
스터디
* 제로페이지 UDK스터디
* 커스웨어 1팀 OLYMFORCE(키보드)
* 카스파로프(Kasparov, 회장)
* 2015년 앤젤스캠프 팀 미니게임지옥
사는 곳 : 인천광역시 남동구 간석1동 // 크루세이더퀘스트
== 직접 작성한 소스 코드 ==
- 정모/2012.5.21 . . . . 8 matches
== 데블스 캠프 ==
* 데블스캠프 연락을 돌렸습니다.
데블스캠프는 ZeroPage에서 5일간 연속으로 세미나를 진행하는 행사입니다.
== 스터디&프로젝트 ==
참여인원의 40% 이상이(18~20명정도라고 추정) 아래 방식중 하나의 스피치를 하면 좋겠어요. 자기 소개겸 주제 발표죠.
미리 위의 유형을 미리 준비하기 힘들죠. 자칫 의견으로 흐를수 있구요. 은근히 시간 많이 걸리고 보통 30분짜리를 만들어 옵니다. 그럼 아예 데블스 캠프 한 코너로 만드는거죠. 아예 모여서 1시간동안 이걸 준비한 후(10~20장 이미지)에 30분 쉬고 1시간 동안 5분씩 12명이 발표해 버리는 겁니다. 3분이면 20명이 할수 있겠네요. 3,4학년에 있을 수많은 발표 과정을 압축해서 경험할 수 있을 것 같습니다.
그리고 OST는 경험 하신 분들은 다 아실테구. 데블스 캠프 말미에 끼우면 쓸모 있겠죠.
* 올해 들어서 참가한 ZP 정모 중에서 가장 사람이 적었던 것 같은 정모였습니다 -_-;;; 그런데 생각해보니 다들 이번 컴공 전시회 관련으로 나가서 그런 것 같네요. 그렇게 보면 오히려 ZP에 능력있는 사람이 많다는 얘기니 그건 또 그것 나름대로 나쁘지 않나 싶군요. 태진이 OMS에 사람이 덜 참가한 것은 약간 아쉬웠지만서도. 그리고 데블스 관련 연락을 돌렸는데 이렇다하게 참가를 확답해 주신 선배님이 없는 것은 좀 아쉬웠습니다. 역시 다들 사는 게 바쁘신 거겠죠... - [서민관]
- 정모/2013.7.8 . . . . 8 matches
= 프로젝트 및 스터디 =
== ACM 스터디 ==
* 스터디맴버 각각 : dynamic Graph Greedy(위상 정렬과 강연결과 관련)부분을 공부.
== 자바 스터디 ==
== OpenGL 개인 스터디 ==
== BigBang 스터디 ==
* c / c++ /JAVA를 한꺼번에 다루는 스터디!
* 언어간의 차이점이라던가 내부구조라던가에 대해서 공부하는 스터디.
- 졸업논문/요약본 . . . . 8 matches
웹 환경은 이제 하나의 플랫폼으로 자리 잡고 있다. 빠르게 변하는 웹 환경에는 python같은 객체지향 언어가 적당하다. Django는 python으로 만들어진 웹 애플리케이션 프레임워크로, 데이터베이스를 추상화하여 개발자가 기민하게 웹 애플리케이션을 작성하도록 돕는다. Django에서는 기존에 ODBC등을 이용하는 CLI 보다 한 단계 더 높은 수준에서 데이터베이스를 사용할 수 있다. 예를 들어 주언어 python에 클래스를 정의하면 데이터베이스 테이블을 자동으로 생성해주며, 클래스가 변경되면 데이터베이스 테이블도 자동으로 수정해준다. 그 밖에 삽입, 삭제, 수정, 조회 기능을 클래스가 가진 메소드로 추상화하여 주언어 수준에서 데이터베이스를 사용할 수 있도록 한다. 이러한 지원을 바탕으로 웹 애플리캐이션 개발자는 기민하게 프로그램을 작성할 수 있다.
- 지도분류 . . . . 8 matches
||["2012년활동지도"] || 2012년에 이루어지는 스터디, 프로젝트 지도들 ||
||["Python"]|| 객체지향 스크립트 언어 ||
=== 소스관리 도구 ===
|| ["CVS"] || Concurrent Versions System. 공동 프로젝트를 위한 소스 버전 관리 도구 ||
|| SubVersion || 약자는 SVN, 많이 쓰이는 소스 버전 관리 도구 ||
|| ["VisualSourceSafe"] || Microsoft의 Visual Studio의 일원인 소스 관리 도구 ||
|| RegressionTesting || 회귀 테스팅으로 기존의 기능에 문제 없는가 테스트 ||
- 파스칼삼각형/허아영 . . . . 8 matches
ver.3 파스칼삼각형 코딩한다니까. 보창오빠가 흘려가는 말로 "재귀함수로 짜면 되지 않냐" 고 했던 말이 생각나서
=== 소 스 ===
==== ver.1 - 파스칼 삼각형 전체 출력 ====
==== ver.3 - 더 나은 소스 ====
그리고 문제가 '파스칼 삼각형을 출력하시오.' 가 아니었던거 같은데?? 다시 보는게..
지금 나의 머리는 터질 듯 아프단다. ^^; 포인터 때문에 데여갖고-.ㅠ 소스를 아예 바꾸는 큰 공사를 치뤘기 때문에 ㅠ
엇~ 아영이 누나도 처음엔 원시적으로 짜셨네요~^^;; 후후.. 재귀함수로 이렇게 짤수있는거군요 센스 =ㅅ=b - [김준석]
[LittleAOI] [파스칼삼각형]
- 프로그래밍잔치/ErrorMessage . . . . 8 matches
소스는 자료실에.~
* 1차 정리 시간 가까워질 무렵, 우리는 좌절을 느꼈다. MFC 그나마 좀 해본 인수군과 창섭군이 MFC에서 다뤄본건 다이얼로그 박스에 비트맵 뿌리는것 말곤 없었던 것이다.--; 그래서 다같이 어설픈 언어로 하느니, MFC로 하는 GUI보다는 JAVA로 하는 GUI에 익숙한 인수군이 자바로 하자고 운을 뜸. 창섭군 적극-_-동의. 그래서 자바로 바꿨음. 한 2시간 날렸다.
* 인수군 역시 자바 오랜만에 써본다. 이클립스 써본지 이틀 되었다. 계속 삑사리 낸다. 프레임 안나오고, 어쨌든 겨우겨우 생각해내고 도큐먼트 찾아가면서 메인프레임과 계산기 대충 완성(되도록 많은것을 구현하기 위해 예외처리, 복잡한 연산은 하지 않고, 그냥 4칙연산(소숫점무시--;)과, 클리어 정도만 구현). 도중에 상민이형이 편한 셋팅을 해줘서 그나마 편하게 코딩, 하다가 게임 없앰--;, 상욱이가 한다고 달력 부활
* 같은 시간, 창섭이와 상욱이는 "Hello World" 삑사리 내고 있었다. 컴파일 하면 클래스가 없댄다. 이래저래 암울한 우리 조의 분위기를 느낄 수 있었다.
* 끝나갈 무렵, 합칠떄가 왔다. 창섭군과 은지 누나가 한걸 가져와서 씌울라고 보니..(처음에는 쉬울줄 알았따. 내 메인 프레임에서 버튼을 누르면 창섭군과 은지 누나가 만든 전화번호부 프레임을 띄울 예정이었다.) 문제가 생겼다. 내껀 스윙이고, 창섭이네꺼는 AWT다.--; 스윙과 AWT 같이 쓰지 말라고 하는 말을 너무 많이 봐서.. 스윙으로 고치기 시작했다. ... shit. 함수가 다르자나.--; 이러면서 어떻게 어떻게 고치고 보니--; 메뉴가 가운데 달렸다. 석천이형의 도움을 받아서, 메뉴를 제 위치에 나오게 했다.
* 다 끝났다. 상욱이가 한 만능달력을 넣으려고 했지만, 시간 없어서 못했다. 하다가 SUCCESS팀 하는거 보고 생각난거, 우리 달력을 클릭하면 스케줄러가 뜰수 있게--; 실제로도 이것까지 해놨다. 날짜 클릭하면 창 하나 나오게.. 나중에 파일로 저장할수 있는 그런걸 해야겠다.
- 프로그래밍잔치/첫째날후기 . . . . 8 matches
한쪽에서는 진균, 덕준, 상협, 재동, 상규, 인수, 석천은 주로 위키 활성화와 위키글쓰기 스타일에 대해 이야기했다.
* 사람들마다 글쓰기 스타일이 다르며, 정리하는 스타일도 다르다. - 위키 스타일의 글쓰기는 사람들이 글쓰기 페이지를 만드는데 주저하게 만든다. 글을 쓰기 전에 고려해야 할 사항이 너무 많다.
* 위키를 쓸때 이미 도큐먼트모드화 되어버린 글들이나, 시작부터 도큐먼트모드식으로 잘 정리된글들은 뭐라고 더 스레드 자체를 붙이기가 어렵다. 이미 도큐먼트모드화 된 글에 대해서 굳이 더 스레드를 붙일 이유도 없다.
*감상 : 위키에 글을 쓸 수 있는 용기를 내어...;;짧은 시간이나마 참여했던 후기를 남겨보면..내가 선택했던 python은 c나 java와 비슷하면서도 더 간단한 구조를 가지고 있었기 때문에..패러다임의 변화로부터 오는 충격은 적었던것 같다. 오히려 문법은 간단하지만, 손과 눈에 익지 않은 구조문들과 프로그램 실행 방식으로 인해 상당히 불편하다는 느낌을 받았고, 이렇게 실행 되는 인터프리터 언어를 접한다는게 어떤 도움이 될는지....;;;란 생각이 들었다. 특히, 툴과 언어가 익숙하지 않으니 문제(삼목)의 알고리즘도 생각이 나질 않아 당황스러웠다. 마구잡이로 짜는 코딩 습관 때문인가...하는 생각이 들었다.
그리고 Python은 데블스 캠프 할 때 잠시 접해봤는데 이번 기회로 좀 더 잘 아니 조금 더 알 수 있는 기회여서 좋았다
- 2005리눅스프로젝트<설치> . . . . 7 matches
= 2005리눅스 프로젝트 =
== 리눅스 설치 버전 ==
* 만약 하드가 모자르던지 윈도우에서 리눅스를 돌리고자 하시는 분은 위 VMware을 사용하시기 바랍니다.
* 1차 스터디는 명령어와 VI사용 법을 하겠습니다.
* 그놈 리눅스는 없다네...;; 그놈은 kde와 같은 X-서버(맞나? X 아님 윈도매니져 인데..)의 종류일뿐...
* 데비안 밀었다가 다시 설치하고 싶은데.. 그나저나 이번주 월요일은 스터디 쉬는거지?? 학교도 안가는데..그렇담 여유가 좀 있군... 아님 낭패..ㅋㅋ [[BR]]그리고 질문!! Fedora로 통일해야하는거야?? 아님 Fedora 를 중심으로 돈다는건가? ...<< 그게 그말인가?? 요즘언어의 장벽을 느끼는 형노.;;;;;; [(laciel)형노]
* 일단은 통일을 하기로 했는데 머 데비안 사용할줄 알면 해도되궁... 아 이번주는 수요일4교시에 스터디있어용....[(shusheng)수생]
- APlusProject/PMPL . . . . 7 matches
Upload:APP_DetailedDesign_0608.zip -- QA에 의해 검토됨. 0530 최종문서 인덱스 이상해서 바꾸었습니다
Upload:APP_JudgePlan_0609.zip - 최종문서 - 인터뷰 스크립트에 중복되는 표들이 몇개 있다. 원래 있어야 되는건감?
기본 설계서 순서를 바꿔야 할 듯. 보통 유즈 케이스 -> 시퀀스 -> 클래스 식으로 발전. --재동
심사계획서 빼고 다 검토됐어요 위에 하나 그림이랑 인덱스 이상한거는 못고친거 고쳐달라고 글 적어놨구요
나머지 인덱스 몇개 틀린건 제가 고쳐서 다시 올려놓은 거랍니다 -- 윤주
- C++스터디_2005여름 . . . . 7 matches
C++의 기초를 실습위주로 다져가는 스터디 입니다.
== 스터디 과정 ==
[c++스터디_2005여름/실습코드]
[C++스터디_2005여름/도서관리프로그램]
[C++스터디_2005여름/학점계산프로그램]
C++ 기초 플러스란 책 좋은데, 잘 안보더라구요, 지루하긴 해도, 내용은 좋은데 -[fnwinter]
[스터디분류]
- ClassifyByAnagram/sun . . . . 7 matches
* 테스트환경: P3 1G, 512MB, j2sdk1.4.0, 입력데이터-[http://zeropage.org/pds/2002104113433/word.lst 172823건]
* 테스트환경: P3 1G, 512MB, j2sdk1.4.0, 입력데이터-[http://zeropage.org/pds/2002104113433/word.lst 172823건]
* 테스트중 OS 표준입력과 자바에서 직접 파일을 읽는 것과는 별 차이가 없지만, OS 표준 출력이 자바에서 직접 파일출력하는것 보다 상당히 느림을 발견. 자바에서 직접 출력하도록 코드 변경
* 테스트환경: P3 1G, 512MB, j2sdk1.4.0, 입력데이터-[http://zeropage.org/pds/2002104113433/word.lst 172823건]
* 테스트환경: P4 1.8, 512MB, j2sdk1.4.1-b21, 입력데이터-[http://zeropage.org/pds/2002104113433/word.lst 172823건]
* 분석: 예전에 우스개 소리로, 프로그램을 빠르게 하려면 컴퓨터를 업그레이드 하라더니, 웃을일이 아니다 -_-;
* [[HTML(<STRIKE>)]]테스트 사양에 독립적인 속도 측정방법 생각[[HTML(</STRIKE>)]]
- DebuggingSeminar_2005/DebugCRT . . . . 7 matches
Debug C Runtime 클래스를 이용하면 라이브러리가 알아서 동적할당되는 메모리를 역추적하여 누수되는 메모리를 가늠하는 것이 가능하다.
CRT의 기본 함수들의 출력은 디버그 메시지 윈도우이다. 이를 변경하기위해서는 _CrtSetReportMode()라는 함수를 이용해서 출력에대한 일반 목적지를 지정하고, _CrtSetReportFile()를 이용해서 특별한 스트림 목적지를 설정해야한다.
|| _CRTDBG_MODE_WNDW || 메시지 박스 ||
''두번째 인수는 파일 스트림의 _HFILE 형식의 포인터이거나 다음의 식별자들 중의 하나이다.''
|| _CRTDBG_FILE_STDERR || 표준 에러 스트림으로 전달 ||
|| _CRTDBG_FILE_STDOUT || 표준 출력 스트림으로 전달 ||
대체로 클래스에서의 메모리 유출은 동적 멤버 변수들이 만들어졌을 때 해야하는 '삼의 법칙'을 지키지 않는데서 비롯되는 경우가 많다.
- HowBigIsIt? . . . . 7 matches
첫째 줄에는 테스트 케이스의 개수를 나타내는 양의 십진수 n(n≤50)이 입력된다. 그 밑으로 n줄에 걸쳐서 일련의 수들이 입력되는데, 각 수는 스페이스로 구분된다. 각 줄의 첫째 줄은 8 이하의 양의 정수 m이며, 그 줄에 몇 개의 수가 더 들어있는지를 나타낸다. 그 뒤로 m 개의 수가 입력되는데, 각각 상자에 집어넣어야 할 원의 반지름을 의미한다. 이 수들은 꼭 정수가 아니어도 된다.
각 테스트 케이스에 대해 원들을 모두 포장할 수 있는 가장 작은 직사각형 상자의 크기를 출력한다. 각 케이스에 대한 결과가 서로 다른 줄에 출력되어야 하며, 소수점 아래로 셋째 자리까지 출력한다. 숫자가 1보다 작지 않은 경우에는 앞에 불필요한 0을 덧붙이지 않는다(1 미만인 경우에는 0.543 같은 식으로 앞에 0을 하나 붙여준다).
- LinkedList/세연 . . . . 7 matches
//스택의 처음을 가르킨는 포인터
cout << "스택을 만들어봐요!!\n";
cout << "\n스택을 만들어봐요!!\n";
//스택에 자료를 넣는다
//처음으로 스택에 자료를 넣을때
//스택에서 자료를 지운다
//스택에 자료가 없을 때
- PairProgrammingForGroupStudy . . . . 7 matches
저는 여기서 PairProgramming의 교육적 효과와 이를 그룹 스터디나 프로젝트 팀 교육에 응용하는 방법을 간략히 서술하겠습니다.
여기서는 단기간에 이런 PairProgramming을 통해서 팀 내에 지식이 확산되게 하거나, 그룹 스터디에 이용할 수 있는 방법을 보도록 하죠.
이렇게 되면 E와 F는 전문가인 A와 B와 직접 PairProgramming을 하고 나머지 네명은 자기들끼리 PairProgramming을 하게 되죠. 처음 pairing에서 C와 G, D와 H는 태스크를 완수해지 못해도 괜찮습니다 -- 대신 문제 영역을 탐색하는 동안 어느 정도의 학습은 발생하거든요.
이 상태에서는 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에 관한 글을 순식간에 읽었습니다 ^^ 이런 방법이 스터디의 방법으로 자리잡는다면 초보자의 실력향상에 엄청난 도움이 되겠군요
- ProgrammingLanguageClass/Report2002_2 . . . . 7 matches
* Visual C++(6.0)과 Visual Basic(6.0), Java(JDK1.4)에서 디자인과 구현에 대한 간단한 테스트
* 결과물은 주어진 것들에 의해서 만들어지는 테스트 프로그램을 순서대로 제출하라. 채점은 아마 테스트 프로그램의 품질이 많은 영향을 미칠것이다.
* 보통, floppy diskette에 당신의 프로그램과, 테스트한 데이터들과 실행에 의한 결과를 제출한다.
* 프로그램의 완벽한 수행을 위해서 당신의 데스트 데이터를 신중히 설계하라. 또한 당신의 테스트 프로그램 내부에 합당한 문서를 첨부하는 것을 추천한다.
* 다시 말하여, 당신이 왜 그러한 디자인을 하였는지, 어떠한 의도로 해당 테스트를 만들었는지에 대한 논리적 설명을 첨부하라.
- RedThon/HelloWorld과제 . . . . 7 matches
* HelloWorld를 .py파일을 실행해서 HelloWorld출력하기(3가지로) 힌트 : 클래스, 함수, 그냥
왕초보에서..예제 비스무리한거...C++숙제하듯이..변경해서...했어요.
* 문자열를 변수에 할당해서 그냥 출력(print), 리스트를 함수에 전달인자로 넘겨준 다음 루프를 써서 출력, 문자열을 함수에 전달인자로 넘겨준 다음 루프를 써서 출력하는 세가지 방법으로 숙제를 잘 했네.
그리고..클래스...상당히..어려울거같아...좀더..공부한후에 할께요..
사실 그 클래스때문에 오프모임을 하자는 거지. 클래스라는 문법도 생소할 뿐더러, 클래스를 가지고 객체 지향이라는 개념을 이야기할 수 있기 때문이야. --[Leonardong]
- SeminarHowToProgramItAfterwords . . . . 7 matches
* TDD를 어설프게나마 시도하면서 느낀점이 'TDD 에서의 Product Code 는 오직 테스트 까지만 만족하는 코드인가' 였었는데. 한편으로는 이렇게 해석할 수 있겠더군요. '해당 스케일에 대해 더욱더 정확하게 작동하는 프로그램을 만들고 싶다면 그만큼 테스트 코드 양을 늘려라.' 테스트코드 자체가 일종의 Quality Assurance 를 위한 도큐먼트 역할도 된다는 점을 다시 생각하게 되었습니다.
* '테스트코드의 보폭을 조절하라. 상황에 따라 성큼성큼 보폭을 늘릴수도 있지만, 상황에 따라서는 보폭을 좁혀야 한다. 처음 TDD를 하는 사람은 보폭을 좁혀서 걸어가기가 오히려 더 힘들다' wiki:Wiki:DoTheSimplestThingThatCouldPossiblyWork. 이것이 훈련이 아직 덜된, TDD를 하는 사람에게는 얼마나 힘든지는 이번 RDP 짜면서 느꼈었는데. 열심히 훈련하겠습니다.
* 아까 발표때에도 이야기했지만, Code Review 를 위한 reverse-TDD (정도로 해둘까요? 이것도 관련 문서가 있을텐데. ) 를 해보는 것도 좋을 것 같네요. 코드 분석을 위한 test-code 작성이요. 즉, 이미 만들어져있는 코드를 테스트 코드라고 상정하고, 자신이 제대로 이해했는가에 대한 검증과정을 Test-Code 로 만드는 것이죠. 시간 있었으면 오늘 마저 시도해봤을텐데, 시간에 마음 쫓긴게 아쉽네요.
* 흥미로운 것은 시끄러운 프로그래밍이였다는 것이였습니다. 혼자서 하는 프로그래밍(PairProgramming을 알고나니 새로운 개념이 생기는군요. 원래 Programming이라는 것은 혼자하는 거였는데, 이제 프로그래밍하면 pair인지 single인지 구분을 해주어야겠군요)을 하는 경우에는 팀원들이 소란스럽게 떠들면 ''아 지금 설계하고 있구나''하고 생각하고, 조용해지면 ''아 지금 코딩하고 있구나..''하는 생각이 들었는데, PP는 끝까지 시끄럽게 하는거라는 느낌이 들더군요. 그렇게 대화가 많아지는 것은 코딩에 대한 이해도의 증가와 서로간의 협력 등 많은 상승효과를 가져올 수 있다는 생각을 했습니다.
- SuperMarket . . . . 7 matches
2. 디스켓 1200원
3. 마우스 5000원
2. 디스켓 5개
2. 디스켓 5개
1. 클래스를 이용 (좀 더 체계적으로)
다음과 같이 표준입출력을 통한 커맨드라인 인터페이스가 어떨까요? (자동) 테스트하기도 훨씬 쉬울테고요.
- TAOCP/InformationStructures . . . . 7 matches
가능한 공간에 리스트가 두 개 있다면 (고정된)bottom을 같이 쓸 수 있다. (p.246 그림 참고) 이런 경우 두 리스트가 메모리를 모두 써버릴 때까지 오버플로우는 생기지 않는다. 이런 형태는 매우 자주 쓰인다.
하지만 리스트가 더 많으면 bottom이 움직일 수 있어야 한다.(we must allow the "bottom" elements of the lists to change therir positions.) MIX에서 I번째 한 WORD를 rA에 가져오는 코드는 다음과 같다.
n개의 스택이 있는 경우 i번째(1≤i≤n) 스택에 원소를 넣고 빼는 과정을 다음과 같이 적을 수 있다.
여기서 i번째 스택에서 오버플로우가 생기면 메모리 재배치(repack memory)를 할 수 있다. 몇가지 방법이 있는데 지금부터 자세히 알아보자.
i번째 스택에서 오버플로우가 생겼을 때''
- TermProject/재니 . . . . 7 matches
= 소스 =
cout << " 메뉴n1) 과목별 리스트n2) 과목별 성적순 리스트n3) 학생 리스트n"
<< "4) 평균 성적순 리스트n5) 종료n메뉴를 선택하십시오. ";
cout << "n학생 리스트n"; // 선택된 메뉴를 화면에 출력함
cout << "n평균 성적별 리스트n"; // 선택된 메뉴를 화면에 출력함
- VisualStudio2005 . . . . 7 matches
= 스크린 샷 =
C# 자동으로 클래스 다이어 그램 그려주네요. 테스트 케이스 작성은 아직 못 해봤음. -_-
* 소스의 수정된 부분은 노란색으로 표시합니다. 저장이 되면 초록색으로 바뀝니다. 아마도 합병(merge)에서 사용될 부분인듯.
* 소스관리는 DB를 이용해서 하는 듯 합니다. MS Access로도 가능한 듯 합니다.
* 솔루션에 프로젝트 스타트 업이라는 녀석으로... 무언가를 하는것 같은데... 무얼하는지는...-_-ㅋ
- WikiSandPage . . . . 7 matches
'''수정 hihi 테스트'''
이것은 테스트입니다.
테스트
테스트2
테스트3
테스트4
[테스트]
- ZeroPage성년식/준비 . . . . 7 matches
||13일||행사 취지에 대한 구체적 논의, 온오프믹스||
* 스티커
* 스티커 수량 찾다가 텀블러가 좋아보여서 텀블러 만들고싶은데 단가 6000원이니까 참아야지........
* 알아봤더니 그날 대학원 면접이 있어서 장소가 없다고 함. 제 2공학관은 수업이 있고 봅스트홀은 면접. 금요일에 다시 가보기로 했음.
|| 상품 도서 || 79800 || 여보게 후배 지금 음식장사 하려나 11,700 원, 스티브 잡스 22,500 원, 사랑하지 않으면 떠나라! 9,600 원, 소프트웨어 아키텍트가 알아야 할 97가지 18,000 원, 소프트웨어 관리자가 알아야 할 97가지 18,000 원 || 서지혜 ||
* DeleteMe 저따위가 축사를 할만한 학번도 자격도 없다고 생각되서, 삭제했습니다. 그리고 여기 언급된 분들 말고도 몇 분께 더 전화 돌렸는데, 당일 스캐줄로 뒷풀이 참석하신다는 분도 있고 참석 확정 하시고 등록안하는 분들도 있네요. 즐거운 행사 기대합니다. -[류상민]
- [Lovely]boy^_^/Cartoon . . . . 7 matches
|| 소마신화전기 || 로도스도전기-회색의마녀 || 김전일 || 상남이인조 ||
|| 몬스터 || 드래곤볼 || 슬램덩크 || 아일랜드 ||
|| 마법기사 레이어스 || 유유백서 || 아키라 || 와일드 하프 ||
|| 원피스 || 1-29 || 더파이팅 || 1-66 ||
|| 삼국장군전 || 1-28 || 겟백커스 || 1-16 ||
|| 20세기소년 || 1-13 || 팔용신전설 플러스 || 1-16 ||
|| 샤먼킹 || 1-22 || 바스타드 || 1-22 ||
- joosama . . . . 7 matches
위키에 그동안 안들어온거 같아서 갑작스럽게 등장!!ㅎㅎ
마을버스를 발견하자마자....
5000마하의 속력으로 달려가는 센스!
정작일본의 매스컴에서는 이를 보도 하지도 않을 뿐더러,
그야말로 좋은 찬스를 맞이하게 된 것인데, 이런 기회를 만들어 준 것은 다름아닌 일본의 우익과 시마네현 당사자들이다.
거의다 텍스트로 이루어진 위키가 바뀌고있다 ..!! --[최경현]
스타일시트(CSS)는 [http://100.naver.com/100.php?id=717120 이런]것 - [이승한]
- 강희경/도서관 . . . . 7 matches
* [마케팅천재가된맥스]
|| 4 || NoSmoke:TheArtOfComputerProgramming || 카누스 || [강희경] || [TAOCP] ||
|| 9 || NoSmoke:학문의즐거움 || 히로나카 헤이스케 || [임인택] || [학문의즐거움] ||
== 불만족스러운 책 ==
|| 4 || 선물 || 스펜서 존슨 || || ||
|| 1 || NoSmoke:TheArtOfComputerProgramming || 카누스 || [강희경] || [TAOCP] ||
* 경제 : 시티즌 경제학(경제에 대한 확실한 개념을 잡는책_강추), 마케팅 관련 - [포지셔닝](강추), [마케팅천재가된맥스](강추)
- 걸스패닉 . . . . 7 matches
*게임의 종류가 바뀌었습니다. 그러나 편의성을 위해 그대로 걸스패닉이라는 이름을 따르겠습니다.--[강희경]
방향키와 엔터키 등 키보드 조작 or 마우스 조작
=== 구현 및 소스 ===
[걸스패닉/디자인]
* 프로젝트이름 바꾸자 너무 단순하다 좀더 엘레강스~하게
* 갈스패닉은 어때? --[강희경]
우린 걸스패닉 --[iruril]
- 데블스캠프2009/수요일 . . . . 7 matches
= 데블스캠프2009/수요일 =
* [데블스캠프2009/수요일/JUnit]
[데블스캠프2009/수요일/연습문제]
[데블스캠프2009/수요일/JUnit]
[데블스캠프2009/수요일후기]
[데블스캠프2009] [데블스캠프]
- 데블스캠프2009/수요일/연습문제 . . . . 7 matches
* [데블스캠프2009/수요일/OOP/박준호]
* [데블스캠프2009/수요일/OOP/서민관]
* [데블스캠프2009/수요일/OOP/강소현]
* [데블스캠프2009/수요일/OOP/박근수]
* [데블스캠프2009/수요일/OOP/박성현]
* [데블스캠프2009/수요일/JUnit/강소현]
* [데블스캠프2009/수요일/JUnit/서민관]
- 데블스캠프2011/다섯째날/HowToWriteCodeWell . . . . 7 matches
* [데블스캠프2011/다섯째날/How To Write Code Well/송지원, 성화수]
* [데블스캠프2011/다섯째날/How To Write Code Well/권순의, 김호동]
* [데블스캠프2011/다섯째날/How To Write Code Well/김준석, 서영주]
* [데블스캠프2011/다섯째날/How To Write Code Well/정의정, 김태진]
* [데블스캠프2011/다섯째날/How To Write Code Well/임상현, 서민관]
* [데블스캠프2011/다섯째날/How To Write Code Well/강소현, 구자경]
* [데블스캠프2011/다섯째날/How To Write Code Well/박정근, 김수경]
- 데블스캠프2011/둘째날/Machine-Learning . . . . 7 matches
* [데블스캠프2011/둘째날/Machine-Learning/NaiveBayesClassifier/namsangboy]
* [데블스캠프2011/둘째날/Machine-Learning/NaiveBayesClassifier/송지원]
* [데블스캠프2011/둘째날/Machine-Learning/NaiveBayesClassifier/강성현]
* [데블스캠프2011/둘째날/Machine-Learning/NaiveBayesClassifier/김수경]
* [데블스캠프2011/둘째날/Machine-Learning/NaiveBayesClassifier/김동준]
* [데블스캠프2011/둘째날/Machine-Learning/NaiveBayesClassifier/변형진]
* [데블스캠프2011/둘째날/Machine-Learning/SVM/namsangboy]
- 마케팅천재가된맥스 . . . . 7 matches
= 마케팅천재가된맥스 =
* 이책에서는 고대 이집트에서 그때까지는 없었던 '바퀴'라는것을 새로 발명한 맥스가 그 '바퀴'를 이용하여 세계최고의 '바퀴회사'가 되어 가는 과정을 이야기한다. 처음에 맥스가 '바퀴'를 만들었을때, 우리 공학도들이 그러는것처럼 이 기술은 정말 최고의 기술이야, 가만히 앉아 있어도 서로들 이것을 사려고 하겠지 하는 생각을 했다. 그러나 결과는 지금 현실과 마찬가지로 기술 개발만 하고 그 후 마케팅, 판매를 못해서 거의망하기 직전까지 간다. 그렇다고 맥스가 아예 판매에 손을 땐것은 아니다. 부인과 함께 이집 저집을 방문하면서 판매 하려고 해도 실패를 한다. 그러다가 '세일즈캡틴', '빌더벤', '마법사토비' 를 차례대로 고용해서 판매를 하려고 했지만 번번히 실패한다. 그러다가 '클로저 카시우스'를 고용해서 판매에 성공한다. 현재 시장 상황에 따라서 필요한 세일즈 방식이 다르다는 것을 보여준다. 정말 중요한것은 시장 상황에 따라서 세일즈 방식이 다르다와 세일즈 방식이 다르기 때문에 고용하는 세일즈맨들도 성향이 달라야 한다는 것이다. 강추 책.
* 혁신적인 기술과 서비스를 원한다.
* 이 제품이 제공하는 서비스는?
- 방울뱀스터디 . . . . 7 matches
=== 방울뱀 스터디 ===
* 화면 인터페이스는 각 플레이어 위쪽 모서리에 '점수, 목숨, 내땅' 출력
[방울뱀스터디/Thread] - 재화
[방울뱀스터디/GUI] - 준환
[방울뱀스터디/만두4개]
=== 스레드 ===
지금까지 해왔던 기존의 다른 스터디와는 좀 다르게 해보려고 합니다. 그동안 ''가르치는 것''에 대하여 여러가지 고민도 해보고 조언도 얻고 해서... 변해야 한다고 생각했습니다. 잘 될지는 저도 잘 모르겠습니다. --재동
- 새싹교실/2011 . . . . 7 matches
=== 테스트 ===
내가 짠 코드를 직접 출력을 통해 확인하는 것은 분명 매력적인 일입니다. 그러나 처음 익힌 코딩 습관은 버리기 매우 어렵습니다. 많은 학생들이 처음 프로그래밍을 배우며 printf 함수를 사용하여 코드를 검증하는 습관을 들입니다. 그 때문에 상당수의 졸업할때까지 테스트보다는 직접 눈으로 확인하는 것을 선호합니다. 그런데 작성한 코드가 잘 돌아가는지 알기 위해 직접 눈으로 확인해야만 하는 것은 매우 많은 문제가 있습니다.(이것에 대해서 더 적자면 정말 길어질테니 일단 이 페이지엔 적지 않겠습니다.)
* 출력을 통한 확인보다는 테스트를 통한 확인을 유도해주세요.
* 테스트는 [http://winapi.co.kr/clec/reference/assert.gif assert]함수를 통해 간단히 만들 수 있습니다.
* 혹시 assert를 사용할 줄 모르신다면, 그리고 테스트라는 게 무엇인지 잘 감이 안 오신다면 [김수경]에게 도움을 요청해주세요.
* 위키 페이지를 어떻게 써야할지 모르겠다면 위키의 다른 스터디 페이지를 참고하시거나 [김수경]에게 물어보세요.
* 혹은 새싹 교실에서 진행한 프로젝트의 소스를 공개하는 것도 좋습니다.
- 새싹교실/2011/Noname . . . . 7 matches
* 관련 페이지 : ThreeFs, [http://no-smok.net/nsmk/ThreeFs ThreeFs(노스모크)], [http://no-smok.net/nsmk/FiveFs FiveFs(노스모크)]
* 예를 들어 지난주에 돈가스를 먹은 것에 대해 후기를 쓴다면 : "지난주에 강남에 가서 하나에 5만원하는 돈가스를 먹었다.(사실) 기대를 잔뜩 했는데 별로 맛이 없었다.(느낌) 강남은 땅값이 비싸서 값만 보고 엄청 맛있을거라 기대하면 안된다는 것을 알았다.(깨달은점) 다음에는 미리 인터넷에서 평을 찾아보고 별점이 높은 돈가스집을 찾아서 가봐야겠다.(앞으로의 계획)"
* 이스케이프 시퀀스의 사용
- 새싹교실/2011/쉬운것같지만쉬운반/2011.3.29 . . . . 7 matches
* 관련 페이지 : ThreeFs, [http://no-smok.net/nsmk/ThreeFs ThreeFs(노스모크)], [http://no-smok.net/nsmk/FiveFs FiveFs(노스모크)]
* 예를 들어 지난주에 돈가스를 먹은 것에 대해 후기를 쓴다면 : "지난주에 강남에 가서 하나에 5만원하는 돈가스를 먹었다.(사실) 기대를 잔뜩 했는데 별로 맛이 없었다.(느낌) 강남은 땅값이 비싸서 값만 보고 엄청 맛있을거라 기대하면 안된다는 것을 알았다.(깨달은점) 다음에는 미리 인터넷에서 평을 찾아보고 별점이 높은 돈가스집을 찾아서 가봐야겠다.(앞으로의 계획)"
* 오늘은 표준 입출력 함수, 상수&변수의 의미와 각종 연산자들에 대해서 배웠다. 역시 배우면 배울수록 흥미롭다. 그런데 용운이는 다 알고있고 형준이는 안오고 뭔가 나만 배우고 있는 듯한 느낌이...... ㅜㅜ. 아무튼 지금은 무식해도 올해가 끝나갈 쯤엔 나도 C언어 마스터가 되야지. - 송치완
1. 개행 문자(\n)는 printf 함수에서 줄을 넘길 때 사용합니다. 이것에 캐리지 리턴(\r)을 직접 타이핑하지 않는 이유는 printf 함수가 텍스트 모드로 출력하기 때문에 자동으로 캐리지 리턴이 앞에 붙게 되기 때문입니다.
- 새싹교실/2012/startLine . . . . 7 matches
* 입, 출력 함수(printf, scanf)와 테스트 함수(assert).
* 왜 테스트 함수를 써야 하는가.
* 변수 선언과 사칙연산만 한 시점에서 어떤 과제를 내야 할지 딱히 떠오르는 것이 없어서 이번에는 패스.
* 정모 전에 두 시간, 정모 끝나고 두 시간이 걸린 정말 긴 새싹이었습니다. ;;;; 처음 계획으로는 재현이나 성훈이랑 비슷하게 구조체 문법과 사용에 대해서 간단하게 다룰 생각이었는데 환희가 왜 구조체가 필요한지에 대한 이야기를 하면서 이야기가 많이 다른 방향으로 흘러갔네요. 일단 구조체가 필요한 이유를 추상화의 관점에서 추상화 한 타입(구조체)과 타입에 관한 연산(함수)을 제공하기 위해서라고 말을 했는데 그래도 직접 피부에 와 닿았을지 어떨지는 좀 걱정입니다. 역시 이런 부분은 직접적으로 경험을 해 보지 않으면 안 될 것 같네요. 한 시스템(도서관 관리 프로그램이나 은행 시스템 등)을 재현이, 성훈이랑 셋이서 쪼개서 만들어 보게 하거나 하는 게 좀 괜찮지 않을까 싶습니다. 나중에 시켜봐야지. - [서민관]
좋았던 점 : 시험 때문에 희...미...했던 기억이 되살아서 좋았고, 함수에 대한 이해도가 높아진 듯해서 좋았다. 오늘은 C스러움이 많이 느껴져서 흡족하다. 컴공다운 걸 해서 보람이 느껴진다. - [이성훈]
* Map in C - 어떻게든 클래스 흉내를 내 보려고 정말 별 짓을 다 했다. 코드를 보고 싶으면 [서민관]에 가서 볼 것.
- 새싹교실/2012/주먹밥/이소라때리기게임 . . . . 7 matches
///현재 쓸수 있는 스킬갯수
////////////////게임 프로세스 함수들.
int printplayerstate(PLAYER *, PLAYER *); //스테이터스 출력
////////////////게임 프로세스 함수들.
//스테이터스 출력
- 새싹교실/2013/록구록구/2회차 . . . . 7 matches
* -약간어려운..- '''하나의 문자(char)를 입력 받아 해당 문자의 아스키 코드값 출력하기'''
아스키 코드 값: 65
관련 페이지 : ThreeFs, ThreeFs(노스모크), FiveFs(노스모크)
ex) 지난주에 돈가스를 먹은 것에 대해 후기
(사실)지난주에 강남에 가서 하나에 5만원하는 돈가스를 먹었다.
(앞으로의 계획)다음에는 미리 인터넷에서 평을 찾아보고 별점이 높은 돈가스집을 찾아서 가봐야겠다.
- 정모/2003.8.26 . . . . 7 matches
=== 스터디 진행상황 ===
* [MedusaCppStudy] => 스터디 종료. 나름대로 성공적이었음.
* [5인용C++스터디] => 역시 종료. 뒷풀이만 남았음.
* [방울뱀스터디] => 스터디 종료. 결과물 거의 다 했음. (만두4개(땅따먹기)->만두3개(지뢰찾기))
=== 다음 학기 스터디 희망 ===
* 심히 괴기스러웠음.
- 정모/2004.9.14 . . . . 7 matches
== 스터디 ==
|| MFC || [스네이크바이트] || 희경, 진영 수진, 진하 ||
* 회의 뭐 했습니까... 듣기로는 짜장면 먹었다던데... 아 글구 스터디는 어떻게 됐습니까? 저는 홈페이지 만드는 그런 스터디 하고 싶습니다~ -성만(??)
Flash - XML 연동 => 이 스터디가 나름대로 관련이 많을걸.. 아니면 스터디 하나 만들어두 좋구 --[곽세환]
* 공연준비 아주 잘 되고 있다. - 커스
- 정모/2013.7.29 . . . . 7 matches
* 동아리 소개, 스터디/프로젝트, 운영 방식, 위키 시스템, 세미나 관련 이야기를 했습니다.
* 위키 등을 통해 스터디/프로젝트나 정모 등의 내용을 공유하고, 후기와 의견을 다는 피드백이 이루어지는 것에 대해 많은 관심을 받았습니다. - [김민재]
== 스터디 회식비 지원 개정 제안 ==
* 기존 스터디 회식비 지원은 한 달 1회에 한하여 회식비를 지원해 주고 있음.
* 일반적으로, 매 스터디 진행시에 다과를 구입해서 먹는 경우가 많기 때문이며, 1회에 한해서 전액을 사용하는 것이 효율적이지 못하다는 의견이 있기 때문
* 제로페이지 내부에서 진행되고 있는 스터디를, 그 분야에 특화된 동아리와 같이 진행하거나, 해당 동아리에서 진행하는 세미나에 참여하는 등의 교류 활동을 하고자 합니다.
- 정모/2013.9.11 . . . . 7 matches
* [최다인] 학우 "귀엽고~ 깜찍하게~ 써리원! (베스킨라빈스)"
== 스터디/프로젝트 공유 방안 ==
* 스터디 팀끼리 돌아가면서 시간을 잡아 발표하는 것도 좋다고 생각됩니다.'
* 오픈 캠프 형식으로 스터디 결과를 보고하는 방법은 좋지 않을까? - 안혁준 학우
* 아두이노 : 아두이노 관련 서적도 보유중입니다. 아두이노를 이용한 스터디를 계획하고 있다.
* 키넥트 장비 - Unity 스터디에서 사용할 예정입니다.
- 정모/2013.9.4 . . . . 7 matches
* 제로페이지에서는 회원들의 학술활동 지원을 위해, 참가비가 있는 행사(컨퍼런스 등)에 대해 입장료를 지원하고 있습니다.
* 하지만 비상식적으로 비싼 행사를 지양하려는 목적으로 최소한의 상한은 있는게 좋을듯.. 리눅스 포럼인가 10만원짜리 그런건 좀..-_-; -[김태진]
= 스터디 공유 =
* 빅 뱅 : 스킵
* 클린 코드 : SRP(Single Responsibility Principle), DIP(Dependency Inversion Principle) 방식을 공부하였고 디자인패턴 중 템플릿 메소드에 대해서 공부하였습니다.그리고 스레드에 대해서 공부 하였습니다. trello와 github연동하는 방법이 있습니다.상당히 유용할 것같으므로 관심있으신분들은 조금만 찿아보시면 쉽게 하실수있습니다.
* 유니티 스터디 : 스킵
- 제로Wiki . . . . 7 matches
* 제로페이지 위키 서비스 개시와 함께 다시 재개
* 예를 들어서 여러 명이서 특정 책을 중심으로 스터디를 진행할때 스터디 페이지를 각 개인 위키와 공유 페이지로 지정하여 사용할 수 있다.
== 소스 하이라이팅 ==
* 소스 코드를 각 언어별로 그에 맞게 보여준다. 아래와 같은 식으로..
== 스킨 설정 기능 ==
* 자신의 카페에 맞는 스킨을 제작하여 현재 카페에 적용 시킬수 있다.(아직 버그가 살짝 있음)
- 코드레이스/2007/RUR_PLE . . . . 7 matches
* 스테이지 15분마다(6단계)
* 문제에서 아래와 같은 소스를 참고 하라고 한다. 저는 좀 다르게 했습니다. 우선 참고는 했고..
* while문을 사용하여 중복된 씨앗의 개수가 2 이상인 임의의 개수일 경우에도 처리 가능하게 위 소스를 수정한다.
* 아래 그림과 같이 원래 정렬되어 있는 경우에도 제대로 작동되는지 테스트 해본다.
* sort1, sort2 맵을 가장 먼저 모두 오름차순으로 정렬하는 분에게 [데블스캠프/2005/RUR-PLE/경품]을 드립니다.
[데블스캠프2005/RUR_PLE/조현태]
[데블스캠프2005]
- 타도코코아CppStudy/0724 . . . . 7 matches
* 객체지향, 클래스, 상속 발표
|| 파스칼의 삼각형 || || || ||
* 객체지향, 클래스, 상속 발표
|| 파스칼의 삼각형 || [수진] || Upload:pascal_sujin.cpp || 헉.. 줄까지 맞추다니 멋져요.^^ 함수 분리도 꽤 잘한거 같고.. 무엇보다 다른 개념(조합)을 사용했네요. 여태까지 한 사람들은 거의 다 위에꺼 더해서 했거든요. 하지만 로직과 보여주는게 분리가 안되어 있네요. 이따 저와 함께 고쳐 봅시다. ||
|| 마방진(홀수) ||[정우] ||Upload:mabang_winy.cpp || 잘했어요. 고칠 거리가 좀 있긴 하지만.. 스스로 고쳐 보세요. 랜덤워크를 저와 함꼐 고쳐보면서 배운걸 마방진 고치는데 적용해 보세요. ||
* 파스칼 .. 수학1책까지 뒤지게 만들었다.,, 우씨 ㅡㅡ;;
- 타도코코아CppStudy/0731 . . . . 7 matches
* 마우스 왼쪽 클릭 메세지
* 마우스 오른쪽 클릭 메세지
마우스 이벤트 처리 with vector
* 윈도우에 그림을 그려주기 위해서는 DC라는게 필요하다. MFC에서는 DC를 랩핑하고 있는 가장 기본적인 클래스로 CDC를 지원한다. CDC는 그림 그리는 사람의 손이라고 생각하면 된다. 그림을 그려주기 위해 어떤 색깔의 펜이나 붓을 고를수 있을 것이다. 또한 사각형, 원도 그릴수 있다. 이러한 행위들을 CDC의 멤버함수로 정의해놨다. 우리는 그걸 갖다 쓰기만 하면 된다. 세부적인 것은 나중에 알아도 된다.
|| [CherryBoy] || 테트리스판이랑 블록그림 그려온다. ||
* 비트맵 마스킹
* 더블버퍼링과 마스킹과 타이머 예제
- 프로그래머가알아야할97가지/ActWithPrudence . . . . 7 matches
이터레이션 초반에 스케줄이 아무리 여유로워 보인다고 해도, 시간 압박을 다소 받는 건 어쩔 수 없다. “제대로 하기”와 “빨리 하기” 중 선택해야 할 경우, 나중에 다시 돌아와서 고칠 수 있다는 전제하에 “빨리 하기”를 선택하고 싶어지기도 한다. 스스로에게나 팀에게 또는 고객에게 이런 약속을 할 때에는 정말로 나중에 고치겠다는 뜻이다. 그러나 십중팔구 다음 이터레이션에서 새로운 문제가 나타나서 거기에 집중하게 되곤 한다. 이렇게 연기된 작업은 기술적 부채(Technical Debt)라고 알려져 있으며 이런 일에 익숙해져서는 안 된다. 특별히, 마틴 파울러(Martin Fowler)는 그의 기술적 부채 분류 체계에서 이를 의도하지 않은 기술적 부채와 헷갈려서는 안 되는 계획적인 기술적 부채라고 부른다.
기술적 부채는 대출과 마찬가지다. 그로 인해 단기적인 이익을 얻지만, 전액을 상환하기 전까지는 이자를 지불해야 한다. 이런 코드 내 지름길 때문에 기능을 추가하거나 코드를 구조조정하기 어려워진다. 이런 지름길은 결함과 안정적이지 못한 테스트 케이스가 자라는 밑거름이 된다. 이를 오래 방치하면 방치할수록 더 나빠진다. 수정을 하려고 할 때 즈음이면 코드를 구조조정하고 수정하기 훨씬 어렵게 만드는 그다지 좋지 않은 설계가 애초의 문제 위에 켜켜이 쌓여 있을 수 있다. 사실상, 다시 돌아가서 고쳐야 할 때는 일이 너무 심각해져서 반드시 고쳐야 할 때뿐이다. 그 때엔 일정이나 위험을 감당할 수 없어 고치기 어려운 경우가 다반사이다.
데드라인을 맞춘다거나 기능의 단편을 구현하려고 기술적 부채를 발생시켜야 할 때가 있다. 이런 입장이 되지 않도록 애써야 하지만, 이런 상황이 반드시 필요하다면 그렇게 하되, 다만 반드시 기술적 부채를 추적해서 재빨리 갚아서 급히 끌어내려야 한다. 그렇게 타협하기로 결정하자마자, 이슈 추적 시스템에 과업 카드나 로그를 작성해서 잊어버리지 않도록 해야 한다.
이 글은 [http://creativecommons.org/licenses/by/3.0/us/ Creative Commons Attribution 3] 라이센스로 작성되었습니다.
- 회원정리 . . . . 7 matches
저도 상당부분 동의합니다. 그런데 제가 아직 변화에 따르지 못하는 것인지.. 아니면 아직도 대학사회가 변하지 않는 것인지는 모르겠지만 비교적 저학년에 속해있고 스스로에 익숙치 않은 1,2학년들에게는 위와같은 모습을 기대하기가 생각만큼 쉽지는 않을것 같습니다. 물론 이미 대학을 거쳐(점차 대졸출신이 많아지므로 이렇게 말하겠습니다.) '비교적 스스로에 익숙한' 사람들이 있는 사회에선 위와같은 모습을 기대할 수 있을 것이라는 것에는 공감을 하고 동의합니다. 만약 제가 시대의 흐름에 뒤따라가지 못하고 있다면 고쳐보고 싶습니다. (물론 학회차원에서가 아니라 개인적 차원에서입니다.. :) )
회원정리의 기준은 회칙에서 정해진 대로 '사전 연락없이 정모 연속 2회이상 불참' 에 근거하였습니다. 미처 게시판,위키에 연락하지 못하고 회장에게 연락한 경우도 감안을 하였습니다. 또한 프로젝트, 스터디 등을 하면서 ZeroWiki 상에서의 활동여부도 참작을 하였습니다. 활동사항이 전혀 없으면서 정모에 연속 2회이상 불참이 경우가 회원정리의 대상이었습니다.(공교롭게도 이렇게하여 나온 명단의 사람들은 정모에 2,3달 이상 불참하였습니다. 자진 탈퇴라고 보아도 될 정도로 말이죠. 아무런 연락도 없이 불참하였으니까요.) 분명히 정모를 하기 전에 '회원정리를 합니다' 라고 명시를 했었고 그에 대하여 아무런 의견도 없었습니다. 회칙을 정모에서 정했던 만큼 동의하는 것으로 간주하여 회원정리 당일 정모에 참여했던 회원들끼리 회칙 기준에 맞추어 회원정리를 단행하였습니다.
그리고 회원정리의 근거가 된 정모의 참여여부를 말씀드리자면 정모에 규칙적으로 나옴으로써 친목을 다져 스터디, 프로젝트 등의 활동에 활기를 불어넣고자 함이었습니다. 처리할 안건이 있으면 이날 모인 김에 처리할 목적도 있었구요. 그리고 정모를 '무한 자유'로 할경우 참여가 저조하다는 지적이 있어 강제성을 부여하고자 '회원자격상실'이라는 처벌을 두게 된 것입니다. 2002.1에 제로페이지와 데블스의 통합할때 '학회활동의 저조함의 원인' 의 하나로써(전부가 아니라 일부라는 점을 다시 말씀드립니다.) 정모의 불참으로 인한 회원들간의 결속력 상실을 꼽았던 걸로 기억합니다. Z&D 로 페이지 검색하면 나오는 페이지들이 당시 통합과정에서 남은 문서들입니다. 아무튼 그리하여 정모에 강제성을 두고자 회원자격박탈이라는 벌칙이 만들어졌고 일년이 지난 지금 시행하게 되었습니다.
- 2011년독서모임/주제 . . . . 6 matches
||영화화된 책||나니아 연대기, 더 박스||
||실존 인물이 다뤄진 책||네 꿈에 미쳐라, 가우디 임펙트, 마리아 칼라스 내면의 열정의 고백||
||배경이 약간이라도 현실이 아닌 책||거울 나라의 앨리스, 인간, 해리포터||
||심리학 관련 책, 심리학적인 책||상대를 꿰뚫어보는 힘 스눕, 자존감, 상대의 코드를 해킹하라, 괴짜 심리학, 화||
||감동을 주는 책||아프니까 청춘이다, 서커스단 소년과 인어, 너 외롭구나, 1리터의 눈물||
||르네상스~근현대 서양작가의 소설||변신, 신곡, 폭풍의 언덕, 세계사를 움직이는 다섯 가지 힘 ||
- 2thPCinCAUCSE . . . . 6 matches
* 개인 디스켓, CD 등 휴대 금지. 디스켓은 나눠준 것만 사용.
* 팀은 한 문제에 대해 소스코드가 완성되면 디스켓에 담아 채점 팀에 제출한다.
* 채점은 그 소스코드를 컴파일해서 수행파일을 만들어 채점한다.
* 그 문제에 대해서 준비된 테스트 데이타( 보통 5-10개)에 대해서 모두 맞는 답을 내야 그 문제를 맞춘 것으로 한다.
- AOI/2004 . . . . 6 matches
2004년도 여름 & 겨울방학 문제풀이 스터디
잠깐 다른 사람 소스들을 봤는데 이런식이 많더라. 나쁘다는 건 아니다. 실제로 재동과 상규가 프로그래밍대회에서는 저런식으로 했었다. 이유는 대회에선 무조건 속도전이라 함수 이름이나 함수의 길이는 신경쓰지 못하기 때문이였다. 하지만 적어도 대회가 아닌 연습에서는 좀 더 흐름을 알아보기 쉽게 하는게 좋을 거 같다. --재동
열심히 코딩하는 건 보기좋다. 하지만 소스 코드에서 냄새가 많이 난다. 너네가 만날 때는 그때까지 짰던 소스 코드를 서로 바꿔가며 좋은점, 고칠점에 대하여 논하고 리팩토링 해보면 도움이 많이 되겠다. --재동
한 문제를 풀어본 후에 소요시간이 만족스럽지 못하거나 결과코드가 불만족스럽다면 이렇게 해보세요. 내가 만약 이 문제를, 아직 풀지 않았다고 가정하고, 다시 풀어본다면 어떻게 접근하면 더 빨리 혹은 더 잘 풀 수 있을까를 고민합니다. 그리고 그 방법을 이용해서 다시 한 번 풀어봅니다(see DoItAgainToLearn). 개선된 것이 있나요? 이 경험을 통해 얻은 지혜와 기술을 다른 문제에도 적용해 봅니다. 잘 적용이 되는가요?
- APlusProject/ENG . . . . 6 matches
Upload:APP_SetupManual_0609.zip --바로 위에 최종문서라고 적힌거 확인했는데 인덱스인가 승인에 잘못되어있길래 다시 수정해서 올립니다(qa)
Upload:APP_UserManual_0609.zip -- 수정 안된부분있어서 (승인인가 인덱스 부분) 다시 고쳐서 올립니다- 윤주. 승인됨
=== 소스 코드 ===
->인터넷 정보 서비스
해당 mdb파일의 등록정보 -> 보안 -> 인터넷게스트계정이나 게스트등...
- ATmega163 . . . . 6 matches
* 하이 퍼포먼스 , 로우 전력 - 그래봤자 8 BIT
* 32 X 8 범용 레지스터
* 임베디드 시스템
* 산업용 임베디드 시스템
* 그럼 소프트웨어 테스팅을 써볼까?
c:\avrgcc>에서 install을 실행 시킨 후 바탕화면의 avr-gcc 배치파일을 이용해 도스창을 열어서 쓴다.
- AppletVSApplication/영동 . . . . 6 matches
* 스스로 실행될 수 있는 자바 프로그램.
* 애플릿은 로컬 디스크를 사용할 수 없다. 함부로 내 컴퓨터나 다른 컴퓨터에서 정보를 전송할 수 없다는 뜻이며, 디지털 서명을 인정하면 로컬 디스크를 이용할 수 있다.
* 잘못된 코드로 시스템의 다른 부분이 영향을 받지 않는다. 자바 언어와 애플릿 구조에서 갖고 있는 보안성 때문이다. 이런 점 때문에 회사 내부에서만 사용하는 소위 인트라넷 클라이언트/서버 시스템에 자바가 널리 사용되고 있다.
- Boost . . . . 6 matches
1997년, C++의 국제 표준화 작업의 마지막을 알리는 종이 울리던 그 때, 자신들의 표준으로 올리자고 주장했던 표준 라이브러리의 기능이 삭제된 것에 불만을 품은 몇 명의 엔지니어들이 있었습니다. 이들 중 몇 명은 표준화 위원회 내부 임원이었는데, 이들은 결국 2차 표준화 작업 중에 표준 라이브러리의 기능을 보완하고 추가하기 위한 기구를 만들기 시작합니다. 그 결과가 바로 Boost(부스트)로서, '''여러 사람들에 의해 검토되고 보완된 C++ 라이브러리를 무료'''로 제공하는 웹 사이트입니다. C++ 표준 라이브러리와 잘 조화되어 동작하며 이식이 가능한 라이브러리를 만드는 데에 중점을 두고 있는데, 이런 취지에는 다음과 같은 동기가 있었다고 합니다.
쉽게 말해서, Boost는 미래의 표준 C++ 라이브러리의 일부가 될 수 있는 구성 요소들의 옥석을 가려주는 역할을 한다고 볼 수 있네요. 참으로 가치 있는 서비스이고, 이러 일을 하는 분들이 있다는 데에 고개 숙여 감사해야겠습니다.
* [http://boost.org/status/cs-win32.html 컴파일러 테스트] 페이지를 보면 알 수 있듯이 가장 많은 테스트를 통과하는 것은 gcc. VC++ 6 은 테스트도 안한다.
* ["Boost/SmartPointer"] : Boost 에서 제공되는 스마트 포인터 사용 방법
- Boost/SmartPointer . . . . 6 matches
스마트 포인터 쓰기
* 표준 라이브러리에도 auto_ptr 이라고 같은 개념의 클래스가 있지만, 버그가 있다. -_-;; auto_ptr를 컨테이너에 집어넣으면 버그땜시 스스로 삭제가 안되 메모리가 새는 아주 심각한 문제이다.
* 모든 객체에 스마트포인터를 쓰도록 프로그램 짜면 자바같은 느낌으로 짤수도 ...
shared_ptr_example2.hpp (헉 이너클래스가 되네.. 처음봤다 --;;)
- BoostLibrary . . . . 6 matches
1997년, C++의 국제 표준화 작업의 마지막을 알리는 종이 울리던 그 때, 자신들의 표준으로 올리자고 주장했던 표준 라이브러리의 기능이 삭제된 것에 불만을 품은 몇 명의 엔지니어들이 있었습니다. 이들 중 몇 명은 표준화 위원회 내부 임원이었는데, 이들은 결국 2차 표준화 작업 중에 표준 라이브러리의 기능을 보완하고 추가하기 위한 기구를 만들기 시작합니다. 그 결과가 바로 Boost(부스트)로서, '''여러 사람들에 의해 검토되고 보완된 C++ 라이브러리를 무료'''로 제공하는 웹 사이트입니다. C++ 표준 라이브러리와 잘 조화되어 동작하며 이식이 가능한 라이브러리를 만드는 데에 중점을 두고 있는데, 이런 취지에는 다음과 같은 동기가 있었다고 합니다.
쉽게 말해서, Boost는 미래의 표준 C++ 라이브러리의 일부가 될 수 있는 구성 요소들의 옥석을 가려주는 역할을 한다고 볼 수 있네요. 참으로 가치 있는 서비스이고, 이러 일을 하는 분들이 있다는 데에 고개 숙여 감사해야겠습니다.
* [http://boost.org/status/cs-win32.html 컴파일러 테스트] 페이지를 보면 알 수 있듯이 가장 많은 테스트를 통과하는 것은 gcc. VC++ 6 은 테스트도 안한다.
* [BoostLibrary/SmartPointer] : Boost 에서 제공되는 스마트 포인터 사용 방법
- BoostLibrary/SmartPointer . . . . 6 matches
스마트 포인터 쓰기
* 표준 라이브러리에도 auto_ptr 이라고 같은 개념의 클래스가 있지만, 버그가 있다. -_-;; auto_ptr를 컨테이너에 집어넣으면 버그땜시 스스로 삭제가 안되 메모리가 새는 아주 심각한 문제이다.
* 모든 객체에 스마트포인터를 쓰도록 프로그램 짜면 자바같은 느낌으로 짤수도 ...
shared_ptr_example2.hpp (헉 이너클래스가 되네.. 처음봤다 --;;)
- C++스터디_2005여름/학점계산프로그램/허아영 . . . . 6 matches
제 소스가 C++의 특징인 OOP를 사용하지 않은 껍데기 소스라고 보창오빠는 말하더군요 ㅠㅠ( 상처ㅡㅡ++++++ )
=== 소스 ===
칼큘레이트(귀차니즘으로 영어 생략)함수와 스튜던트 함수 양쪽에서 둘다 파일 입출력 하는게 있는것 같은데..
[허아영] [C++스터디_2005여름] [C++스터디_2005여름/학점계산프로그램]
- CauGlobal/Interview . . . . 6 matches
* 학업에 투자하는 시간과 개인 취미 등에 투자하는 시간은 어떻게 되나요? 또 그것을 어떻게 스케줄링 하나요?
* 랩쪽 외 타 랩과의 교류가 많은지? (개인적 차원이 아닌 시스템 차원)
* 한국에 듣기로는 대학원 과정은 스스로 학비를 충당할 수 있다고 하는데 어떻게 학비를 충당하고 계산가요? 특히 Stanford 는 학비가 비싸다고 들었습니다.
그냥 좋은 게 있으면 알고 오면 좋다는 식으로 접근하면 자칫 표면적인 겉핥기식 인터뷰가 되지 않을까 싶습니다. 묻는 사람 스스로가 혼자 잘 생각해 보면 대충 답을 예상하는 질문을 하게 되는 것이죠. 목표를 조금 좁히거나 명확하게 만들어 보면 어떨까요? --JuNe
- ComputerNetworkClass/Report2006/PacketAnalyzer . . . . 6 matches
- 리스트에서 하나의 패킷을 선택하면 IP 헤더를 분석해서 보여주는 기능
WSAIoctl 은 소켓이나 트랜스포트 계층 프로토콜, 통신 시스템의 구성과 관련된 사항을 설정하거나 설정값을 가져오기위해서 만들어졌다.
(1) 콘솔로 캡쳐기, 필터, 컨테이너 클래스를 구성한다.
컨테이너와 리스트 컨트롤을 옵저버 패턴으로 연결할 것을 염두에 둔다.
리포트 모듈을 리스트 컨트롤과 옵저버 패턴 혹은 이벤트 드리븐으로 연동
- DPSCChapter2 . . . . 6 matches
디자인 패턴에 대한 구체적인 설명에 들어가기 전에 우리는 다양한 패턴들이 포함된 것들에 대한 예시들을 보여준다. 디자인 패턴 서문에서 GoF는 디자인 패턴을 이해하게 되면서 "Huh?" 에서 "Aha!" 로 바뀌는 경험에 대해 이야기한다. 우리는 여기 작은 단막극을 보여줄 것이다. 그것은 3개의 작은 이야기로 구성되어있다 : MegaCorp라는 보험회사에서 일하는 두명의 Smalltalk 프로그래머의 3일의 이야기이다. 우리는 Don 과(OOP에 대해서는 초보지만 경험있는 사업분석가) Jane (OOP와 Pattern 전문가)의 대화내용을 듣고 있다. Don 은 그의 문제를 Jane에게 가져오고, 그들은 같이 그 문제를 해결한다. 비록 여기의 인물들의 허구의 것이지만, design 은 실제의 것이고, Smalltalk로 쓰여진 실제의 시스템중 일부이다. 우리의 목표는 어떻게 design pattern이 실제세계의 문제들에 대한 해결책을 가져다 주는가에 대해 설명하는 것이다.
제가 디자인부탁하는 것은 바로 이 요구-진행 작업흐름시스템 입니다. (그냥 영어 그대로 써도 될것 같은데.. 대체할 용어가 생각안난다. 아, 어휘 딸려라. --;) 이 개체들이 어떻게 같지 작용해야 할지 모르겠어요. 제가 생각하기론, 이 시스템에서의 기본적인 개체들은 찾은 것 같은데, 각 개체들의 행위들을 어떻게 이해해야 할지 모르겠어요.
Data Entry. 이것은 다양한 form으로부터 health claims 를 받는 다양한 시스템으로 구성된다. 모두 고유 id 가 할당되어 기록되며, Paper claims OCR (광학문자인식) 로 캡쳐된 데이터는 각 form field 들에 연관되어있다.
Validation. 스캔되고 입력되어진 form들은 각 필드들에 대해 일관성보증과 모든 폼이 완전히 채워졌는지에 대한 보증을 위해 검증작업을 거친다. 불완전하거나 적절치 못한 입력은 시스템에 의해 reject되고, 재확인을 위해 요구자에게 도로 보내진다.
- EightQueenProblem2Discussion . . . . 6 matches
이문제는 처음 접해본 문제라 먼저 종이에 체스판을 그리고 직접 문제를 풀려고 해보았습니다. 그리고 생각해낸것을 종이에 적고(1여왕은 가로,세로,대각선 같은줄에 있음 안된다. 2,먼저 첫번째 여왕을 놓고 두번째 여왕이 놓일 위치를 결정한다. 3 검사하는 방법은 가로->세로->대각선 순으로 한다. 4 여왕8개가 다놓이면
''기본적으로 이 문제는 알고리즘을 스스로 고안(invent)해 내는 경험이 중요합니다. BackTracking 알고리즘을 전혀 모르는 사람도 이 문제를 풀 수 있습니다. 아니, 어떻게 접근을 해야 BackTracking을 전혀 모르는 사람도 이 문제를 쉽게 풀 수 있을까 우리는 생각해 보아야 합니다.''
저는 뭐 아무것도 없이 문제만 보고 뛰어들었습니다. 일단 두번의 실패 (자세한 내용은 EightQueenProblemDiscussion)이후 세번째로 잡은 생각은 일단 한줄에 한개만 말이 들어간다는 점이었습니다. 그 점에 착안하여. 8*8의 모든 점을 돌게 만들었습니다. 좀 비효율적인데다가 아주 엉망인 소스 덕분에.. 문제는 풀었지만.. 수정/보완에 엄청난 시간이 걸리더군요(종료조건을 찾을수가 없었다는.. 그래서 수정에 30분 이상 걸렸습니다.) 후...... 이래저래 많은 생각을 하게 한 소스였습니다. ㅡ.ㅡ;; 왠지 더 허접해 진 느낌은.. --선호
원래 만들어놓은것이 전체가 표시되는 것이여서 특별히 고친것은 없었습니다. (단, 디버깅문제로 소스수정문제 빼고는..)
- HanoiTowerTroublesAgain! . . . . 6 matches
첫번째 줄에는 테스트 케이스의 개수를 나타내는 정수 T(1≤T≤50)가 입력된다. 각 테스트 케이스마다 쓸 수 있는 기둥의 개수를 나타내는 정수 N(1≤N≤50)이 입력된다.
각 테스트 케이스에 대해 기둥에 끼울 수 있는 공의 최대 개수를 나타내는 정수를 출력한다. 끼울수 있는 공의 개수가 무한대면 '-1'을 출력한다.
- Hartals . . . . 6 matches
입력의 첫번째 줄에는 입력될 테스트 케이스의 개수를 나타내는 하나의 정수 T가 들어있다. 각 테스트 케이스의 첫번째 줄에는 한 개의 정수 N(7≤N≤3,650)이 들어있으며 시뮬레이션을 돌릴 기간(날 수)을 나타낸다. 그 다음 줄에는 정당의 개수를 나타내는 정수 P(1≤P≤100)가 들어간다. 그 다음부터 시작하는 P개의 줄 가운데 i번째 줄(1≤i≤P)에는 i번째 정당의 동맹 휴업 지수를 나타내는 양의 정수 hi(7의 배수는 아님)가 들어있다.
각 테스트 케이스에 대해 손실된 근무 일수를 한 줄에 하나씩 출력한다.
- HelpOnActions . . . . 6 matches
이러한 기능은 시스템에 설치하거나 일부 기능을 비활성화 시키는 것이 가능하며, 확장을 통해 새로운 기능을 넣을 수도 있습니다. (자세한 내용은 HelpForDevelopers를 통해 참조하세요)
다음의 내용은 모니위키에서 기본적으로 제공되는 액션이며, 아래에 기술된 액션의 일부는 시스템에 따라서 비활성화 되어 사용할 수 없을 수도 있습니다.
* `!DeletePage`: 파일 지우기 - 하단에 파일 지우기 액션 메뉴가 있는 경우가 있습니다. 이 액션을 누르면 페이지의 최종 백업본이 지워지지만 페이지의 역사는 계속 남아있으므로 (시스템 관리자가 이것을 지우지 않는 이상) 언제든지 복구할 수 있습니다. 일부 위키에서는 지우기가 활성화 되어 있지만, 모니위키에서는 기본적으로 관리자만이 페이지를 지울 수 있도록 설정되어 있습니다.
* `titleindex`: 페이지 목록을 텍스트로 보내거나 (Self:?action=titleindex) XML로 (Self:?action=titleindex&mimetype=text/xml'''''') 보내기; MeatBall:MetaWiki 를 사용할 목적으로 쓰임.
* `raw`: 페이지의 소스(raw)를 텍스트로 그대로 보여주는 액션. 위키 문법을 볼 수 있게 해준다.
- HelpOnProcessingInstructions . . . . 6 matches
== 프로세싱 인스트럭션 (PI) ==
모니위키 페이지를 처리할 때에 프로세싱 인스트럭션 (PI)에 의해 그 기능이 제어될 수 있습니다. 프로세싱 인스트럭션은 페이지의 맨 상단에 위치하며, "{{{#}}}" 문자로 시작하는 키워드(대소문자 구분없음)로 구성되며 인자가 선택적으로 붙을 수 있습니다. {{{##}}} 두개가 시작되는 줄은 주석줄로 처리됩니다.
지원되는 여러가지 프로세싱 인스트럭션 (PIs):
* {{{##}}} ''모든 텍스트'': 주석
* '''plain''': 일반 텍스트
- JAVAStudy_2002/진행상황 . . . . 6 matches
c같이 하믄 쉬울 텐데.. 무신 클래스들이 이렇게 많은지.. --;;[[BR]]
*테스트를 하려면 채팅서버를 켜야함
*[http://zeropage.org/~woodpage/pds/채팅.zip 소스]
* 아직까지는 처음부터 해서, 대충 생략좀 하다가 해서 객체지향 중간 까지 봤습니다.빨리 스윙 해야지.......
현재 Java swing API중 버튼이나.. 텍스트 박스에 대한 것을 익혔습니다.(Application쪽..)[[BR]]
- LinuxSystemClass . . . . 6 matches
리눅스 시스템
[LinuxSystemClass/Report2004_1] - PosixThread 를 이용, 스레드를 만들고 그에 따른 퍼포먼스 측정.
이과목 예전에 유닉스 시스템 대체 과목인가보죠? 시대가 변해서 바뀐건가 - [eternalbleu]
- MFC/DynamicLinkLibrary . . . . 6 matches
프로그램이 먼저실행되데 DLL은 프로그램의 요청이 발생한 시점에서 메모리에 로드된다. 그때가 되서야 프로그램은 DLL로부터 함수의 어드레스를 얻고 그것을 사용해서 함수를 호출한다.
DLL은 함수에 대한 코드만을 저장는데 국한되는 것이 아니다. 비트맵, 폰트와 같은 리소스들을 DLL 안에 위치시킬 수도 있다. 예를 들자면 카드놀이에 사용되는 Cards.dll 에서 카드들에 대한 비트맵 이미지와 그 것들을 다루는데 필요한 함수들을 포함하고 있다.
DLL 에 있는 요소들은 export 된 것들만을 접근 할 수 있다. export 는 함수, 클래스, 글로벌 정적 변수, 리소스들이 가능하다.
DLL 에서 동적으로 메모리를 생성하는 경우, 해당 DLL 을 이용하는 프로세스의 힙에 해당 메모리 공간이 잡히게 된다. DLL 이 하나만 올라간다고 메모리가 공유되진 않는다.
만일 프로세스-global 한 메모리를 쓰고 싶다면, 메모리 맵을 이용하거나 DLL 공유 영역을 선언하는 방법 등을 써야 한다.
- MySQL . . . . 6 matches
ZeroPage에서 사용하고 있는 데이터 베이스
개인이 자신의 자료만을 백업하기를 원할때에는 위에 언급된 디렉토리에서 자신의 데이터 베이스에 해당하는 디렉토리를 복사 하는 것으로 백업이 가능하다.
재니가 오늘 물어보는데, ORDER BY name (스트링) 을 하는데, 가나다순으로 정렬이 안된다고 해서.
MySQL에서 한글이 들어간 문자열을 제대로 정렬하려면 char 타입이 아닌 char binary 타입을 쓰면 됩니다. 하지만 이미 char 타입으로 되어있다면 ORDER BY BINARY 필드명 을 사용하면 됩니다. MySQL에서 char 타입은 순수한 아스키(0~127) 값에서만 제대로 동작합니다. 물론 char 타입을 쓴다고 해서 한글이 저장되지 않거나 하는건 아니지만, 검색이나 정렬등에서 제대로 작동하지 않는 경우가 있습니다. --["상규"]
MySQL 에서 다른 데이터베이스로 데이터를 옮길 경우 기존 데이터중 문제가 되는 것이 바로 내장함수인 PASSWORD 를 이용해서 암호화를 한 부분이다. 다른 데이터베이스에서 이 데이터를 쓸 방법이 없기 때문이다. 이 경우, 로직 단에서 MySQL의 Password 함수를 대신 구현해줌으로서 해결을 할 순 있다.
- ProgrammingPearls/Column1 . . . . 6 matches
* 제한 : 메모리를 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프로다. 일반적으로 많은 공간을 사용하면 적은 시간이 소요된다고 한다. 그런데 비트맵 소트는 시간도 줄고, 공간도 줄어들었따. 적은 데이터를 다루는 것은, 그것을 수행하는 데에 더 적은 시간이 든다는 것이다. 그리고 데이터를 디스크에 두기 보다는 메모리 상에 두는 것이 디스크 액세스 같은 시간 걸리는 일을 줄일 수가 있는 것이다. 프로그램을 간단하게 짜자. 유지보수도 쉽고, 견고할 것이다.
- ProgrammingPearls/Column6 . . . . 6 matches
* 시스템 독립적인 코드 튜닝 : double형보다 시간이 절반 정도 걸리는 float를 썼다.
* 시스템 의존적인 코드 튜닝 : 크리티컬한 부분을 어셈블리로 다시 짰다.
* 시스템 구조
* 시스템 소프트웨어
* 적은 양의 스피드업을 원한다면 가장 고치기 쉬운 부분만을 고치자.
* 많은 양의 스피드업을 원한다면 다단계를 고치자. 한군데를 고침으로써 다른 부분도 고칠것이 생긴다.
- ReverseAndAdd . . . . 6 matches
테스트 데이터로 쓴이는 수는 모두 뒤집어서 더하기를 1,000번 미만 반복해서 회문을 찾을 수 있는 수고, 그렇게 만들어진 회문을 4,294,967,295보다 크지 않다고 가정해도 된다.
첫번째 줄에는 테스트 케이스를 나타내는 정수 N(0<N<=100)이 들어있고, 그 아래로 N개의 줄에 걸쳐서 회문을 구해야 하는 정수가 한 줄에 하나씩 들어있다.
N개의 각 정수에 대해 회문을 발견하는 데 필요한 최소한의 반복 횟수를 출력하고, 스페이스를 한 칸 출력한 다음, 그 회문을 출력한다.
* 개인적인 사정도 있었고, 스러피에서 슬럼프에 빠졌었습니다. 다시 열심히 할께요~ - [이승한]
- Ruby/2011년스터디/서지혜 . . . . 6 matches
[[pagelist(^Ruby/2011년스터디)]]
* 프로세스간의 통신
* 윈도우 API 테스트
* windows API로 프로세스의 정보 받아오기 ([http://sosal.tistory.com/100 원본])
* 특정 프로세스 죽이기 ([http://sosal.tistory.com/entry/%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4-%EB%A6%AC%EC%8A%A4%ED%8A%B8-%EC%B6%9C%EB%A0%A5-%EA%B0%95%EC%A0%9C-%EC%A2%85%EB%A3%8C-%EC%86%8C%EC%8A%A4 원본])
TCHAR *targetProcess = _T("NateOnMain.exe"); // 종료하려는 프로세스의 이름을 쓴다
- SmallTalk/강좌FromHitel/강의4 . . . . 6 matches
었는지를 이해하기가 어렵습니다. 아무래도 Smalltalk 시스템의 상태가 이
그러나 좀 더 효과적인 공부를 위해서는 모든 Smalltalk 명령을 여러분이 스
스로 쳐 넣으며 실행해야 합니다. 맹목적으로 명령을 쳐 넣는 것이 아니라,
Windows와 같이 그림 위주의 사용자 환경(GUI)에서는 마우스가 필수적인 입
력장치로 생각되고 있습니다. 물론 이것은 맞는 말입니다. 그러나 마우스가
언제나 편한 것만은 아닙니다. 어떤 때는 글쇠판이 마우스보다 편할 경우가
- Steps . . . . 6 matches
첫번째 줄에는 테스트 케이스의 개수인 n이 입력된다. 한 줄에 하나씩의 테스트 케이스가 입력되며, 각 줄마다 두 개의 정수 x, y가 입력된다. 0 ≤ x ≤ y < 2<sup>31</sup> 이다.
각 테스트 케이스에 대해 x 에서 y로 이동할 수 있는 최소 단계 수를 한 줄에 하나씩 출력한다.
- TAOCP/BasicConcepts . . . . 6 matches
레지스터는 앞에 소문자 r을 붙여 표기
I - 인덱스(the index specification). 값이 1~6으로 rI1~rI6에 있는 내용과 메모리 주소를 더함
CONTENTS(M)을 레지스터에 넣는다.
레지스터의 값을 CONTENTS(M)에 넣는다.
레지스터와 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)를 이용한다.
- TheKnightsOfTheRoundTable . . . . 6 matches
테스트 케이스의 개수에는 제한이 없으며, 각 테스트 케이스마다 삼각형의 세 변의 길이를 나타내는 실수 세 개(a,b,c)가 입력된다. 어떤 변의 길이도 1,000,000을 넘지 않으며, max(a,b,c) ≤ (a+b+c)/2 라고 가정해도 된다.
각 테스트 케이스마다 다음과 같은 결과를 출력한다.
- ToyProblems . . . . 6 matches
* 텍스트 도형 작도
*준비물: 기본적으로 이클립스와 Python 2.3b1( + idlefork), NetMeeting 설치
1. 그 중 하나에 대해 스스로 문제를 풀게한다 10m.
* JuNe님 소스 공개 해주셔요. _temp에 있던 코드들이 눈 앞에 아른거려요. :) --[강규영]
* 패러다임 프로그래밍 재미있어 보이네요. 2011년 데블스 캠프에 시도해보면 좋겠습니다 - [서지혜]
- WeightsAndMeasures . . . . 6 matches
테스트가 너무 적은 듯. 풀기는 풀었는데 체점하려니 python은 지원하지 않아 확인 못함...=,= 나중에 C++로 변경해서 해봐야겠음. --재동
테스트 케이스가 필요하다면 꽁수가 있기는 하다. Java로 standard input으로 읽는 라인을 합쳐다가 모조리 특정 URL에 포스트 하도록 하는 코드를 만들어 업로드 한다. 그러면 심사때 사용하는 테스트 케이스를 알 수 있다. --JuNe
- ZeroWiki/Mobile . . . . 6 matches
* => DB 스키마 구조를 이해하고 있어야 함. 필요시 위키 페이지 소스에 대한 분석도 필요
* => 페이지를 불러와 이를 다시 바꿔야 하므로 직접 연동에 비해 느리며 서버에 부하를 줌. 하지만 위키 HTML 소스 분석만 하면 됨
* 스프링~ 스프링~ 돌아와 스프링~ - [서지혜]
- 겨울방학프로젝트/2005 . . . . 6 matches
|| [AI오목컨테스트2005] || 각자 작성한 AI 오목끼리 대결, 현재 현태, 상협이 만든 두개가 있고 [MFCStudy_2005_2_야매] 스터디 멤버들이 이어서 만들거라 기대함 || 상협 현태 태훈 민경 ||
|| [OurMajorLangIsCAndCPlusPlus] || C/C++을 자신의 주 언어로 삼고 싶은 사람들의 스터디-_- || 현태 민경 도현 수생 끝 ||
|| [2005MFC스터디] || MFC기초부터 ~ || 현태,수생,민경,아영 ||
** 2005년 12월 15일 정모에서 나온 프로젝트입니다. 해당 스터디에 해당하는 분이 스터디 이름과 페이지를 꾸며주시기 바랍니다.
- 권영기 . . . . 6 matches
* 카이스트 전산학부 16학번 (석사과정)
* [ACM_ICPC/2012년스터디]
* [ACM_ICPC/2013년스터디]
* [MachineLearning 스터디]
* NIPA-Purdue 캡스톤 프로그램
* [ann이요] -> [머신러닝스터디]
- 기본데이터베이스/조현태 . . . . 6 matches
오오.. 귀차니즘이 글에달한 소스여요.ㅎ
선형 리스트로 데이터베이스 구축 -> 자료구조를 배열을 사용하세요~ 로 이해....OTL
또한 소스에서 보시다시피.. 영어실력의 한계가 마구마구 느껴지며~
== 소스 ==
[LittleAOI] [기본데이터베이스]
- 김민재 . . . . 6 matches
* [ZeroPage_200_OK] 스터디 구성원
* [데블스캠프/2013] Speaker - "Opening", "새내기의,새내기에의한,새내기를위한C언어"
* Hello, World! - Std.IO 행사 T.F 스태프 및 ZeroPage 소개 발표자
* [자바자바] 스터디 구성원
* [CppALL/쒸뽈뽈] 스터디 구성원
* [데블스캠프/2016] Speaker - "Crack Me"
- 덜덜덜 . . . . 6 matches
== 스터디 일정 ==
구조체와 링크드리스트에대해 숙제를 낼까 생각해봤지만... 그건 학과 숙제로 충분할거 같아서 ㅋ
- 출석부는 선생님전용입니다 ㅋㅋ 엠에스엔 주소빼고는 건들지 마욧!!! 교수님 출석부한번 건드려봐요 어떻게대나 ㅋ
[DevCppInstallationGuide] // 인스톨 가이드 입니다. <- 필수!!
저 출석표 좋네요~^^ 스터디는 잘 되었나요?? - [톱아보다]
[새싹C스터디2005]
- 데블스캠프2003/둘째날/후기 . . . . 6 matches
2003년도 데블스 캠프의 둘째날 후기 쓰는 곳입니다.
* 으... 결국 EightQueenProblem의 해결에 실패했습니다. 2학년이나 되가지고 쪽팔리게스리... 대각선 처리가 문제군요. 어쨌든 반드시 해결해야겠군요... -영동
*8Queen 5시간 도전끝에 결국 포기하고 스택과 큐밖에 못했다. 언젠간 성공할테야 -- -- 재선[aekae]
* TDD와 페어프로그래밍으로 상욱이랑 미로찾기를 만들면서 많은걸 깨달았다. 가장 중요한건 네이밍의 중요성! 이름을 이상하게 지어놓고 이상한걸 호출하다가 자꾸 이상하게 나와서, 나중에는 '미로를 무시하고 이동한다.' 라는 말까지 나왔었다.--; 그러면서 중간에 TDD를 잘못했구나 아직 멀었구나 덜 테스트했구나하면서 좌절을 했지만 이름을 고치고 나니 바로 해결이 되는걸 보면서.. 아.. 더불어 CSP는 아직도 이해가 잘 안간다. --인수
["데블스캠프2003"], ["데블스캠프2003/둘째날"]
- 데블스캠프2005/게임만들기 . . . . 6 matches
테트리스 만들기 틀 소스(.dsw파일을 실행하셔서, user.cpp파일에 작성하시면 됩니다.)
테트리스 만들기 틀을 이용한 완성 예제
[데블스캠프2005/게임만들기/제작과정예제]
[데블스캠프2005/금요일] [데블스캠프2005]
- 데블스캠프2005/월요일후기 . . . . 6 matches
SeeAlso [데블스캠프2004/금요일후기]
느낌: 신기하다. 정말 세상에는 다양한 학문이있다. 데블스 캠프는 신기하다.
사실은~ 데블스 캠프 첫날이었다
데블스캠프 강사들은 반드시 자신의 강의에 대한 후기/피드백를 써주세요. SeeAlso [데블스캠프2004/월요일후기]
[데블스캠프2005]
- 데블스캠프2006/준비/월요일 . . . . 6 matches
= 데블스캠프2006/준비/월요일 =
||pm 07:00~08:00 || 데블스 소개및 프로그램 설치 || ||
위 일정시간에 배우는 예제 소스는 최종프로그램에서 다 사용 하여서 프로그램을 만든다.
[데블스캠프2006/준비] [데블스캠프2006] [데블스캠프]
- 데블스캠프2006/화요일 . . . . 6 matches
= 데블스캠프2006/화요일 =
[데블스캠프2006/화요일/pointer]
[데블스캠프2006/화요일/fileio]
[데블스캠프2006/화요일/arg]
[데블스캠프2006/화요일/tar]
[데블스캠프2006]
- 데블스캠프2009/연습문제 . . . . 6 matches
= 데블스캠프2009/연습문제 =
* [데블스캠프2009/월요일/연습문제]
* [데블스캠프2009/화요일/연습문제]
* [데블스캠프2009/수요일/연습문제]
* [데블스캠프2009/목요일/연습문제]
* [데블스캠프2009/금요일/연습문제]
- 데블스캠프2011/셋째날/RUR-PLE . . . . 6 matches
* [데블스캠프2011/셋째날/RUR-PLE/송지원]
* [데블스캠프2011/셋째날/RUR-PLE/변형진]
* [데블스캠프2011/셋째날/RUR-PLE/박정근]
* [데블스캠프2011/셋째날/RUR-PLE/권순의]
* [데블스캠프2011/셋째날/RUR-PLE/김태진,송치완]
* [데블스캠프2011/셋째날/RUR-PLE/서영주]
- 삼총사CppStudy/Inheritance . . . . 6 matches
class CMarine // 마린을 정의한 클래스
class CFirebat // 파이어뱃을 정의한 클래스
다음날 문제점이 발견되었다. 마린과 파이어뱃으로 부대를 구성하여 배열에 저장하려고 하였는데 두개의 클래스가 틀리기 때문에 한개의 배열로는 포함할 수가 없었다.
아.. 이 문제를 어떻게 하면 좋을까~? 이럴때 사용할 수 있는 스킬이 바로 '''상속(Inheritance)'''이다.
protected: // protected를 사용한 이유는 상속받은 클래스에서도 이 멤버들을 사용할 수 있게 하기 위함이다.
마린과 파이어뱃은 이 유니트라는 클래스를 상속 받으면 된다.
- 새싹교실/2011/쉬운것같지만쉬운반/2011.3.23 . . . . 6 matches
* 관련 페이지 : ThreeFs, [http://no-smok.net/nsmk/ThreeFs ThreeFs(노스모크)], [http://no-smok.net/nsmk/FiveFs FiveFs(노스모크)]
* 예를 들어 지난주에 돈가스를 먹은 것에 대해 후기를 쓴다면 : "지난주에 강남에 가서 하나에 5만원하는 돈가스를 먹었다.(사실) 기대를 잔뜩 했는데 별로 맛이 없었다.(느낌) 강남은 땅값이 비싸서 값만 보고 엄청 맛있을거라 기대하면 안된다는 것을 알았다.(깨달은점) 다음에는 미리 인터넷에서 평을 찾아보고 별점이 높은 돈가스집을 찾아서 가봐야겠다.(앞으로의 계획)"
* 후후 하스켈은 순수 함수형 C는 절차형으로 종류가 다른 언어에요~ - [서지혜]
- 새싹교실/2012/아우토반/앞반/5.10 . . . . 6 matches
2. 다음 소스 코드를 실행하고 결과를 확인, 이유를 분석해오시오
* 관련 페이지 : ThreeFs, [http://no-smok.net/nsmk/ThreeFs ThreeFs(노스모크)], [http://no-smok.net/nsmk/FiveFs FiveFs(노스모크)]
* 예를 들어 지난주에 돈가스를 먹은 것에 대해 후기를 쓴다면 : "지난주에 강남에 가서 하나에 5만원하는 돈가스를 먹었다.(사실) 기대를 잔뜩 했는데 별로 맛이 없었다.(느낌) 강남은 땅값이 비싸서 값만 보고 엄청 맛있을거라 기대하면 안된다는 것을 알았다.(깨달은점) 다음에는 미리 인터넷에서 평을 찾아보고 별점이 높은 돈가스집을 찾아서 가봐야겠다.(앞으로의 계획)"
- 새싹교실/2013/라이히스아우토반/7회차 . . . . 6 matches
관련 페이지 : ThreeFs, ThreeFs(노스모크), FiveFs(노스모크)
예를 들어 지난주에 돈가스를 먹은 것에 대해 후기를 쓴다면 : "지난주에 강남에 가서 하나에 5만원하는 돈가스를 먹었다.(사실) 기대를 잔뜩 했는데 별로 맛이 없었다.(느낌) 강남은 땅값이 비싸서 값만 보고 엄청 맛있을거라 기대하면 안된다는 것을 알았다.(깨달은점) 다음에는 미리 인터넷에서 평을 찾아보고 별점이 높은 돈가스집을 찾아서 가봐야겠다.(앞으로의 계획)"
[새싹교실/2013],[새싹교실/2013/라이히스아우토반]
- 새싹교실/2013/록구록구/3회차 . . . . 6 matches
관련 페이지 : ThreeFs, ThreeFs(노스모크), FiveFs(노스모크)
ex) 지난주에 돈가스를 먹은 것에 대해 후기
(사실)지난주에 강남에 가서 하나에 5만원하는 돈가스를 먹었다.
(앞으로의 계획)다음에는 미리 인터넷에서 평을 찾아보고 별점이 높은 돈가스집을 찾아서 가봐야겠다.
이제 좀 고급스러운걸 쓸 수 있을거 같아서 신났다.
- 수 . . . . 6 matches
* [새싹C스터디2005/pointer]
교재에 나오는 소스 중 아직 이해하기 힘든 부분은 굳이 이해 하려고 하실 필요는 없습니다.
* 오늘 스터디는 어땠었나요?? - [톱아보다]
└스스로 이해될때까지 약간씩 힌트만 주시는게 괜찮았어요^^ㅎㅎㅎ-[joosama]
[새싹C스터디2005]
- 오페라의유령 . . . . 6 matches
웨버아저씨에게 상상력을 선사해준 소설이란? 원작에 상관없이 자신스타일로 작품을 만들어내는 웨버아저씨여서 (그래봤자 본건 하나뿐이지만; 한편은 대본읽음). 개인적인 결론은 해당 소설로부터 자신의 주제의식을 뽑아낸 웨버아저씨 멋져요 이긴 하지만, 이 소설이 태어나지 않았더라면 Phantom of the opera 가 나타나지 않았을 것이란 생각이 들기에. (소설의 구성 등을 떠나서, Phantom 이라는 캐릭터를 볼때)
뮤지컬의 이미지때문인지 (한번도 안본 뮤지컬에 대해 이미지를 떠올리는것도 우스운 일이다. OST와 Sarah 의 뮤직비디오는 많이 보긴 했지만) 크리스틴을 볼때마다 사라아주머니의 젊었을때의 사진을 떠올렸고, Phantom 이 등장할때엔 그 Main Theme (Phantom 의 그 멋진 웃음소리와도 같게 들리는...) 를 떠올렸다.
만일 이 주제로 파트리크쥐스킨트가 썼다면 아마 후각에의 집착이였던 '향수' 에 이은 청각에의 집착과 같은 이야기가 되지 않았을까 하는 상상.
* 소설에서의 Raoul 의 그 바보스러움이란;
* 소설에서의 Angle of the music 은 Phantom 을 이야기하는것 같은데, 왜 Webber 의 노래에선 크리스틴을 지칭할까.
- 위시리스트 . . . . 6 matches
* PC, Tablet, Server, Board, MCU, Sensor, 프린터기 등 S/W, H/W 개발 관련, 스터디, 프로젝트, 회의 관련 기자재 및 도서
* 이 제도는 학회 회원들의 활발한 스터디 및 프로젝트 진행을 돕기 위함입니다.
* 에어스프레이
* 오큘러스 리프트 DK2 구입
* 5월 11일자 마감된 위시리스트 페이지를 분리했습니다. - [김민재]
[위시리스트/구상]
- 이영호/미니프로젝트#1 . . . . 6 matches
// 클래스의 상속성으로 인해 기존의 클래스를 고치지 않아서 인것 같다.
방법론 : 프로세스를 여러개 만들어 비교적 프로그램이 쉬워지게 만든다.
(3번에서 Master가 누군지 알아보게 하는 것 -> Private 메세지로 패스워드를 넘겨 IP를 인증 받는 방식.)
main.c -> IRC Server로 메세지를 보내는 역할을 하고 자식 프로세스를 생성한다.
kill(0, SIGKILL); // 부모가 종료하면 자식 프로세스 모두 종료한다.
- 정모/2006.4.10 . . . . 6 matches
* PHP스터디
=== 코드레이스 의견 ===
7. 새싹스터디를 이용한다.
8. 코드레이스 전에 문제를 같이 풀어본다.
11. 코드레이스 진행 후 팀별로 설명한다.
12. 코드레이스 전에 간단한 문법 설명을 한다.
- 정모/2011.7.11 . . . . 6 matches
== 프로젝트/스터디 ==
* 태진이의 OMS로 첫 스타트를 했네요. 애플에 대해 이야기 하는 것이 주변 친구들을 생각나게 하더군요 -ㅅ-; 지금도 쓰고 있는 MDplayer를 팔고 IPod Classic을 살까 말까 고민중인데다 애플 제품은 잠깐씩만 만져봐서 잘 모르는 상황이었는데, 재미있었습니다. 그래도 고민은 되네요 -ㅅ-a 그러고 나서 뭔가 금방 끝난 것 같네요; - [권순의]
* DP 세미나 참여 때문에 일찍 끝나서 뭔가 약간 아쉬웠습니다. 데블스캠프도 마치고 새로운 스터디/프로젝트도 시작되어서 사실 공유할 수 있는 것들이 많았을텐데 (저 같은 경우 DB2 Certi Program에 대해 좀 공유하고 싶었고..) 다음주를 기약 해야겠어요. 태진이의 OMS는 MacBook의 디스플레이가 원활했다면 keynote로 더 좋은 presentation이 될 수 있었을텐데 아쉬웠을 것 같아요. 본의 아니게 (주제가 Apple이다 보니) 선배님들이 많이 (농담조로) 디스했는데 발표는 좋았답니다. 역시 태진이는 기대치를 높여주는 친구에요. - [지원]
- 정모/2013.4.8 . . . . 6 matches
= 아이스브레이킹 =
= 스터디&프로젝트 공유 =
== WINAPI로 6p 게토 시스템 ==
* 약속때문에 아이스 브레이킹하는 중에 왓네요. 개인적으로는 재미있었습니다. - [김윤환]
* JAVA,C++관련해 스터디 하고싶긴한데..(제가 가르치는게 아니고 다같이 공부하는 그런스터디요) 강사분 모집?! - [양아석]
- 정신병원에서뛰쳐나온디자인/밑줄긋기 . . . . 6 matches
* 어떤 사람이 소형 비행기로 비행하던 도중 구름 속에서 길을 잃었다. 그는 건물이 보일때까지 고도를 낮춘 뒤 그 건물의 열려 있는 창문 너머로 보이는 한 남자에게 ''"지금 제가 있는 곳이 어디입니까?"'' 라고 소리질러 물었다. 그 남자는 ''"당신은 지상 100피트 상공에 있는 비행기 안에 있습니다."'' 라고 대답했다. 조종사는 즉시 정상 코스로 복귀하여 공항을 찾아 착륙했다. 놀란 탑승객들이 조종사에게 어떻게 길을 알아냈는지 물어보았다. 조종사가 대답하기를 ''"그 남자의 대답은 100% 정확하고 사실이었지만 전혀 도움이 되지 않는 대답이었습니다. 그래서 나는 그가 마이크로소프트 사에서 일하는 소프트웨어 엔지니어라는 것을 금새 알아차렸습니다. 그리고 마이크로소프트 사 건물의 위치를 기준으로 해서 공항의 위치를 알아냈습니다."'' 라고.
* 프로그래머들은 자신들이 가장 좋아하는 스타일로 컴퓨터의 행동 및 정보 제공 방식을 만들어내고, 이는 제인에게 가장 적합한 행동 및 정보 제공 방식과 큰 차이가 있다.
= 포크로 스프 먹기 =
== 호모 로지쿠스 ==
= 인터랙션 디자인은 굿비지니스다 =
== 지금까지의 프로세스는 잊어라 ==
- 큐와 스택/문원명 . . . . 6 matches
큐와 스택 처리 인데요...
else //스택
// 스스로 메모리를 할당합니다.
ps. 초반에 데블스 캠프를 대비한 ZeroWiki의 사용 방법에 대한 정책이 부재했던것 같습니다. 하지만, 이 자체가 즐거운 학습의 기회가 될수 있을 것 같습니다.
else //스택
- 테트리스만들기2006/예제1 . . . . 6 matches
== [테트리스만들기2006/예제1] ==
사각형만 내려오는 테트리스를 만든다. 계속 내려오기만 하면 되며 끝까지 쌓이면 프로그램이 종료된다.
=== 참고할 예제소스 ===
==== 1초마다 숫자를 1 증가시키는 소스 ====
==== 발로짠 원하는 위치에 점찍는 소스 ====
[테트리스만들기2006]
- 홈페이지만들기/css . . . . 6 matches
스타일 시트에서는 원하는 글자 크기를 마음대로 조정할 수 있다.
<font class="02">우리 말로 스타일 시트입니다.</font><br><br>
{font-style:스타일}
<title>글꼴 스타일 설정 예제</title>
{font:각 스타일의 키워드}font에 관련된 스타일을 일괄적으로 지정할 수 있다.
- 황재선 . . . . 6 matches
* [데블스캠프2003]
* [방울뱀스터디]
* [5인용C++스터디]
* [2학기파이선스터디]
* [데블스캠프2004]
* 선배 ~ [데블스캠프2005/사진] 사진이 안뜨네요 ! ! ㅜ -[허아영]
- 05학번만의C++Study/숙제제출4/최경현 . . . . 5 matches
=== 소스 ===
cout << "클래스가 생성 되었습니다." << endl ;
cout << m_number << "를 가진 클래스가 파괴 되었습니다." << endl ;
- 확실히.ㅎㅎ 버그가 있네. 이 버그는 클래스를 삭제한 뒤에 그 공간이 비게되는데, 거기에서 값을 체크하는 함수를 실행시키려고 시도했기 때문에 발생하는 문제야.
해결 방법은 그 공간뒤의 클래스들을 한칸씩 앞으로 당기고, i의 값을 1줄여주면 되겠지.ㅎㅎ
- 3DGraphicsFoundation . . . . 5 matches
* 수학함수 모듈 인터페이스 예제 - C style : ["3DGraphicsFoundation/MathLibraryTemplateExample"]
* 인수의 프로그램 [http://165.194.17.15/~nuburizzang/Fracta.exe] : 소스 조올라 더렵다 --; 튜토리얼에서 제공하는 무지막지하게 긴 템플릿을 써서 상당히 길기도 하다. 걍 실행파일만..--; 근데 꼭 심시티 같다--;
* [http://http://www.drunkenhyena.com/docs/d3d_tutorial.phtml] : 여기는 nehe 소스를 DX로 만들어 놓은 곳.. -- 정수
* [http://www.chronocross.de/directx8.htm] : 3D 타일맵에 빌보드 캐릭터 출력 예제 소스 있는 곳 -- 정수
* OpenGL SuperBible 소스 모음집 [http://165.194.17.15/~nuburizzang/gl/Book.zip]
- APlusProject . . . . 5 matches
오빠가 말한 문서 열어봤는데 클래스 이름이나 함수이름이 안적혀 있어서 적을수가 없었어요;;
현재 이곳에 올려 놓는 자료는 모두 암호를 가지고 있습니다. SE 수업이 끝나면 모든 소스와 문서는 공개할 예정입니다. 혹시 파일 다운을 못받으신다면 '인터넷 익스플로어'에서 도구 -> 인터넷 옵션 -> 고급 -> 'URL을 항상 UTF-8로 보냄'의 체크를 없애고 재부팅 해야 다운 받으실 수 있습니다. (파일 이름의 한글이 문제입니다)
Upload:Spice1998.zip - 스파이스 관련 표준 문서
- AcceleratedC++/Chapter3 . . . . 5 matches
* etc : vector의 맨 처음 인덱스는 [0]이다. 마지막은 [size-1]
* 최종 소스
// 원래 책에는 위 소스 처럼 각각 이름공간을 주었지만 이제부터 무난한 std로 쓰겠습니다.
// 바로 밑에 소스가 이상합니다.
* C++의 스탠다드 라이브러리들은 걱정하지 말고 써도 된다. C++은 performance-critical한 애플리케이션 제작을 위해 만들어졌기 때문이다.
- BusSimulation/영창 . . . . 5 matches
구현특이사항 : vector, map, algorithm 등 stl 클래스 사용
* [[HTML(<STRIKE>)]]버스 순환 필요함.[[HTML(</STRIKE>)]]
* 역에서 기다리는 사람이 타려고하는 버스가 도착하면 그 버스에만 탑승해야한다.
타야하는 버스는 마찬가지로 랜덤으로 할당해야한다.
- CauGlobal/Episode . . . . 5 matches
2001년 유럽여행을 갔을때의 일입니다. 프랑크푸르트의 한 유스호스텔에서 쉬고 있던 중, 같은 방을 쓰던 일본인 여행객과 이야기를 하게 ㅤㄷㅚㅆ습니다. 이런 저런 이야기를 하다가, 무슨의도(?)에서였는지는 모르지만, 자신이 여기올때 싼(!) 대한항공 타고 왔다고 말하면서, 우리는 어떤걸 타고 왔냐고 물어보더군요.
1. 먼저 실시간으로 항공권을 알아볼 수 있는 인터넷 사이트를 이용합니다. (투어익스프레스가 좋더군요)
1. 이때 꼭 같은 곳으로 가는 항공편일 필요는 없습니다. 예를들어, 샌프란시스코로 가는 JAL 항공권일 경우, 서울->동경 구간이 WAIT 상태라면, LA로 가는 예약에서 서울->동경 구간을 확보한다면 되는거죠.
- ClipMacro . . . . 5 matches
새로운 자바 애플릿 플러그인입니다. 테스트해보세요. -- 211.106.173.4 [[Date(2005-03-09T17:15:41)]]
잘 안되네요. 윈XP pro !SP2 , Internet Explore 6.0 !SP2 에서 테스트 했습니다. paste와 copy는 별 반응없고, Unload 괜히 눌렀다가 위의 그림만 지웠네요 ^^;
익스플로러 XP프로 SP2에서 잘 되는군요. print screen키를 누르신다음에 paste해보세요 -- Anonymous [[DateTime(2005-03-31T16:55:09)]]
* 김광훈 테스트
테스트 -- Anonymous [[DateTime(2005-05-11T13:02:46)]]
- CommentEachOther . . . . 5 matches
전에도 느꼈었고, 여러 대가들께서도 자주 말씀하시곤 하는데, 자신의 코드의 퀄리티를 높이려면 남이 만들어놓은 소스를 보라는 이야기가 있다. 이 글을 읽는 분들도 동의하리라 생각한다. CommentEachOther 는 [AOI]나 LittleAOI 처럼 여러 사람이 한 문제에 대한 풀이를 올리고 그것들에 대한 코멘트를 하는 스터디라 할 수 있겠다. 여기서 코멘트라 함은 소스코드에서 명령문 옆에 붙이는 간단한 부연설명이 될 수도 있겠고, 코드 전체에 대한 비평이나 느낌일수도 있다. 처음에는 간단한 문제로 시작해서 디자인 principle 이 들어가있는 프로그램으로 횟감의 스케일을 키워나가는게 어떨까 생각을 한다. 나는 그냥 제안하는 입장이고, 간혹 간단하게 작성한 소스를 올리는 정도로만 참여하도록 하고, 적극적인 참여를 할 사람들이 생기면 이곳에 문제와 자신의 코드를 올리고 토론을 해봤으면 좋겠다. 토론의 방법이야 오프라인 모임에서 하거나 따로 코멘트 페이지를 만들거나. 자. 다들 어떻게 생각하시는지? 참여할분들(!) 계시면 아래에 참여자 목록과 문제를 업로드해 주셨으면.~ - 임인택
- CppStudy_2002_1/과제1 . . . . 5 matches
DeleteMe) 소스가 너무 길어지니, 각 소스별로 페이지를 나누는 것이 좋을듯. --["1002"]
= 각 소스에 대한 도움말 =
* 영동의 소스 : 먼저 전체적으로 02학번의 경향이 전역 변수를 쉽게 선언하는거 같다. 전역변수는 나중에 프로그램이 커질 경우에는 다른 여러 변수와 헷갈릴 수 있기 때문에 가능하면 피하는게 좋다.
== 소스들 ==
- Devils . . . . 5 matches
Devils ( Developers' Idols ) 란, 과거에 [제로페이지]가 한해 70명~80명의 인원을 넘어서 너도나도 [제로페이지] 시절(19xx년~?)에 엘리트 주의를 표방하며 등장한 두개의 소모임([데블스],[폴리곤]) 중 하나이다.
두 단체의 차이점은, [데블스]는 다수 회원이 겹쳤지만, [제로페이지]와 완전한 독립 단체를 선언하고 활동하였으며, [폴리곤]은 [제로페이지]내의 작은 소모임으로 존재한다.
이 두 단체는 [제로페이지]의 규모가 작아지고, 과거의 시작 멤버 이후로 모임의 강도가 약해지면서 [제로페이지]와 통합하였는데, [데블스캠프]는 [데블스]의 정신을 이어 받은 신입생을 위한 밤새기 세미나로 남아 있다.
[Devils]의 발음에 대한 토론은 굉장히 많았으며, 창립멤버들이 '''[데블스]'''로 읽기로 결정해서 의견을 존중한다.
- DirectVariableAccess . . . . 5 matches
인스턴스 변수의 값을 어떻게 얻어오고 어떻게 셋팅해주는가?
스몰토크 진영에서는 IndirectVariableAccess를 선호했다. 그러다가 켄트아저씨가 DirectVariableAccess를 써 보고는 그것의 가독성에 놀랐다.
와드 아저씨의 말로는, '클래스에 아주 적은 양의 메소드만 존재한다면, getter/setter를 추가하는 것만으로도 메소드의 수가 두배가 되어버린다. 이는 전혀 사용되지 않을 유연성을 위해 쓸데없이 갯수를 늘린 것이다.' 라고 한다.
하지만 이 클래스가 상속이 될 가능성이 있다면, setter/getter를 오버라이딩 해서 사용할수 있으므로, IndirectVariableAccess를 쓰는 것이 괜찮다.
- DrawingToy . . . . 5 matches
빨간색 네모박스에 황금색 모니터(?)가 있고 그 밑에 단추 두개가 양 옆에 달려있다.
뒤집어서 흔들기는 스페이스바를 이용.
시작점은 마우스 클릭으로 선정, 게임도중에도 마우스 클릭으로 시작점 변경 가능.
- EightQueenProblem/밥벌레 . . . . 5 matches
일단 찍어 놓을테니까 좀 세줘- 라는 개념의 소스...다소 엽기 소스라 볼 수있을지도...-_-;;;
여기 있는 소스들중 가장 인간적인(?) 소스라 자부함.. :) (다들 어쩌면 그렇게 아이디어들이 번뜩이시는지)
procedure SetQueens(n: Integer); // 퀸 배치하기. 이 소스의 핵심함수. n은 현재 사용안한다. 처음엔 RandomSeed로 쓰려했음..-_-;
- HardcoreCppStudy/두번째숙제/CharacteristicOfOOP/김아영 . . . . 5 matches
데이터 은닉이란 모듈이 그것이 갖는 기능들을 명세한 인터페이스(interface)를 통해서만 접근되고, 그 기능을 구현하는 방법은 다른 모듈로부터 은닉되도록 하는 것을 말한다. 캡슐화된 객체의 외부 인터페이스를 엄밀히 정의함으로써 독립적으로 작성된 모듈간의 상호 종속성을 극소화하여 캡슐화된 객체는 외부 인터페이스만을 통하여 접근될 수 있도록 한다면, 세부적인 구현 상세 사항에 대해서는 객체내에 은닉시킬 수 있다. 또한 캡슐화된 객체는 객체 구현내역을 변경, 혹은 향상시킬 때 이 객체를 사용하는 타 객체들을 변경하거나 다시 컴파일하지 않도록 할 수 있다. 또 모듈의 내부 구현 사항들이 외부의 접근으로부터 보호될 수 있음으로, 그 객체의 정당성을 보증할 수 있으며, 오류가 발생되었을 경우에 오류는 한 모듈내로 국지화될 수 있다.
객체지향 프로그래밍에서 다형성이란 근본적으로 상속에 뿌리를 두고 있다. 조상 클래스로부터 상속을 받아 새로운 객체들이 파생되어 생성된다. 이때 만약 새객체들이 모두 조상 클래스와 모두 동일한 값만 가지고 있다면 새로운 객체로서 의미가 없다. 왜냐면 그것을 만드는 이유는 무언가 다른 역할을 하기 위해 생성하는 것이기 때문이다. 그래서 다형성이란 조상이되는 객체로부터 상속을 받아 다른 결과물을 산출해 낼때 다형성이라는 의미를 부여할 수 있게 된다.
- JavaStudy2003/두번째수업 . . . . 5 matches
2003년 신입생 대상 자바 스터디 두번째 수업 내용입니다.
* 클래스정의 및 인스턴스(객체) 생성
* 왜 들 과제를 낼 생각을 안하고 있죠? 이러다가 이 스터디 폐쇄 됩니다...ㅡ.ㅡ; -[상욱]
- JollyJumpers/황재선 . . . . 5 matches
3. test코드를 다듬었다. 테스트할때마다 콘솔로 입력받는 게 귀찮아서 test클래스에서 메인 클래스의 field를 정의하고 진행했다. 또 다른 테스트를 하기위해서 고쳐야할 부분이 흩어져 있다. 테스트코드의 설계에 관심을 가져야겠다.
- LC-Display . . . . 5 matches
한 친구가 방금 새 컴퓨터를 샀다. 그 친구가 지금까지 샀던 가장 강력한 컴퓨터는 공학용 전자 계산기였다. 그런데 그 친구는 새 컴퓨터의 모니터보다 공학용 계산기에 있는 LCD 디스플레이가 더 좋다며 크게 실망하고 말았다. 그 친구를 만족시킬 수 있도록 숫자를 LCD 디스플레이 방식으로 출력하는 프로그램을 만들어보자.
입력 파일에서 지정한 숫자를 수평 방향은 '-'기호를, 수직 방향은 '|'를 이용해서 LCD 디스플레이 형태로 출력한다. 각 숫자는 정확하게 s+2개의 열, 2s+3개의 행으로 구성된다. 마지막 숫자를 포함한 모든 숫자를 이루는 공백을 스페이스로 채워야 한다. 두 개의 숫자 사이에는 정확하게 한 열의 공백이 있어야 한다.
- MFCStudy_2002_1 . . . . 5 matches
* 목표 : 방학중 스터디 진행, Programming 에 대한 감각 익히기. Windows Programming 에 대한 이해.
예) 바보: 1999.4.5 오늘은 MFC 래스터연산과 마스크라는 것을 봤다. 오... 신기하다. 이런 것으로 배경을 정확히 잘라낼줄이야...후훗.
인터넷 플레이가 가능한 오목을 짤거라는 다짐을 하며...MFC 스터디..잠시 끝!...Class에 대해서 더 공부해지~~..[[BR]]
정훈: 2002.8.16 아아악!!! 졸려워 죽음을 무릅쓰고!! 오늘 스터디 모임이라구!! 아침 10시에 나왔는데..아무도 없다..[[BR]]
- MoniWikiPo . . . . 5 matches
msgstr "버전 히스토리"
msgstr "인덱스 페이지가 없습니다"
msgstr "버전 히스토리와 함께"
msgstr "스크랩 목록이 갱신되었습니다"
msgstr "\"%s\"을(를) 스크랩하시겠습니까 ?"
- MoreEffectiveC++/Operator . . . . 5 matches
* '''''implicit type conversion operator''''' 은 클래스로 하여금 해당 타입으로 ''return'' 을 원할때 암시적인 변화를 지원하기 위한 operator이다. 아래는 double로의 형변환을 위한 것이다.
if( a == b[i] ) { // 헉스! 이런 "a"는 "a[i]" 써야 할 코드였다!. (개발자의 실수 의미, 한미 양국에서 같은 발음의 oops! --;; --상민)
우리는 ++와 --연산자(이하 가칭 가감 연산자)를 즐겨 쓴다. 이 연산자 역시 클래스에서 정의해서 사용할수 있다.
당신은 생성자를 직접 호출하기를 원할때가 있을 것이다. 하지만 생성자는 객체(object)를 초기화 시키고, 객제(object)는 오직 처음 주어지는 단 한번의 값으로 초기화 되어 질수있기 때문에 (예-const 인수들 초기화에 초기화 리스트를 쓰는 경우) 생성자를 이미 존재하고 있는 객체에 호출한다는건 생각의 여지가 없을 것이다.
동적 할당에 대하여 리소스 새는걸 방지할려면 해당 동적 할당에 상응하는 응징(?)이 필요할 것이다. 예를들어서 new나 operator new에는 이런거
- NSIS/예제1 . . . . 5 matches
; 인스톨러의 이름
; 인스톨러가 될 화일의 이름
; 기본 인스톨 디렉토리
; 실제 인스톨 할 것에 대한 설정
; 인스톨 할 디렉토리로 output path 의 설정
- Omok . . . . 5 matches
* 처음에 화면을 clrscr()로 지운 다움에 화면에 판( '+' 연산기호 플러스.) 를 뿌려 줍니다.
* 이러면 아스키 코드 사용하지 않고도 짤 수 있습니다. 전 아스키 코드 쓰는거랑 터보시에서 그래픽 하는거 싫어서 이렇게 해봤었습니다. 뭐 다른 방법으로 짜고 싶으면 짜시고요. - 상협
* 그리고 이거 할때 중복된 코드를 많이 만드는 경우도 있는데 가능하면 중복되는 소스를 줄이면서 짜보세요.
= 나온 소스들 =
- PersonalHistory . . . . 5 matches
* [알고리즘] 스터디
* [데블스캠프2004] - 실제로 많이 배우는 사람은 2학년 일지도 모르겠다.
* [2학기파이선스터디], [2학기파이선스터디/클라이언트] - 2003년 가을학기
* [5인용C++스터디] - 2003여름방학
- ProjectAR/Temp . . . . 5 matches
=== 생각해 본것 (클래스 구조) ===
- CCharacter : 캐릭터/몬스터의 자료들
- MsgProc() : 메세지 처리 루틴 // 키입력, 마우스입력등을 처리한다.
스토리가 빈약하기 때문에 무언가에 몰입할 다른 요소를 만들어야 한다.
4. 직업을 바꾸더라고 스킬은 일정 확률로 남을 수 있다.(ㅡㅡ!!)
- ProjectPrometheus/AcceptanceTest . . . . 5 matches
* 각 테스트들에 대해서 설명을 달기.
* 테스트 프로그램 소스 열기 링크 추가.
* 테스트들을 testserver.py 에 등록하지 않고 해당 디렉토리내의 모든 테스트들을 찾아서 실행하게끔.
- ProjectPrometheus/BugReport . . . . 5 matches
- 자주 바뀌는 부분에 대해서 Page -> Object Mapping Code Generator 를 만들어내거나, 저 부분에 대해서는 텍스트 화일로 뺌 으로서 일종의 스크립트화 시키는 방법(컴파일을 하지 않아도 되니까), 화일로 따로 빼내는 방법 등을 생각해볼 수 있을 것 같다.
* 타 휴대폰 사이트의 SMS 페이지들과의 연동기능 (011, 016 등 문자서비스 제공페이지에 자동 접속 & 예약한 책들 등에 대해 정보 제공)
* Servlet 생명주기에 대해 제대로 알지 못함. 서비스에서의 success Fleld 초기화가 안된 문제가 원인. 해결.
* 검색이 되지 않아도 검색 인텍스가 1 2 3 4 5 하고 쭈욱 나옴. 이것도 버그 맞아요? ^^; --창섭
- ProjectZephyrus/Client . . . . 5 matches
+ ---- MainSource - 메인 프로그램 소스 & JCreator 프로젝트 화일이 있는 디렉토리
''보통 SP는 해당 작업이 요하는 노동의 양으로 결정하는데 이건 중요도군요. 나중에 SP와 중요도(비지니스적 가치) 양자를 고려해서, 즉 지출과 수입을 맞춰봐서, 최고의 쇼핑을 하도록 합니다. --JuNe''
''Engineering Task나 User Story 모두 노동의 양으로 estimation을 해서, 포인트를 준다. 이렇게 "비용"이 적힌 카드들을 놓고, 어느 것을 하고, 미루고, 먼저하는 지 등의 순위 결정은 "중요도 중심", "위험도 중심"이 있는데, 작년 이후 익스트리모들(KRW)은 복잡하게 이런 걸 따지지 말고 그냥 비지니스 가치로 순서를 정하라고 한다. --JuNe''
|||||| ''' 배포 가능하도록 테스트 클라이언트 묶기 ''' ||
- STL/vector/CookBook . . . . 5 matches
* 우리가 여태까지 배운 거만 써보면 이렇게 고칠수 있다. 그 유명-_-한 동적배열이다.--; 아.. delete [] 저거 보기 싫지 않은가? c와 c++의 고질적인 문제점이 바로 저거다. 메모리 관리를 프로그래머가 해줘야 한다는거.. 자바 같은건 지가 알아서 delete 해주지만.. c나 c++에서 delete 안해주면.. X되는 꼴을 볼수 있다. (본인이 한번 경험해 봤다.) 그래서 잘 디자인된 클래스는 클래스 내에서 알아서 없애줘야 한다. 바로 vector를 쓰면 저 짓을 안해줘도 된다. 또 고쳐보자.
* 데블스 캠프때 유명해진 2차원 동적 배열 쓰기다.
* 파스칼 삼각형 숙제할때 데브피아에서 쓰는법 배워서 열심히 쓰다가 데블스 캠프때 재동이가 퍼뜨렸다. 1학기 내내 편해서 좋다고 써댔는데.. 지금 보면 내가 저걸 왜 쓰고 있었을까 하는 생각이 든다.
- SwitchAndCaseAsBadSmell . . . . 5 matches
["가위바위보"] 구현 코드들을 보면 케이스 문을 많이 쓰거나 혹은 비슷한 구조의 if 문이 중복된 경우가 많습니다.
케이스문이 줄줄이 나오는 것이나 비슷한 구조가 반복되는 것이나 모두 "나쁜 냄새"(Moa:BadSmell )입니다. 조금이라도 나쁜 냄새가 나면 바로바로 냄새 제거를 해야 합니다. 예컨대, 반복되는 케이스문은 테이블 프로그래밍(Table/Data Driven Programming)으로 해결할 수 있습니다.
그리고, 사고의 도구들을 적극적으로 활용하기 바랍니다. 스테이트 다이어그램이나, 심지어는 x,y 좌표계를 사용하는 것, 혹은 서브루틴을 통해 문제를 소문제(subproblem)로 나누는 것도 아주 훌륭한 사고의 도구가 됩니다 -- 문제의 복잡도를 낮춰주기 때문이죠.
* 텍스트화일로부터 입력자료 읽고 해석하기
- TheWarOfGenesis2R/ToDo . . . . 5 matches
== 스크립트 에디터 ==
* 몬스터 정보를 추가할 수 있어야 한다.
* 현재 1스테이지만 로딩이 되도록 프로그래밍이 되어 있다. 여러 판을 할 수 있도록 로딩루틴 수정
* 특정 컴퓨터에서 마우스커서가 깜빡임. -> Bitmap커서를 사용할 수도
* (V) 게임루틴과 출력루틴의 클래스 구분
- ThinkRon . . . . 5 matches
당신은 어떤 문제에 직면했다. 좀처럼 일이 풀리질 않는다. 이 때 스스로에게 묻는다. 만약 RonJeffries(혹은 당신이 존경하는 전문가)가 이 자리에 있었다면 어떻게 했을까?
일전에 XP 메일링 리스트에 조언을 바라는 글을 하나 올렸습니다. 회사에서 XP를 진행하다가 부딪힌 문제에 대한 것이었죠. 그걸 올리고 답장이 한장도 도착하기 전에 갑자기 이런 생각이 들었습니다. "만약 RonJeffries라면 어떤 답장을 쓸까" 신기하게도 저는 그걸 너무도 분명히 잘 알고 있었습니다. 그래서 그 답을 마치 RonJeffries가 직접 만들어준 마냥 귀하게 생각하고 요리조리 궁리해보고 또 실험해봤습니다. 그랬더니 아주 훌륭한 결과를 얻었습니다. 며칠 뒤 진짜 RonJeffries가 제가 예측한 것과 거의 비슷한 답을 해주더군요.
전문가 비전문가 PairProgramming을 하다가 문제에 직면했습니까? 스스로에게 물어보십시오. 만약 KentBeck이나 WardCunningham, RonJeffries 같은 사람이 이 자리에 나 대신 있었다면 이 문제에 어떻게 대응했을런지. 그리고 거기서 얻은 해답을 꼭 실행에 옮겨 보세요. 자신은 물론 상대방도 놀라게 될 것입니다. 해답은 늘 안에 있습니다.
- TugOfWarInput . . . . 5 matches
사람이 총 네사람 있다. 몸무게가 각각 50, 50, 100, 200이다. 이 네사람을 두 팀으로 나눈다면 가능한 경우는 둘 씩 나누는 경우 하나 뿐이다. (하나 셋으로 나누면 두 팀의 인원 차이가 2가 되어서 부적격) 둘 둘 나눌 때 두 팀 간 몸무게 차이가 최소가 되는 경우는 150, 250인 경우이다. 200, 200으로 나누는 것은 불가능하다. 그러나 현재의 온라인 로봇 심사위원은 이런 틀린 답이 나올 "예리한" 테스트 케이스를 포함하고 있지 않아서 잘못 작성된 프로그램도 통과시킨다.
제대로 작성된 프로그램은 당연히 온라인 로봇 심사위원의 테스트 케이스를 모두 통과하며, 게다가 덤으로 50,50,100,200 인 경우에도 통과한다. 하지만 Programming Challenges 책에 실린 모법 답안 등의 프로그램은 로봇 심사위원의 테스트는 통과하지만 50,50,100,200 같은 경우는 실패한다.
- VMWare . . . . 5 matches
유사제품으로 [Parallels] ( [eXtremeProgramming] 으로 개발되었다고 함. Mac 버전의 경우 윈도우 환경을 거 70%~90% 퍼포먼스로 구현했다고 들었음) 가 있다.
유사기술을 적용한 Linux [Xen] 커널이 등장하기 시작했으며, Xen 은 차후 나타나게될 멀티코어 CPU 환경(플랫폼 자체가 완전히 다른)에 적합한 커널의 구축을 목표로 하고 있다고 한다. (완전히 다른 프로세서라면 당연히 해당 머신에 접근하는 인터페이스 역시도 다를텐데 XEN 을 이용해 해당 부분을 추상화시켜서 접근하는 식으로..) 현재에는 해당 기술을 보안 분야에서 이용하기 위한 연구가 진행중이며 기존의 단일 커널하의 커널모드, 유저모드 식의 구분이 아닌 관리자 커널, 애플리케이션 커널과 같은 구분으로 2개의 서로 다른 커널을 구현해 커널 단에서 애플리케이션이 머신에게 직접적으로 접근할 가능성을 원천 차단하는 방식의 연구가 되고 있다.
VMWARE 는 보통 개발 중인 OS 테스트 환경, 임베디드 환경의 크로스 컴파일 환경, 개발 중 어플리케이션의 다양한 플랫폼에서의 테스트 비용 최소화를 위해서 많이 사용한다.
- WordPress . . . . 5 matches
MovableType이 유료화의 길을 걷기 시작한뒤 그 뒤를 바짝ㅤㅉㅗㅈ고 있는 설치형 Blog. 오픈소스로 개발되고 있으며 php 를 기반으로 동작하며, 충실한 플러그인 기능이 인상적이다. 기본적으로 css 를 통한 블로그 디자인이 가능했으며, 현재는 테마기능역시 지원하고 있다.
- 이글루스는 잘 안되던데, kldp 에 있던 그건가요?
- 태터는 100%완변하게 변환이 되던데(심지어 내장 태그까지 처리하셨더라구요;;) ㅡ.ㅡ;; 이글루스는 잘 모르겠네요. 아마 맞는 듯 하네요. http://kldp.net/projects/egloos2wp/ - [eternalbleu]
워드프레스로 만들어진 블로그 호스팅 사이트. 현재는 초대의 형식으로만 가입이 되는 상태이다.
- YouNeedToLogin . . . . 5 matches
* 초보자의 테스트 목적 접근이나 실수로 인한 페이지 생성을 줄일 수 있다.
id 부분에 대해서 UID 숫자가 아닌 아이디/패스워드 스타일로 UserPreferences 를 패치해야 할듯. (조만간 수정하겠습니다.) --["1002"]
요새들어 제로페이지 위키에 검색엔진을 통해 생성된 쓰레기 페이지들을 자주 볼 수 있습니다. 볼때마다 매번 지워주기는 하는데, 노스모크처럼 로그인을 해야 글쓰기 권한이 생기게 바꾸어 보는것도 좋겠다는 생각을 합니다. 이 페이지가 생긴게 꽤 오래전인것 같기는 하지만 YouNeedToLogin 에 대해서 다시 한번 생각해봐야 할 때가 아닌가 생각됩니다. 하지만 로그인을 해야하는 것은 방법은 위키의 철학에 위배되는게 아닌가 하는 생각도 할 수 있습니다. 굳이 로그인을 하지 않더라도 스팸성 글을 막을 수 있는 대책이 필요합니다. 예를 들어, 페이지 수정을 할 때에 난수값을 하나 찍어두고 input 필드를 하나 더 두어 이 곳에 생성된 난수값을 그대로 입력하게 하여 초기에 생성된 난수값과 같을 시에만 글을 수정하게 하는 것입니다. 물론 똑똑한 로봇들은 이를 교묘히 피해가겠지만요. - [임인택]
- ZP&JARAM세미나 . . . . 5 matches
역시나 나의 부족함을 발견하는 세미나와 행사 진행이었다. 다른 학회 분들께 학회 소개를 부탁드린다고 미리 메일 날린다는걸 깜빡하다니;; 게다가 뒤죽박죽의 행사 진행;; ㅠㅠ;; 난 아직 멀었다. 그리고 아쉬운 송지원양의 송별회. 그래도 OST에서 이맥스에 관한 열정을 다시 불태울 수 있어서 좋았던 자리-_ -후후후 그리고 다음엔 우리가 가서 좋은 세미나도 듣고 이 관계를 지속했으면 좋겠다.
세미나 두개 다 정말 유익하게 들었습니다. 병윤이 세미나 주제가 우려먹기라는데 내가 그 때 커스모집 때문에 없어서 이번 기회에 들었습니다^^ 와핫핫~!! 프로젝트 통합방법도 내년에 돌아와서 팀플할때 잘 써먹을수 있을거 같아요. 승한오빠가 하는 프리젠테이션 방식이 굉장히 좋았어요. 간결한 글과 시각적 효과를 이용해 보는 사람으로 하여금 몰입도를 높이는..(웃음) OST도 좋았습니다. 시간이 부족한게 좀 아쉽ㅠ
linux & open source ost 했던 , 자람 20기 서버관리자 박훈준 입니다. 정말 즐거운 시간 이었습니다. 특히 스푸핑 관련 세미나... 네트워크에 대한 이해를 ++++ 할 수 있는 좋은 자리였어요. 저희가 뭔가 좀 준비했었다면 더 좋았을텐데 아쉽네요. 무엇보다, 이런 행사들이 지속적으로 이루어 지는것이 중요하다 생각됩니다. 3년전 쯤인가, 홍대 컴공학회 P.C.R.C 와도 교류가 이루어 지는듯 하다가, 그 이후로는 교류가 없네요. 계속해서 교류하고, 많이 나눴으면 좋겠습니다. 무엇이든 할 수 있어요. :) (참, 밥도 맛있었어요)
축제기간이어서인지 모르겠지만 중앙대학교의 첫 인상은 매우 좋았습니다! 활기차고 소란스러운 뭔가의 움직임들이 느껴졌달까요. 도착해서 환영해주신것도 너무 감사했고 배려해주시는 모습들이 너무 좋았습니다. 아. 그리고 밤 늦게까지 강의실이 열려 있다는 것도 부러웠어요~ 우리학교는 강의실은 다 폐쇄하거든요. 그나저나 학회방이 없다고 들었는데 어서 학회방이 생기셨으면 좋겠어요. 그러면 활동도 더 탄력이 받을것 같은데~! ^^
다른 학회 분들 만나뵈어서 좋았어요. 저도 OST때 다른 학회분들과 이야기 나누지 못한게 아쉽지만, 다음엔 기회가 되면 많은 이야기를 나누고 싶네요. ㅎㅎ 세미나 준비했었던 승한이형과 병윤이 수고하셨어요. ㅎㅎ 병윤이껀 지원이처럼 커스사람들과 함께 있다보니 못 들었었는데 이번에 들을 수 있게 되어서 다행? ㅋㅋㅋ 그리고 지원이 송별회 때 일찍 가서 미안 ㅋㅋ 여하튼// 다음번에도 또 한번 이런 시간 가졌으면 좋겠네요 ㅎㅎ
- naneunji/Diary . . . . 5 matches
* 영어 스터디모임 : 1시반 - 늦잠으루 취소
* java 스터디모임 : 3시 - 계산기를 짜기루 했다. 그리구 다음부턴 세미나두 병행하기로 결정
* MFC 스터디모임 : 5시 - 방학이 끝날때까지 테트리스를 짜기루 했다.
* 고장나서 반년이 넘게 안고치고 버티고 있던 프린터를 고쳤다. 계속 프린트를 쓸 일이 생겨, 더이상 미룰 수가 없었기 때문에 귀찮음을 무릅쓰구 서비스센터까지 갔는데, 원인이 샤프가 껴있었기 때문이란다..ㅡㅡ;;
- stuck!! . . . . 5 matches
[새싹배움터05] 의 [새싹C스터디2005]의 [stuck!!]팀 페이지 입니다.
우리는 스스로 공부한다!!
출첵은 스스로 한다.
- whiteblue/MyTermProjectForClass . . . . 5 matches
== 클래스 입력 ==
<< "1) 과목별 입력 결과 리스트 " << endl
<< "2) 과목별 성적순 리스트 " << endl
<< "3) 학생 전과목 입력 결과 리스트 " << endl
<< "4) 학생 전과목 성적순 리스트 " << endl
- whiteblue/파일읽어오기 . . . . 5 matches
음. 근데 이거 스펙대로 한건가? 스펙에는 linked list 아니면, array 쓰라고 한것 같은뎅..-_-a - 임인택
벡터 링크드 리스트 아닌데;; list가 링크드 리스트다. 벡터는 내부적으로 동적 배열 씀. --인수
그런가요?.. 디버그 모드 돌려보니깐 링크드 리스트처럼 되던디.... 아니었군요... -- 상욱(["whiteblue"])
- 구구단/Leonardong . . . . 5 matches
==== 데블스캠프 첫째날 구구단 코드 ====
==== 데블스캠프 셋째날 구구단 코드 ====
* Niner 클래스
["구구단"] [데블스캠프2003/첫째날] [데블스캠프2003/셋째날]
- 권영기/web crawler . . . . 5 matches
Python을 이용해서 Web Crawler를 제작하면서 Python의 사용법을 익히고, 원하는 웹 페이지를 긁기 위한 Web Crawler를 제작한다. (네이버웹툰(돌아온 럭키짱, 신의 탑...), 네이버 캐스트, 그 외의 각종 웹페이지..)
=== 웹 페이지 소스 긁어오기 ===
=== 소스에서 URL만 추출하기 ===
* prepare는 앞의 4개 소스를 적절히 조합한 python 파일
* 파일을 저장할 떄 소스 파일에 저장이 되서 지저분하다. o
- 데블스캠프2005/RUR-PLE/Harvest . . . . 5 matches
= [데블스캠프2005/RUR-PLE]/Harvest =
|| 소스 ||
|| [데블스캠프2005/RUR-PLE/Harvest/이승한] ||
[데블스캠프2005/RUR-PLE/Harvest/정수민]
[데블스캠프2005/RUR-PLE]
- 데블스캠프2005/목요일후기 . . . . 5 matches
SeeAlso [데블스캠프2004/금요일후기]
[김민경] 러플-자기가 가진 beeper의 개수정도는 알수있어야 좋을텐데ㅠ Vpython-매우 신기한 세계+ㅁ+ 마우스로 돌려요돌려! 보안-이론은 어려워ㅠㅠ -- 오늘 매우 흥미로왔어요!
데블스캠프 강사들은 반드시 자신의 강의에 대한 후기/피드백를 써주세요. SeeAlso [데블스캠프2004/월요일후기]
[데블스캠프2005]
- 데블스캠프2006/SSH . . . . 5 matches
= 간단한 리눅스 명령어 실습 =
* 초 간단 쉘 스크립트
* 쉘 스크립트는? 여러 명령어들을 파일로 저장하여 손쉽게 실행
* 문제상황 : 리눅스용 프로그램을 만들어야 하는 과제가 나왔다. 해당 과제는 컴파일과 실행을 리눅스에서만 해야 한다. 그런데 vi로 하기는 싫고, visual studio 나 editplus로 작업을 하고 싶다. 어떻게 할까?
- 데블스캠프2009/금요일/SPECIALSeminar . . . . 5 matches
= 2009 데블스 캠프 SPECIAL Seminar =
* [데블스캠프2009/금요일/SPECIALSeminar/강소현/김수경/송지원]
* [데블스캠프2009/금요일/SPECIALSeminar/정종록/서민관/박근수]
* [데블스캠프2009/금요일/SPECIALSeminar/조현태/변형진/김준석]
* [데블스캠프2009/금요일/SPECIALSeminar/송지훈/김홍기/박성현]
- 데블스캠프2009/화요일 . . . . 5 matches
= 데블스캠프2009/화요일 =
[데블스캠프2009/화요일/연습문제]
[데블스캠프2009/화요일후기]
[데블스캠프2009] [데블스캠프]
- 데블스캠프2010/다섯째날/후기 . . . . 5 matches
* 소스를 .cpp로 만들어 보고, class가 뭔지도 맛보고, 헤더파일도 만들어 보고, 코드를 최적화(?) 하는 것도 해봤습니다. 지금까지 전
* C++에 대해서 가장 많이 접해볼 수 있었던 세미나 였던것 같아요 ㅋ 그래서 좋았고 나중에 2:2 만들다가 실패했는데 갑자기 스타크래프트 만드신 분들이
= 스터디그룹패턴언어 (강사: 이덕준) =
* [스터디그룹패턴언어]의 몇 가지 패턴을 짝을 지어 (독해 수준으로만)번역해보는 시간을 가졌습니다. 주제에 대한 흥미 유발에 실패한 것 같은데, 제 책임이 큰 것 같습니다. 두어 개 패턴만 골라서 깊이 생각하고 의견을 서로 나누는 기회를 가졌다면 어땠을까 싶습니다. 긍정적인 사이드 이펙트로 "번역 재미있는데?"라는 반응을 얻은 건 다행이라고 생각합니다. 번역한 결과물의 품질이 만족스러워 질 때까지 지속적으로 다듬어질 수 있길 바랍니다. -- [이덕준] [[DateTime(2010-06-28T00:27:09)]]
- 데블스캠프2011/넷째날/루비 . . . . 5 matches
* [:Ruby/2011년스터디 루비스터디]
[데블스캠프2011/넷째날/루비/김준석]
[데블스캠프2011/넷째날/루비/서민관]
[데블스캠프2011/넷째날/루비/서영주]
- 땅콩이보육프로젝트2005 . . . . 5 matches
* 소스코드
10월 31일 : V1`릴리스
* 시스템 구성요소 설계
[땅콩이보육프로젝트2005/유스케이스]
- 레밍즈프로젝트/프로토타입/에니메이션 . . . . 5 matches
추상화 기초 클래스.
자동적인 에니메이션은 불가능. 프레임마다 에니메이션 객체가 스스로의 상태를 파악하여 새로 BMP를 뿌려 주어야 함.
에니메이션이 필요한 객체들은 이 클래스를 상속 받음으로서 에니메이션 처리를 할 수 있다.
이 클래스는 더블버퍼링과 bmp그리기를 자동화 시켜둔 [레밍즈프로젝트/그리기DC](CmyDouBuffDC)를 사용하여 드로잉을 수행한다. (CDC를 사용하는 도 있지만... 편의를 위해서...)
- 문원명 . . . . 5 matches
* MFC 스터디+프로젝트
* [데블스캠프2003]
* ["5인용C++스터디"]
* [2학기파이선스터디]
바둑알 놓는 스킬은 진훈이에게 물어봐라..음화화~ - [문원명]
- 변형진 . . . . 5 matches
= 진행할 스터디 =
= [데블스캠프2006] =
[데블스캠프2006/월요일/연습문제/웹서버작성/변형진]
= [06스터디/ACM특별반] =
[파스칼삼각형/변형진]
- 블로그2007 . . . . 5 matches
== 프로젝트(or 스터디) 주제 ==
*새벽에 책 보다가 불연득 떠오른 생각이 있어서 그대로 해보니까 잘 되는거 같아요~ㅋㅋㅋ[[BR]] 수생이형 신경써줘서 고마워요~ㅎ[[BR]]아 그리고 이클립스 쓰니까 저장만 하면 내장 브라우져로 바로바로 확인 가능해서[[BR]]웹 브라우져 따로 안열어도 되고 참 편해요!! 다만 아직 잘 쓸줄 몰라서...ㅎ[[BR]]근데 정말 상협이형 말대로 더 편하긴 편하네요~ㅋㅋㅋㅋ 남박사님 감사요~ㅎ
* 구글에서 이클립스 찾아서 설치하긴 했는데 코딩하고 Run 돌리니까[[BR]]interpretor 를 정하고 하라고 나오네요. 여기서 어케 해야 하나요?... -송지훈 '''[답변 및 의견 2]'''
* PDT - PHP Development Tool PHP 스크립트 엔진을 개발하는 Zend 팀이 Eclipse 진영에 합류후에 PHP개발 툴을 만들기 시작했는데 아직 1.0 까지도 올라가지 않은 개발 중인 제품입니다. 좋기는 하지만, 적극적인 배포도 하지 않고 Ecilpse의 공식 배포 스케줄+환경인 Calisto에도 반영되려면 멀었습니다.
- 새싹교실/2011/學高/5회차 . . . . 5 matches
* 다음 소스의 결과값을 예상하라
추가된 내용은 %(모듈러스?)는 *,/와 우선순위가 같다정도?
* 다음 소스의 결과값을 예상하라
* 다음 소스의 결과값을 예상하라
소스의결과값 : 식을 정리하면 2+2*7%5 인데
- 새싹교실/2011/씨언어발전 . . . . 5 matches
* 관련 페이지 : ThreeFs, [http://no-smok.net/nsmk/ThreeFs ThreeFs(노스모크)], [http://no-smok.net/nsmk/FiveFs FiveFs(노스모크)]
* 예를 들어 지난주에 돈가스를 먹은 것에 대해 후기를 쓴다면 : "지난주에 강남에 가서 하나에 5만원하는 돈가스를 먹었다.(사실) 기대를 잔뜩 했는데 별로 맛이 없었다.(느낌) 강남은 땅값이 비싸서 값만 보고 엄청 맛있을거라 기대하면 안된다는 것을 알았다.(깨달은점) 다음에는 미리 인터넷에서 평을 찾아보고 별점이 높은 돈가스집을 찾아서 가봐야겠다.(앞으로의 계획)"
- 새싹교실/2012/AClass/5회차 . . . . 5 matches
3. 3,4,6,7,9,3,2를 입력으로 넣은 후 2,3,9,7,6,4,3순서로 출력하는 프로그램을 작성해보세요.(스택)
3.3,4,6,7,9,3,2를 입력으로 넣은 후 2,3,9,7,6,4,3순서로 출력하는 프로그램을 작성해보세요.(스택)
8.LinkedList를 만들고, 리스트 data에 4,5,3,7,12,24,2,9가 들어가도록 해봅시다.
3.3,4,6,7,9,3,2를 입력으로 넣은 후 2,3,9,7,6,4,3순서로 출력하는 프로그램을 작성해보세요.(스택)
8.LinkedList를 만들고, 리스트 data에 4,5,3,7,12,24,2,9가 들어가도록 해봅시다.
- 새싹교실/2013/록구록구/1회차 . . . . 5 matches
관련 페이지 : ThreeFs, ThreeFs(노스모크), FiveFs(노스모크)
ex) 지난주에 돈가스를 먹은 것에 대해 후기
(사실)지난주에 강남에 가서 하나에 5만원하는 돈가스를 먹었다.
(앞으로의 계획)다음에는 미리 인터넷에서 평을 찾아보고 별점이 높은 돈가스집을 찾아서 가봐야겠다.
- 새싹교실/2013/록구록구/4회차 . . . . 5 matches
관련 페이지 : ThreeFs, ThreeFs(노스모크), FiveFs(노스모크)
ex) 지난주에 돈가스를 먹은 것에 대해 후기
(사실)지난주에 강남에 가서 하나에 5만원하는 돈가스를 먹었다.
(앞으로의 계획)다음에는 미리 인터넷에서 평을 찾아보고 별점이 높은 돈가스집을 찾아서 가봐야겠다.
- 새싹교실/2013/양반/2회차 . . . . 5 matches
관련 페이지 : ThreeFs, ThreeFs(노스모크), FiveFs(노스모크)
예를 들어 지난주에 돈가스를 먹은 것에 대해 후기를 쓴다면 : "지난주에 강남에 가서 하나에 5만원하는 돈가스를 먹었다.(사실) 기대를 잔뜩 했는데 별로 맛이 없었다.(느낌) 강남은 땅값이 비싸서 값만 보고 엄청 맛있을거라 기대하면 안된다는 것을 알았다.(깨달은점) 다음에는 미리 인터넷에서 평을 찾아보고 별점이 높은 돈가스집을 찾아서 가봐야겠다.(앞으로의 계획)"
- 새싹교실/2013/양반/4회차 . . . . 5 matches
관련 페이지 : ThreeFs, ThreeFs(노스모크), FiveFs(노스모크)
예를 들어 지난주에 돈가스를 먹은 것에 대해 후기를 쓴다면 : "지난주에 강남에 가서 하나에 5만원하는 돈가스를 먹었다.(사실) 기대를 잔뜩 했는데 별로 맛이 없었다.(느낌) 강남은 땅값이 비싸서 값만 보고 엄청 맛있을거라 기대하면 안된다는 것을 알았다.(깨달은점) 다음에는 미리 인터넷에서 평을 찾아보고 별점이 높은 돈가스집을 찾아서 가봐야겠다.(앞으로의 계획)"
- 새싹교실/2013/양반/5회차 . . . . 5 matches
관련 페이지 : ThreeFs, ThreeFs(노스모크), FiveFs(노스모크)
예를 들어 지난주에 돈가스를 먹은 것에 대해 후기를 쓴다면 : "지난주에 강남에 가서 하나에 5만원하는 돈가스를 먹었다.(사실) 기대를 잔뜩 했는데 별로 맛이 없었다.(느낌) 강남은 땅값이 비싸서 값만 보고 엄청 맛있을거라 기대하면 안된다는 것을 알았다.(깨달은점) 다음에는 미리 인터넷에서 평을 찾아보고 별점이 높은 돈가스집을 찾아서 가봐야겠다.(앞으로의 계획)"
- 새싹교실/2013/양반/7회차 . . . . 5 matches
관련 페이지 : ThreeFs, ThreeFs(노스모크), FiveFs(노스모크)
예를 들어 지난주에 돈가스를 먹은 것에 대해 후기를 쓴다면 : "지난주에 강남에 가서 하나에 5만원하는 돈가스를 먹었다.(사실) 기대를 잔뜩 했는데 별로 맛이 없었다.(느낌) 강남은 땅값이 비싸서 값만 보고 엄청 맛있을거라 기대하면 안된다는 것을 알았다.(깨달은점) 다음에는 미리 인터넷에서 평을 찾아보고 별점이 높은 돈가스집을 찾아서 가봐야겠다.(앞으로의 계획)"
- 새회원을받으면 . . . . 5 matches
* 스터디 계획, 진행
* 데블스캠프는 새회원과 어떤 관계가 있는가?
* 성공한 스터디 사례, 실패한 스터디 사례. 그리고 그 이유.
* 그게 이상한 소문인가? 어떤 스터디에 얼만큼 참여하느냐에 따라 다르겠지만 어느 정도는 빡신게 맞고, 열심히 활동 안하면 당연히 회원 정리 대상이 된다. 휘동, 모든 사람을 만족시키려고 하지 말게나. ZP에는 다수의 어중이 보다 소수라도 정말 실력있는 사람들이 더 좋단다. --재동
- 손동일 . . . . 5 matches
언어마스터되기
== 데블스 캠프를 통해 배운것 ==
python, scheme, squeet, java, 리눅스, OOP
[구구단/손동일] [피보나치/손동일] [파스칼삼각형/손동일] [숫자야구/손동일] [만년달력/손동일,aekae]
[8queen/손동일] [스택큐/손동일] [RandomWalk/손동일] [오목/재선,동일]
- 숫자를한글로바꾸기/김태훈zyint . . . . 5 matches
== 소스 ==
스위치문 압박이얌..;;ㅁ;; 이게 모햐~~>ㅃ<;;; ㅎㅎ 그거 빼고는 다 이쁘넹!~헤...ㅎ 그런데 말야.^^ 수민이꺼나 네꺼 0넣으면 답이 안나오쟈넝..;;ㅁ;; 0이 불쌍해..ㅠ.ㅜ ㅎㅎㅎ 그거빼고는 다 잘해떵..ㅎㅎ 나도 쓰잘때기없는 그 클래스 뺄껄.ㅎ 괜히 넣었어..편하게 짤려다가 더 복잡해 보이는걸~ㅎ ㅎㅎㅎ 그럼 좋은하루~~>ㅁ<;; - 현태
나두 언넝 클래스 배워서 소스 좀 깔쌈하게 짜고 싶은데 아직 안배워서 ㅠㅠ - zyint
- 쓰레드에관한잡담 . . . . 5 matches
Linux에서 멀티 프로세스 개념인 fork()는 내부적으로 do_fork()란 Kernel 함수를 호출하며, do_fork()는 내부적으로 user thread인 POSIX기반의 Mutex를 사용한다.
-> 만약 Zombie Process가 생성되면 시스템 자원을 먹지는 않지만 PCB가 좀비프로세스의 리턴 값으로 늘어나 시스템이 전반적으로 느려진다.
이상하다. 소스에는 문제점이 없지만 약간 많은 쓰레드가 동시에 생성되고 데이터 처리 양이 많을 때에는
- 여사모 . . . . 5 matches
배열, 구조체, 스택, 큐, 링크드 리스트, 이진트리(-_-;)등의 자료구조를 통한 C공부!
* 다음 주제는 문자열(String), 스택(Stack)과 큐(Queue) 입니다. 단어 뜻 정도는 알아오는게 좋겠죠?
* 다음 스터디 일정 - 6월 4일 금요일 7시 7피(회의끝나고)
[스터디분류]
- 이민석 . . . . 5 matches
* 이민규, 장용운과 함께 컴쟁이 40주년 페스티벌 참가
* 하스켈 위키북 번역: https://wikidocs.net/book/204
* 커먼 리스프로 게임 서버 제작
* 졸업논문: 하스켈을 이용한 효율적인 알고리즘 설계
* 한 회사는 구글이 답장을 스팸 메일에 쳐넣어서 한달 뒤에 보고
- 임인택/RealVNCPatcher . . . . 5 matches
* 이미 만들어놓은 RealVNC 한글화 패치 자동으로 해주는 인스톨러..작성..-_-a
* 시스템 시작 서비스 목록에서 VNC Server Version 4 에 대한 실행경로 가져오기. (레지스트리에는 없다)
* 해당 서비스 종료
- 정모/2002.12.30 . . . . 5 matches
* 방학 초 스터디 및 프로젝트
이전까지는 방학중에 4주에서 6주 정도를 잡아 스터디나 프로젝트를 했지만 이것을 방학 초 1주에 몰아서 한다. 우선 스터디 또는 프로젝트 그룹을 나눈 후, 목표를 정하고,
1주에 걸쳐 나인투나인(AM 9:00 ~ PM 9:00) 으로 아주 타이트하게 진행한다. 마지막날에 그룹별로 발표를 함으로 끝낸다. 4주에서 6주 정도 잡고 스터디를 하는것보다 오히려
방학이 끝나기 전에 다시한번 모여 특별한 이벤트를 한다. 이때는 스터디나 프로젝트보다는 흥미롭고 새로운 경험을 해볼 수 있는 시간을 마련한다.
- 정모/2011.11.9 . . . . 5 matches
== 스터디/프로젝트 공유 ==
* [ACM_ICPC/2011년스터디]
* [JavaScript/2011년스터디]
* [RegularExpression/2011년스터디]
* 소닉 OMS를 보면서 소닉이 돌 때 마다 제 머리도 따라서 움직인 듯한 느낌이?! 그리고 소닉x는 사람도 등장하길래 안 봤었는데, 쉐도우가 궁금해서 봐야할 듯 합니다ㅋㅋ 게임에 나오던 로봇 소닉도 등장한다고 봤던거 같은데 은근 재밌을 것 같아요. 다음 주에 예정된 쓰레기로 작품을 만드는 것도 기대됩니다. 혹시 A4용지 박스 필요하면 말씀주세요ㅎㅎ - [강소현]
- 정모/2012.2.24 . . . . 5 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회한국자바개발자컨퍼런스후기]
* 내일 오후 2시에 Dell PC 20대 고스트 작업합니다. 많은 참여 바랍니다.
* 컴퓨터 본체넣는 케이스 바퀴 수리 - 15개가량
* 오랜만에 사회인 ZeroPager 두 분을 만나 즐거웠습니다! 치킨 감사합니다... 덕분에 ~~또~~ 폭식을 했습니다.....^_T 지원언니의 신입사원 연수 이야기 재미있었어요. 아직 취직을 하지 않았지만 가까운 미래에 취직을 해야할 상황이라 제겐 특히 더 와닿는 이야기가 아니었나 싶습니다. 승한선배의 GUI 세미나도 잘 들었습니다. 유행하는 것과 유행하지 않는 것에 대한 이야기가 가장 인상깊었어요. 작년에 [:DesignPatterns/2011년스터디 DP 스터디]를 시작하며 읽었던 FocusOnFundamentals 페이지가 생각납니다.
- 허아영 . . . . 5 matches
== 참가했던 프로젝트 & 스터디 ==
>> [C++스터디_2005여름]
* 누나 ㅋㅋ 전 내기 스타만 하는데 ?ㅎㅎ 스타 잘하시나봐요 ㅋㅋ 여자가 스타잘하면 멋있는데~
- 2002년MT . . . . 4 matches
1. 청량리역에서 버스타는곳 쪽으로 가서 버스를 타고 간다.
''제 생각엔 버스를 타고 가는게 좋을듯... - 임인택''[[BR]]
버스타고 갑시다.. 다들 귀찮.. -zennith
- 2002년도ACM문제샘플풀이 . . . . 4 matches
''부끄러워할 필요가 없다. 촉박한 시간에 쫓겼다고는 하나, 결국 정해진 시간 내에 모두 풀은 셈이니 오히려 자랑스러워 해야 할지도 모르겠다. 아마 네 후배들은 이런 배우려는 태도에서 더 많은 걸 느끼지 않을까 싶다. 이걸 리팩토링 해서 다시 올리는 것도 좋겠고, 내 생각엔 아예 새로 해서(DoItAgainToLearn) 올려보는 것도 좋겠다. 이번에는 테스트 코드를 만들고 리팩토링도 해가면서 처음 문제 풀었던 때보다 더 짧은 시간 내에 가능하게 해보면 어떨까? 이미 풀어본 문제이니 좀 더 편하게 할 수 있을 것 같지 않니? --JuNe''
== 소스 ==
* 제 소스 공개하면서 이렇게 부끄럽기는 처음인듯 하네요... --재동
- 2006동계MT/계산내역 . . . . 4 matches
영수증을 스캔하면 좋겠지만, 서울 집에는 스캔이 없어서 그냥 써서 올릴게요^^
참치, 건전지, 부탄가스, 쌈장
아이스크림, 음료 등 9,700원
- 2010Python . . . . 4 matches
= 2010년 여름방학 Python 스터디 =
* [윤종하] - [파스칼삼각형/윤종하]
* [김수경] - [http://wiki.zeropage.org/wiki.php/%ED%8C%8C%EC%8A%A4%EC%B9%BC%EC%82%BC%EA%B0%81%ED%98%95/%EA%B9%80%EC%88%98%EA%B2%BD#s-3 파스칼삼각형/김수경2]
[2010년활동지도], [스터디분류]
- 2012년독서모임 . . . . 4 matches
* [김수경] - [http://book.naver.com/bookdb/book_detail.nhn?bid=184152 젊은 피아니스트에게 보내는 편지]
* 장소 : 캡스톤 설계실
* 장소 : 캡스톤 설계실
* [박한기] - 에너지 버스
- 2dInDirect3d/Chapter2 . . . . 4 matches
D3DDEVTYPE DeviceType, //디바이스의 타임, D3DDEVTYPE_HAL을 사용
2. BehaviorFlag에는 버텍스를 처리하는 방법을 넣어준다. D3DCREATE_HARDWARE_VERTEXPROCESSING, D3DCREATE_MIXED_VERTEXPROCESSING, D3DCREATE_SOFTWARE_VERTEXPROCESSING중 한가지를 사용한다. (사실은 더 많은 옵션이 있다.) 대개 마지막 SOFTWARE를 사용한다.
4. 마지막 인자로는 생성될 디바이스의 객체를 넣어준다.
뷰포트는 실제적으로 렌더링을 하는 지역이다. 뷰포트가 없이는 디바이스는 어디에 렌더링을 할지 모른다.
- 3N+1Problem/황재선 . . . . 4 matches
http://bioinfo.sarang.net/wiki/AlgorithmQuiz_2f3Plus1 에서 yong27님의 소스코드를 보았다. 소스가 정말 깔끔했다. 실행속도가 빨라서 그 원인을 분석해가며 지난번 작성했던 코드를 수정했다. 나의 목적은 0.001초라도 빠르게 결과를 출력하는 것이었다. 실행시간을 최소화하기위해 클래스마저 없앴다. 특히 두 부분을 수정하니 실행시간이 현저히 줄었다. 하나는 클래스 멤버변수를 제거하고 지역변수화한 경우인데 왜 그런지 모르겠다. 둘째는 사전형 타입인 cycleDic 에서 key를 문자열에서 숫자로 바꾼 부분이었다. 지난번 구현시 무엇때문에 수치형을 문자열로 변환하여 key로 만들었는지 모르겠다. -- 재선
- 5인용C++스터디/메뉴와단축키 . . . . 4 matches
클라이언트 영역에 마우스 오른쪽 버튼을 누르면 실행된다.
0은 메뉴판이 마우스 커서 오른쪽 아래에 표시되게 한다.
point.x, point.y : 마우스 단추를 누른 곳의 좌표
[5인용C++스터디]
- ACM_ICPC/PrepareAsiaRegionalContest . . . . 4 matches
* [ACM_ICPC/2011년스터디]
* [ACM_ICPC/2012년스터디]
* [ACM_ICPC/2013년스터디]
* [AlgorithmStudy/2015 | ACM_ICPC/2015년스터디]
- AI오목컨테스트2005 . . . . 4 matches
* [http://zeropage.org/trac/namsangboy/browser/Omok 오목소스_상협]
Upload:Omok.exe - 파이썬 AI와 대결하기 위해 소스를 약간 수정한 오목 실행파일
상품이 이정도가 된다면..;;ㅁ;; 학습하는 AI를 만들어서 하드디스크 꽉찰 정도의 용량을 학습시킨다음에 출전시켜야 하는거 아닌가용..ㅎㅎㅎ - [조현태]
저번에 했던거 현태꺼 소스좀 어딨는지 알려주세요ㅠ 제 메일에 보내놨는데 깨져있어요;;;;
- ActiveXDataObjects . . . . 4 matches
마이크로소프트 ADO(ActiveX Data Objects)는 데이터 소스에 접근하려고 고안된 COM객체이다. 이것은 프로그래밍 언어와 데이터 베이스 사이의 층을 만들어준다. 이 층은 개발자들이 DB의 구현부에 신경쓰지 않고 데이터를 다루는 프로그램을 작성하도록 해준다. ADO 를 이용할 경우, 데이터베이스에 접근하기 위해서 SQL 을 알 필요는 없다. 물론, SQL 커맨드를 수행하기 위해 ADO 를 이용할 수 있다. 하지만, SQL 커맨드를 직접 이용하는 방법은 데이터베이스에 대한 의존성을 가져온다는 단점이 있다.
- AppletVSApplication/진영 . . . . 4 matches
* "'''Application'''"은 main()함수를 포함하고 있어서 자기 스스로 실행이 되는 반면에
* "'''Applet'''"은 main()함수 없이 자기 스스로 실행되지 않고 html에 의해 돌아가는 것 같습니다.
- CanvasBreaker . . . . 4 matches
1. 히스토그램
2. 누적 히스토그램
4. 일반 히스토그램 - 40분
드디어 페이지 개설. 감격스럽다. 남은 시간동안 뼈빠지게 코딩이다.--["snowflower"] [[BR]]
- Code/RPGMaker . . . . 4 matches
= Table 클래스의 구현 =
= Color 클래스의 구현 =
알만툴에서 사용하는 Color 클래스이다.
내부적으로 자바의 java.awt.Color 클래스를 가지고 있으며 이를 이용하여 모든 값을 주고받는다.
- ComposedMethod . . . . 4 matches
초보자들은 작은 크기의 많은 메소드를 보고는, 프로그램의 진행 상황을 잘 모른다고 할 수도 있다. 하지만 경험이 쌓일수록, 잘 지어진 이름의 메세지는 코드의 흐름을 알기 쉽게 해준다. 메소드 이름을 의도가 드러나게 짓는것은 하나의 메소드 크기를 작게 하는 가장 큰 이유가 된다. 그 코드를 보는 사람들은 하나 하나의 작은 부분을 이해함으로써, 더 큰 부분을 이해할수 있게 된다. 또한 메소드를 작게 하면 버그가 발생했을때도 거기에 국한시킬 수가 있다. 뭔가 개선하기가 쉬워질 것이다. 물론 상속도 자연스럽게 할수 있다.
'''당신의 프로그램을 하나의 동일화된 작업을 수행할수 있는 메소드들로 나눠라. 모든 메소드는 같은 수준의 추상화를 유지해야 한다. 이는 자연스럽게 여러개의 작은 메소드를 만들어내게 될 것이다.'''
당신이 가장 중요하게 Composed Method를 쓸때는, 당신이 뭔가를 구현하고 있을때 새로운 책임을 발견했을때이다. 당신이 둘 이상의 메세지를 다른 객체로 보낼때, 수신 객체에서는 그 메세지들을 합치는 Composed Method를 만들 수 있다. 이러한 Method들은 당신의 시스템의 다른 부분에서도 유용하게 쓰일 것이다.
개인적으로, 간단해보이지만 아주 중요한 이야기라 생각함. ProgrammingByIntention 의 입장에서, 또한 '같은 레벨의 추상화를 유지하라'라는 대목에서. (StepwiseRefinement 를 하면 자연스럽게 진행됨) --[1002]
- DataStructure/Tree . . . . 4 matches
* 인덱스 접근할때는
* Left Child : 인덱스 * 2
* Right Child : 인덱스 * 2 + 1
* Parent : 인덱스/2 -> 내림
- DirectX2DEngine . . . . 4 matches
* 소스는 이걸 받으세요.
* 앞으로의 계획 : Timer 및 Animation 클래스의 구현.
* 계속 구현 : Timer 클래스, 상속을 위한 처리 및 DeviceLost 처리
* 게임의 시스템에 대해서 회의.
- EasyJavaStudy . . . . 4 matches
Java 스터디 그룹의 페이지(기초반)
* 여러분들 각자가 알아서 지금 공부 하시고 계신가요?^^; 이 스터디 그룹 멈춘거 아니구요 계속 하고 있는겁니다. 각자가 하다가 막히는 일이 있으면 실시간으로 서로 의논하고 하기로 합시다. 저는 자바로 스카치 를 만들어볼까 하고 있어요~! -상욱(["whiteblue"])
* 이 스터디는 더 이상의 진행이 없는 관계로 중지합니다 -[상욱]
- EuclidProblem . . . . 4 matches
한 줄에 두 개씩의 수가 입력되며 두 수는 각각 A와 B다. A와 B는 스페이스로 구분된다. (A, B < 1,000,000,001).
입력된 각 줄에 대해 각각 스페이스로 구분된 세 개의 정수 X와 Y 그리고 D를 출력한다. 식을 만족하는 X와 Y가 여러 개 있으면, (첫째로) |X| + |Y|가 최소가 되고 (둘째로) X <= Y 인 값을 출력한다.
- FactorialFactors/조현태 . . . . 4 matches
누가 1억을 3-4초안에 출력하게 해주..ㅠ.ㅜ (참고로 이 소스는 12-13초 걸린다.)
1억을 기준으로 테스트 했을때 13초->10초정도의 향상이 있다. T.T 별로 많이 빨라지지는 않았네..
== 소스 ==
이야 뭐가뭔지 몰르겟어 넘 고난의도의 스킬을 ㅋㅋㅋㅋ
- ForeverStudent . . . . 4 matches
언제나 배우는 학생이다. 공자는 스스로를 호학(배움을 좋아하는 -- 참고로 好의 레게 영역은 love다)하는 사람이라고 평가했다.
학생으로의 부분적 기간이 종결되는 순간 자기 스스로를 학생의 무리에서 제외시켜 버리는 경우가 있다. 하지만 우리는 영원히 학생일 뿐이다. 배울 것이 있는데, 내 나이가 몇이고 내가 뭘하고 몇 학년인지 따질 필요가 있겠는가.
- Hacking/20040930첫번째모임 . . . . 4 matches
* 교재 Chapter1(공격목표 정보수집과 경유설정)과 Chapter2(스캐닝)
* VMware와 리눅스 설치하고 기본명령어 공부하기
- 리눅스 다운로드
[리눅스명령어] 설명입니다 --[김홍선]
- Hacking2004 . . . . 4 matches
크래커를 막는 보안방법 스터디
* [http://packetstormsecurity.org 패킷스톰]
* [http://securityfocus.com 시큐리티포커스]
[스터디분류]
- HelpOnConfiguration . . . . 4 matches
만약 시스템 차원에서 rcs를 지원하지 않는다면 rcs를 컴파일해서 사용해보라. 예를 들어 모니위키가 설치된 디렉토리가 {{{moniwiki}}}이고
$path='/usr/bin:/bin:/usr/local/bin:./bin'; # 유닉스의 기본 실행파일 디렉토리 + ./bin
$path='/usr/bin:/bin:/usr/local/bin:/home/to_your_public_html/moniwiki/bin'; # 유닉스의 기본 실행파일 디렉토리 + bin의 full path
/!\ wiki.php에 정의되어 있는 WikiDB 클래스를 보면, 우선 하드코딩된 기본 설정이 있고, config.php에서 읽은 설정 사항을 그 위에 덧씌우는 방식이다.
- HelpOnSmileys . . . . 4 matches
== 스마일리 ==
스마일리를 :) 와 같이 넣으려면 {{{:)}}}와 같이 입력합니다. 아래의 스마일리 목록을 참고하실 수 있습니다. {{{:)}}}를 집어넣을 때는 양쪽에 '''공백이 있거나''' 다른 '''글자들과 떨어져 있어야''' 스마일리가 정확하게 들어갑니다.
- HowToDiscussIt . . . . 4 matches
* 술퍼맨 : 강남에 새로 생긴 디스코텍이 수질이 우수하다는 정보를 입수했습니다.
예컨대, 일단 전체 그룹을 모아놓고 간략한 문제 상황 설명과 목적에 대해 컨센서스를 이룬 후에, 학년별 소그룹으로 나누고 자기들끼리 알아서 대표를 선출하고 토론하도록 한다. 선배의 눈치를 볼 필요 없이 자신들만의 의견을 개진, 정리하도록 한다. 얼마 후에 모든 그룹이 모여서 각 소그룹의 대표자가 토의 내용을 요약 발표한다. 이것에 대해 다시 전체 토론을 하고, 또 다시 '''Subgroup'''을 사용할 수도 있다.
전체 개미 사회에서 일을 열심히 하는 개미가 20%이고, 나머지 80%는 게으름뱅이라고 하면, 이 80%만 따로 독립시켜 놓으면 그 중 20%가 부지런한 개미가 된다. 전체 시스템의 모양은 변하지 않고, 각자의 역할이 조금씩 바뀌는 것이다. 말을 잘 하지 않는 사람이 있고, 말을 많이 하는 사람(예컨대 진행자, 강연자)이 있을 때, 이를 다시 소규모로 나누게 되면 대부분 참여도가 높아지게 된다.
의견 발표를 하지 않는 사람을 보고 뭐라고 하거나, 질문을 강요하기 보다는 그들이 왜 그렇게 소극적인지를 분석하고, 적극적으로 될 수 있는 환경과 NoSmok:어포던스 를 제공하라.
- JavaScript/2011년스터디/JSON-js분석 . . . . 4 matches
[[pagelist(^JavaScript/2011년스터디)]]
* 자바스크립트의 strict모드 ([http://ejohn.org/blog/ecmascript-5-strict-mode-json-and-more/ 레식이 홈피참고])
//유니코드로 변환하는 과정 : .charCodeAt로 가져온 아스키코드를 toString(16)로 16진수 변환
* 역직렬화(Deserialize, Deserialization) 직렬화와 반대과정 즉 스트링에서 객체를 재구성
- JavaStudy2002/영동-2주차 . . . . 4 matches
* 상욱이의 지적에 따라 하나의 클래스에서 모든 걸 처리하지 않고 클래스를 여러개로 분리했습니다.
Class main--메인함수 클래스
* 데블스 캠프할때 저런거 해결하는 팁 나왔었던 거 같은데. LookUpTable이라고.. -- 인수
- ModelViewPresenter . . . . 4 matches
MVP 는 실제로 3개의 클래스가 더 있다. 요약하면
* Interactor - 키보드나 마우스 이벤트들을 Command 나 Selection 으로 매핑한다.
C++, Java 의 다음 세대 프로그래밍 모델. Smalltalk 의 고전적인 MVC 프로그래밍 모델에서 나왔으며, 다양한 번위의 어플리케이션과 컴포넌트 개발 테스크를 위한 강력하면서 이해하기 쉬운 디자인 방법론. 이 개념의 framework-based 구현물은 MVP 를 em쓰는 개발 프로그램에 훌륭한 가치를 더해준다. MVP는 또한 다중 client/server 나 multi-tier 어플리케이션 아키텍쳐에도 적합하다. MVP 는 IBM 의 대부분의 OO Language 환경들에 대해 단일한 개념의 프로그래밍 모델을 제공해 줄 수 있을것이다.
실제 IBM 의 샌프란시스코 프레임워크에 사용되었다고 들었던것 같다. (그래서 그런지 좀 추상적이면서 광고성의 문구로 보이긴 하다 -_-;) --[1002]
- OurMajorLangIsCAndCPlusPlus/stdlib.h . . . . 4 matches
|| size_t mbstowcs(schar_t *pwcs, const char *str, size_t n); || 다중 바이트 문자 스트링을 wide 문자 스트링으로 변환 ||
|| size_t wcstombs(char *str, const wchar_t *pwcs, size_t n); || wide 문자 스트링을 다중 바이트 스트링으로 변환 ||
- PHPStudy2005 . . . . 4 matches
* 일방적인 정보 전달 스터디가 아닌, 하는 방법(메뉴얼 찾아서 하기, 틀정 사이트 Q & A 찾아서 하기, 있던 PHP소스 재활용하기, 모를땐 메신저로 선배한테 물어보기-_- 등..) 을 알려주고, 그에 따라 간단한 PHP 프로그램을 작성해본다.
== 진행스케줄 ==
DeleteMe) 스터디? 프로젝트? - [eternalbleu]
- Perforce . . . . 4 matches
상업용 RC 이며, 오픈 소스 프로젝트 진행에 한해서는 무료로 배포된다.
프로그램은 서버, 클라이언트 환경으로 관리되며, 서버는 소스의 모아서 관리한다. 서버 프로그램은 유닉스, 맥, MSWin 버전으로 제공된다. 클라이언트는 GUI, CMD 버전의 툴을 지원하며 다양한 OS 에서 이용가능하다. 또한 IDE 와 연동역시 지원한다. (IDE에는 3dmax, maya, photoshop, office 등을 포괄하는 방대한 시스템)
- Profiling . . . . 4 matches
'''Profiling'''(프로파일링)은 원하는 부분의 프로그램 성능을 측정하는 성능 테스트이다.
좀더 적은 메모리를, 좀더 적은 디스크의 용량을 사용할수 있는가?
프로그램의 80%의 리소스가 20%의 코드에서 쓰여진다.
'''Profiling'''(프로파일링)은 원하는 부분의 프로그램 성능을 측정하는 성능 테스트이다.
- ProjectAR/CollisionCheck . . . . 4 matches
* 기본적으로는 비트맵을 읽어서 텍스쳐르 변환할것이므로, 기본적인 Object는 사각형이다.
일단 히트 판정이 날려면 주인공이 공격을 하게 됩니다. 그 때 발생하는 무기의 범위는 부채꼴이 되겠죠? 그렇게 때문에 오브젝트가 주인공의 위치와 무기의 거리사이에(각도는 제한된 상태) 들어온다면 히트 판정이 나게 되겠죠? 그러므로 정교한 히트 판정이 나기 위해서는 사각형 영역보다 부채꼴 형태가 더 적합하다고 생각합니다. 그리고 적의 충돌을 판정하기 위해서는 적은 최대한 둥근 모습으로 만든다면 해결이 어느정도 가능하다고 생각합니다. 둥그스름한 물체가 땅에 닿는 곳은 원형이 되겠죠? 그 원형을 판단하면 되지 않을까요? 어짜피 그려지는 곳의 머리가 주인공의 무기와 겹치는 동시에 친다면 더 부자연스러울꺼 같네요...
이내면 히트 아니면 미스다.
- ProjectPrometheus/UserStory . . . . 4 matches
||시스템으로부터 책을 추천받을 수 있다. ||
||로그인을 해야 서비스를 이용할 수 있다. ||
* 시스템으로부터 책을 추천받을 수 있다.
* 로그인을 해야 서비스를 이용할 수 있다.
- ProjectZephyrus/Thread . . . . 4 matches
* ''Database Connection Pool 을 사용하던 하지 않던, DB 자원을 얻어오는 부분을 하나의 end point에서 처리하세요. 처음부터 이를 고려하지 않을 경우, '''*.java''' 에서 Database Connection을 생성하고, 사용하는 코드를 머지않아 보게 될겁니다. 이는 정말 최악입니다. pool을 쓰다가 쓰지 않게 될 경우는?다시 pool을 써야 할 경우는? 더 좋은 방법은 interface를 잘 정의해서 사용하고, 실제 DB 작업을 하는 클래스는 Factory 를 통해 생성하는게 좋습니다. 어떤 방식으로 DB를 다루던 간에 위에서 보기엔 항상 같아야 하죠. --이선우 [[BR]]
Database 관련 부분 아니라 팀 프로젝트시 고려해야 할 사항은 꽤 됩니다. SuccessfulProject 를 위해서 고려해야 할 사항은 어떤게 있을까요? 자세한 내용은 차후 정리해서 쓰기로 하고, 하나 이야기 하고 싶은건 최대한 '''중복'''을 피하도록 하세요. 특히나, 한참 대화를 하지 않고 있다보면 같은 일을 하는 utility성 클래스들을 모두가 하나씩 지니고 있을겁니다.
''혼자서 플밍할때에도 자주 발생하는.. ^^ 다른 프로그램들 플밍하다가도 비슷한 패턴의 코드들이 많이 보여서 그런 건 따로 utility class 식으로 디렉토리 따로 두고 관리하고 했었죠. 프로젝트 진행중에는 다른 사람들 소스를 지속적으로 같이 봐 나가면서 생각해야겠군요. CVS 로 한곳에 소스를 모으면 도움이 될 것이라 생각. --석천''
- PyIde . . . . 4 matches
* Prototyping & 외부 공개소스 Review & Copy & Paste 하여 가능한한 빠른 시간내에 원하는 기능 구현법이나 라이브러리들을 연습하여 익힌뒤, Refactoring For Understanding 을 하고, 일부 부분에 대해 TDD 로 재작성.
* 기타 - CyberFomulaSin의 아스라다와 오우거, Sarah Brightman 의 Harem 앨범, NoSmok:시간관리인생관리
''가능하다. Jython 스크립트를 Java Class 파일로 간단하게 바꿀 수 있다. 나는 IE 오토메이션을 이렇게 해서 자바 FIT에서 통합으로 관리하게 했었다. --JuNe''
* http://www.die-offenbachs.de/detlev/eric3.html - 스크린샷만 두고 볼때 가장 잘만들어져보이는 IDE.
- Robbery/조현태 . . . . 4 matches
주어진 예제와 그 이외의 몇몇 사항을 바탕으로 테스트를 하였다.
자전거 문제에 이 소스를 배껴넣다가.. 규칙을 일부 잘못 이해한것 같아서 수정했다.
이전의 경우 도둑이 특정시간에 존재할 수 없는경우 "The robber has escaped." 를 출력했으나, 지금은 모든 시간의 움직임을 고려해서 존재하지 않으면 "The robber has escaped."를 출력하도록 수정하였다. (사실 소스상에선 그다지 바뀐건 없다..^^)
=== 소스 ===
- ServerBackup . . . . 4 matches
2008-11-02 부터 진행하는 ZeroPage 서버 데이터 원격지 백업 스크립트 관련 내용.
1. 백업 스크립트 작성
* (./) 압축 ~ 위 스크립트에서 한꺼번에 수행
1. 전송 테스트
- ServiceQualityOfYongsanMarket . . . . 4 matches
용산 전자상가에 갈일이 많을 텐데, 이곳에 개개인이 평가한 상점의 서비스 평가나 가격등에 대한 정보를 모아두면 좋을 것 같아서 이 페이지를 만들었습니다. 상점이름은 ID로만 표현해두고 이 ID에 대한 정보는 ZP의 게시판에만 게시를 해서 외부인은 열람할 수 없게 해 두는 것이 좋을것 같네요. -- 임인택
* 1시간 정도 후에 매장을 찾아가 아까 전화했던 사람이라고 설명을 해주니 물건을 챙겨줌(용산의 특성상 손님을 반갑게 맞거나 하는것은 애초에 바라지도 않음). 봉지에라도 좀 담아주지...; 영수증좀 받을 수 있냐고 물으니 눈도 마주치지 않으며, '홈페이지에서 출력하시면 됩니다'. 보통 손님이 이런 요구를 하면 직접 출력해주는게 기본적인 서비스 아닌가?
DeleteMe) 용산에서 서비스를 바라는 자체가 이상 -_-;;; 싸기만 하면 장땡 ㅋㅋㅋ - [eternalbleu]
보통 이런경우보다는 기분좋게 물건사는 경우가 더 많았는데, 이날은 정말 짜증이 밀려와, 개인적으로라도 이 가게는 안가려고 리스트업하는겁니다. 흐흐. - 임인택
- SharedVision . . . . 4 matches
어떻게 들으면 Top-Down 식의 위에서부터의 명령 하달처럼 들리지만, 나는 다르게 해석하고 싶다. 즉, 사람들 개개인 구성원들이 자신들의 역할을 스스로 결정짓고, 그것이 조직의 비전이 되는 경지.
* 또하나 생각난다면, 구심점이 되는 작은 사람들 (이때쯤 되니 또 20 : 80 법칙 생각이;)이 영향력을 발휘하는 방법. 보통은 이 스타일이 되는 것 같다. 문제제기 & 대안제안자 10%에 실제로 수습하는 사람 10%, 동의해주고 따라주는사람 40%, 60% 가 넘어간 뒤 인력의 작용(한쪽에 커다란 힘이 모여있으면 이 또한 인력이라고 생각한다. 월드컵 축구를 보라. -_-; 뉴스건 사람들이건 신문이건 전부 축구이야기만 하면 영향 안받나;) 30%, 나머지 무관심 10% (반대의견을 내는 사람은 실제 수습자들속에 있기도 하다. 물론 냉소만 보내는 사람도 있지만)
- SolidStateDisk . . . . 4 matches
반도체 메모리 칩(e.g. DRAM chips) 으로 이루어진 디스크 시스템.
백업 메카니즘으로서 배터리나 일반적인 자기디스크를 내장하곤 한다. SDD 는 일반적인 HDD I/O interface 로 연결된다. 이로 인해서 얻을 수 있는 잇점은 적은시간에 빈번한 I/O 작업이 일어날 경우에, seek time 이나 rotational latency 가 없는 메모리로서, 자기디스크에 비해 월등한 성능을 나타낼 수 있다. 그에 덧붙여 구동부가 없는 구조로서 좀더 내구성이 뛰어나다고도 할 수 있겠다. 단점은, 특성상 대용량화가 어려우며 커다란 데이터의 요구량이 커질때. 즉 access time 보다 transfer time 이 더 요구될때 효율성이 안좋다.
- Vaccine . . . . 4 matches
|| NAV (노턴 안티바이러스)|| 1 ||
도스 시절부터 v3을 사용해왔고 바이러스 검출 능력이 좋고 속도가 빠르다고 생각되어 계속 사용하고 있습니다. 구하기 쉽다는 장점도 있는것 같네요.; -- 재선
바이러스 감시 기능은 쓰지 않지만, 가끔 백신메일을 받아 씁니다. --[Leonardong]
- VendingMachine/세연/재동 . . . . 4 matches
== 나름대로 고쳐본 소스 ==
cout << "거스름돈" << _money << "원을 돌려드립니다\n";
1. 우선 211 라인에서 144 라인으로 소스를 32% 줄임
3. 클래스명과 함수명 그리고 변수명을 좀 더 평범하게 변형
- VonNeumannAirport/남상협 . . . . 4 matches
Input 과 output 예제가 왜 그렇게 나왔는지 이해 하는데에서 많은 오해를 해서 의도하지 않은 삽질을 하게 되었습니다. 나름대로 시작은 testCase 만들면서 했지만 제대로 테스트 케이스 만들면서 진행은 하지를 못했습니다. 그래서 테스트 케이스는 올리지 않았습니다.
- WeightsAndMeasures/신재동 . . . . 4 matches
sort()에 비교 함수('''turtlesCompare''') 넣는데 은근히 힘들었음. 처음에는 C++의 STL에서 vector에 비교 함수 넣는 것과 같으리라고 생각하고 비교 함수를 만들었는데 안되서 확인해보니 파이썬의 리스트에서는 결과를 '''{-1, 0, 1}'''로 해야지 제대로 돌아간다는 것을 알았음. --재동
클래스를 사용한다면 스스로 어떻게 정렬될지 아는 놈으로 만드는 것도 좋겠다.
- Yggdrasil/가속된씨플플/4장 . . . . 4 matches
* 4.3장부터는 여러 헤더파일과 소스파일로 분리해놓고 있다.
* throw로 예외 상황이 발생되었다는 것을 알린다. 예외 클래스엔 여러개가 있으며, 생성자로 문자열을 집어 넣을 수 있고, 이건 일반적으로 출력이 안되지만, what()함수로 확인 가능.
== String 클래스 ==
* max()라는 함수가 의심스럽다. 분명 msdn에도 algorithm헤더에 있다고 했는데 컴파일하면 자꾸 정의되지 않은 이름이라 에러를 뱉어낸다. 이 함수의 정체는?
- ZeroPageServer/UpdateUpgrade . . . . 4 matches
소스트리는 현재(2004년) 테스트 버전인 sarge 가 되어 있다. 앞으로 sarge가 stable 이 되는 1~2년 사이에는 빈번한 패치, 업그레이드가 이루어 지므로, 일주일에서 보름 정도 사이에 한버씩 업그레이드를 해주면 된다. 한달에 한번씩 하면 수십개의 패키지가 업그레이되는 멋진 광경을 볼수 있다.
SeeAlso {{{~cpp /etc/apt/sources.list}}} , DebianKr:소스리스트
- django . . . . 4 matches
* 개발이 끝나고 실제로 서비스할 경우에는 apache + mod_python 으로 올려야 한다.
* html 이 있는 template 에 많은 것을 바라지 말자. 가능하면 view에서 데이터를 거의다 처리해서 template에 넘기는것이 좋다. template에서 받아온 데어터로 리스트와 맵 변수의 첨자(subscriber)로 사용하려고 했는데 안된다. 이러한 경우에는 view에서 데이터를 아예 가공해서 넘기는 것이 좋다.
* [http://www.b-list.org/weblog/2006/06/13/how-django-processes-request] : Template 에서의 변수 참조에 대한 설명. 필수!!, 리스트나, 맵, 함수등에 접근하는 방법
* [django/Example] - django를 이용해 만들어본 예제 시스템
- mantis . . . . 4 matches
* 버그 트랙킹 시스템 입니다. 버그 질라에 비해서 훨씬더 설치가 쉽습니다. 아직 이메일 부분 문제는 해결 못했는데 해결 하신분은 좀 적어 주세요. -_-;
* apm 설치후, 걍 www 폴더에 복사후 웹으로 해당 localhost/mantis 들어 가면 인스톨 나오고 DB 관련 한것을 넣어 주면 설치가 됩니다.
테이블을 만들때 euc-kr 으로 만들었고 euc-kr 을 mantis 에서 사용하기 위해 아래와 같이 mantis 소스를 수정 하였습니다.
* 에러 메시지 제거는? 에디트 플러스 Find in file 에서 htmlspecialchars 이 것을 다 찾아서 @htmlspecialchars 이것으로 바꿔 주면 됩니다.
- sakurats . . . . 4 matches
아까 버스 정류장에서 하드웨어 하고 싶다고 했었잖아..
참고적으로 하드웨어 하는데는 부속을 사고 하드웨어를 조립하거나 테스트할
버스정류장이라면.. 꽤 예전 일인데. 하핫^^
wiki:NoSmok:노스모크 에서 여기 링크되어 있는 것을 보고, 네가 전에 제로페이지 회원이라고 했던 것이 기억나서 와봤는데, 역시 있구나. 반갑다. 공부는 잘 되니? -- wiki:NoSmok:이응준
- whiteblue/MyTermProject . . . . 4 matches
<< "1) 과목별 입력 결과 리스트 " << endl
<< "2) 과목별 성적순 리스트 " << endl
<< "3) 학생 전과목 입력 결과 리스트 " << endl
<< "4) 학생 전과목 성적순 리스트 " << endl
- 가위바위보 . . . . 4 matches
=== 문제 소스들 ===
* 아래와 같은 예제 식으로 소스를 만든 페이지에 넣어 주세요.
||도전자||총개발시간||소스라인수('''주석제외''')||사용언어|| Source ||
see also ["데블스캠프2002"], SwitchAndCaseAsBadSmell
- 겨울과프로젝트 . . . . 4 matches
* 아마 실제적으로 프로젝트가 진행되는 마당은 3번의 마당 한달반 가량 될듯 싶습니다. 연말, 설, 오티, 크리스마스 까지 있어 지장이 많을듯.
* 이 이후에는 신학기 준비, 이사, OT후유증 기타등등으로 약간은 스터디 진행이 어려워 지지 않을까 생각합니다.
[스네이크바이트] ([강희경]) : MFC를 공부하는 모임.
- 구구단/곽세환 . . . . 4 matches
데블스캠프2003첫째날 구구단짜기
스킴으로 짠 구구단
스몰토크로 짠 구구단
SeeAlso ["데블스캠프2003/첫째날"] ["곽세환"]
- 데블스캠프2003/셋째날 . . . . 4 matches
[데블스캠프2003/셋째날/여러가지언어들]
[데블스캠프2003/셋째날/J2ME]
["데블스캠프2003/셋째날/후기"]
[데블스캠프2003]
- 데블스캠프2005/FLASH키워드정리 . . . . 4 matches
= [데블스캠프2005/월요일]/FLASH키워드정리 =
플레시 액션 스크립트의 문법의 모습은 C와 Java를 닮았다.
[데블스캠프], [데블스캠프2005]
- 데블스캠프2005/RUR-PLE/정수민 . . . . 4 matches
뭐..나도 밤새 놀고있긴 하지만 말야..ㅎㅎ (대신 난 낮에 잔다우.. 이놈의 데블스..;;)
소스가 좀 줄어든것 같군..우후후..ㅎㅎ
뭔가 더 좋은 방법이 생각이났는데 =0= 코드가 길어질꺼같은니 패스 -_-;;
[데블스캠프2005/RUR-PLE]
- 데블스캠프2006/금요일 . . . . 4 matches
= [데블스캠프2006/금요일] =
소스 올리는 곳 - svn://zeropage.org/home/SVN/project
[CodeRace/데스크탑검색]
[데블스캠프2006]
- 데블스캠프2006/화요일/tar . . . . 4 matches
= [데블스캠프2006/화요일/tar] =
데블스캠프2006/화요일/tar/자기이름
[데블스캠프2006/화요일/tar/나휘동]
[데블스캠프2006/화요일/tar/김준석]
- 레밍즈프로젝트/스펙분석 . . . . 4 matches
= 게임스펙 =
Upload:레밍즈프로젝트_게임스펙분석.gif
= 맵 제작 스펙 =
Upload:레밍즈프로젝트_맵제작스펙.gif
- 빵페이지/도형그리기 . . . . 4 matches
* 그래도 웬지 소스가 길면 뽀대 나잖아~ -_-;;;;;; - 승균
== Python Vs C/C++ 모두 같은 생각의 소스 ==
* 같은 생각으로 작성한다면 소스가 어떻게 표현될까 궁금했다. 소스양만 따지면, Python 을 위한 문제인가.
- 사랑방 . . . . 4 matches
''약간은 사기라고 봐도 됩니다. 퀵소트에서 첫번째 원소를 피봇으로 잡는 경우가 헤스켈에서 아주 간단히 표현될 수 있다는 점을 이용한 것이죠 -- 첫번째가 피봇이 되면 문제가 생기는 상황들이 있죠. 보통 헤스켈의 "간결성"을 강조하기 위해 전형적으로 사용되는 예입니다. 뭔가 독특한 점을 강조하기 위해 쓰인다는 것 자체가 이미 약간의 과장을 암시하고 있습니다. see also Seminar:QuickSort --JuNe''
ex) &12;{ 의 경우 '''&'''12;{'''&'''#; (굵은 글씨가 매치된 케이스)
i. 스트링 비교하여 "&"일 경우 - 찾음.
- 상협/Diary/9월 . . . . 4 matches
* 현재로서는 군대 가는것은 평범한 해결책이고 부담없는 방법인거 같다. 군대 가서 굴르고 하는거는 안해봐서 뭐라고 말은 못해도 그렇게 거부감이 들지는 않는다. 기숙사랑 친근한 분위기일거 같다. -_-; 다만 안그래도 굳은 머리가 완전히 굳어 버려서 창조적인 사고가 마비될꺼 같은게 좀 걸린다. 다른 해결책들은 좀 스릴이 있는거 같다. 노력도 많이 해야 할거 같다. 어차피 한번사는 인생 스릴있게 갈때까지 가볼까나..쩝..
|| 푸시푸시 || 기본스펙 + 스테이지(2,3개정도) || 아싸 나가보자 || - ||
- 상협/인공지능/오목 . . . . 4 matches
= 소스 =
||날짜|| 소스 ||
* 2002.2.3 : 허접하고 중복많은 소스를 통해서 AI오목을 만듬, 어찌나 중복이 많던지 쓸데없이 4200라인이나 나옴..-_-;;내가 미쳤지..
* 2003.2.3 : 여전히 중복이 좀 있긴 하지만 일년동안 더 공부한 짠밥이 있어서인지 잘 작동하지 않았던 기능들도 다 작동하게 함으로서 인공지능도 상당히 향상시키면서 동시에 소스 라인수는 대폭 줄임. 4200 -> 2300..
- 새싹교실/2011/Pixar . . . . 4 matches
* 후기 작성 요령 : 후기는 [http://no-smok.net/nsmk/FiveFs FiveFs(노스모크)]에 맞게 작성해주세요.
* 지난주에 돈가스를 먹은 것에 대해 후기를 쓴다면 : "지난주에 강남에 가서 하나에 5만원하는 돈가스를 먹었다.(사실) 기대를 잔뜩 했는데 별로 맛이 없었다.(느낌) 강남은 땅값이 비싸서 값만 보고 엄청 맛있을거라 기대하면 안된다는 것을 알았다.(깨달은점) 다음에는 미리 인터넷에서 평을 찾아보고 별점이 높은 돈가스집을 찾아서 가봐야겠다.(앞으로의 계획)"
- 새싹교실/2013 . . . . 4 matches
|| 01 || [새싹교실/2013/라이히스아우토반] || [고한종] || [임지훈], [지영민], [박경준], [이명연] || 5회차 || 매주 수요일 오후 2시 ||
|| 13 || [새싹교실/2013/빕스반] || [박상영] || [김남규], [이예나], [김한준] || 0회차 || ||
* 위키를 사용하지 않는 팀들은 그럼 새싹교실 스터디만 진행하는 건가요? 아니면 다른 곳에 기록을 한다거나 정모에서 배운 내용을 공유한다거나 다른 활동을 하는 건가요? 위키를 사용하지 않더라도 링크 없이 반 이름 정도는 리스트에 올려두는 게 어떨까 싶은 생각이 듭니다. - [김수경]
- 서지혜/2011 . . . . 4 matches
* 스터디가 잘 안되는것 같습니다. 공부를 안하게 됩니다.
* 열정은 남아있는 열정으로 충전할 수 있다 - 시지프스를 다시 생각하다에서
* [2011국제퍼실리테이터연합컨퍼런스공유회]
* 엑스퍼 정모에 조한나와 레베카가 왔었다. 시간과 언어의 장벽으로 인해 겉핥기만 했다..
- 수업평가 . . . . 4 matches
||에어로빅(스포츠댄스) || 0 || 1 || 2 || 2 || 5 || 1 ||5 ||
||댄스스포츠_이선애 || 1 || 1 || 2 || 2 || 5 || 1 ||5 ||
- 알카노이드 . . . . 4 matches
* 이미지 객체 이용 스틱과 공, 벽돌 출력 - 더블 버퍼링 이용
* 키 이벤트 이용 스틱 움직임 구현
* 공과 스틱의 충돌시 범위에 따라 반사각의 변화
Upload:alkanoid.zip -[김홍선] < 이클립스가 이상하게 되서 구조가 이상해져 버렸어요 -_-;
- 위키로프로젝트하기 . . . . 4 matches
* output 화일 링크걸기 - 다른 사람들이 직접 컴파일하거나 소스를 열어볼 수 있도록. 가급적이면 프로젝트 진행 초기버전부터 링크를 걸어주는 것이 좋다고 생각한다. (다른 사람들이 해당 사람의 사고 궤적을 볼 수 있다.)
일반게시판에 경우 프로젝트가 어떻게 진행될까? 하나의 프로젝트당 하나의 게시판이 열려있어야 한다. 프로젝트가 10개라고 한다면 게시판이 10개가 열려있어야 하고, 각각의 글들은 시간순서대로 저장이 된다. 위키에서의 page 10개의 의미와 게시판 10개의 의미중 어떤 것이 더 cost가 적게 들까? 그리고, 시간순서의 글 index 나열방식과 텍스트 내의 하이퍼링크중심 글 나열방식중 어느것이 더 의미있는 정보를 담을까?
* 더 효율적으로 이용하기 원한다면, 해당 지식을 이해한 상태에서 정리가 이루어져야 할 것이다. 만일 2~3명 이상 다른 사람들과 스터디를 하게 되는 경우, 해당 지식에 대한 사람들의 이해의 관점이 다를 수 있음을 알게 될 것이다. 여러 관점을 보는 것 또한 좋은 경험이 될 것이다. (외국의 대학에서는 위키를 해당 강의에 대한 공동필기장으로 쓰기도 한다.)
* 온라인이라는 잇점이 있다. 시간과 공간의 제약을 덜 받는다. 하지만, 오프라인을 배제해서는 안된다. 각각의 대화수단들은 장단점들이 존재한다. 위키의 프로젝트는 가급적 Offline에서의 프로젝트, 스터디와 이어져야 그 효과가 클 것이다. ZeroPage 의 ["정모"] 때 자신이 하고 있는 일에 대한 상황을 발표하고, 서로 의사소통을 할 수 있겠다.
- 전시회 . . . . 4 matches
* 과거 전시회 팜플렛, 포스터, 단체 티같은 물품을 전시했다.
* 몇 몇 컴퓨터에서는 소스 코드를 볼 수 있었다.
프로그램의 성능을 볼수가 없었죠 3.9기가 씨피유에 지포스2 에서 그 정도 화면이 끊긴다면 그게 더 이상한 ~_~ --[김홍선]
* 캠퍼스 사이즈 랭킹 2위가 되었음에 안도했다 & 잘못 건드렸다가 낭패볼뻔했다 -_-;;; 휘동이형 땡큐요~ --[김홍선]
- 정모/2004.1.20 . . . . 4 matches
* 테트리스 - 틀
* 스네이크 - 텍스트체제, 이동및 게임기능 구현
* MFC 스터디
- 정모/2004.7.26 . . . . 4 matches
=== 프로젝트&스터디 ===
* [AM] - API는 끝내서 반은 성공. 테트리스 만드는 중. 재선 탈퇴
* [걸스패닉] - 팀 이름을 짓고 참가신청을 해서 시작이란 각오를 다짐
* [TAOCP] - 책 사고 스터디 시작
- 정모/2012.8.22 . . . . 4 matches
* 정례 컨퍼런스 개최 - 올해에는 Web, Java를 주제로 2회 컨퍼런스를 할 예정. 앞으로도 이런 행사가 정착되었으면 좋겠다
* 1차 Web 컨퍼런스는 2012.9.15(토)에 개최
== 스터디 공유 ==
- 지금그때2005/회의20050308 . . . . 4 matches
초록모자 : 질문리스트를 만들어 간다. 소외를 최소화 해야한다. 움직임을 만든다.
패스하지 않을 질문으로 만들자. 패스를 하면 엄한 벌칙을 준다.
질문리스트. YesNoWhy후렴 (이유에 대한 우리의 평가?) <- 맞는건가요??
- 진법바꾸기/김영록 . . . . 4 matches
=== 스크린샷 ===
영록맨ㅋㅋ 스샷1.JPG 뭔가 잘못된듯? 혹시 스샷2.JPG 아니냐?ㅋㅋㅋ 큰수찾아 저장하기 예가 나온다. --아영
혹시 데블C++쓰니? 소스는 잘되 있는것 같은데..탭정렬이 영..;;ㅁ;;
- 질문레스토랑 . . . . 4 matches
* 매니저 : 레스토랑 소개, 주사위 굴리기, 질문에 대답할 사람 선택하기, 입막음을 담당
* 게스트 : 손님
* 메뉴판에 없는 질문이 하고 싶은 경우 포스트 잇에 적음
* 질문이 적힌 포스트 잇은 웨이터가 수거
- 컴퓨터고전스터디 . . . . 4 matches
요즘 전산학과 대학생들이 모여서 리눅스 해킹법이니, MFC API니 하는 걸 같이 스터디하는 것도 나름대로 의미가 있겠지만 컴퓨터계의 고전 하나를 제대로 스터디하는 것은 어떨까 합니다. ''군자무본 본립이도생. 군자는 근본에 힘을 쓰니, 근본이 서야 길이 생기기 때문이다.''라는 말이 논어에 나오죠. 나이가 아직 어리고, 시간적 여유가 있는 때에는 어떤 구체적인 "기술"보다 좀더 일반적이고 보편적이며 이론적인 사유를 훈련하는 것이 좋지 않을까요. 구체적 기술은 거기에 갖혀버리는(Lock-In) 경향이 있습니다. 2-3년 뒤에는 쓸모없어진다든가 하는 것이죠. 하지만 고전은 대부분 앞으로도 10년은 족히 유효한 것들입니다. 꾸준히 재해석될 가능성이 있는 것들이고, 무엇보다 문제의식과 함께 치밀한 사유를 배우는 겁니다. 생각하는 법 말이죠.
* 2002년 MentorOfArts 위키에서 MythicalManMonth 로 Moa:컴퓨터고전스터디 그룹이 ZeroPagers 와 진행
- 테트리스만들기2006/앞반 . . . . 4 matches
== [테트리스만들기2006/앞반] ==
회의 내용 : 테트리스에 뭘 넣으면 좋을까.. (자세한 내용은 나중에 스캔해서 올리겠음)
[테트리스만들기2006]
- 파스칼삼각형/김준석 . . . . 4 matches
원하는 행,열에 따라 파스칼의 삼각형 크기를 조절해서
아영이 누나 소스를 보았다. 아.. 재귀함수 + 하키스틱 공식으로 짤수있는거구나.. Ver 1, Ver 2, Ver 3의 변천사..
[파스칼삼각형]
- 파스칼삼각형/김태훈zyint . . . . 4 matches
멋지답~ +.+ 나두 이렇게 멋진 소스를 짜고 싶은데.. 영 계획없이 짜서말야..;;
아영아 이런 소스를 참조하라고.. 내거 같은 가독성 없는 소스 말고..ㅎㅎ - [조현태]
[파스칼삼각형] [LittleAOI]
- 파스칼삼각형/조현태 . . . . 4 matches
└ㅎㅎ 분석할게 없어서 내소스를 분석하니..;; 가독성 0의.. 고생하겠네..^^ - [조현태]
* 어업;; 파스칼이 이런식으로도 돼는구나 -_-;; 신기하다 =0=;;; [정수민]
└;; 네 소스랑 같은 알고리즘 이잖아..;; 뭐가 신기해. 너랑 똑같은데..ㅎㅎ 군데 변수명은 정말 이뽀..ㅎㅎ - [조현태]
[파스칼삼각형] [LittleAOI]
- 프로젝트 . . . . 4 matches
* [데블스캠프2004] - 실제로 많이 배우는 사람은 2학년 일지도 모르겠다.
* [2학기파이선스터디], [2학기파이선스터디/클라이언트] - 2003년 가을학기
* (V) [5인용C++스터디] - 2003여름방학
- 혀뉘 . . . . 4 matches
예술적인 기질이 있다. (연극배우, 가수, 피아니스트 등)
* 게임 : 스타크래프트
크리스마스가 가깝네..
- 02_C++세미나/0523 . . . . 3 matches
2. 스택과 큐
2. 스택
4. 파스칼의 삼각형 (집에서 해오는 숙제)
- 05학번만의C++Study/숙제제출/1 . . . . 3 matches
숙제1/허아영 <<- 글쓰기를 눌러서 이런 식으로 페이지를 만드시고 거기에 자신의 소스를 올리시면 됩니다.
=== 소스 ===
|| 이름 || 날짜 || 소스 ||
- 05학번만의C++Study/숙제제출/2 . . . . 3 matches
* 숙제1/허아영 <<- 글쓰기를 눌러서 이런 식으로 페이지를 만드시고 거기에 자신의 소스를 올리시면 됩니다.
=== 소스 ===
|| 이름 || 날짜 || 소스 ||
- 05학번만의C++Study/숙제제출1/조현태 . . . . 3 matches
== 소스 ==
책 읽어보고, using namespace std; 쓰는이유, 뭐 이런것을 익히고 자신만의 C++스타일도 찾을겸.
그리고, 너가 짠 소스는 문제에 대한 답이 아닌것 같은데? 문제를 잘 읽고 써주길 - 아영
- 2학기파이선스터디/모듈 . . . . 3 matches
* 프로그램(함수, 클래스... )과 데이터를 정의
* 모듈, 함수, 클래스 등..
[2학기파이선스터디]
- 3D업종 . . . . 3 matches
== 스터디 방식 ==
* 5.18~7~13일까지에 공백은 기말고사로 인해서 잠시 스터디를 멈춘 상태이고 7월13일 부터 다시 시작.
== 과거 스터디 ==
- 3N+1Problem/Leonardong . . . . 3 matches
* MAX(100000)개의 원소를 가진 리스트에 계산했던 CycleLength를 저장한다.
파이선만으로 12초가 걸린다. 새로운 걸 한 번씩 시도할 때마다 시간이 줄어들어 신기했다. 중간에 코드를 고치면서 시간 테스트만 돌리다가 답이 잘못 나오는 코드를 가지고 한동안 작업했었다. 새로운 기능을 추가하면 테스트를 전부 돌려야겠다. --[Leonardong]
- 5인용C++스터디/스택 . . . . 3 matches
클래스를 이용하여 스택 구현하기.
[5인용C++스터디]
- AM/Tetris . . . . 3 matches
== Tetris 소스 ==
|| 이름 || 소스 ||
|| 김회영 || Upload:테트리스.alz ||
- ActiveTemplateLibrary . . . . 3 matches
ATL은 템플릿으로 이루어진 C++ 클래스 집합니다. 이 클래스들은 COM 객체를 프로그래밍하는 과정을 단순화시킨다. VisualC++에서 COM의 지원은 개발자들이 쉽게 다양한 COM객체, Automation 서버, ActiveX 컨트롤들을 생성하도록 해준다.
OLE String 과 PSTR 등의 일반 스트링형 간 형변환 할 일이 있을때.
- BasicJAVA2005 . . . . 3 matches
- 핸드폰이 고장나는 바람에 문자를 못받았네요 -ㅂ- 다음주는 스키장 가서 도저히 참석이 불가능할거 같습니다. 죄송해요 ㅠㅠ 1월달부터 열심히 할게요!! -태훈
- 자바언어에 대한 Tip - 자바 소스코드는 유니코드체계를 따르도록 설계되어있습니다. 그러므로 코드를 영어로만 구현해야하는 C/C++보다 매우 큰 융통성을 발휘하죠.
질문 !! 이클립스 쓰는데, run as에 이상한 JUnit Plug-in Test 이런거만 있는데, 어떻게 정상적으로 java application 나오게 하죠? -- 허아영
- BasicJava2005/3주차 . . . . 3 matches
* 1.4이전 : BufferedReader클래스를 사용할 수 있다.
* 5.0 이후 : Scanner 클래스를 이용하여 입력받을 수 있다.
* 동적 배열 클래스
- BookShelf/Past . . . . 3 matches
1. [테스트주도개발] - 20050104
1. 리스크관리(WaltzingWithBear) - 200450407
1. [바이러스삶과죽음사이] - 20051228
- ClearType . . . . 3 matches
LCD 디스플레이는 RGB의 색상체를 각 픽셀당 하나씩. 즉, 1개의 픽셀에 3개의 색상 표현 요소를 가지고 있다. 기존의 방식은 해당 픽셀을 하나의 요소로만 판단하여 폰트를 보정하여 출력해왔던 반면 ClearType 은 해당 픽셀의 3가지 요소를 개별적으로 컨트롤해서 표현하는 방식을 취한다.
* [MicroSoft]에서 개발한 텍스트 벡터드로잉 방법.
* 텍스트 벡터 드로잉
- Cocos2d . . . . 3 matches
* 서울어코드 멘토링에서 Code S 팀 중, [김민재]와 [백주협]이 "스마트 TV 게임 어플리케이션"을 제작하기로 함.
* 스마트 TV와 안드로이드 디바이스에서 Cocos2d를 활용하여 게임 진행현황을 보여주기로 함.
- CodingStandard . . . . 3 matches
프로젝트 코딩 스타일의 표준.
팀 내에서 일관된 코딩 스타일을 적용함으로서, 사람들이 서로 코드를 읽기 편하게 하며, CollectiveOwnership 을 도와준다.
진행해본 프로젝트들의 경우, 주로 자바는 자바 코딩스타일을, Python 은 Smalltalk Style 을 이용했었다. --["1002"]
- Counting . . . . 3 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보다 큰 경우에 대해서는 그가 만들 수 있는 수의 개수를 알 수가 없어서 여러분에게 도움을 청했다.
- DefaultValueMethod . . . . 3 matches
시놉시스가 없는 책의 시놉시스를 비어있는 스트링으로 표현해보자.
- DocumentObjectModel . . . . 3 matches
DOM은 HTML, XML문서를 다루는 API이다. 이것은 프로그래밍 언어와 플랫폼에 비종속적이다. 인터페이스의 뒷쪽에서 이 문서는 객체지향 모델로 다루어진다.
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]
- EightQueenProblemSecondTry . . . . 3 matches
이번에는 소스코드를 모두 삭제하고, 맨땅에서 다시 시작을 합니다. EightQueenProblem을 만족하는(즉 하나의 해법만 얻는) 프로그램을 다시 한번 작성합니다. 자신이 처음 EightQueenProblem을 풀면서 얻었던 통찰(insight)만을 이용하고, 가능하면 더 깔끔한 해답을 얻으려고 노력하면서 말이죠.
이 테스트는 자신이 처음 문제를 푸는 동안 얼마나 많이 배웠는가 하는 지표가 될 수 있습니다.
|| ||||||총개발시간||||||LOC|||||| 언어 ||소스||
- Euclid'sGame/강소현 . . . . 3 matches
* 왜 중간단계로 [11 7]이 나오는 지 이해가 안 갔었다. 베스킨라빈스31 게임처럼 숫자를 자유롭게 부르되 이기려면 절대적으로 불러야하는 숫자가 있는 것처럼, 이 것도 처음 시작하는 사람이 이기려고 일부러 덜 뺀 거였다 ㄷㄷ
[ACM_ICPC/2011년스터디]
- FortuneMacro . . . . 3 matches
<!> 현재 유닉스만 지원하며 다음을 만족시켜야 합니다.
1. 이게 맞지 않는다면 {{{plugin/fortune.php}}}에서 소스를 직접 조정해 주세요.
Fortune 매크로는 fortune파일의 인덱스를 직접 읽어들여 사용하므로 FortuneCookies를 읽어들이는 RandomQuoteMacro보다 매우 빠릅니다. :)
- FromDuskTillDawn/변형진 . . . . 3 matches
출제된 문제에 나온 열차 시간표가 2번째 케이스에서 도착할 수 없게 되어 있어서, 시간표를 임의로 수정해서 테스트해보니... 잘 된다. :)
= 소스코드 =
- FromDuskTillDawn/조현태 . . . . 3 matches
문제에서 처럼 여러개의 테스트 케이스도 받도록 수정하였다.
=== 소스코드 ===
- GDG . . . . 3 matches
* 구글 서비스와 관련된 스터디/프로젝트?
* 구글플러스 써야 함
- Hacking . . . . 3 matches
* [http://packetstormsecurity.org 패킷스톰]
* [http://securityfocus.com 시큐리티포커스]
== 과거스터디 ==
- HardcoreCppStudy/첫숙제 . . . . 3 matches
* 함수의 중복정의(Overloading)에 대해 기술할 것. 예제도 스스로 만들어 보기 // 책에는 재정의라고 나와있음.
* 마방진 만들기 // 데블스 캠프 참가자와 불참가자간의 균형을 맞추기 위해 함. 마방진을 풀 수 있는 사람은 랜덤워크도 해볼것. 일단 배열 동적할당은 안 해도 되고 5*5칸으로 해도 됨.
- HardcoreCppStudy/첫숙제/ValueVsReference/김아영 . . . . 3 matches
- 결과가 스택(stack)에 복사된다. 스택은 메모리내의 임시 저장 영역이다.
- 함수는 인수의 값을 스택에서 읽어들인다.
- HelpForDevelopers . . . . 3 matches
모니위키의 일부 부족한 부분에 대해서 조금만 더 관심을 가진다면 모니위키의 기능을 확장하고 모니위키에 소스코드를 기여하실 수도 있습니다. 여러분의 기여가 많은 사람에게 도움을 줄 수 있습니다.
모니위키는 GPL이라는 공개 소프트웨어 라이선스를 준수하고 있으므로, GPL에 준하는 어떠한 기여도 환영합니다.
모니위키에 여러분이 직접 만드신 소스코드를 기여해 보시기 바랍니다!
- HelpOnInstallation/SetGid . . . . 3 matches
보안상의 이유로 웹서버는 php 스크립트를 `nobody, www, apache` 혹은 `httpd`같은 특별히 제한된 계정으로 실행하게 됩니다. 이러한 이유로 [모니위키] 스크립트가 생성하게 되는 여러 파일 혹은 디렉토리는 이러한 특별한 계정의 소유가 되며 진짜 사용자가 소유하지 못하게 되는 일이 발생하고 어떤 경우는 이렇게 만들어진 파일을 읽을수도 지울 수도 없게 됩니다.
/!\ 모니위키는 config.sh/monisetup.php 설치 스크립트를 통해 setgid를 최초 설치할 때 부터 지원하고 있습니다.
- HowManyPiecesOfLand?/문보창 . . . . 3 matches
이론상으론 O(1) 시간만에 되겠지만 문제는 입력범위가 2 <sup>31</sup> - 1 까지 들어올 수 있기 때문에 고정도 연산을 수행해야 한다. GNU C++ 이나 Java는 고정도 연산을 수행할 수 있는 클래스를 포함하고 있으나, 윈도우 C++에는 없다(혹, 내가 못찾는 것일수도 있다). 따라서 고정도 연산을 수행할 수 있는 클래스를 짰다. 성능이 너무 떨어진다. O(1) 을 O(n<sup>5</sup>) 정도로 바꿔 놓은 듯한 느낌이다. 이 Class를 개선한뒤 다시 테스트 해봐야 겠다.
- ISAPI . . . . 3 matches
* IIS(Internet Information Services)란 웹 서버, FTP 서버와 같이 기본적이고 범용적인 인터넷 서비스를 시스템에서 제공할 수 있게 해주는 소프트웨어를 말한다. 기존 윈도우2000 제품군의 경우 기본적으로 IIS 5.0을 제공하였고 윈도우XP의 기존 IIS 5.0의 기능을 개선한 IIS 5.1을 제공하고 있다. 한 마디로 HTTP, FTP, SMTP 서버의 묶음이다.
프로그래 추가/제거 -> Windows 구성 요소 추가/제거 -> 인터넷 정보 서비스(IIS)
- IpscAfterwords . . . . 3 matches
컨테스트는 끝났지만 여전히 도전해보고 싶은 사람은 다음 주(5/18)까지 자신이 얻은 답을 TIS를 1234567890로 해서 ipsc@ksp.sk로 이메일을 보내면 된다.
* 음.. 제 실력에 좌절을 먹고 미친 듯이 공부해야 겠다는 Crazy Study(01학번 스터디 그룹. 해체되긴 했지만..--;) 로서의 정신을 되새기게 하는 기회였습니다. - 인수
ICPC 모의고사(?)와 같은 류의 경험을 한번 해보고 싶었는데 이번과 같은 기회가 주어져서 무척 좋았습니다. 아쉬웠던건 팀워크 발휘가 제대로 안된 점이네요. 또한 알고리즘은 생각해냈는데 구현을 못한 상황이라면 나름대로 자기 위안을 할 수 있겠는데 솔루션에 접근하는 길조차 찾지 못한것도 퍽 아쉬운 점이구요. 처음 두어시간이 흐른뒤엔 사고 능력이 무척 떨어진걸 몸으로 느낄 수 있었는데 너무 오래간만에 머리를 썼더니 쉬 지친게 아닐까하는 생각이 드네요. ["프로그래밍파티"]때엔 좋은 컨디션으로 참여해보고 싶네요. 이제 좌절보다 풀어내는 재미를 느끼고 싶기도 하고, 공부할 좋은 기회를 만들어 주신 선배님께 실망스런 결과는 더 보이지 말아야죠. 모두들 늦게까지 정말 수고 많으셨습니다. --["이덕준"]
- IsBiggerSmarter?/문보창 . . . . 3 matches
단순히 Greedy 알고리즘으로 접근. 실패. Dynamic Programming 이 필요함을 테스트 케이스로써 확인했다. Dynamic Programming 을 실제로 해본 경험이 없기 때문에 감이 잡히지 않았다. Introduction To Algorithm에서 Dynamic Programing 부분을 읽어 공부한 후 문제분석을 다시 시도했다. 이 문제를 쉽게 풀기 위해 Weight를 정렬한 배열과 IQ를 정렬한 배열을 하나의 문자열로 보았다. 그렇다면 문제에서 원하는 "가장 긴 시퀀스" 는 Longest Common Subsequence가 되고, LCS는 Dynamic Algorithm으로 쉽게 풀리는 문제중 하나였다. 무게가 같거나, IQ가 같을수도 있기 때문에 LCS에서 오류가 나는 것을 피하기 위해 소트함수를 처리해 주는 과정에서 약간의 어려움을 겪었다.
- IsThisIntegration? . . . . 3 matches
각 테스트 케이스마다, 위 그림에 나와있는 서로 모양이 다른 세 영역의 넓이의 합을 출력한다. 세 부동소수점수는 모두 소수점 셋째 자리까지 출력한다. 각 케이스의 첫번째 수는 위 그림에서 줄무늬로 표시된 영역, 두번째 수는 점으로 표시된 영역, 세번째 수는 나머지 영역의 넓이 합이다.
- JTDStudy/첫번째과제/정현 . . . . 3 matches
== 소스 : java ==
테스트케이스
- JavaStudy2003/세번째과제/곽세환 . . . . 3 matches
= 클래스정의 및 인스턴스(객체) 생성 (예제1 + 예제2) =
- JollyJumpers/Leonardong . . . . 3 matches
처음에 리스트에 차를 집어넣은 후 정렬하려 했다가 집합 개념이 떠올라 그 쪽으로 해결했다. statementForSeries메서드 부분에 있던 CheckJolly메서드를 따로 테스트하면서 ExtractMethod를 하게 되었고, 차가 음수인 경우도 테스트를 통해 알게되었다. 보폭이 아직 좁지만 술술 진행한 문제이다.
- LoveCalculator/허아영 . . . . 3 matches
제 소스에 알고리즘적 문제가 생겨 약간 수정합니다. (구지 안고쳐도 잘 돌아가지만, 꺼림칙 해서..)
글고 아영이 소스 보면서 지금 느낀건데; 내 소스 버그 있는거같다; 이름에 공백 있으면 내꺼 제대로 안될거같은데 ㄱ-;;; 어흑 ㅠㅠ
- NumericalAnalysisClass . . . . 3 matches
강의내용 : 최근의 수치해석 수업은 그래픽스 수업의 선수과목으로서 성격이 이전과 달라졌다. 주로 line, curve, plane, matrix 등 그래픽스와 관련된 내용을 배운다.
생각하면 2학년에 들을 만한 3학년 수업정도라고 생각됨. 수업의 난이도도 그다지 높게 책정하고 진행되지도 않고, MFC에 대한 기본적 스킬만 익히고 있다면 마지막 과제까지 해결하는데 큰 문제는 없음 - [eternalbleu]
- OperatingSystemClass/Exam2006_2 . . . . 3 matches
1, 2번 끔찍하게 어려웠다. 중간고사 스타일로 공부했던 모두를 낚았던-_-;
2. 유니크한 우선순위를 갖는 n개의 프로세스 p1, p2, ... pn이 있다. 프린터는 2대가 있다. 이 프로세서들이 각자의 우선순위에 맞게 프린트 작업을 할 수 있도록 프린터를 할당해주는 모니터를 작성하시오.
7. Threshing 이 일어나는 원인과 시스템이 Threshing을 어떻게 발견하고 처리하는지 쓰시오.
- Polynomial . . . . 3 matches
* 다항식을 표현하는 클래스를 만들어서 operator overloading 을 사용해도 되겠지만 이는 위에 말한 내용을 이미 구현한 후 이걸 클래스로 포장하는거기때문에 지금수준에서는 무리라고 생각됨... - 임인택
see Also ["데블스캠프2002"]
- ProjectPrometheus/Iteration5 . . . . 3 matches
=== 사람들 스케줄 관련 ===
|| DB Test Data Set 입력 스크립트 작성 || 1 || ○ ||
|| Controller 에 RS 서비스 추가 작업 || . || . ||
- ProjectPrometheus/MappingObjectToRDB . . . . 3 matches
* 고민할 필요 없다; 상당히 귀찮아 보이지만, 실제 전체 작업에서 차지 하는 양은 얼마 되지 않는다. 괜히 라이브러리 만들려고 하면 더 복잡해질것이다. O/R 맵핑 라이브러리로 포커스를 맞추게 되지 않도록 조심.
한편으로 [http://www.xpuniverse.com/2001/pdfs/EP203.pdf Up-Front Design Versus Evolutionary Design In Denali's Persistence Layer] 의 글을 보면. DB 관련 퍼시스턴트 부분에 대해서도 조금씩 조금씩 발전시킬 수 있을 것 같다. 발전하는 모양새의 중간단계가 PEAA 에서의 Table/Row Gateway 와도 같아 보인다.
1. 13개월 프로젝트인데 2만라인짜리라는점 - 뭐.. 꼭 소스 라인수로 세는건 무리가 있긴 하지만. Servlet 프로젝트 2만라인. 내가 전에 팀 프로젝트로 MFC 엑셀 만들때가 1만 7천라인이였는데. -_-a 물론, Refactoring 이 잘 되어있고, XP 가 잘 적용된 프로젝트이라면 적은라인수로 많은 일을 하겠지만.
- ProjectSemiPhotoshop/계획서 . . . . 3 matches
* 시스템 메타포 설정 - Magic School etc
* 팀원간 소스 이해
* 11/26 화 2차 integration ( 히스토그램, Quantization)
- PythonLanguage . . . . 3 matches
객체지향 스크립트 언어
1991년도에 태어났으므로 1995년에 태어난 자바보다 형이다. 국내에서 인기있는 스크립트 언어중 하나이다.
이미 다른 언어들을 한번쯤 접해본 사람들은 'QuickPythonBook' 을 추천한다. 예제위주와 잘 짜여진 편집으로 접근하기 쉽다. (두께도 별로 안두껍다!) Reference 스타일의 책으로는 bible 의 성격인 'Learning Python' 과 Library Reference 인 'Python Essential Reference' 이 있다.
- R'sSource . . . . 3 matches
== 스타크래프트 리플 파일 검색&다운_파이썬 ==
print """이 프로그램은 www.replays.co.kr의 스타크래프트 리플레이를
console=["rep.py"], # 도스창에서 실행할 파일을 생성할 경우
- RandomWalk . . . . 3 matches
=== 문제 소스들 ===
* 아래와 같은 예제 식으로 소스를 만든 페이지에 넣어 주세요.
see also ["데블스캠프2002"], RandomWalk2
- RandomWalk2/서상현 . . . . 3 matches
누덕누덕 기워 끝가지 간 소스는 [http://my.netian.com/~sshiskom/file/python/walk.py 여기]에.
해스켈로 시도. [http://my.netian.com/~sshiskom/file/haskell/walk.hs 소스].
- RubyLanguage/DataType . . . . 3 matches
* 루비에는 Boolean클래스가 존재하지 않는다. 또한 true와 1은 다르며, false와 0도 같지 않다.
* nil은 값이 없음을 나타내는 특수값이며 객체인 nilClass의 싱클톤 인스턴스입니다.
- SibichiSeminar/TrustModel . . . . 3 matches
1. 요새 간단한 검색 서비스''?''를 구현하고 있어서 중간에 루씬에 대한 내용에 혹했습니다. 나도 루씬 인 액션을 볼까...
* 버전관리의 필요성은 사실 일반 문서작업할때나, 창설 코딩할때 벌써 느껴보던 바였어요. (일단 소스랑 글은 남기고 봐야 나중에 낭패를 보지 않아!) 였달까요 ㅎㅎㅎ -[김태진]
* 세미나 주제가 참 놀라웠습니다. 페이스북을 이용해 관심사가 같은 사람들을 엮어주는 앱은 이미 나와있지만, 이건 일일히 사용자가 입력을 해야하는데, TrustModel은 프로그램이 알아서 다해주는것 같더군요. 지식이 얇아서 여기까지밖에 이해 못했습니다. 꺼이꺼이. 세미나 막간에 넣은 M-16인용 개발자-기획자-디자이너의... 뭐라고 해야하나요. 암튼 재밌게 잘 봤습니다. 삼위일체가 답이군요. 하하하하.. 정확한 커뮤니케이션은 정말 힘든것 같아요. 새내기 다운 새내기가 없다는 말씀을 자꾸 하셨는데.. 저 새내기 맞아요 ㅜㅠ C언어도 학교 오고나서야 처음으로 알았어요 ㅜㅠ - [고한종]
- SmalltalkBestPracticePatterns/DispatchedInterpretation . . . . 3 matches
때때로, 그러나, 한 객체의 정보는 다른 객체의 행위에 영향을 미칠 것이다. 정보의 사용이 단순할 경우, 또는 제한된 정보에 기반해서 선택이 가능할 경우에는 인코딩된 객체에게 메시지를 보내는 것이 충분히 가능하다. 이와 같이, 부울린 값들은 두 클래스의 하나의 인스턴스로 표현되어진다는 사실은, True 그리고 False, 메시지 #ifTrue: ifFalse:. 뒤로 숨겨진다
- SpikeSolution . . . . 3 matches
이러한 실험들을 XP에서는 Spike Solution이라고 한다. 다른 점이라면, 우리는 보통 실험 코드를 만든 뒤 실전 코드에 바로 붙일 것이다. 하지만 Spike Solution 의 경우는 '실험은 실험에서 끝난다' 에서 다를 수 있다. 보통 Spike Solution 에서 실험한 코드들을 메인소스에 바로 적용시키지 않는다. Spike Solution은 처음 계획시 estimate의 선을 잡기 위한 것으로 메인소스에 그대로 적용될 코드는 아닌 것이다. 지우고 다시 만들어 내도록 한다. 그러함으로써 한편으로는 학습효과를 가져오고, 실전 소스의 질을 향상시킬 수 있다.
- StacksOfFlapjacks/조현태 . . . . 3 matches
이 소스는 2번씩 뒤집는걸 기본으로 한다. (예외적으로 끝에 있을때는 한번 안뒤집는다.)
만든이의 귀차니즘으로 한회의 계산을 줄인 소스..후후후..
== 소스 ==
- SuperMarket/세연 . . . . 3 matches
= 소스 =
s_product[1].name = "디스켓";
s_product[2].name = "마우스";
- TCP/IP . . . . 3 matches
* Interactive Shell이 지원되는 언어(e.g. Python, Ruby, ...)를 사용하면 TCP/IP의 개념을 아주 빠른 시간 안에 배울 수 있음. (Python은 내부적으로 C 라이브러리를 그대로 사용) 또, 현재 개발된/개발중인 시스템을 테스트 하는 데에도 매우 편리함. 예컨대, 리코에서는 XMLRPC 서버 접속을 파이썬 쉘에서 하고(import xmlrpc 한 다음에...), 거기서 사용자 등록 등의 서비스를 직접 사용하게 한다.
- TheOthers . . . . 3 matches
|__ Doc - 문서나 DB 파일, 스키마 문서 올린다. 추후 최종 레포트도 여기에 올린다.
* 아 씽 로스트 생각나자녀.. ㅋㅋ --인택
* [만세삼창VS디아더스1차전]
- ThePragmaticProgrammer . . . . 3 matches
프로그래머는 일련의 도구들(에디터, 객체 관리자, 버전 트래커)을 사용하여 어떤 환경하에서(하드웨어 어셈불리상의 운영시스템) 운용될 수 있는 제품(프로그램)를 만들어내도록 훈련받은 공예가에 비유할 수 있다. 다른 공예작업과 마찬가지로, 컴퓨터 프로그래밍도 대학이나 관련학원에서 가르쳐지지 않는/쉽게 터득할 수 없는 지식과 지혜를 집적하여 완성해 가는 과정을 갖는다.
이들의 프로그램학은 구체적이며, 그 구현에 이르는 경로는 간결하다. 이들은 예를들어,하나의 텍스트 편집기를 배우게 되면 그것을 모든 것에 활용하라고 독자들에게 조언하고 있다. 또한 권고하고 있는 것은, 심지어 가장 작은 프로젝트에 대해서도 버전트래킹 소프트웨어를 사용하라는 것이며, 규칙적인 수식구문과 텍스트 처리언어 학습의 장점을 계도하고 있다.
- UML/CaseTool . . . . 3 matches
현존하는 대 부분의 케이스 툴의 종류를 알 수 있다.
Rational Software Architect, Together가 유명하고, 오픈 소스로는 Argo, Violet 이 유명하다.
UML 케이스 툴과 달리 Visio 같은 경우에는 Diagramming 기능만을 제공한다. Diagramming Tool 이라고 분류하는 듯하다.
- UniversalsAndParticulars . . . . 3 matches
자바 스윙에서 어떤 API를 통해 어떻게 그림을 그리는지를 가르치기 보다, Event Driven Programming을 가르치되, 스윙이라는 맥락을 방편으로 이용해 가르친다. 해당 프레임웍의 API가 복잡한 경우, 학습자들은 오히려 그 API를 외우고 공부하느라 더 중요한 것을 잊을 수 있다. 따라서 이런 경우 가르치는 사람이 미리 좀 더 추상적인 차원의 레이어를 만들어(이를 교육학에선 스캐폴딩이라 한다) 제공할 수 있다.
- XpWeek . . . . 3 matches
AnswerMe)마스코트?
여차저차 해서 프로젝트가 끝나갑니다. 내일은 크리스마스 이브죠. 마지막 하루인데 제 시간에 나와서 깔끔하게 마무리 짓고 끝내 봅시다! --[Leonardong]
- XpWeek/20041224 . . . . 3 matches
알바하느라 소홀히 한점이 아쉽다. 또한 MockObjects에 대한 이해가 부족하여 TDD로 진행하지 못한 점이 아쉽다. 5일간 쉼없이 달려왔는데 아직 미흡한 점이 많다. 혼자 리펙토링을 해보았지만 별로 재미 없었다. 구피에서 돌릴 수 있도록 간단한 리펙토링하고 GUI 기능을 추가하고 싶다. 다음주중 하루 잡아서 하는게 어때?? 그리고 나의 최종 목표는 테스트코드를 추가하는 것이다. TDD는 아니지만 네트워크에 대한 MockObjects를 구현해보고 싶다. -- 재선
사실 네트워크에 대한 MockObjects는 어렵지 않았던 것 같아. JUnit에서 제공하는 MockObject클래스를 소켓에 써먹는 방법에 집착한 나머지 포기하지 않았을까? 단순히 서버와 클라이언트 흉내만 내면 될텐데...
[테스트주도개발]이 도착해서 읽고 따라해보고 있어. 다 읽고 나서 다시 이 프로젝트 결과물을 가다듬을 수 있을 것 같아. --[Leonardong]
- YongAn처음화면 . . . . 3 matches
[http://zeropage.org/trac/namsangboy 프로젝트 소스]
[멘티스]
로드런너 - 웹테스트 툴
- [Lovely]boy^_^/Diary/2-2-14 . . . . 3 matches
* 오늘 데이터 통신 스터디를 했다. 참 보람있는 시간이었던 것 같다.
* 난 항상 지하철 타고 다니는 사람들이 부러웠다. 지하철에선 책을 볼수가 있기 때문이다. 멀미를 잘 하는 나로서는 버스에서 책을 본다는건 미친 짓이다... 학교 왔다 갔다 하는데 드는 2시간을 어떻게 때울까가 현재 고민이다.
* 유닉스 숙제 끝
- [Lovely]boy^_^/Diary/2-2-5 . . . . 3 matches
* MOA의 컴퓨터고전스터디에 참여할 생각이다. 이런거 정말 해보고 싶었는데 기회가 생겼으니..
* 신촌 서강대 5시 스터디 까페 나눔에서 고전스터디
- [Lovely]boy^_^/Diary/7/15_21 . . . . 3 matches
* 스터디 고고(며칠이나 갈까..--; 최대한 열심히 해야겠다.)
* 4시에 그래픽스 세미나
* 11시에 재동,상협이랑 파이썬 스터디 & 비행기 게임 만들기(뻑났다--;)
- [Lovely]boy^_^/USACO/BrokenNecklace . . . . 3 matches
* 역시 테스트를 마니 해봐야 한다는 걸 뼈저리게 느낀 문제였다는;;
* 테스트 케이스에 맞춰 프로그램 고쳐나가다 보니..;; 점점 더러워졌다는;;
- bitblt로 투명배경 구현하기 . . . . 3 matches
이제 마스크를 만들어 봅시다~!^^
현제 사용중인 소스의걸 조금 변형해서 복사한터라.^^ 실수가 없으면 좋으련만..
결국 마스크 비트맵을 메모리상에서 만들어서 한장 비트맵으로 투명 배경만들기하는 거 였네 ㅡ.ㅡ;
- dlaza . . . . 3 matches
* 취미 : 음악 듣기 (베이스 연습, 등;;)
2. 베이스 잘 치기
베이스 짱 되기
- jQuery . . . . 3 matches
jQuery는 “자바스크립트 프로그래밍을 즐겁게 하자”는 목표로 설계된 자바스크립트 라이브러리입니다.
jQuery를 사용함으로써 일반적이고, 반복되며, 업무량을 증가시키는 불필요한 마크업들을 제거할 수 있고, 이를 통해 작고, 훌륭하며, 이해하기 쉬운 자바스크립트 코드를 작성할 수 있습니다.
- lostship/MinGW . . . . 3 matches
* MinGW 인스톨 후 MSYS 를 인스톨 한다. [http://www.mingw.org/index.shtml MinGW & MSYS]
* STLport iostreams 을 사용하려면 다음 스텝을 진행한다.
- pragma . . . . 3 matches
C 와 C++ 을 구현한 각각의 컴파일러에는 포팅된 하드웨어나 OS 에 의존적인 몇몇가지들의 기능을 가지고 있다. 일례로 몇몇의 프로그램들은 메모리에 데이터가 어떠한 방식으로 자리잡을 것인지 에 관한 문제나 함수가 파라미터들을 조작하는 방법들에 대한 세밀한 조작이 요구된다. #pragma 지시어들은 C 와 C++ 언어 안에서 최소한의 호환성을 유지시키며 그러한 시스템 의존적인 명령어들을 언어의 기능으로서 포함시키는 일을 한다. Pragma 지시어들은 일반적으로 '''컴파일러들 마다 서로 다르다'''.
map에서 나는 경고는 번호 C4786번과 C4788번(identifier가 너무 길어서 나타나는 경고라고 한다) 단 2개 뿐임을 알았고, 결국 소스의 맨 윗줄에
혹시라도.. 저 #pragma warning(disable: n ... m) 을 써서 언제나 문제를 해결 할 수 있을거라고 생각하시면 안됩니다. 저 위의 설명에도 씌여있듯이, pragma directive 는 지극히.. 시스템에 의존적입니다. 그러므로, VC 에서는 먹힌다는 저 명령어가 GCC 에서는 안될수도 있고.. 뭐 그런겁니다. 확실하게 쓰고싶으시다면.. 그 컴파일러의 문서를 참조하는것이 도움될겁니다.
- 구구단/이진훈 . . . . 3 matches
구구단을 스몰토크로 만든 페이지입니다.
{{{~cpp 스몰토크..스퀵이란 걸로 짠건데요..7살이 하는 거라 그런가ㅡㅡ 만지기가 한결 편한 느낌..
- 김재현 . . . . 3 matches
포인터에 대한 이해가 아직 부족해서 스스로 코드를 짜진 못하고,교수님이 올리신
소스코드를 참고해서 하나로 합쳤습니다. 앞으로 분발하겠습니다....
- 논문검색 . . . . 3 matches
* [http://pasteur.kaist.ac.kr/ 카이스트과학도서관]
* [http://www.kric.ac.kr/ 학술연구정보서비스(KRIC)]
* [http://www.kins.co.kr/ 한국아이엔에스(KINS)]
- 대학원준비에대한조언 . . . . 3 matches
여러명이 모여서 스터디를 한 지도 삼 주가 다 되어간다. 같이 준비하면서 때로는 너무 사소한 것에 매달리는 것이 아닌가 싶을 정도로 한 부분에서 넘어가지 못하는 경우가 있다. 한참을 이야기해서 결론을 내보니 이미 말하던 도중에 나왔던 이야기였거나 책을 보면 알 수 있는 내용인 경우도 있다. 하지만 그렇게 해서도 결론이 나지 않는 문제들이 있었고 [대학원준비06] 팀은 교수님께 찾아가서 질문을 했다.
질문에 대한 답도 얻었지만 [대학원준비에대한조언]을 얻은 것이 더 큰 성과였다고 생각한다. [열린질문]을 던지면서 스스로 고민하는 시간이 중요하다는 이야기를 많이 하셨다. [대학원준비06] 팀이 과목 요약을 하고 난 다음에는 고민하는 시간을 가졌으면 좋겠다.
- 데블스캠프2003/넷째날 . . . . 3 matches
["데블스캠프2003/넷째날/Linux실습"]
["데블스캠프2003/넷째날/후기"]
[데블스캠프2003]
- 데블스캠프2003/셋째날/J2ME . . . . 3 matches
[http://www.joyworld.co.kr] - 테스트서버
* ["MobileJavaStudy/SnakeBite"] - 스네이크바이트 게임
[데블스캠프2003/셋째날]
- 데블스캠프2005/사진 . . . . 3 matches
여기는 [데블스캠프2005] 마지막 날인 금요일에 찍은 사진을 올려놓는 공간입니다.
see also [데블스캠프2005/사진2]
[데블스캠프2005]
- 데블스캠프2005/참가자 . . . . 3 matches
= [데블스캠프2005]/참가자 =
* 안성진(03)은 저번 3월달에 받은 회원은 아니지만 이번에 데블스 캠프에 참가 해보고 싶다고 해서 올립니다. - [상협]
[데블스캠프2005]
- 데블스캠프2006/참가자 . . . . 3 matches
= 데블스캠프2006/참가자 =
|| 02 || 유상욱 || 워크스케쥴 봐서;; || 모를껄? ||
[데블스캠프2006]
- 데블스캠프2009/목요일/연습문제/MFC/서민관 . . . . 3 matches
= 데블스캠프2009/목요일/연습문제/MFC/서민관 =
CWnd* pWnd = FindWindow(NULL, "새 텍스트 문서.txt - 메모장");
키보드 입력으로 midi 소리가 나게 만드는 소스. 같은 폴더에 MidiOut.cpp와 MidiOut.h가 있어야만 작동한다.
- 데블스캠프2009/월요일/연습문제/svn코드레이스/박준호 . . . . 3 matches
= 데블스캠프2009/월요일/연습문제/svn코드레이스/박준호 =
//체스판
- 데블스캠프2009/월요일/연습문제/svn코드레이스/서민관 . . . . 3 matches
= 데블스캠프2009/월요일/연습문제/svn코드레이스/서민관 =
체스판 그리기. 홀수 입력을 받으면 끝나게 만들었다.
- 데블스캠프2011/넷째날/Git/권순의 . . . . 3 matches
== 소스 ==
* 인터넷 찾아보시면 이미지를 텍스트로 바꾸어 주는 사이트 있습니다. 뻘짓하지 마세요
* 조, 좋은 뻘짓이다. 아, 이미지를 텍스트로 바꿔주는 사이트입니다. [http://photo2text.com photo2text] - [지원]
- 만년달력/강희경,Leonardong . . . . 3 matches
데블스 캠프 넷째날 만년달력 코드
//삽질(?) year%400 대신 year을 쓰면 에러...스택 오버플로우?
[데블스캠프2003/넷째날] [만년달력]
- 문자열연결/조현태 . . . . 3 matches
내용이 간단해서 소스도 간단하다.
=== 소스 ===
=== 소스 ===
- 문자열연결/허아영 . . . . 3 matches
책이 이제 조금 있으면 스택, 큐 그리고 정렬에 대한 문제들이 많다.
점점 소스 길이가 길어질 것 같다.
=== 소 스 ===
- 반복문자열/김정현 . . . . 3 matches
소스 다 친다음에 딴애들꺼 봤다. 상당히 고칠부분이 많은듯.. 하지만 놔두겠다 [김정현]
-소스페이지 양식에 따라주세요 ^^
-소스페이지 양식은 [반복문자열/허아영]을 참고해 주시구요. -- [허아영]
- 반복문자열/허아영 . . . . 3 matches
선배님들 소스가 장난이 아니에요. 사실 간단한 문제라고 생각했었는데, 고정관념이 깨인듯한 느낌이네요. -[허아영]
우우우.. 선배님들 소스 보니까 말이 안나오는..ㅎㅎㅎ
CAUCSE 문자열도 함수 입력으로 넣어 주면 좀 더 변화하기 쉬운 소스가 되지. 그리고 message나 messages 같은 함수 이름도 좀 더 명확하게 하는 게 좋을 거 같아. 나 같으면 밑에 처럼 풀 거야. 함수로 추출해 낼 때는 의미 단위로 추출하는 게 좋아. 그래야 함수 이름을 지을 때 편하지. 역으로 함수 이름을 짖기가 힘들다면 잘못된 설계가 되는거지. --재동
- 방울뱀스터디/만두4개 . . . . 3 matches
* 화면 인터페이스는 각 플레이어 위쪽 모서리에 '점수, 목숨, 내땅' 출력
=== 소스 코드 ===
[방울뱀스터디]
- 새싹교실/2011/Pixar/4월 . . . . 3 matches
* ㅠㅠㅠ별찍기를 배웠습니다. 감자칩은 맛있었습니다. 하지만 별찍기는 어려웠습니다. ㅠㅠ 숙제도 있지만 해올 자신이 없습니다. 1, 2, 3 개 순서대로 찍는거, 5개 다찍는거는 그럭저럭 할만했는데 휴............ 너무어려웠어요. 승열이랑 둘이배워서 진짜 과외같이배웠어요. 사실 C를 빨리빨리 배우고싶어서 매일매일 새싹으로 1달만에 C를 자유자재로 다루고싶어요 누낰ㅋㅋㅋㅋㅋㅋ 진도따위버리고 엄청빨리배우고싶어요 사실 ㅎㅎㅎ 제가 머리가 좀 나빠서 많이 틀리고 늦게늦게 이해했는데 이해해주셔서 감사해요 누낰ㅋㅋㅋ 창설만아니면 더 오래해도 되니까 누나 오래하는거 누나만 안힘드시다면.........ㅋㅋㅋㅋㅋㅋㅋㅋ 빨리빨리배우고싶어요 ㅋㅋㅋ 승열이가 프링글스먹고싶대요 옆에서 저는 절대 아무말 안했습니다 B)
* 오늘은 목요일에 안해서 좀 많이했다! if제어문과 for 제어문에 대해서 배웠다. 별찍기도 배웠다 흑흑 너무어려워요 문제내시면 마추어보고 서로 고쳐보는등 실습위주로 재밌게 수업했다. 많은것을 배울수 있어서 좋았다..ㅋㅋㅋ.. 숙제도 있으니 복습하는겸 열심히 해야겠다. 누나 프링글스 먹구싶어요. ..
* 누나 솔찍히 어제 시험끝났다고 늦게자고와서 오늘 너무 피곤한상태에서 했어서 집중도못하고 죄송해요 ㅠㅠ. 레몬에이드 제가젤좋아하는건데 누나 짱맛있었어요. 오늘 함수를 배웠는데 시험전에 혼자 공부해놨던게있었는데 그거때매 우쭐해서 솔직히 오늘 좀 건방졌던거같아요 죄송해요 ㅠ-ㅠ . 전역변수 지역변수 그게 솔직히 아직도 엄청 잘은 이해가 안되요 누나. 더많이배우고싶어요 누나 ㅋㅋㅋ . 누나 저 마에스트로 그거 어떻게쓸지 감이안와요..ㅠ.ㅠ.ㅠ.ㅠ.ㅠ
- 새싹교실/2011/學高 . . . . 3 matches
* 예를 들어 지난주에 돈가스를 먹은 것에 대해 후기를 쓴다면 : "지난주에 강남에 가서 하나에 5만원하는 돈가스를 먹었다.(사실) 기대를 잔뜩 했는데 별로 맛이 없었다.(느낌) 강남은 땅값이 비싸서 값만 보고 엄청 맛있을거라 기대하면 안된다는 것을 알았다.(깨달은점) 다음에는 미리 인터넷에서 평을 찾아보고 별점이 높은 돈가스집을 찾아서 가봐야겠다.(앞으로의 계획)"
- 새싹교실/2011/學高/4회차 . . . . 3 matches
* 피자 넓이와 조각 당 가격 소스(한양대 과제ㅋ)
아스키코드란 것도 배웠는데..
비스가 안깔려서 수업에 제대로 집중을 못했네영 .
- 새싹교실/2012/Dazed&Confused . . . . 3 matches
* 소라 때리기 게임을 만들었다. 직접 소스코드를 입력하면서 소스코드의 쓰임을 익혔다. getchar(getch로 하다가 Visual Studio에서 즐 날려서 이걸로 대체)함수와 rand 함수를 배웠다. ppt를 통해 함수의 쓰임을 알아 볼 수 있어 좋았다. - [김민재]
* 포인터와 구조체, 전역 번수와 지역 변수에 대해 배웠고, 포인터가 어느 곳에서나 자료를 읽을 수 있다고 하는 것과 Call-by-Value, Call-by-Reference에 대해서도 배웠다. 포인터에 대한 개념은 알고 있었지만 깊게는 알지 못했는데 오늘 새싹으로 많은 것을 배울 수 있었다. 그러나 이 모든 것들이 하루만에 끝내려고 하다 보니 너무 부담스러웠다. 조금 더 다양한 프로그래밍 예제에 대한 경험을 했으면 좋겠다. - [김민재]
- 새싹교실/2012/강력반 . . . . 3 matches
소스파일 오른쪽클릭 추가 - cpp파일 클릭후 이름에 .c 붙여서 생성
char - 1바이트의 문자 - 숫자로 문자를 표현(아스키코드)
switch(a) a는 정수나 문자만 가능(문자는 아스키코드로 정수이므로)
- 새싹교실/2012/개차반 . . . . 3 matches
* High-level의 programming skill보단 low-level의 HW적인 구조를 설명하여 low-level에서 접근하는 독특한(...) 코딩 스타일 전수
* C언어는 UNIX 개발을 목적으로 만들어진 언어이기 때문에 OS의 기초가 되는 기초적인 컴퓨터시스템은 이해할 필요가 있다고 판단
* binary digit를 비롯한 컴퓨터 시스템의 기초적인 개념 또한 설명
- 새싹교실/2012/해보자 . . . . 3 matches
* 예를 들어 지난주에 돈가스를 먹은 것에 대해 후기를 쓴다면 : "지난주에 강남에 가서 하나에 5만원하는 돈가스를 먹었다.(사실) 기대를 잔뜩 했는데 별로 맛이 없었다.(느낌) 강남은 땅값이 비싸서 값만 보고 엄청 맛있을거라 기대하면 안된다는 것을 알았다.(깨달은점) 다음에는 미리 인터넷에서 평을 찾아보고 별점이 높은 돈가스집을 찾아서 가봐야겠다.(앞으로의 계획)"
- 새싹교실/2012/햇반 . . . . 3 matches
민형이의 지각, 상영이에게 집중적으로 여러 예제를 스스로 구현하게함
상영:: c수업때 수업안듣고 딴짓해서 중간고사 망할듯했는데 이젠 걱정없습니다 전 성진스쿨의 학생이니까요! 자신있습니다!!
- 새싹스터디2007 . . . . 3 matches
* 페이지 이름은 새싹스터디2007/팀명 형식으로!
[새싹스터디2007/영동]
[스터디분류]
- 속죄 . . . . 3 matches
* 무더운 어느 여름날, 열세살의 브리오니 탈리스는 우연히 창 밖을 내다보다가 언니 세실리아가 옷을 벗어던지고 정원의 분수대에 뛰어드는 것을 목격한다. 자매의 어릴적 친구이자 케임브리지에서 얼마 전에 돌아온 의사 지망생 로비 터너가 그런 세실리아를 지켜보고 서 있다. 그날 하루가 끝날 무렵, 탈리스 저택의 영지에서는 또다른 한 소녀가 강간을 당하고, 이때부터 세 사람의 운명은 생각지도 못했던 엇갈림을 겪게 되는데...
* 2차 세계대전 발발 직전. 공장을 경영하는 현대적 인물과 과거 군주주의 귀족풍습을 그대로 지니고 있는 사람이 공존하는 시간. 영국의 탈리스가라는 귀족집안이 배경이다.
- 송년회 . . . . 3 matches
장소 : 중앙대학교 봅스트홀 4311 (약도 참조)
그날 뒤풀이로 가기 전에 잠깐 이런 것도 해보면 좋겠습니다. 아이디어는 템플스테이에서 했던 유서쓰기 시간을 차용한 것입니다. A4용지 한 장과 펜을 나누어주고 (펜은 지참하는 사람이 많겠습니다만) 한 해를 되돌아보는 글쓰기를 해 봅니다. 단 시간은 너무 길지 않게 5분정도로 하고요. 그리고 사람들에게 자신이 쓴 그대로를 읽어줍니다. 템플스테이에서는 불을 전부 끄고 각자 촛불을 하나씩 켜고 이야기했는데, 그런 준비가 안 된다면 그냥 해도 좋겠습니다. --[Leonardong]
- 실습 . . . . 3 matches
객체와 클래스 (성적 관리 프로그램)
성적 관리하는 프로그램을 클래스(class)를 이용하여 C++로 작성하여 본다.
1. 클래스(Class) 설계
- 위키를새로시작하자 . . . . 3 matches
상용 서비스가 아니기에 언제든지 합의만 이끌어 낸다면 가능하지요. 다만 이런 생각을 하기가 힘든것 같습니다. 이러한 시도는 Open Source 나, 상용 프로젝트에서 일정 버전 이후에 완전 새로 작성하는것에 비견하지 않을까요? --NeoCoin
저의 경험으로 볼 때, 단지 새로 시작하는 것이 "새로운 것"을 가져다 주지는 않습니다. 동시에 두개의 위키를 돌리든가 하고, 새 위키에는 새로움의 어포던스(예컨대 비쥬얼 등)를 제공하도록 합니다. 그리고 새 위키에는 대다수는 읽을 수 있고, 몇 명만 쓸 수 있게 합니다. 그리고 그들이 규칙을 만들어 나갑니다. 우선은 규칙에 대한 규칙(메타규칙)을 만듭니다. 예컨대 "전체 규칙 수는 9개를 넘지 않는다"든지... 그리고 가능하면 생성적인(generative) 환경을 만들려고 합니다 -- 야구선수가 공을 받는 방법을 미적분학으로 풀어내기보다, 공이 보이는 각도를 일정하게 유지하려고 한다든지 하는 휴리스틱적인 규칙으로 접근합니다. 필요없는 것은 제거하고 꼭 필요한 것만 남깁니다. 제거해보고 해보고, 붙여보고 해봅니다. 예를 들어, 현 위키에서 들여쓰기가 불가능하다면 어떤 세계가 펼쳐질까요?
- 이차함수그리기/조현태 . . . . 3 matches
그래서 소스가 엉망인듯..
소스 내용안의 말인데.
== 소스 ==
- 일반적인사용패턴 . . . . 3 matches
위키의 특성상 한 페이지가 길어지는 경우가 많습니다. 스크롤을 위해 휠만 사용하는 것보다는 Page Up, Page Down을 적절하게 사용하시는 것이 편합니다. 한쪽손은 키보드, 한쪽손은 마우스.~
* 페이지를 삭제하지 않은 경우 - 한쪽 창에서 상단 오른쪽의 파란아이와 짝짝이 안경(?)을 클릭하시면 해당 페이지의 히스토리와 페이지의 수정내용을 알 수 있습니다. 일단 파란아이를 눌러서 복구하고 싶은 버전을 View 하십시오. 그 다음, URL 입력창에서 action=recall 을 action=raw로 바꾼 후 해당 내용을 다시 복사하시면 됩니다. (이때는 Frame 안에서 작업하지마시고, 위키 페이지를 직접 전체화면으로 하여 해당 URL이 보이는 상태에서 작업하십시오.)
- 임인택/내손을거친책들 . . . . 3 matches
* 모든것은 섹스로부터 시작되었다
* 오픈소스
* 마스터링 TCP/IP
- 정모/2006.1.12 . . . . 3 matches
그리고 그 외 보여주실 수 있는 스터디 팀은 준비해 주셔도 됩니다.
- 제안 : 회원증 (비효율성), 뱃지 (크게 만드는건 어떨까?), 교통카드, USB, 볼펜, 라이터, 스티커
- 날짜 : 2월 11일, 2월 12일로 예정했으나 스텝이 몇몇 날짜를 정해서 택하기로 결정.
- 정모/2006.3.16 . . . . 3 matches
새내기 스터디 :오늘 전원 참석자 C스터디 담임
프로젝트: 공업수학,임베디드 리눅스 동영상 플레이어, 자자(자바와자료구조)
- 정모/2006.6.29 . . . . 3 matches
* 데블스 하루 참여자는 정회원 보류로 결정을 하였습니다.
* 정회원 안되신 분은 프로젝트 및 스터디 참여 그리고 회의를 잘 참여 하시면 정회원으로 추후 결정 하기로 했습니다^^
* 프로젝트 & 스터디 : 다이렉트2D,AJAX,알고리즘(간단한),MFC,토익영단어 [2006년활동지도]
- 정모/2007.1.6 . . . . 3 matches
김준석 - 초반에는 친목을 다지는 분위기로, 자연스럽게 열정에 빠져들게 만들도록 하겠다.
이장길 - 데블스 캠프, 새싹스터디를 통해서 많은 것을 배웠다.
- 정모/2012.11.12 . . . . 3 matches
* 지스타 쫌 실망....
== 스터디/프로젝트 ==
* 논문 번역 스터디 시작
- 정모/2013.1.22 . . . . 3 matches
* Bigbang : 지금까지했던 스터디 정리, 원격강의
* 도메인,호스팅,스티커 등에 사용된후 차기 회장 김민재 학우에게 인계될 예정
- 정모/2013.1.29 . . . . 3 matches
* 지출 예상내역으로 신입생 맞이를 위한 책자제작 비용, 스티커 등이 있다.
* zeropage 공지를 페이스북 ,트위터 ,zeropage 홈페이지에 공지를 할 예정.
* 그 밖에 여러 개인스터디(루비 공부, 연구실, ...)
- 정모/2013.2.19 . . . . 3 matches
* 새싹교실을 알리기 위한 방식 결정(미정)(새싹교실 벽보 여부, 페이스북이나 트위터같은 매체 활용 여부 등등.)
=== 스터디/프로젝트 공유 ===
* ACM 스터디 - 다들 일정이 바뻐서 저번주 보다는 문제수 적음. 하지만 다같이 dynamic 2문제를 풀습니다.
- 정모/2013.2.26 . . . . 3 matches
=== 스터디/프로젝트 공유 ===
* ACM 스터디 - 스터디 하면서 푼 문제의 간략한 소개를 함.
- 지금그때2005/회고 . . . . 3 matches
사람들의 반응이 좋았다. 처음 시행해본 [질문레스토랑]은 앞으로도 많이 쓰일 수 있을 것 같다. OST에서 활기찬 토론을 할 수 있어서 좋았다. 처음 뵙는 선배님들이 많아서 반가웠다.([복날]) -[강희경]
[질문레스토랑]의 질문이 거의 다 신입생이 대답하기 어려운 것들이었다. 적절한 질문을 추가해야겠다. -[강희경]
[질문레스토랑]에서 대답할 때마다 점수를 주고 '''오늘의 토크왕'''같은 걸 뽑으면 재밌겠다. -[강희경]
- 큐/Leonardong . . . . 3 matches
데블스 캠프 둘째날 큐 코드
container[i] = container[i+1];//스택이랑 같음
[StackAndQueue] [데블스캠프2003/둘째날]
- 큰수찾아저장하기/김태훈zyint . . . . 3 matches
일단 리팩토링 전 소스만 올렸다;
== 리팩토링 前 소스 ==
== 리팩토링 後 소스 ==
- 큰수찾아저장하기/조현태 . . . . 3 matches
//여전히 소스는 엉망~ 아에 함수도 없네..ㅎㅎ
== 소스 ==
소스가 짧다 ㅡㅡ;; 이녀석 입력받자마자 처리를 하는구나 =_=;; 대단하삼 ㅋㅋㅋ
- 토이/메일주소셀렉터/김정현 . . . . 3 matches
= 소스 =
//메인클래스
// 파일처리 클래스
- 파스칼삼각형/김영록 . . . . 3 matches
= 파스칼삼각형 =
cout << "===== △파스칼의 삼각형△ =====" << endl;
[파스칼삼각형] [LittleAOI]
- 프로그래머가지녀야할생각 . . . . 3 matches
스스로 무엇을 이루고자 하는지 그 뜻을 세우는 것도 중요하다고 생각합니다.
프로그래머는 예술가가 될수도 있고, 스니커가 될수도 있고, 비난을 듣는 경영자로 변신할 가능성도 있지요. --혀뉘
- 프로그래밍십계명 . . . . 3 matches
도스시절 한글라이브러리인 한라 프로를 만드신 임인건님께서 쓰신 글입니다.
*5분 후에 정전이 되고 내일 너의 하드가 맛이 가리라. 그러하니 너의 소중한 소스 코드는 정기적으로 여러 군데에 단계별로 백업해 두어라.
*어떠한 것을 수정했을 때에 연관된 것이 따라서 변하지 않는다면 그것이 곧 벌레이니라. 컴파일러로 하여금 매개 변수 리스트를 완전하게 검사하도록 하고, 언젠가 손대야 하거나 따라서 변해야 하는 수치는 전부 매크로로 치환하며, 형 정의를 적극 활용하여라.
- 프로그래밍잔치/둘째날후기 . . . . 3 matches
* 코딩 스타일에 대해 표준을 둔다.
* 팀프로그래밍을 하면서, 대화가 중요하단 생각을 했다. 형식적이지 않은 이런 저런 의사소통도 많이 필요하겠지만 어느정도의 형식이 갖춰진 대화를 하는 것이 필요할 것 같다. 예를 들면, 언어선택의 문제에 있어서 대충 한 두명이 이걸로 짤까?? .. 그럴까?? 이런 대화보다는 정식으로 사람들한테 자신이 아는 언어와 생각을 물어서 종합적인 결론을 도출하는 과정이 필요했던거 같다..그리고 자신이 알고 있는 것과 모르고 있는 것에 대해서 스스로 잘 알필요가 있을듯..;; 또 다른 사람의 입장을 한번더 생각하는 맘도 필요한 것 같다. --은지
- 프로그래밍잔치/첫째날 . . . . 3 matches
* 규칙을 스스로 만들어 낼 수 있는 자세.
* 소스 Code 에 대해서 Copy & Paste 금지!
- 피보나치/이승한 . . . . 3 matches
[데블스캠프2005/화요일] [데블스캠프2005/Python]에서 풀어본 문제
[데블스캠프2005]
- 행사 . . . . 3 matches
=== 데블스캠프 ===
* 제로페이지 신입생 준회원은 데블스캠프를 통해서 정회원이 된다.
[데블스캠프]
- 10학번 c++ 프로젝트 . . . . 2 matches
* 3부분 전부 연결 성공했으나, 초시계를 클래스로 묶으면 에러가 발생.
* 초시계 클래스 문제 해결해야지..
- 2010php/방명록만들기 . . . . 2 matches
== 디비 연결 테스트 ==
== 데이터베이스에 연결 ( dbconnect.php ) ==
- 2학기파이선스터디/함수 . . . . 2 matches
=== 가변 인수 리스트 ===
[2학기파이선스터디]
- 3DGraphicsFoundation/SolarSystem . . . . 2 matches
= 소스들 =
|| 개발자 || 소스 ||
- 5인용C++스터디/마우스로그림그리기 . . . . 2 matches
마우스를 이용하여 그림을 그릴 수 있는 프로그램 작성하기.
[5인용C++스터디]
- 7피관리 . . . . 2 matches
* [PC실관리/고스트]
* [PC실관리/고스트/네트워크를이용한OS설치]
- AOI . . . . 2 matches
ACM 문제풀이 스터디
[스터디분류]
- AcceleratedC++/Chapter1 . . . . 2 matches
=== 중요 소스 ===
interface : 객체의 타입으로 묵시적으로 내포 되어 있는 것은 인터페이스로서, 해당 타입의 객체에 사용 가능한 연산(operation)들의 집합을 말합니다. name을 string 타입의 변수(이름 있는 객체)로 정의 하게 되며, 우리는 string으로 할 수 있는 모든 일들을 name으로 하고 싶다는 뜻을 묵시적으로 내포하게 됩니다.
- AnEasyProblem/강소현 . . . . 2 matches
* 클래스 이름은 항상 "Main"으로 해주어야 합니다. 깜찍한 poj 같으니:)
[ACM_ICPC/2011년스터디]
- ArtificialIntelligenceClass . . . . 2 matches
요새 궁리하는건, othello team 들끼리 OpenSpaceTechnology 로 토론을 하는 시간을 가지는 건 어떨까 하는 생각을 해본다. 다양한 주제들이 나올 수 있을것 같은데.. 작게는 책에서의 knowledge representation 부분을 어떻게 실제 코드로 구현할 것인가부터 시작해서, minimax 나 alpha-beta Cutoff 의 실제 구현 모습, 알고리즘을 좀 더 빠르고 쉬우면서 정확하게 구현하는 방법 (나라면 당연히 스크립트 언어로 먼저 Prototyping 해보기) 등. 이에 대해서 교수님까지 참여하셔서 실제 우리가 당면한 컨텍스트에서부터 시작해서 끌어올려주시면 어떨까 하는 상상을 해보곤 한다.
- BasicJAVA2005/실습1 . . . . 2 matches
- 3개의 숫자를 입력받아 자리와 숫자가 맞으면 스트라이크, 자리는 틀리지만 숫자가 맞으면 볼을 출력하고 3개의 숫자가 맞으면(3스트라이크) 종료하는 프로그램
- C++스터디_2005여름/학점계산프로그램/문보창 . . . . 2 matches
// - 배열 인덱스를 1부터 쓰기 위해 학생 수보다 하나 더 크게 잡는다.
[C++스터디_2005여름]
- CC2호 . . . . 2 matches
|| [파스칼삼각형] || . || . ||
[새싹스터디2006]
- CORBA . . . . 2 matches
CORBA(Common Object Request Broker Architecture)는 소프트웨어 객체가 분산 환경에서 협력하여 작동하는 방식에 대한 일단의 명세서이다. 이 명세서에 대한 책임 기관은 OMG이며, 소프트웨어 업계를 대표하는 수 백 개의 회원 업체로 이루어져 있다. CORBA의 핵심부분은 ORB이다. ORB는 객체의 소비자인 클라이언트와 객체 생산자인 서버 사이에서 객체를 전달하는 일종의 버스로 생각될 수 있다. 객체의 소비자에게는 IDL이라는 언어를 이용한 객체 인터페이스가 제공되며, 객체의 생상자에 의해 제공되는 객체의 자세한 구현사항은 객체의 소비자에게는 완전히 숨겨진다.
- ChangeYourCss . . . . 2 matches
UserPreferences 에서 로그인후 자신이 원하는 css 를 설정해줄 수 있다. 각자가 취향에 맞는 스타일 시트를 골라서, 만들어서 사용해보자. ^^;
|| 누르스름한 바탕. 디폴트에서 배경색만 바꾼 색. 링크색과 비슷한 갈색계열이라 왠지 모르게 편안하고 아늑한..^^; || /~wizardhacker/cgi-bin/MoinMoin/wiki-moinmoin/wizneo.css ||
- CollectionParameter . . . . 2 matches
즉, 두 메소드의 결과를 모으는 경우인데, 그리 흔한 경우는 아니였던걸로 기억. 약간은 다르긴 하지만 나의 경우 CollectionParameter 의 성격으로 필요한 경우가 read/write 등 I/O 가 내부적으로 필요할때 또는 Serialization 등의 일이 필요할때. 그 경우 I/O 부분은 Stream 클래스로 만들고(C++ 의 Stream 을 쓰던지 또는 직접 Stream 클래스 만들어 쓰던지) parameter 로 넘겨주고 그 파라메터의 메소드를 사용하는 형태였음. --[1002]
- CompleteTreeLabeling/조현태 . . . . 2 matches
일단 임시로 만든 소스를 올렸다. 현재 연산에서는 문제가 없으나 3*2를 넘어가면 연산속도가 눈에띄게 저하된다.
== 소스 ==
- Cracking/ReverseEngineering/개발자/Software/ . . . . 2 matches
기존 배우고 있던 것들과는 별개로 Cracking에 대한 것들을 익혀야한다. (여기서 Cracking은 시스템 전반에 관한 지식을 익혀 그것을 악용 하는 것이다.)
(윈도우즈 시스템 커널이 하는 일등을 배울 수 있으며 그것을 이용해 나쁘게 사용하든 좋게 사용하든 도움이 많이 되는 책이다. Windows에 Base를 둔 Software 개발자로서는 꼭 읽어야할 책.)
- DataStructure/Stack . . . . 2 matches
* 스택(Stack) : 나중에 들어온게 먼저 나감. 밑은 막혀 있고 위만 뚫려 있는 통이라고 생각하면 됨. 밑을 도려내고 꺼낼수는 없는 노릇이니 집어넣을때도 위로, 뺄때도 위로 빼야겠져?^^;;
== 배열로 짠 스택 ==
- DataStructure/String . . . . 2 matches
ptn_count++; // 패턴과 스트링을 가르키는 걸 한개 증가
* 요건 걍 심심해서 만들어 봤습니다. 뭔가 코드가 좀 더러운거 같긴 하지만..-.-;; 앞으로 공부를 개념을 익히면 소스를 보기 전에 제 손으로 만들어보는 연습을 하려고 합니다.
- Data전송 . . . . 2 matches
html 에서 작성한 텍스트 박스등에 입력된 값을 서버로 전송
- DecomposingMessage . . . . 2 matches
메세지를 다루는 또 다른 방법은 여러 개의 조각으로 나누는 것이다. 리팩토링의 ExtractMethod이다. 스몰토크는 잘게 쪼개는 것을 좀 더 공격적으로 한다. 그래서 한 메소드의 길이가 3-4줄정도밖에 안된다고 한다. 이것이 가능한 이유는 스몰토크는 다른 언어에 비해 높은 수준의 추상화를 제공해주기 때문이다. self 에게로 메세지를 보내자.
- DesignPatternSmalltalkCompanion . . . . 2 matches
* GoF 버전은 사람들에게 익숙한 C++ 소스임에 비해 DPSC는 Smalltalk 소스이다.
- DoWeHaveToStudyDesignPatterns . . . . 2 matches
제 개인적인 의견으로는, 다른 것들과 마찬가지로 뭐든지 공부한다고 해서 크게 해가 되지는 않겠지만(해가 되는 경우도 있습니다 -- 다익스트라가 BASIC을 배워 본 적이 있는 학생은 아예 받지 않았다는 것이 한 예가 될까요?) 공부해야 할 필요가 있겠는가라는 질문에는 선뜻 "그렇다"고 답하기가 쉽지 않습니다. 여기에는 몇가지 이유가 있습니다. (제 글을 "DesignPatterns를 공부하지 마라"는 말로 오해하지는 말아 주기 바랍니다)
우선 효율성과 순서의 문제입니다. DesignPatterns는 이미 해당 DesignPatterns를 자신의 컨텍스트에서 나름대로 경험했지만 아직 인식하고 있지는 않는 사람들이 공부하기에 좋습니다. 그렇지 않은 사람이 공부하는 경우, 투여해야할 시간은 시간대로 들고 그에 비해 얻는 것은 별로 없습니다. 어찌 보면 아이러니칼하지만, 어떤 디자인 패턴을 보고 단박에 이해가 되고 "그래 바로 이거야!"라는 생각이 든다면 그 사람은 해당 디자인 패턴을 공부하면 많은 것을 얻을 겁니다. 하지만, 잘 이해도 안되고 필요성도 못 느낀다면 지금은 때가 아니라고 생각하고 책을 덮는 게 낫습니다. 일단은 다양한 프로그램들을 "처음부터 끝까지" 개발해 보는 것이 중요하지 않나 생각합니다. (see also [WhatToProgram])
- Doublet . . . . 2 matches
"이상한 나라의 앨리스(Alice in the Wonderland)"를 쓴 루이스 캐롤(Lewis Carroll)은 끝말잇기를 비롯하여, 영어 단어를 이용한 퍼즐들을 많이 만들었습니다.
- EightQueenProblem/이창섭 . . . . 2 matches
== 소스 원본 ==
* 지금 보니 무시무시한 소스다... 5중 루프... -_-;; --[창섭]
- EnglishSpeaking/TheSimpsons . . . . 2 matches
* 현재 영어 스터디 참가자가 4명이므로 4명 기준 회화 장면 Script 위주로 적어나갈 겁니다.
[EnglishSpeaking/2011년스터디]
- EnglishSpeaking/TheSimpsons/S01E04 . . . . 2 matches
* 호머는 가족들을 데리고 번즈 사장의 집에서 열리는 (의무적으로) 회사 연회에 참가한다. 번즈 사장은 화목해보이지 않는 가족은 해고해버리려고 하고 호머는 번즈 사장 앞에서 가족들이 화목한 '척'을 하려고 한다. 하지만 바트와 리사는 사고를 치고, 마지는 펀치를 마시다가 술에 취해버린다. 호머는 바트에게 5달러를 주고 뽀뽀를 받는 등 부자연스러운 연기를 하는 반면 진실되게 서로를 존중해주는 다른 가족들을 보며 자신의 가족에 문제가 있음을 알고 실의에 빠진다. 모의 술집에서 고민하던 호머는 TV 광고를 보고 마빈 몬로 박사의 가족 치료 센터에서 이 문제를 해결하고자 가족들을 데리고 간다. 하지만 호머를 비롯한 가족들은 어째 몬로 박사의 다양한 치료법들이 모두 역효과를 불러 일으킨다. 하지만 만족하지 못하면 2배 가격으로 환불해줘야 하는 치료 센터의 규정 덕택에 심슨 가족들은 오히려 돈을 벌게 되고 이로 인해 가족들에게 행복(?)이 찾아온다.
[English Speaking/2011년스터디]
- EuclidProblem/조현태 . . . . 2 matches
최대공약수는 저번에 만들어 놓은 소스.. 복사~붙여넣기.. 이걸로 해결~
== 소스 ==
- ExtremeBear/OdeloProject . . . . 2 matches
=== 스토리카드 ===
=== 시간추정(스토리추정) ===
- FrontPage . . . . 2 matches
* [스터디지원] : 스터디 및 프로젝트 지원에 대한 안내
- GDBUsage . . . . 2 matches
pipe를 통한 간단한 프로세스 통신의 일예
해당 라인을 전후로 하여 소스 코드를 보여준다.
- GameProgrammingGems . . . . 2 matches
이 책의 저자는 수십 명이다. 10명 정도는 알고 있어도 수십 명이 지은 책은 처음 일 것이다.... 나도 그렇다 ^_^; 이 책은 수십 명의 게임 프로그래머들이 자신의 노하우를 적어놓은 책이라고 하는 편이 정확하다. 즉 정보의 공유를 주장하면서 만든 책이 된다. 물론 자신이 열심히 만든 소스를 그냥 공개하자~ 라는 것은 아니다(그래주면 고맙겠다 -.-) 허나 자신은 어떤 알고리즘으로 구현했다던가, 혹은 VC++과 다이렉트 엑스를 사용할 때는 어떻게 하면 어떤 환경에서 구현하면 좋다던가 하는 건 알려주면 고맙겠지? 이 책은 그런 목적으로 쓰여진 책이 되겠다.
- Gnucleus . . . . 2 matches
소스가 굉장히 깔끔하고, 원래 부터 확장성이 좋은 누텔라 기반인지라 P2P 이용 어플리케이션에 많이 이용된다.
윈도우 네트워크 프로그래밍을 하는 사람이라면 한번쯤 소스를 통해서 윈도우의 메시지 드리븐을 최대한 이용한
- GoodNumber . . . . 2 matches
==== 테스트 데이터 ====
see also ["데블스캠프2002"], ["소수구하기"]
- GuiTestingWithWxPython . . . . 2 matches
TDD로 컨트롤을 하나하나 붙이고 위치값을 잡고 리스트박스에 초기값을 설정하는 예제
- HardcoreCppStudy/첫숙제/Overloading/변준원 . . . . 2 matches
전달인자 리스트를 가지고 함수를 사용할 때에는 디폴트 전달인자를 오른쪽에서 왼쪽의 순서로 첨가해야 한다. 즉, 어떤 전달인자의 값을 내정하려면 그 전달인자보다 오른쪽에 있는 모든 전달인자를 디폴트 전달인자로 해야 한다.
함수 재정의의 중요한 열쇠는 함수의 전달인자 리스트인데, 이것을 함수의 시그내처라고도 한다.
- HelpOnUserPreferences . . . . 2 matches
* 시스템의 기본 설정에 따라서는 테마 변경을 지원하지 않을 수도 있습니다.
* 시스템의 기본 설정에 따라서는 CSS변경을 지원하지 않을 수도 있습니다.
- HowToStudyInGroups . . . . 2 matches
스터디 그룹을 통해 공부하기
see also [스터디그룹패턴언어]
- Java/ReflectionForInnerClass . . . . 2 matches
innerclass 에서는 기본적으로 Inner Class 를 포함하고 있는 상위클래스의 레퍼런스가 생성자로 들어간다. 마치 C++ 에서 메소드들에 대해 this 가 기본 파라메터로 넘어가는 것과 같은 이치랄까.
- JavaStudy2004/조동영 . . . . 2 matches
* 역시 깔끔하고 보고 쉬운 소스 네요
자식 클래스의 생성자는 전달인자가 없는 기본 생성자 모양으로 해놓고( ex) zealot() )
- KIV봉사활동/준비물 . . . . 2 matches
* ''모기장 : 2-3인용 2개, 끈, 스티커고리( 1kg 3피스 1세트짜리를 4세트 샀음. 총 12개 )''
- Knapsack . . . . 2 matches
그리고 누군가가 만든 프로그램이 옳다는 것을 테스트하기 위해서는 이를 자동화하는 것이 편할 것이고, 이것을 위해서는 인풋과 아웃풋을 좀 단순화하는 것이 좋지 않을까 합니다. ICPC의 문제들을 구경해 보세요.
see also ["데블스캠프2002"]
- LinuxSystemClass/Exam_2004_1 . . . . 2 matches
리눅스는 선점형 운영체제이다
다음 SVR4 스케줄링 테이블을 보고 답하시오. (책의 153p)
- Marbles/문보창 . . . . 2 matches
예리한 테스트 케이스에 놀랐다. 신비한 수의 세계를 엿볼 수 있는 문제(?)다.
- MineSweeper/zyint . . . . 2 matches
[MineSweeper] [데블스캠프2005] [데블스캠프2005/Python]
- NamedPipe . . . . 2 matches
Pipe란 두 프로세스간의 통신을 위해 만들어진 것으로 Named Pipe는 말 그대로 이름이 있는 파이프라는 것이다. 이는 다른 컴퓨터와도 네트워크를
VOID GetAnswerToRequest(LPTSTR, LPTSTR, LPDWORD); // 스레드
- NeoZeropageWeb . . . . 2 matches
위에꺼 어떤 것을 하든 위키에 내장할 수있도록, 뭐 매크로로 지원할수 있게 하면 좋을듯,, 예를들어서 특정 문법을 쓰면 게시판이 하나 생기는거다. -_-;, 특정 문법을 쓰면 트랙이 지원되고,, 태터툴즈가 오픈소스면 그 부분만 가져다가 매크로로 제작하는것도 좋을듯... 매크로로 넣는것은 소스 이해 안해도 상관 없으니깐 ~ - [(namsang)]
- NumberBaseballGame/jeppy . . . . 2 matches
이것저것 해봐야겠당~ editplus 사용해도 꽤 괜찮넹.. 답답한 도스환경에서 해방~
근데 스팩이 좀 이상한거 아닌가.. 중복된 숫자가 나오면 풀 수 있는건가? --a
- NumberBaseballGame/재니 . . . . 2 matches
= 소스 =
cout << strike << " 스트라이크 " << ball << " 볼n";
- OpenGL_Beginner . . . . 2 matches
- 필자는 자신이 제작한 상업용 3D 설계 툴의 소스를 가지고 오고, 라이선스 문제와, 자신이 생각하는 개선점을 고쳐서 다시 작성했다고 한다. 인상 깊었다. 이해하기도 쉽고, 구조적 프로그래밍을 OOP로 옮긴다는 관점에 도움이 되었다. STL 비슷하게 linked list글 구현해 두었고, MEC++의 지식이 도움되었다. MEC++가 허송세월을 보낸것은 아닌 느낌이다. Java3D의 강좌에서도 Java3D의 프레임웍이 좋다고 하는데, 역시 살피는 과정에서 써야 겠다. 문서화 중
- OurMajorLangIsCAndCPlusPlus/Variable . . . . 2 matches
register - CPU 레지스터를 변수로 할당
auto - 스택 공간을 변수로 할당
- OurMajorLangIsCAndCPlusPlus/XML/조현태 . . . . 2 matches
* 테스트의 편의를 위해서 파일입출력을 안썼습니다.^^ ... 이편이 더 불편하려나?? 파입입출력으로 바꿀까..말까..
=== 소스코드 ===
- OurMajorLangIsCAndCPlusPlus/float.h . . . . 2 matches
float형에서 베이스가 10일 때 표현할 수 있는 지수의 최대값. 이것은 적어도 37이다.
이것은 지수부의 베이스(base) 또는 기수(radix)의 값이다. 이것은 이 절에 설명된 다른 매크로와는 달리 상수 표현식임이 보장된다. IBM 360과 그곳에서 파생된 제품을 제외하고는 모든 기계에서 2로 되어있다.
- PHP . . . . 2 matches
* 웹에서 쓰는 스크립트 언어이다.
= 스터디후 도출된 문서 =
- PolynomialCoefficients . . . . 2 matches
여러 쌍의 줄이 입력된다. 각 쌍의 첫번째 줄에는 두 개의 정수 n과 k가 있으며, 그 두 정수는 스페이스로 구분된다. (0<k, n<13) 이 두 정수는 다항식의 승수(다항식을 곱하는 횟수)와 변수의 개수를 나타낸다. 각 쌍의 두번째 줄에는 k개의 음이 아닌 정수 n₁,...,nk가 입력되는데, 이때 n₁+...+ nk = n이다.
- ProjectPrometheus/LibraryCgiAnalysis . . . . 2 matches
검색 리스트의 양식
&iSNo=1 - 처음 보여주는 페이지 리스트에서의 첫번째 번호.
- ProjectSemiPhotoshop . . . . 2 matches
* ["ProjectSemiPhotoshop/SpikeSolution"] - 해당 스토리의 솔루션 시도 페이지입니다.
* 제출해야 될 게 1. 시간예측(스케줄), 2. SPEC 3. 회의일지 이렇게 3가지야
- ProjectTriunity . . . . 2 matches
=== 프로그램 소스 및 문서 (첫번째) ===
=== 프로그램 소스 및 문서 (두번째) ===
- ProjectZephyrus/간단CVS사용설명 . . . . 2 matches
에서 General tab에 CVSROOT의 텍스트상자(가장 하단 상자)에
'''1. 패스 설정로 하기''' Autoexec.bat 에서
- PythonIDE . . . . 2 matches
* PyDev : 이클립스 플러그인으로 제공된다. 설치가 용이하며, 이클립스 통합이기 때문에 굉장히 단순하며, 안정성이 높다.
- PythonNetworkProgramming . . . . 2 matches
Medusa 는 내부적으로 select / poll 를 이용, 비동기 소켓부분을 구현한다. 소켓 이벤트들 처리에 대한 인터페이스가 아주 깔끔. 참 마음에 든다.
MFC 의 CSocket 를 사용하는 스타일로 프로그래밍을 할 수 있는데, Python 이기에 코드가 더 깔끔. 그리고 Windows/Linux 양쪽 다 가능.
- RAD . . . . 2 matches
전통적인 소프트웨어 개발 방법(waterfall 모델)은 오랜 기간의 분석, 설계, 프로그래밍 그리고 테스트 과정을 되풀이한 후 최종 단계에서 비로소 사용자가 요구한 시스템을 완성할 수 있었다. 그러나 이와 같은 방법으로는 소프트웨어의 생명주기가 점차 짧아지는 등의 급변하는 프로그램 시장과 사용자의 요구를 수용하기가 매우 어렵다. 따라서 소프트웨어의 생산성을 향상시키면서 동시에 개발 기간과 비용을 단축시킬 수 있는 방법이 요구되었고, 이러한 연구의 결과로 RAD와 같은 개념이 등장하게 되었다.
- RandomWalk/재니 . . . . 2 matches
= 소스 =
원래는 8방향이엇는데 소스를 어디다 뒀는지 기억이 안나네요..ㅡㅡ;;
- RandomWalk2/Vector로2차원동적배열만들기 . . . . 2 matches
위의 방법 외에도 클래스로 감싸주고, 내부적으로는 1차원 배열을 쓰는 방법이 있겠죠. row*width+col로 특정 원소를 레퍼런스할 수 있습니다.
- ReleaseDebugBuildStartGo의관계 . . . . 2 matches
F5는 IDE(통합환경)가 실행 프로세스를 반동결(Soft-ice)상태로 실행시켜, 사용자가 내부 변수의 값을 들여다 볼 수 있거나 중간에 멈출 수 있게 합니다. 디버깅을 할 때에 아주 중요한 역할을 하지요.
반면, CTRL-F5는 IDE가 실행 프로세스를 단순히 생성(fork)하는 역할만 합니다. 즉, 배포된 프로그램을 우리가 설치해서 실행할 때와 똑같은 환경이라고 생각하면 되겠습니다.
- Ruby/2011년스터디/강성현 . . . . 2 matches
[[pagelist(^Ruby/2011년스터디)]]
* 동네API 레퍼런스 http://devapi.caucse.net/apireference/
- Ruby/2011년스터디/김수경 . . . . 2 matches
[[pagelist(^Ruby/2011년스터디)]]
* 질문박스 : 진행자에게는 질문 기능을 통해 작성된 메세지를 모아놓음
- SVN 사용법 . . . . 2 matches
1. 마우스 오른 쪽 버튼 클릭 -> add 선택 -> Debug 제외한 폴더 Add
[데블스캠프2006/SVN]
- SchemeLanguage . . . . 2 matches
=== Scheme의 IDE와 레퍼런스가 있는 곳 ===
* http://www.htdp.org/ - How To Design Programs. 비 전공자들을 위한 Scheme Language 책으로, 인터넷에 공개되어있다. 위의 PLT Scheme 을 인스톨하면 Help 탭에 HTDP 링크가 생긴다.
- SeedBackers . . . . 2 matches
|| [임인택] || OpenSource 프로젝트 산출물의 품질 향상을 위한 프로세스 개선 방안 || SE 연구실 ||
== 문서들(반드시 패스워드를 걸어주세요) ==
- Self-describingSequence/1002 . . . . 2 matches
* 지속적으로 퍼포먼스 튜닝을 위해 다른 알고리즘으로 접근을 해본 점이 좋았음.
* 하지만, 수학적인 관계를 찾아내는데에는 역시 한계를 보임. 그냥 퍼포먼스 향상을 위한 알고리즘 개선법으로만 접근.
- SmallTalk/문법정리 . . . . 2 matches
* 모든 스몰토크 표현식이 다음과 같은 양식을 따른다.All Smalltalk expressions follow the form:
읽은지 얼마 안되었는데도 스몰토크의 메소드 길이는 7줄을 넘지 않는다는 말이 나온다. 그러면서 extract method(이 말을 직접적으로 쓰진 않았지만)도 나온다.
- Star/조현태 . . . . 2 matches
바빠도 음악넣어주는 정도의 센스~!
=== 소스코드 ===
- StringOfCPlusPlus/상협 . . . . 2 matches
= 소스 =
int n1=s.nval();//에스 객체의 길이;
- StudyingFundamentalsOfTcpIp . . . . 2 matches
TCP/IP 가 우리와 얼마나 가까 있는지 아시죠? 인터넷의 근간이 되는 프로토콜에 대해 스터디를 하고자 합니다. 관심있는 분의 많은 참여 부탁드립니다.
[스터디분류]
- SystemPages . . . . 2 matches
* WikiSandBox - 테스트를 위한 모래상자.
덧붙여 ZeroPage의 데이터 베이스도 백업합니다.
- TestDrivenDevelopmentBetweenTeams . . . . 2 matches
일단 각 팀들끼리 TDD 를 하면서 팀들간의 대화를 통해서 일종의 공통 interface 를 빼낼 수 있다. 일단은 일종의 MockObject 로 가짜값을 채워서 테스트를 통과시킨뒤, 실제 Object 가 구현되면, 천천히 하나씩 실제 Object 의 interface 를 끼워가면서 테스트를 통과하는지를 확인한다. 그리고 최종적으로 실제 Object 로 MockObject 를 대체시킨다.
- TestDrivenDevelopmentByExample . . . . 2 matches
["Java"] 소스(국내에 인기있는;)로 되어있으니 추후 출판뒤 번역이 되지 않을까 하는 희망을; 하지만 지금 진행중인 책의 앞부분을 읽어보긴 했는데. 정말 'Test 로 Driven' 되는 것 같은 느낌이 듬. TDD 진행과정을 예제 하나를 통해 계속 보여주기 때문에 이해하기 편합니다.
개인적으로 TDD 중 빠른 테스트 통과를 위해 가짜 상수로 쌓아나갈때 어떻게 '중복' 이라 하여 ["Refactoring"] 할까 고민했었는데, 이전의 SeminarHowToProgramIt 에서의 예제 이후 이 문서에서의 예제가 깔끔하게 풀어주네요. 인제 한번 들여다 본 중이긴 하지만, 저자가 저자인 만큼 (KentBeck).~
- TheTrip/Leonardong . . . . 2 matches
무엇이 잘못 되어도 테스트를 추가해본다는 점은 역시나 TDD가 매력적일 수 밖에 없는 요인이다. 이제는 손으로 테스트를 하려면 너무 귀찮고 시간낭비라고 생각한다. TDD 리듬을 조절해줄 파트너가 옆에 있다면 더욱 좋으련만. :) --[Leonardong]
- UserStory . . . . 2 matches
사용자의 요구사항에 대한 간략한 기술. XP의 다른 과정들이 그렇듯이 (이건 아마도 XP 방식으로 진행하는 팀들의 특징인듯. -_-a Case Tool 보다는 간단한 카드와 펜을 선호함.~) 보통 인덱스 카드에 기술을 한다.
시스템과 사용자간의 어떤 행위들을 하는가른 간단히 순서적으로 적는것이지.
- ViImproved . . . . 2 matches
사실 다들 오해하고 있는 것 중의 한가지로는 vim은 불편하다는 것이다. 최근의 vim은 플러그인을 통해 여러가지 기능을 지원하며 그 중에는 단어 자동완성을 물론 문맥 자동완성뿐만 아니라 대부분 언어에 대한 syntax highlight를 지원한다. 요즘에는 흔히 볼수있는 탭기능도 지원하기 시작한지 오래되었으며 좌측에 파일 트리를 띄워두고 작업할수도 있다. 또한 .vimrc파일을 통한 강력한 커스텀마이징이 가능하며 이를 이용하여 이클립스를 능가하는 편의성을 지니기도 한다.
- WikiGardening . . . . 2 matches
''실제 위키의 View 구조를 조성하는 사람들이 드물기 때문에, 기존 게시판에서의 스타일과 똑같은 이용형태가 계속 진행되어버렸다는 생각이 든다. (이 경우 RecentChanges 가 Main View 가 된다.) (조만간 위키 전체에 대한 링크 구조 분석이나 해볼까 궁리중. 예상컨데, 현재의 ZeroWiki 는 Mind Map 스타일에 더 가까운 구조이리라 생각. (개념간 연결성이 적을것이란 뜻. 개인적으로는 볼땐, 처음의 의도한 바와 다르긴 하다.) --1002'' (DeleteMe ["1002"]의 글을 다른 페이지에서 옮겨왔습니다.)
- WorldCup/송지원 . . . . 2 matches
|| 입력 ||팀의 수와 경기 수, 그리고 각 팀의 총 획득 스코어를 입력 (0은 끝을 의미) ||
* 처음에 class명을 Main으로 해야 하는 지 몰라서 Compile Error를 아름답게 띄움...-_-;; // 아래 소스도 복붙할 때 바꿔 줘야 함
- Yggdrasil/020523세미나 . . . . 2 matches
== 스택 ==
//스택
- Yggdrasil/가속된씨플플/2장 . . . . 2 matches
== 클래스 string ==
* 1장에서 배운 string 클래스에 추가할 내용. SeeAlso ["Yggdrasil/가속된씨플플/1장"]
- ZPBoard/PHPStudy/쿠키 . . . . 2 matches
* 쿠키(Cookie)는 클라이언트 컴퓨터의 하드에 해당 컴퓨터의 여러가지 정보가 저장된 파일을 지칭하는 말입니다. 현재 많은 사이트들이 이를 이용해서 여러가지 서비스를 제공하고 있습니다. 예를 들자면 제로위키에서는 이를 이용해서 로그인 서비스를 제공하고 있답니다.
- ZPHomePage . . . . 2 matches
회의 결과 로고와 마스코트 디자인 공모에 총 4만원의 지원금이 결정 되었습니다.
약간 부족한듯하지만 새로운 홈페이지를 공개합니다. 1주일정도 테스트뒤에 메인으로 띄우도록 하겠습니다. --[곽세환]
- ZPHomePage/20041228 . . . . 2 matches
* 메인에 공지, 한줄메모, 위키바뀐글, 진행중인스터디 표시
* 서버에 테스트계정만들기
- ZeroPageServer/BlockingUninvitedGuests . . . . 2 matches
* 스타워즈비행기 게임 다운로드
- [임인택]의 [http://purepond.cafe24.com/ 개인위키]도 ZeroPage 에서와 같은 문제점을 (그것도 더 심하게) 겪었는데 아파치의 보안기능 (.htaccess 파일 이용)을 적용해봐도 결과는 마찬가지였다. 누군가의 장난이거나 검색엔진(+사용자)의 무지에서 오는 문제인것이 확실하였는데. 결국 NoSmoke:노스모크모인모인 의 '''등록한 사용자만 글을 쓸수 있게 하는''' 기능을 이용하여 이 문제를 해결하였다. 여담으로.. 쓰레기 페이지를 손수 지우느라 엄청 고생함...-_-;;
- [Lovely]boy^_^/Diary/7/29_8/3 . . . . 2 matches
|| 3D || 슈퍼바이블 나머지 || || 숙제해오기 : 네비게이션,텍스쳐 입히기 ||
* 역시 밤 10시까지 일하고 새로하는 라이벌 보고 스타리그 보다 보니 아무것도 못했다
- apache/mod_python . . . . 2 matches
* [http://www.modpython.org/live/current/doc-html/inst-testing.html] : 인스톨 테스트
- callusedHand/projects/fileManager . . . . 2 matches
* 참고 소스: file-browser, mc
가상 파일 시스템 도입 / Linux configuration center(?) / 원격 로그인
- eXtensibleMarkupLanguage . . . . 2 matches
* [http://www.joon.pe.kr/blog/250 php로 xml 생성 클래스(예제포함)]
* XML은 데이터 표현 방식(data presentation)이기 때문에 문법에 하나라도 어긋나거나 코드셋이 맞지 않는 경우에는 100% 에러를 내뱉는다. HTML을 다루다가 XML을 공부할 경우 이런 점에 당황스럽기도함. (DB 에서 코드셋 잘못 다루면 삽질하는 거랑 비슷함;; -_-)
- ljh131 . . . . 2 matches
모든 프로그래머들이 copy & paste에 빠져있어 구글신께서 포맷으로 심판하려 할 때 홀로 노가다 코딩을 하던 아노아씨는 구글신의 특별한 계시로 포맷이 닥칠것을 미리 알게 된다. 그는 120번의 이터레이션에 걸쳐 방주(신개념 version control system)를 제작해, 8개의 대형 오픈 소스 프로젝트와 한 패키지씩의 여러 sf프로젝트를 커밋한다. 포맷이 닥치자 모든 오픈 소스 프로젝트가 실패하고 말았지만, 이 방주에 커밋된 프로젝트들은 살아 남았다고 한다.
- wiz네처음화면 . . . . 2 matches
* Develope Bookshelf making me Management System[(zeropage)나를만든책장관리시스템]
|| [(zeropage)나를만든책장관리시스템] || ▶▷▷▷▷ ||
- 강희경/그림판 . . . . 2 matches
=== 걸스패닉 ===
게임제작 프로젝트 [걸스패닉]용 이미지.
- 개인키,공개키/김회영,권정욱 . . . . 2 matches
cout << "암호화할 텍스트를 입력하세요 : ";
cout << "복호화할 텍스트를 입력하세요 공개키를 입력하세요 : ";
- 경시대회준비반/BigInteger . . . . 2 matches
C++ 용 BigInteger 클래스로 거의 모든 연산을 지원한다. UVA 사이트의 구식(?) 컴파일러에도 문제없이 통과할 뿐 아니라, 성능또한 훌륭하다. 고정도 정수 연산을 하는 문제의 경우, 고정도 연산을 하는 라이브러리를 본인이 직접 짜거나, 이 클래스를 이용하면 된다. 몇 일동안 삽질한 결과 후자가 낫다는 판단이 선다. 되게 잘 짜여진 코드다. 시간 내서 분석해봐야 겠다.
- 구구단/김태훈-zyint . . . . 2 matches
[구구단] [데블스캠프2005] [데블스캠프2005/Python]
- 금고/문보창 . . . . 2 matches
T(n, k) 를 층수 n 과 금고 수 k 일때의 해라 하자. 여기서 n 을 k 개의 금고를 가지고, T(n, k) 횟수 만에 모두 테스트 할 수 있는 건물의 최대높이라 하자.
그런데 여기서 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) 이다. 따라서
- 금고/조현태 . . . . 2 matches
배고파도 음악넣어주는 센스!!
=== 소스 ===
- 김상협 . . . . 2 matches
엠에스엔 : sainthyup@ 핫맬컴
취미: 검도, 찬양, 킹오파, 스팸메일쓰기^^;;
- 남자들에게 . . . . 2 matches
* 감상 : 음 이책은 주관적인 면이 강한거 같다. 뭐 이책의 특성상 자기의 의견이 많이 드러날 수 밖에 없는거 같다. 이책은 수필 스타일로 씌어 졌다. 그래서 평소 로마인 이야기에서와 같이 뭔가 자신의 모습은 감추는 듯한 시오노 나나미씨의 모습과는 다르게 이 책은 온통 시오노 나나미씨의 생각들이다. 그래서 더 흥미로웠는지도 모른다. 이책에서는 시오노 나나미씨가 남자들에게 말하고 싶어하는 여러가지 내용이 나와 있었다. 음 바로 어제지만 좀 많이 까먹어서 별로 많이 생각나지는 않지만 몇가지만 적으면....
* 시오노 나나미씨가 싫어하는 남자 스타일
- 단식자바 . . . . 2 matches
[Eclipse], [http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/R-3.1-200506271435/eclipse-SDK-3.1-win32.zip&url=http://eclipse.areum.biz/downloads/drops/R-3.1-200506271435/eclipse-SDK-3.1-win32.zip&mirror_id=26 이클립스 3.1]
[http://gigamail8.paran.com:8080/gigamail_pop.php?file=/D8/1/20050713/16/07/beonit@paran.com/1121238649_29721_x0.zip&filename=javaJava.zip 첫날소스]
- 데블스캠프2004/위키항해소감 . . . . 2 matches
* 2004년 데블스캠프 첫날에 위키를 항해하고 느낀 점을 토의한 것을 적은 페이집니다.
[데블스캠프2004]
- 데블스캠프2005/RUR-PLE/Harvest/정수민 . . . . 2 matches
Describe 데블스캠프2005/RUR-PLE/Harvest/정수민 here.
[데블스캠프2005/RUR-PLE/Harvest]
- 데블스캠프2005/RUR-PLE/Newspaper . . . . 2 matches
= 데블스캠프2005/RUR-PLE/Newspaper =
[데블스캠프2005/RUR-PLE]
- 데블스캠프2005/RUR-PLE/Newspaper/Refactoring . . . . 2 matches
= 데블스캠프2005/RUR-PLE/Newspaper/Refactoring =
[데블스캠프2005/RUR-PLE]
- 데블스캠프2005/RUR-PLE/TwoMoreSelectableHarvest . . . . 2 matches
= 데블스캠프2005/RUR-PLE/TwoMoreSelectableHarvest =
[데블스캠프2005/RUR-PLE/TwoMoreSelectableHarvest/이승한]
- 데블스캠프2005/RUR-PLE/TwoMoreSelectableHarvest/이승한 . . . . 2 matches
= [데블스캠프2005/RUR-PLE/TwoMoreSelectableHarvest]/[이승한] =
[데블스캠프]
- 데블스캠프2005/RUR_PLE/조현태 . . . . 2 matches
여러가지 환경에서 테스트를 수행하였으며, 문제가 있을경우 [조현태]페이지에 올려놓으면 빠른시일내에 해결하도록 노력하겠습니다.
[데블스캠프2005/RUR-PLE]
- 데블스캠프2005/사진2 . . . . 2 matches
see also [데블스캠프2005/사진]
[데블스캠프2005]
- 데블스캠프2005/월요일/BlueDragon . . . . 2 matches
self.place = ['루이스', '청룡탕', '공대', '할매동산', '정문']
[데블스캠프2005/월요일]
- 데블스캠프2009/금요일/SPECIALSeminar/조현태/변형진/김준석 . . . . 2 matches
2. 커버리지 테스트!! 보다 많은 테스트!! 좋은 인생 목표!! 를 세우고 진행해야겠다.
- 데블스캠프2009/월요일/연습문제/svn코드레이스/박근수 . . . . 2 matches
= 데블스캠프2009/월요일/연습문제/svn코드레이스/박근수 =
- 데블스캠프2009/화요일후기 . . . . 2 matches
= 데블스캠프2009/화요일후기 =
* 박성현 - [http://zeropage.org/30883 ZeroPage - 데블스캠프게시판 - 화요일-후기입니다 ㅎ]
- 데블스캠프2010/다섯째날/ObjectCraft/미션2/김상호 . . . . 2 matches
= 레퍼런스 미 사용 =
= 레퍼런스 사용 =
- 데블스캠프2011/넷째날/Android . . . . 2 matches
* [데블스캠프2011/넷째날/Android/송지원]
[데블스캠프2011]
- 데블스캠프2011/다섯째날/HowToWriteCodeWell/권순의,김호동 . . . . 2 matches
// 버튼 눌러서 타서 이동한 케이스
// 내려서 이동 안되는 케이스
- 데블스캠프2012/넷째날/묻지마Csharp/김태진 . . . . 2 matches
str = " 즐거운 데블스캠프 즐거운 데블스캠프";
- 레밍딜레마 . . . . 2 matches
* Author : 데이비드 허친스
시리즈 물인데, 같은 시리즈의 하나인 혜영이가 남긴 감상 [http://zeropage.org/jsp/board/thin/?table=multimedia&service=view&command=list&page=0&id=145&search=&keyword=&order=num 네안데르탈인의 그림자] 와 같은 짧고 뜻 깊은 이야기이다. 왜 이 책을 통해서 질문법을 통한 실용적이며, 진짜 실행하는, 이루어지는 비전 창출의 중요성을 다시 한번 생각하게 되었다. ["소크라테스 카페"] 에서 저자가 계속 주장하는 질문법의 힘을 새삼 느낄수 있었다.
- 마이포지셔닝 . . . . 2 matches
* 이책은 글로벌CEO 특강에서 스파이렉스 사코사의 박인순 사장님이 아주 아주 강력하게 추천해서 정현이와 공동 구매 해서 샀다. 아직 도서관에는 안 들어 왔는데 지금 우선 신청은 해놓은 상태다. 우선 전체적인 느낌은 보통의 성공학, 자기계발서는 어찌 좀 뜬구름 잡는듯한 내용도 많았는데 이책은 아주 현실적으로 접근하고 있다. 처세서, 성공학 같은 책중에서 이책이 가장 솔직하고 정확하게 그 길을 제시해주는거 같다. 저런 책에 관심이 있다면 이 책을 꼭 읽어 보는게 좋다. 누군가와 협력하고, 누군가의 장점을 알아볼수 있고, 좋은 아이디어를 알아볼수 있는 능력이 정말 핵심인거 같다. 그리고 혼자 잘나서 다 할수 있다는 생각을 가지면 절대 안되고, 자신이 올라탈 말이 있어야 한다. 그리고 2막은 없다는 이야기가 있는데 1막에서 성공하였다고 해서, 그 똑같은 일을 그 회사 나와서 다시 다른 회사 차려서 해서 성공하는 경우는 거의 없다. 그것은 자기 자신이 시기를 잘 만나서 성공한게 아니라 자기가 잘나서 성공한거라는것을 대중에게 보여주고자 하는 자아 때문인데, 그런 자아를 가지고서 다시 성공할 수도 없다. '수로부여'라고 자신이 한번 잘되었던 일이 있으면 계속 그런식으로 일을 하는것을 말하는 특성이 있는데, 두번째로 할때도 첫번째것이 성공하였다고 그런식으로 똑같이 해서 어떤 경쟁력도 생길수 없다.
- 문자열검색/허아영 . . . . 2 matches
앞으로 실수하지 않게 데블스캠프때 배웠듯이, 건축에 있어서 설계를 작성하는것은 중요한 것 처럼
=== 소스 ===
- 박성현 . . . . 2 matches
* 2010, 2011 새싹 스터디 강사
== 스터디 ==
- 상욱 . . . . 2 matches
=== 스터디 ===
* 진행중인 스터디 없음.
- 새싹교실/2011/앞반뒷반그리고App반 . . . . 2 matches
초반부는 쉬우니, 가능한 한 스피디하게 전진합시다.
* 오늘은 포인터를 배웠어요. ********별-. 선언할 때 int *a;로 선언하게 되면 *a는 a의 주소에 있는 값을 나타내는거였지요. 음.. 하다가 현 형이 하던 프로젝트에 잠깐 지워놓고 예시를 들었다가 xcode를 끄는 바람에 소스가 날라가버렸지요.... 포인터가 있으면 지정된 크기보다 큰 용량의 자료도 불러오기 쉽다는 것도 배웠구요. 아무튼 유용하게 쓸 수 있을거 같아요 -[김태진]
- 새싹교실/2012/아무거나/2회차 . . . . 2 matches
* 자신이 짠 소스를 올려주세요.
while문으로 써서인지 머리를 덜 써서인지, 소스가 점점 길어지네요. for문 쓰는 법에 대해서도 꼭 배워야겠어요.
- 소프트웨어장인정신 . . . . 2 matches
소프트웨어를 개발하는데 장인정신이라는 비유를 사용한다. 프로세스와 프로세스 산출물에 초점을 맞추는 소프트웨어 엔지니어링은 규모가 작은 프로젝트에는 좋은 선택이 아니다. 평범한 소프트웨어 개발자 여럿을 두고 이를 관리하기보다 장인 소프트웨어를 개발자 한 명을 고용하는 편이 속도나 품질 모두에서 낫다. 따라서 전통적인 수공업에서 나타나는 도제생활이 초보 프로그래머에게는 필요하다. 프로그래머는 도제를 거쳐 중간 장인으로, 결국에는 장인으로 성장하게 된다.
- 송지훈 . . . . 2 matches
취미 : 농구, 기타연주, 페이스북, 프로젝트 유지보수, 연애
건강 : 지금은 허리디스크.
- 수학의정석/집합의연산/조현태 . . . . 2 matches
아우.. 27시간 동안 깨있었더니 죽겠... 인상태에서 만들어 졌으며, 그래서 소스가 지저분 할 수 있다.
== 소스 ==
- 숫자를한글로바꾸기/정수민 . . . . 2 matches
그리고 코딩 스타일을 여러가지 건드려보는 중이다.
== 소스-정보만 더 주어지면 확장은 얼마든지 가능하다. ==
- 숫자를한글로바꾸기/허아영 . . . . 2 matches
흠.. 진트껄 0넣으면 안된다구 구박했건만.. 여기눙 0넣으면 끝나게 하다닛..ㅎ 이런 쌘스쟁이.ㅎ
이렇게 편하게 해.ㅎ 4byte 안아껴두 된다구~ㅎ 메모리 남아돌앙.ㅎ 저거 소스가 용량 더먹게땁.ㅎ
- 숫자야구/조재화 . . . . 2 matches
데블스캠프 첫째날
cout<<i<<"스트라이크 "<<j<<"볼입니다."<<endl;
- 안전한장소패턴 . . . . 2 matches
...좋은 물리적 환경 (CommonGroundPattern, PublicLivingRoomPattern)은 어떤 스터디 그룹에서든 필수적이다. 이 패턴에서 설명하는 지성적 환경 역시 마찬가지로 필수적이다.
[스터디그룹패턴분류]
- 알고리즘8주숙제 . . . . 2 matches
Optimal Binary Tree는 Dynamic Programming 기법으로 풀리는 유명한 문제입니다. 그누스 형님 방법에 의하면 O(n<sup>2</sup>)으로 풀립니다. 그러나 우리는 이보다 점근적으로 더 빠른 휴리스틱 버전을 작성해야 합니다.
- 위키QnA . . . . 2 matches
=== 스타일 문제 ===
* Regular Project 인원 3명이상 - 3명 이상이라면 세미나-스터디의 형태이거나, 단체 프로그램 목표, 기타의 단체 목표 일것이다.
- 위키설명회2006 . . . . 2 matches
장소 : 봅스트홀 7층 컴퓨터공학부 PC실
* 1차 홍보 : 3월 6일 A4 전단지 봅스트홀에 붙이기. (7피, 구피, 화장실, 1층,4층 엘리베이터 앞, 컴공 행사란)
- 윤성만 . . . . 2 matches
현 전우주최강밴드 커스웨어 04학번 리더
커스웨어 오티공연 준비
- 음계연습하기 . . . . 2 matches
피아니스트는 연주 능력 향상에 크게 도움이 될 것 같지 않은 음계를 여러 달 동안 계속 연습하기도 한다. 그러나 그 연습이 피아니스트로 하여금 원하는 음악적 성취를 이룰 수 있도록 해준다. 외과 의사는 능숙한 수술 실력 향상에 크게 도움이 될 것 같지 않은 작은 손놀림을 익히기 위해 여러달 동안 계속해서 봉합용 실과 씨름을 한다. 외과 의사는 그 꾸준한 연습 덕분에 수술을 빠르고 정확하게 하게 되고, 그 결과 소중한 인명을 구하기도 한다. [[HTML(<FONT COLOR=RED>무언가를 성취하는 것은 반복적인 연습에 의해서만 가능하다. </FONT>)]]
- 이승한/mysql . . . . 2 matches
키 설정 : add index [인덱스명] (필드명, );
테이블 스키마만 남기고 레코드 모두 삭제 : delete from score;
- 전철에서책읽기 . . . . 2 matches
하하 앉아서 책보다가 자연스럽게 잠들기..--[강희경]
- 난 버스에서 읽는데 전철에 비해 상대적으로 사람들의 시선을 덜 받는다. - [임인택]
- 정모/2003.11.17 . . . . 2 matches
=== 스터디 ===
* 자바 스터디: 무기한 보류. 위키 페이지에 끝났다고 써놓기.
- 정모/2006.1.5 . . . . 2 matches
* 코드레이스 진행자 뽑기
- 코드레이스 의 법칙 정하기
- 정모/2007.3.27 . . . . 2 matches
* 프로젝트 or 스터디
=> 개발툴 : 이클립스 3.2, jtk1.6
- 정모/2012.1.6 . . . . 2 matches
* [http://www.ciokorea.com/news/11231?page=0,0 2012년에 뜰 오픈소스 5가지]
== 스터디 ==
- 정모/2012.10.8 . . . . 2 matches
== 스터디/프로젝트 ==
=== 스터디/프로젝트 제안 ===
- 조현태/놀이/미스틱아츠 . . . . 2 matches
== [조현태/놀이/미스틱아츠] ==
엽기적인 테스트.. 역시 필요한건 그래픽 디자이너..
- 조현태의자바교실 . . . . 2 matches
* 2학년 1학기 컴퓨터프로그램설계 프로젝트 대비라는 성격을 지닌 GUI 강좌 및 스터디.
["스터디분류"]
- 지금그때2003/ToDo . . . . 2 matches
* [지금그때2003/규칙] 테스트 1 (V)
* [지금그때2003/규칙] 테스트 2 (X)
- 지금그때2003/토론20030310 . . . . 2 matches
* 어떻게 하면, 이러한 행사(또는 다른 생산적인 행사들)를 '관습'으로 남길 수 있을 것인가. '관습'으로 유지시켜주기 위해, 더 나아가 이러한 관습을 발전시켜주고 키워주기 위해선 어떠한 시스템이 필요할까.
* 학과 내 긍정적인 시스템의 생성.
- 지금그때2004/여섯색깔모자20040331 . . . . 2 matches
노랑 : 수요일은 Netory,JStorm 등의 스터디 시간과 겹친다. 이를 피할 수 있는 장점이 있다.
그리고, 무엇이건 다 시도해보라. 전부다 플러스 요소로 작용한다.
- 지금그때2006/세부사항 . . . . 2 matches
= 질문 레스토랑 =
1. 질문을 포스트잇에 기록한다.
- 최소정수의합/이규완 . . . . 2 matches
기본형식입니다.^^ 소스를 만들어서 코드에 넣어주시고, 소감을 작성해 주시면 끝입니다.^^ -[조현태]
어째 소스가 다 유사한 느낌이..;;ㅁ;;
- 최연웅 . . . . 2 matches
* 좋아하는 것 : 과학, 철학, 사회, 야구, 노래, 비빔밥, 치킨, 스타크래프트, 토론, 창의적 설계, 무한도전
* 존경하는 사람들 : 아인슈타인, 김대중, 안철수, 존 스튜어트 밀
- 코코아 . . . . 2 matches
어떻게 하다보니 스터디 그룹 이름이 타도 코코아;;
근데 이거 위키 되게 신기하면서도 재미있고 조금은 조심스러운...ㅋ
- 큰수찾아저장하기/김영록 . . . . 2 matches
=== 스크린샷 ===
Upload:스샷1.JPG
- 타도코코아CppStudy/0804 . . . . 2 matches
최소 한개. 무조건 클래스를 이용하세요. 또한 될수 있으면 객체지향적으로.
* 대근이 말고는 스터디 할 생각이 없는것 같군요. 쫑낼까요? 내일 결정하겠습니다. 처음의 그 의욕적인 모습들은 다 어디로 갔나요? 제가 괜히 공부하기 싫은 사람들 붙들어 놓고 공부시키는건 아니죠? 아닐거라고 믿습니다. --[인수]
- 토이 . . . . 2 matches
||[토이/스택만들기] ||기초적인 자료구조에 하나인 스택을 구현 || X || X || X || X ||
- 튜터링/2013/Assembly . . . . 2 matches
* 사전 실력점검 테스트
* 스택프레임
- 파스칼삼각형/곽세환 . . . . 2 matches
DeleteMe 이 소스 컴파일이 안되는걸요? - [아무개]
[파스칼삼각형]
- 파스칼삼각형/김남훈 . . . . 2 matches
문제는 내가 scheme 시스템에서 stdin stdout 을 어떻게 다루는지 몰라서 그냥 함수만 만들었다는 점.
[파스칼삼각형]
- 파스칼삼각형/손동일 . . . . 2 matches
파스칼삼각형
[데블스캠프2003/첫째날]
- 페이지이름 . . . . 2 matches
추상적이라 생각되면 일종의 사랑방으로 이용하면 된다고 봅니다. 범용적인 만큼 스레드 성격의 글들을 더 잘 포용할 수 있지 않을까 생각합니다. 저는 '토론'(을 원한다면) 이나 '제안'(성격이라면) 임이 명시적으로 드러나는것이 좋지 않을까 생각한것 뿐, 특별한 다른 뜻은 없습니다. --["1002"]
사랑방과 같은 시스템에서의 문서구조조정은 그 노력이 많이 듭니다. 일관된 주제로 얘기하기가 힘들어지기 때문입니다. 따라서 되도록이면 피해야할 구조가 아닐까 생각합니다. 페이지 이름에 제안임이 명시적으로 드러나지 않아도 위키를 사용하는 사람들의 관심을 끌만큼 흥미로운 내용을 담고 있다면 괜찮다고 생각합니다. 조만간 이 부분은 ["페이지이름"] 페이지로 옮겨서 얘기해봐도 좋을듯 합니다. --["이덕준"]
- 피보나치/Leonardong . . . . 2 matches
데블스 캠프 첫째날 피보나치수열 코드
[데블스캠프2003/첫째날] [피보나치]
- 피보나치/고준영 . . . . 2 matches
상당히 좋지 않은 알고리즘 인것같다.. 내 컴퓨터를 서버로 테스트한결과 20이 넘어가면 gg....;;;;;;
PHP를 제로페이지 새싹스터디를통해 접한후 처음으로 만든 작품(?) 이랄까..
- 하노이탑 . . . . 2 matches
[데블스캠프2005]에서 한 [ToyProblems]
[데블스캠프2005]
- 현종이 . . . . 2 matches
class SungJuk //클래스를 선언합니다.
== 소스파일 ==
- 호너의법칙/김태훈zyint . . . . 2 matches
흠.. 소스가 지저분하네요..
=== 소스 ===
- 홍길동 . . . . 2 matches
|| 스터디 || 프로젝트 || 게임 ||
|| 자바 || 그림판 || 스타 ||
- 황세중 . . . . 2 matches
2. 스티브 잡스랑 친구먹기
- 회비 . . . . 2 matches
마이너스군요...근데 왜 5만원이나 쓰인거죠? 준비물 구입비 10000원을 휘동이한테 주고 간식은 3만원 어치 사기로 한 것 같은데요. -[강희경]
급기야 회비 통장이 마이너스가 났군요. 저번에 위키설명회 2005에서 남은 만원을 넣어야 넣어야 한다는 생각을 했었는데;; 요새 극심한 생활고에;; 내일은 채워 넣어야 겠네요. 휘동형한테 만원도 갚고요 ㅠ.ㅠ - 이승한
- 훌륭한프로그래머의딜레마 . . . . 2 matches
열심히씨는 처음 예상 소요 시간인 3개월 동안 정말 열심히 일했다. 하지만 일을 하면서 예상 외의 장애를 직면했고, 밤샘 작업까지 해가면서 3개월의 마지막 날 매니져에게 이런 말을 할 수 있었다. "정말 열나게 프로그램을 짰슴다. 밤샘도 하고요. 제가 지금까지 작성한 프로그램은 2000줄입니다. 그런데, 새로운 문제가 기술적으로 불가피하게 발생했습니다. 복잡한 버그(프로그램의 오류)도 몇 가지 해결해야 하고요. 한 달 가량이 더 필요합니다." 그러고 한달 후 열심히씨는 몇 개의 버그와 더불어 나름대로 작동하는 프로그램을 매니져와 고객에게 자랑스럽게 보여줄 수 있었다. 벌겋게 충혈된 눈과 미쳐 깎지 못한 수염, 무지무지 어렵고 복잡해 보이는 2500여 줄의 프로그램과 함께. "예상보다 훨씬 더 복잡한 문제였군요. 정말 수고하셨습니다."라는 칭찬을 들으면서.
훌륭한씨는 매니져가 "의무적으로" 잡아놓은 예상 소요 시간 3개월의 첫 2달 반을 빈둥거리며 지냈다. 매니져는 훌륭한씨가 월말이 되어서 "정말 죄송해요. 아직 한 줄도 못짰어요. 너무 어려워요. 좀 봐주세요."라고 처량하게 자비를 구할 날을 손꼽아 기다렸다. 웬걸, 마지막 날 훌륭한씨는 예의 "너무도 태연스러운" 모습으로 나타났다. 150여 줄의 프로그램과 함께. 그 프로그램은 멋지게 "열나어려운문제"를 해결했다. 하지만, 매니져가 그 코드를 들여다 보자, 한마디로 "너무도 쉬웠다." 초등학생도 생각해 낼 정도였다. 매니져와 고객은 이름을 "열나쉬운문제"로 바꾸는 데에 전적으로 동의한다. 훌륭한씨는 "이렇게 간단한 문제를 3개월 씩이나 걸려서 풀었습니까? 왜 이렇게 성실하지 못하죠?"라는 비난을 들어야 했다.
- 05학번만의C Study/숙제제출1/이형노 . . . . 1 match
=== 소스 ===
- 05학번만의C++Study/숙제제출1/이형노 . . . . 1 match
=== 소스 ===
- 2005MFC스터디 . . . . 1 match
== 2005MFC스터디는 ? ==
- 2006컴퓨터구조스터디 . . . . 1 match
헉.. 스터디후에 저도 좀 가르쳐 주세요 흑흑 ㅠ 버림 받은 아영~~ - [허아영]
- 2학기파이선스터디/서버 . . . . 1 match
[2학기파이선스터디]
- 3 N+1 Problem/조동영 . . . . 1 match
흔히 생각하는 알고리즘은 다들 비슷해서 소스가 비슷한 경우가 많어. 그걸 더욱 더 향상 시키려는 노력이 필요하지. 요즘 다른 알고리즘을 생각하려고 노력 중인데 잘 안떠오르네 ㅋ --[강희경]
- 5인용C++스터디/시계 . . . . 1 match
[5인용C++스터디]
- 5인용C++스터디/작은그림판 . . . . 1 match
[5인용C++스터디]
- 5인용C++스터디/클래스상속보충 . . . . 1 match
[5인용C++스터디]
- 5인용C++스터디/타이머보충 . . . . 1 match
[5인용C++스터디]
- AKnight'sJourney/강소현 . . . . 1 match
[ACM_ICPC/2011년스터디]
- AKnight'sJourney/정진경 . . . . 1 match
[ACM_ICPC/2011년스터디], [정진경]
- AM/20040730일곱번째모임 . . . . 1 match
* 8월 3일 AM스터디 여덟번째 모임, 서영희가 MFC 2장발표(예정)
- AM/20040803여덟번째모임 . . . . 1 match
* 8월 6일 AM스터디 아홉번째 모임, 이슬이가 MFC 3장발표(예정)
- A_Multiplication_Game/권영기 . . . . 1 match
[ACM_ICPC/2012스터디]
- AirSpeedTemplateLibrary . . . . 1 match
소스는 subversion 을 이용해서 다운받으면 됨. (해당 위키 페이지 참조. [Trac] 으로 관리되고 있음)
- Ajax . . . . 1 match
MacromediaFlex 가 인기를 끌지 못한 이유? 글쌔. 서버 한대당 2만달러가 넘는 비싼 라이센스 때문이 아닐까. -_a -[1002]
- Ajax2006Summer/프로그램설치 . . . . 1 match
5. 맨 위의 '''Callisto Discovery Site'''에 체크박스를 한 후 '''Finish'''를 클릭합니다.
- AnEasyProblem . . . . 1 match
[문제분류],[http://poj.org/problem?id=2453 An Easy Problem ], [ACM_ICPC/2011년스터디]
- AnEasyProblem/강성현 . . . . 1 match
[ACM_ICPC/2011년스터디]
- AnalyzeMary . . . . 1 match
스토리텔링 팩터라는 책에 이런 말이 있다.
- Android/PowerPointContoler . . . . 1 match
= 시작은 레퍼런스 부터 =
- Applet포함HTML/영동 . . . . 1 match
의 소스를 보시면, 최신 버전의 applet 세팅을 보실수 있습니다.
- AsemblC++ . . . . 1 match
요즘 컴파일러들은 컴파일을 하면 오브젝트 파일(.obj)을 생성합니다. 이것은 소스를 해석해서 만들어낸 기계어 코드입니다.
- BeeMaja . . . . 1 match
마야를 도와서 윌리가 쓰는 좌표계를 마야가 쓰는 좌표계로 변환해보자. 어떤 벌집 번호가 주어졌을 때, 그 번호를 마야의 시스템에서의 좌표로 변환해서 출력하는 프로그램을 만들어야 한다.
- BeeMaja/하기웅 . . . . 1 match
30분 만에 푼만큼 소스도 알고리즘도 원시적이다^^
- Bigtable/분석및설계 . . . . 1 match
* GFS는 그냥 파일시스템
- BlackBoxTesting . . . . 1 match
말 그대로 모듈을 Black Box 처런 내부를 생각하지 않고, 모듈에 대한 입력 대비 결과를 테스팅하는 방법.
- B급좌파 . . . . 1 match
김규항 칼럼집. Cine21 의 '유토피아 디스토피아' 연재중.
- C++ . . . . 1 match
벨 연구소의 [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여름/학점계산프로그램/정수민 . . . . 1 match
[C++스터디_2005여름]
- CSP . . . . 1 match
[데블스캠프2003/둘째날]
- CheckTheCheck/곽세환 . . . . 1 match
== 소스 ==
- Class/2006Fall . . . . 1 match
* [http://cafe24.daum.net/causkier 스키 강의 카페]
- ClassifyByAnagram/JuNe . . . . 1 match
P4 1.8Ghz 512MB Win XP Python 2.2.1에서 17만 단어로 실행하면 4초. 프로세스 메모리 점유 약 31MB. 만약 psyco로 bind를 해주면(if문 위에 {{{~cpp import psyco;psyco.bind(Aangram)}}}을 추가) 3.4초.
- ClassifyByAnagram/재동 . . . . 1 match
== 소스 ==
- CompilerTheory/ManBoyTest . . . . 1 match
Donald Knuth 가 Algol 60의 구현 정도를 판변하기위해서 만든 프로그램. 테스트의 목적은 올바르게 구현된 scoping rule, call-by-name의 구현 정도를 판별해서 boys(algol 60 구현물)들중에서 men (쓸만한 놈)을 가려내는 용도로 고안되었습니다.
- ComputerNetworkClass/Exam2004_1 . . . . 1 match
다음 그림에서 각 단계들의 프로로콜 스택을 그려라.
- ComputerNetworkClass/Report2006/BuildingProxyServer . . . . 1 match
버퍼에 저장된 문자열을 formatted 화 된 스트링, 수로 읽을 수 있다.
- ContestScoreBoard/문보창 . . . . 1 match
마지막 테스트 과정에서 버그가 있어서 애를 먹었다.
- Counting/문보창 . . . . 1 match
스터디 시간에 상섭이형이 발표한 점화식 이용.
- C언어정복/3월30일-숙제 . . . . 1 match
숙제페이지 이름에 대해서 [새싹스터디2006/의견]을 읽어보세요.
- DataCommunicationSummaryProject/CellSwitching . . . . 1 match
* 전통적인 랜은 방송&멀티캐스팅이 공짜다.(모두한테 보내므로), 하지만 ATM은 그것이 좀 힘들다. 그래서 두 가지 방법이 있는데
- DebuggingApplication . . . . 1 match
== 리베이스 관련 페이지 ==
- DermubaTriangle/하기웅 . . . . 1 match
== 소스 ==
- DermubaTriangle/허준수 . . . . 1 match
== 소스파일 ==
- DesignPatterns . . . . 1 match
["디자인패턴"] 서적중에서 레퍼런스(Reference) 라 불러지는 책. OOP 를 막연하게 알고 있고 실질적으로 어떻게 설계해야 할까 하며 고민하는 사람들에게 감동으로 다가올 책. T_T
- Direct3D . . . . 1 match
기본적인 클래스인 CD3DApplication 이 있고, 이것을 상속받은 CMyD3DApplication을 사용하여 하고싶은 일을 할 수 있다.
- EcologicalBinPacking/강희경 . . . . 1 match
오~ 굿 어드바이스요 --[강희경]
- EcologicalBinPacking/곽세환 . . . . 1 match
== 소스 ==
- EightQueenProblem/lasy0901 . . . . 1 match
좀 어거지로 소스 코드 크기를 줄였습니다. -_-a
- EightQueenProblem/nextream . . . . 1 match
모든 분들이 C/C++ 아니면 파이선이라, C로 할까 하다가 좀 특이하게 자바스크립트를 써봤습니다.
- EightQueenProblem/강인수 . . . . 1 match
* 파이썬으로 한거(2003 데블스 캠프 대비용)
- EightQueenProblem/조현태2 . . . . 1 match
여전히 잠이 안오는 걸로봐서.. 데블스캠프가 밤낮을 바꾼듯..;;ㅁ;;
- EightQueenProblem/최봉환 . . . . 1 match
== 8퀸즈 소스1 ==
- English Speaking/The Simpsons/S01E04 . . . . 1 match
[English Speaking/2011년스터디]
- ErdosNumbers/조현태 . . . . 1 match
== 소스 ==
- EuclidProblem/차영권 . . . . 1 match
유클리드 호제법과 디오판토스 방정식에 대해 공부해 볼 수 있는 좋은 기회였다고 생각한다.
- Expat . . . . 1 match
MS 진영의 XML 파서는 MSXML SDK 가 가장 많이 쓰이겠지만, 리눅스 계열 혹은 OpenSource 진영에서의 XML 파서는 Expat 이 일통한 듯 보임.
- ExploringWorld/참고링크 . . . . 1 match
http://kldp.org - 리눅스 문서
- ExtremeBear/VideoShop/20021106 . . . . 1 match
* Test 가 자연스럽고 쉬웠다.
- GarbageCollection . . . . 1 match
2번째 경우에 대한 힌트를 학교 자료구조 교재인 Fundamentals of data structure in c 의 Linked List 파트에서 힌트를 얻을 수 있고, 1번째의 내용은 원칙적으로 완벽한 예측이 불가능하기 때문에 시스템에서 객체 참조를 저장하는 식으로 해서 참조가 없으면 다시는 쓰지 않는 다는 식으로 해서 처리하는 듯함. (C++ 참조 변수를 통한 객체 자동 소멸 관련 내용과 관련한 부분인 듯, 추측이긴 한데 이게 맞는거 같음;;; 아닐지도 ㅋㅋㅋ)
- GuiTesting . . . . 1 match
MVC 는 View 단을 테스트하기에 적합하지 않은 면이 있다. 그래서 ModelViewPresenter 로 해보니 좋았다. --NeoCoin
- HASH구하기/권정욱,곽세환 . . . . 1 match
cout << "확인할 텍스트를 입력하세요 : ";
- HASH구하기/류주영,황재선 . . . . 1 match
[암호화실습], [데블스캠프2004/목요일]
- HanoiTowerTroublesAgain!/조현태 . . . . 1 match
=== 소스 ===
- HanoiTowerTroublesAgain!/황재선 . . . . 1 match
== 소스 코드 ==
- HardcoreCppStudy/첫숙제/ValueVsReference/임민수 . . . . 1 match
이 소스의 결과는
- HaskellLanguage . . . . 1 match
* 아 그런건가? 땡스~
- HelpOnInstallation . . . . 1 match
root사용자라면 tar를 이용해서 간단히 백업할 수 있겠고, 호스팅을 하는 일반 사용자의 경우라면 backup restore를 액션을 이용할 수 있다.
- HolubOnPatterns . . . . 1 match
* [DesignPatterns/2011년스터디]
- HowManyFibs?/황재선 . . . . 1 match
== 소스 코드 ==
- HowManyPiecesOfLand?/하기웅 . . . . 1 match
= 소스 =
- HowManyZerosAndDigits/김회영 . . . . 1 match
== 소스 코드 ==
- HowToStudyRefactoring . . . . 1 match
OOP를 하든 안하든 프로그래밍이란 업을 하는 사람이라면 이 책은 자신의 공력을 서너 단계 레벨업시켜 줄 수 있다. 자질구레한 기술을 익히는 것이 아니고 기감과 내공을 증강하는 것이다. 혹자는 DesignPatterns 이전에 ["Refactoring"]을 봐야 한다고도 한다. 이 말이 어느 정도 일리가 있는 것이, 효과적인 학습은 문제 의식이 선행되어야 하기 때문이다. DesignPatterns는 거시적 차원에서 해결안들을 모아놓은 것이다. ["Refactoring"]을 보고 나쁜 냄새(Bad Smell)를 맡을 수 있는 후각을 발달시켜야 한다. ["Refactoring"]의 목록을 모두 외우는 것은 큰 의미가 없다. 그것보다 냄새나는 코드를 느낄 수 있는 감수성을 키우는 것이 더 중요하다. 본인은 일주일에 한 가지씩 나쁜 냄새를 정해놓고 그 기간 동안에는 자신이 접하는 모든 코드에서 그 냄새만이라도 확실히 맡도록 집중하는 방법을 권한다. 일명 ["일취집중후각법"]. 패턴 개념을 만든 건축가 크리스토퍼 알렉산더나 GoF의 랄프 존슨은 좋은 디자인이란 나쁜 것이 없는 상태라고 한다. 무색 무미 무취의 無爲적 自然 코드가 되는 그날을 위해 오늘도 우리는 리팩토링이라는 有爲를 익힌다. -- 김창준, ''마이크로소프트웨어 2001년 11월호''
- JTDStudy/두번째과제/장길 . . . . 1 match
* 너무 오랫만에 숙제를 했네요....... windfencer.zerpage.org 여기에 들어가면 위 소스로 만든 애플릿을 확인하실수 있습니다. - 장길 -
- Jakarta . . . . 1 match
apache 에서의 자바 플랫폼 하 오픈 소스 솔류션 프로젝트.
- Java Script/2011년스터디/박정근 . . . . 1 match
#title Java Script/2011년스터디/박정근
- Java/JDBC . . . . 1 match
* 그후 아래와 같은 식으로 접속 가능하다. 아래에서 NSH2 는 전역 데이터베이스 이름임으로 각자 알아서 적고, 연결에서 아이디와 비번을 넣는다.
- Java/스레드재사용 . . . . 1 match
=== 소스코드 ===
- JavaStudy2002/입출력관련문제 . . . . 1 match
* 여러분이 어려워하시는것 같아, 입력 부분을 만들었습니다. 해당 static method의 기능은 한줄을 읽고, 공백이나, 탭을 기준으로 배열을 반환합니다. 사용 방법은 해당 함수의 main 을 참고하시고, 다른 소스에서 import해서 그냥 사용하세요. --["neocoin"]
- JollyJumpers/강소현 . . . . 1 match
[ACM_ICPC/2011년스터디]
- JollyJumpers/곽세환 . . . . 1 match
== 소스 ==
- JollyJumpers/임인택 . . . . 1 match
* tdd - 먼가 엉성하다. 기존의 코드를 단지 테스트하는 느낌. 수련이 더 필요하다.
- KIV봉사활동/개인준비물 . . . . 1 match
* 노트북, 마우스, (카메라)
- KIV봉사활동/자료 . . . . 1 match
* 라디오스타
- KentBeck . . . . 1 match
ExtremeProgramming의 세 명의 익스트리모 중 하나. CrcCard 창안. 알렉산더의 패턴 개념(see also DesignPatterns)을 컴퓨터 프로그램에 최초 적용한 사람 중 하나로 평가받고 있다.
- KnightTour/재니 . . . . 1 match
* 나이트가 체스판의 모든 칸을 한번씩 방문하면 종료된다.
- Komodo . . . . 1 match
다중언어 IDE. PHP, Python, Perl, Tcl 등 주로 스크립트 언어 지원.
- LazyInitialization . . . . 1 match
LazyInitialization의 하나의 변수당 두개의 메소드로 나눠서 초기화를 한다. 하나는 변수가 LazyInitialization되는 것을 감추어 주는 getter이고, 다른 하나는 변수에다 디폴트값으로 할당을 해줄 DefaultValueMethod이다. 이 방법은 유연성이 증대된다. 당신이 서브클래스를 만든다면, DefaultValueMethod를 오버라이딩함으로써, 기능을 바꿀 수 있다. 전장에서도 언급했듯이 성능도 증대시킬 수 있다.
- Linux/ElectricFence . . . . 1 match
리눅스에서 사용가능한 CrtDbg 정도로 생각하면 좋다.
- LoadBalancingProblem . . . . 1 match
IPSC, ["임인택"]이 한글화하고 요구하는 입&출력 스펙을 변경함
- LogicCircuitClass . . . . 1 match
* 2006년(2학기) - 주로 연습문제, term project(10명 팀. 자유주제로 하드웨어 시스템을 회로설계하여 altera 툴로 시뮬레이팅 작성할 것.)
- MIB . . . . 1 match
* MIB II에서는 거의 코메디 이지만 처음 도입부 약간에서 MIB일을 하다가 히스테리 현상을 일으키면서 포기하는 사람들의 이야기가 잠깐 나온다. 오락영화에서 오래 생각할수 있는 부분이였다.
- MagicSquare/성재 . . . . 1 match
허접 소스입니다만..일단은 올려둡니다. 나중을 위해서요..-_-;;
- MagicSquare/재니 . . . . 1 match
= 소스 =
- Map/곽세환 . . . . 1 match
[STL실습], [데블스캠프2004/목요일]
- Map/임영동 . . . . 1 match
[STL실습], [데블스캠프2004/목요일]
- Map연습문제/황재선 . . . . 1 match
[STL실습], [데블스캠프2004/목요일]
- MindMapConceptMap . . . . 1 match
개인적으로 처음에 MindMap 보다는 그리는데 시간이 많이 걸렸다. 하지만, MindMap 에 비해 각 개념들을 중복적으로 쓰는 경우가 적었다. (물론 MindMap 의 경우도 중복되는 개념에 대해서는 Tree 를 깨고 직접 링크를 걸지만) MindMap 의 Refactoring 된 결과라고 보면 좀 우스우려나; 주로 책을 정리를 할때 MindMap 을 하고 때때로 MindMap 에서의 중복되는 개념들을 토대로 하나의 개념으로 묶어서 ConceptMap 을 그리기도 한다.
- MineSweeper . . . . 1 match
이것도 방학 중에 하는 스터디 인가요? --[윤성만]
- ModelingSimulationClass_Exam2006_1 . . . . 1 match
(a) (5 points) 스케쥴 표 주고..(이번에는 Single Queue, Single Server) 이 시뮬레이션에서 사용되는 상태와 이벤트에 대해 쓰시오.
- MoinMoin . . . . 1 match
* 모인모인 스크린샷 : [http://moinmoin.wikiwikiweb.de/MoinMoinScreenShots]
- MoniWiki/HotKeys . . . . 1 match
마우스 없이 거의 모든 기본적인 동작을 HotKeys로 쓸 수 있다.
- Nand2Tetris . . . . 1 match
#redirect 스터디/Nand 2 Tetris
- NetBeans . . . . 1 match
제임스 고슬링이 열을 올리고 있다는 그 자바툴
- NumberBaseballGame/성재 . . . . 1 match
{cout<< endl <<strike << ":스트라이크\n";
- NumberBaseballGame/영록 . . . . 1 match
cout <<"스트라이크" <<" "<<count1<<" "<<"볼"<<" "<<count2<< " " <<"아웃"<<" "<<count3<<"\n";
- OOP . . . . 1 match
* [Implementation](구현 : 인간의 개념 속에 존재하는 생각과 사상 등을 실제 물리적인 객체로 구성하는 일련의 작업. 예를 들어 새로운 구조의 컴퓨터 시스템을 만들어 내는 작업과 설계 과정을 거쳐서 전달된 내용을 실제 프로그램으로 구성하여 컴퓨터에서 사용할 수 있도록 하는 작업 등이 모두 구현 작업의 한 가지에 해당된다고 할 수 있다. : 정보문화사 컴퓨터 용어사전 발췌)
- Omok/재니 . . . . 1 match
= 소스 =
- OurMajorLangIsCAndCPlusPlus/XML/김상섭허준수 . . . . 1 match
// </tag> 스택을 한칸 증가
- OurMajorLangIsCAndCPlusPlus/locale.h . . . . 1 match
#define LC_COLLATE (integer constant expression) 스트링(string)의 정렬 순서(sort order 또는 collation)를 위한 로케일 설정을 위해 사용
- PC실관리수칙 . . . . 1 match
3. 인쇄물이 남아있어 프린터를 사용하지 못하는 경우, 삭제되지 않으면 프린트를 끄고 몇초 후 다시 켜보는 것을 추천한다. 이후에도 차도가 없다면, 2번 프로세스를 따라가는 것이 좋다.
- PairSynchronization . . . . 1 match
상민이랑 ProjectPrometheus 를 하면서 CrcCard 세션을 했을때는 CrcCard 에서의 각 클래스들을 화이트보드에 붙였었죠. 그리고 화이트보드에 선을 그으면서 일종의 Collaboration Diagram 처럼 이용하기도 했었습니다. 서로 대화하기 편한 방법을 찾아내는 것이 좋으리라 생각.~ --["1002"]
- Plex . . . . 1 match
특히 좋아하는 이유로는 State Machine 의 개념으로 텍스트를 파싱하고 가지고 놀 수 있다는 점이 있겠다. 예를 들어 HTML에서 span 태그에 대해 파싱한다고 할때 <span 시작 - span 내용 - </span> 끝이라면 그냥 이를 서술해버리면 된다는.~
- Postech/QualityEntranceExam06 . . . . 1 match
3. Machine Language Like 한 프로그램 만들기. 코드 주고. 스앞 함수 호출하는 부분 있고 파라미터 패싱을 설명해야함.
- PowerOfCryptography/이영호 . . . . 1 match
// 반올림을 하고 정수로 캐스팅한다.
- PowerReading . . . . 1 match
읽기에 도움을 주는 4주간의 코스. 의외로 그 방법들이 복잡하지 않고 단순하고 간결하다.
- ProgrammingLanguageClass . . . . 1 match
프로그래밍 언어를 배우는 것은 사고와 표현의 방식을 하나 더 배우는 것이다. 따라서, 설사 해당 언어로 프로그래밍을 할 기회가 별로 없다고 해도, 판이한 언어를 하나 더 배우는 것은 가치있는 일이다. 동시에 무슨 언어를 배우느냐, 어떤 신택스를 익히느냐는 것은 크게 중요하지 않다. 언어는 변하고 사멸하고 신생하며, 유행도 바뀐다. 그보다 그런 언어 저변에 깔려있는 다양한 패러다임을 접하고 충분히 이해하고 적용할 수 있어야 한다. 하지만 이게 가능하려면 구체적인 언어라는 채널을 통하지 않을 수가 없다.
- ProjectGaia/기록 . . . . 1 match
* 중간 발표에 대한 준비, 프로젝트 스펙 점검, 지식 공유, 프로젝트 페이지 열기
- ProjectGaia/참고사이트 . . . . 1 match
*[http://www.istis.unomaha.edu/isqa/haworth/isqa3300/fs009.htm Extendible Hashing] in English, 개념.코볼 구현소스
- ProjectLegoMindstorm . . . . 1 match
* [http://mindstorms.lego.com/eng/Hong_Kong_dest/Default.aspx 레고 마인드스톰 홈피]
- ProjectPrometheus/Iteration1 . . . . 1 match
|| HTML 문서 가져오는 클래스 (Spider) 작성 || 1 || ○ (2시간) ||
- PyIde/BicycleRepairMan분석 . . . . 1 match
IDE 쪽에 통합시키는 것이 목적이므로, 테스트 코드나 해당 사용된 코드의 가장 바깥단을 구경중.
- Python/DataBase . . . . 1 match
* 아래 소스는 파이썬 DB API Spec 2.0 에 있는 것들을 사용해서 작성함(즉 다른 모듈에서도 동일하게 사용가능)
- PythonXmlRpc . . . . 1 match
신기하다. 이글루스에 바로 글쓰기가 되네. - 임인택
- RUR-PLE . . . . 1 match
* [데블스캠프2005/RUR-PLE]
- Random Walk2/곽세환 . . . . 1 match
[RandomWalk2] [데블스캠프2003/셋째날]
- RandomWalk2/상규 . . . . 1 match
=== 프로그램 소스 ===
- RenameThisPage . . . . 1 match
다음의 리스트들은 페이지 이름을 봤을때 어떤 일을 하는지 모르겠는 경우이나, 또는 ["페이지이름"] 규칙이 어겨진 경우이다.
- ReverseAndAdd/이동현 . . . . 1 match
= 소스 =
- ReverseEngineering/책장사 . . . . 1 match
2. 괜찮은 Assembly책을 구입 요망. 레퍼런스급을 환영. 서점가서 찾아봐야함.,
- RoboCode/siegetank . . . . 1 match
[RoboCode] [데블스캠프2005]
- RubyLanguage/InputOutput . . . . 1 match
* IO클래스
- RunTimeTypeInformation . . . . 1 match
위에서 보듯이 클래스의 형을 비교하는 것이 가능하다.
- STL . . . . 1 match
|| ["STL/list"] ||만들기 까다로운 더블 링크드 리스트를 제공해준다.||
- STL/string . . . . 1 match
* string 클래스라고 해서 공백을 무시할수 있는것은 아니다. 학교 교재에 보면 getline()과 get()이 나온다. string 변수로 입력을 받는다 해도 cin >>을 사용하면 공백을 입력 받을수 없다. 따라서 getline() 써줘야 한다.
- STL/참고사이트 . . . . 1 match
[http://www.cs.rpi.edu/projects/STL/stl/stl.html C++ STL 레퍼런스 사이트]
- ScheduledWalk/임인택 . . . . 1 match
// 스케쥴된 방향에 따라 이동..
- SearchAndReplaceTool . . . . 1 match
자동 리팩토링 툴이 지원되지 않는 언어들(C/C++, HTML 등) 을 위한 텍스트 일괄검색 & 치환 툴.
- SimpleDirectmediaLayer . . . . 1 match
크로스 플랫폼을 지원하는 멀티미디어 개발용 API.
- SimpleTextIndexerUsingSQLite . . . . 1 match
* 아래 소스 참고 : D:\test 폴더가 없으면 뻑남. setting.ini 에서 폴더를 변경 하던지 만들던지
- Slurpys/황재선 . . . . 1 match
* 테스트와 함께하니 재밌다. 문자열의 순서를 따지느라 if-else를 남발했는데 리펙토링하기 참 힘들다 -- 재선
- SmallTalk/강좌FromHitel/강의3 . . . . 1 match
* Country: 우리의 자랑스런 "Korea"를 선택합니다.
- SpiralArray/영동 . . . . 1 match
= 소스 코드 =
- Spring/탐험스터디/2011-02-04 . . . . 1 match
[[pagelist(^Spring/탐험스터디)]]
- StackAndQueue/손동일 . . . . 1 match
스택큐
- SubVersionPractice . . . . 1 match
[http://zeropage.org/trac/project/browser/ Zeropage SVN 소스 둘러보기]
- Telephone . . . . 1 match
그 다음 소스를 수정하실 때마다 test.bat 화일을 실행하시고, 비교해보세요.
- TheJavaMan/스네이크바이트 . . . . 1 match
Board bo = new Board("스네이크 바이트");
- TheKnightsOfTheRoundTable/하기웅 . . . . 1 match
== 소스 ==
- TheLagestSmallestBox/하기웅 . . . . 1 match
== 소스 ==
- TkinterProgramming . . . . 1 match
Tk 는 다중 플랫폼 지원의 오픈 소스 기반 GUI 툴킷이다.
- TkinterProgramming/HelloWorld . . . . 1 match
# 클래스 기반
- TugOfWar/강희경 . . . . 1 match
=== 소스 코드 ===
- TugOfWar/김회영 . . . . 1 match
== 소스 코드 ==
- TugOfWar/신재동 . . . . 1 match
이전에 비스무리한 문제를 푼 적이 있었다. 하긴 이런류의 경시대회 문제들 어느 정도 풀다 보면 해결 방법이 몇 가지로 나뉘는 것 같다. --재동
- TwistingTheTriad . . . . 1 match
C++ 시스템의 Taligent 로부터 유래. Dolphin Smalltalk 의 UI Framework. 논문에서는 'Widget' 과 'MVC' 대신 MVP 를 채택한 이유 등을 다룬다고 한다. 그리고 MVC 3 요소를 rotating (or twisting)함으로서 현재 존재하는 다른 Smalltalk 환경보다 쓰기 쉽고 더 유연한 'Observer' based framework 를 만들 것을 보여줄 것이다.
- UglyNumbers/1002 . . . . 1 match
하지만, 결과값을 보면서 지수 스타일의 접근법이 원하는 접근법이라는 생각을 하게 되다. (10억이 넘는다 할때, isUglyNumber 식이라면 10억번이 실행된다.) 하지만, 그냥 지수로만 생각하면 uglynumber 의 순서 상 맞지 않을 것인지라 (1 : 2^0*3^0*5^0, 2 : 2^1*3^0*5^0, 3 : 2^0*3^1*5^0, 4 : 2^2*3^0*5^0 ... 0,0,0 , 1,0,0, 0,1,0 , 2,0,0 .. 도무지 숫자들 간의 연관성이 잡히지 않았다.
- UglyNumbers/구자겸 . . . . 1 match
int ind; // 알고 싶은 인덱스
- UglyNumbers/이동현 . . . . 1 match
=== 소스 ===
- UpgradeC++ . . . . 1 match
[스터디분류]
- Vending Machine/dooly . . . . 1 match
= 소스 =
- WardCunningham . . . . 1 match
ExtremeProgramming의 세 명의 익스트리모 중 하나. WikiWiki 창안자.
- WebService . . . . 1 match
웹 서버를 통하여 프로그램 인터페이스를 노출하려는 방법
- Westside . . . . 1 match
* 올해 방학때는 스쿠버다이빙을 배워보고싶다. *
- WinMerge . . . . 1 match
텍스트 비교 & 머지 툴.
- WorldCupNoise/권순의 . . . . 1 match
== 소스 ==
- WritingOS . . . . 1 match
목적 : 스터디
- X . . . . 1 match
* 가 뭔지 가끔 곤혹스러움(.... 이력서 쓸 때 그렇다 -_-)
- XMLStudy_2002/Encoding . . . . 1 match
*단순한 텍스트 형태의 XML문서를 다양한 언어로 작성하기위해 각 언어에서 사용하는 인코딩 방식을 사용한다.
- XOR삼각형/허아영 . . . . 1 match
=== 소스 ===
- XpWeek/20041220 . . . . 1 match
스피커를 가져오지 않았다. 준비가 덜 되어서 허둥댔다. TDD를 상당히 어려워 하므로 좀더 수준에 맞는 예제가 필요하겠다. --[Leonardong]
- Z&D토론/학회현황 . . . . 1 match
ZeroPage 의 경우는 일단 01에 관해서는 MFCStudy팀 초기 1회만 참석, 그리고 정모 미참석, 이후 아무런 언급이 없는 사람을 제하고 말한 것이므로, 그외 인원의 추가사항도 언급 부탁드립니다. 그리고 데블스의 경우도 통합시의 전체 Resource 파악이라는 면에서, 통합뒤 실질적인 운영을 주도하는 사람들 위주로 적어주시기 바랍니다.
- ZIM/RealUseCase . . . . 1 match
사용자 인터페이스와 함께 설명이 이루어지면 더 좋겠죠. 일단 ["ZIM/UIPrototype"]이 대강 나온다면... ^^;;;
- ZPBoard/HTMLStudy . . . . 1 match
HTML 스터디 내용 정리 및 숙제.
- ZPHomePage/20050111 . . . . 1 match
* 접수시기재사항 - 작품(일러스트레이터파일 권장), email주소, 계좌번호, 수신가능전화번호
- ZP도서관/2013 . . . . 1 match
* 스터디 하면서 참여가 가능하다면 저도 끼워주세요 - [조광희]
- ZP의 나아갈 길 . . . . 1 match
제로페이지의 정체성과 미래에 대해서는 수도 없이 논의되었었다. 내가 1학년 때에도 그랬고 내가 회장이 되어 데블스와 통합했을때도 그랬었다. 내가 3학년이 되어 휴학을 했을 때도 그랬고 이젠 내가 제대 후 복학했는데도 같은 논의는 계속 되고 있다. 이는 발전하는 모습일까 아니면 계속해서 맴도는 정체된 모습일까. 나는 온라인 상의 회의를 결코 가볍게 여기지는 않는다. 하지만 좀 더 활동적으로 실행에 옮기기 위해서는 오프라인 모임이 절대적이라고 생각한다. 제로페이지가 정말로 모습을 바꾸고 싶다면 어느정도 알을 깨고 나와야하는 고통이 따를 것이라고 생각한다. - 이창섭
- ZeroPageSeminar . . . . 1 match
|| 이승한 || 유비쿼터스의 기술 현황, 발전정도... || .||
- ZeroPageServer/FixDate . . . . 1 match
그런데, rdate 가 이번 테스트 업그레이드 버전 부터 안되는 것이다. 새버전에서 servername 을 입력받을수 없다고 하는데, 왜그런지 모르겠다. 그래서 대안으로 이것을 사용한다.
- ZeroPageServer/set2001 . . . . 1 match
=== Software (2002.8.15일 전 최종 스펙) ===
- [Lovely]boy^_^/Diary/2-2-1 . . . . 1 match
* 비행기 게임 소스 한번 갈아 엎었음. 재동이와 같이 리팩토링.
- [Lovely]boy^_^/Diary/2-2-2 . . . . 1 match
* 우리나라에 사람 무는 바퀴벌레가 들어온 기념으로.. TDD를 이용한 RandomWalk2를 해보았다.(Python) 파이썬 문법 자체에서 좀 많이 버벅거렸다는게 좀 아쉽다. 테스트 수십개가 통과하는 것을 보고 있자니 괜시리 기분이 좋아진다는--;
- [Lovely]boy^_^/Diary/2-2-6 . . . . 1 match
* 컴퓨터 고전 스터디 신촌 신관 민토 5시
- [Lovely]boy^_^/EnglishGrammer/Passive . . . . 1 match
We use get mainly in informal spoken English. You can use be in all situations.(항상 be 쓸수있단다. 고로 귀찮은 get쓰지말자... 클래스에서 get 보는것도 지겨운데..--;)
- [Lovely]boy^_^/ExtremeAlgorithmStudy/MathematicalFoundations . . . . 1 match
* 빅오, 세타, 시그마 notation 등등.. 넘기다 보니 스몰오, w(오메가)이런것도 있다.
- aekae/* . . . . 1 match
== 소스 Code ==
- callusedHand . . . . 1 match
== 스터디 ==
- fm_jsung . . . . 1 match
프리 스톼일 웸쒸~ 진성 ㅋ
- fnwinter . . . . 1 match
효과적인 프로그래밍(디자인 패턴,리팩토링,테스트 주도 개발,파이썬)
- html5 . . . . 1 match
* [http://simon.html5.org/html5-elements w3g HTML5 레퍼런스들을 목차로 잘 정리해 놓았다.]
- html5practice . . . . 1 match
* 간단한 파일(그림, 텍스트) 전송 프로그램
- lostship . . . . 1 match
|| ["Boost/SmartPointer"] || 스마트 포인터 쓰기 ||
- matlab . . . . 1 match
- 일단 classdef 로 클래스를 작성.
- nilath개인페이지처음화면 . . . . 1 match
자바를 3일내에 떼고... C를 마스터 하는데 걸리는 시간이 7일... 주위 사람에게 들어왔지만... 이젠 인정한다...
- ssulsamo . . . . 1 match
나도 Java스타디 할래~
- teruteruboz . . . . 1 match
== 데블스 캠프!! ==
- usa_selfish/권영기 . . . . 1 match
[ACM_ICPC/2012스터디]
- whiteblue . . . . 1 match
=== 스터디 ===
- zennith/source . . . . 1 match
이 컴비네이션 함수.. 제대로 푼건지 확신이 안가는군요. 6c3 같은거로 테스트 해보면 제대로 돌아가는 거 같은데요.
- zyint/articleTest . . . . 1 match
방송국 알바했다" 이러면 "우아~" 이런 반응 등 '선망의 대상' 이 되곤 하지만 방송국 알바가 연예인을 보거나 스텝이 되는 것 처럼 기대 이상의 알바는 아니다
- 가위바위보/성재 . . . . 1 match
파일을 받아서 하는거였죠... -_- 어려웠습니다.. 케이스문이 아닌 다른걸루 만들어보고 싶네요~ }}}
- 가위바위보/재니 . . . . 1 match
= 소스 =
- 강규영 . . . . 1 match
* NoSmoke:jania at 노스모크
- 강연 . . . . 1 match
* [http://www.caucse.net/boarding/view.php?table=board_freeboard&page=1&id=10847 유비쿼터스 컴퓨팅]
- 개초보의 프로그래밍에 관련된 개인적인 자료처음화면 . . . . 1 match
자바 스크립트 완벽 정리
- 객체지향용어한글화토론 . . . . 1 match
* 예를 들어 외국인이 클래스를 처음 배울때 느끼는 public, private의 느낌과 우리가 그것을 처음 보았을때 느낌은 상당히 틀릴것이다.
- 격언 . . . . 1 match
AnswerMe 노스모크에서 url 디코딩하는게 달라졌는지 InterWiki 매크로를 쓸수가 없네요. 해결책 아시는분? - [임인택]
- 공업수학2006 . . . . 1 match
저기에 추가해라... 스터디 중간에 화장실갔다가 문잠기면 5처넌이다. ㅋㅋㅋ - 영창
- 곽병학 . . . . 1 match
* ACM 스터디용
- 구구단/S.S.S . . . . 1 match
[데블스캠프2005/화요일]에서 만든 [Phyton] 구구단 예제
- 구구단/윤성복 . . . . 1 match
[구구단] [데블스캠프2005]
- 권형준 . . . . 1 match
E-Mail 을 직접 노출하면, 스팸 메일 로봇들이 퍼갈수 있습니다.
- 그래픽스세미나/6주차 . . . . 1 match
[그래픽스세미나]
- 김동준/Project/Data_Structure_Overview . . . . 1 match
[스터디분류]
- 김동준/Project/OOP_Preview . . . . 1 match
[스터디분류]
- 김영록/연구중/지뢰찾기 . . . . 1 match
==== 스크린샷 ====
- 김준호 . . . . 1 match
ⓐ. 수학마스텈ㅋㅋㅋㅋㅋㅋ
- 김희성/MTFREADER . . . . 1 match
int LastErrorCode(); //최근에 일어난 클래스 내부의 에러를 반환한다.
- 꼬마혜성 . . . . 1 match
DeleteMe 그러고 보니 자네도 무지 재미있군. 위키 어렵다고 쓰기 힘들다고 하더니 개인 위키 만들어서 돌리고 있었나 보군. 다소 황당한 느낌이 든다. zp서버가 공짜 호스팅 업체로 생각되는 것은 당연한것 아닐까. --["상민"]
- 나를만든책장/책 . . . . 1 match
* 테스트 주도 개발, 이성의 기능
- 넥슨입사문제 . . . . 1 match
당연히 프로그램. 프로그램을 보내면 회사에서 문제에 나오지 않은 테스트셋으로 프로그램이 맞는 지 확인하겠지. --재동
- 누가소프트웨어의심장을만들었는가 . . . . 1 match
* 현재 컴퓨터 모델을 지은 폰 노이만은 누구에게 영감을 받았을까? 앨런 튜닝. 현재 PC는 어떻게 탄생하게 되었을까? 메멕스. Wiki와 인터넷이 나오게 된 Hyper-Media란 것은 무엇인가? 이 책은 우리가 습관처럼 쓰고있는 IT가 어떻게 이루어졌는지 알려준다. IT의 기반을 세운 '영웅'들의 사상을 정리하고 간략하게 요약해서 보여주는 멋진 책이다. 그들이 발명한 이론과 활동에 대해 그 세세한 과정을 다뤄주지 않지만 이 책을 통해 소프트웨어 역사가가 되는 한 걸음을 딛을수 있을것이다. 그리고 저자 분의 이력도 흥미롭다 :) - [김준석]
- 답변 및 의견 2 . . . . 1 match
* 고것이 방법이 또 있는것 같던데.;; 담주 수요일에 이클립스로 하는거 해보장.ㅋㅋ - [송수생]
- 대학원준비 . . . . 1 match
서류제출 2006. 8. 3(목)까지 도착 마감 KAIST 대전캠퍼스 학생선발팀
- 덜덜덜/숙제제출페이지 . . . . 1 match
[새싹C스터디2005] , [덜덜덜]
- 데블스캠프2005/Socket Programming in Unix/Windows Implementation . . . . 1 match
[데블스캠프2005]
- 데블스캠프2005/언어디자인/그까이꺼 . . . . 1 match
[데블스캠프2005]
- 데블스캠프2006/CPPFileInput . . . . 1 match
* 파일 입출력 예제 소스
- 데블스캠프2006/SVN . . . . 1 match
* 웹에서 자기 소스 보기 : http://zeropage.org/svn/namsangboy/
- 데블스캠프2006/월요일/연습문제/for/김대순 . . . . 1 match
== 데블스캠프2006/월요일/연습문제/for/김대순 ==
- 데블스캠프2006/월요일/연습문제/for/이경록 . . . . 1 match
== 데블스캠프2006/월요일/연습문제/for/이경록 ==
- 데블스캠프2006/월요일/연습문제/for/임다찬 . . . . 1 match
== 데블스캠프2006/월요일/연습문제/for/임다찬 ==
- 데블스캠프2006/월요일/연습문제/for/정승희 . . . . 1 match
== 데블스캠프2006/월요일/연습문제/for/정승희 ==
- 데블스캠프2006/월요일/연습문제/if-else/김대순 . . . . 1 match
== 데블스캠프2006/월요일/연습문제/if-else/김대순 ==
- 데블스캠프2006/월요일/연습문제/if-else/윤성준 . . . . 1 match
== 데블스캠프2006/월요일/연습문제/if-else/윤성준 ==
- 데블스캠프2006/월요일/연습문제/기타문제/임다찬 . . . . 1 match
[데블스캠프2006/월요일/연습문제/기타문제]
- 데블스캠프2006/월요일/연습문제/웹서버작성 . . . . 1 match
[데블스캠프2006/월요일/연습문제/웹서버작성/변형진]
- 데블스캠프2006/화요일/pointer/문제1/김준석 . . . . 1 match
[데블스캠프2006/화요일/pointer]
- 데블스캠프2006/화요일/pointer/문제1/정승희 . . . . 1 match
[데블스캠프2006/화요일/pointer]
- 데블스캠프2006/화요일/pointer/문제2/윤성준 . . . . 1 match
[데블스캠프2006/화요일/pointer]
- 데블스캠프2006/화요일/pointer/문제2/정승희 . . . . 1 match
[데블스캠프2006/화요일/pointer]
- 데블스캠프2006/화요일/pointer/문제3/주소영 . . . . 1 match
[데블스캠프2006/화요일/pointer]
- 데블스캠프2009/금요일/SPECIALSeminar/송지훈/김홍기/박성현 . . . . 1 match
2. 피드백들. 반복을 안했는데 왜 부족한지 알게됐다. 부족했던 부분을 알게된게 만족스럽다.
- 데블스캠프2009/금요일/연습문제/ACM2453/송지원 . . . . 1 match
== 데블스캠프2009/금요일/연습문제/ACM2453/송지원 ==
- 데블스캠프2009/금요일/연습문제/ACM2453/조현태 . . . . 1 match
== 데블스캠프2009/금요일/연습문제/ACM2453/조현태 ==
- 데블스캠프2009/목요일/연습문제/MFC/정종록 . . . . 1 match
Describe 데블스캠프2009/목요일/연습문제/MFC/정종록 here
- 데블스캠프2009/목요일/연습문제/다빈치코드/서민관 . . . . 1 match
= 데블스캠프2009/목요일/연습문제/다빈치코드/서민관 =
- 데블스캠프2009/수요일/JUnit/서민관 . . . . 1 match
= 데블스캠프2009/수요일/JUnit/서민관 =
- 데블스캠프2009/수요일/OOP/박준호 . . . . 1 match
= 데블스캠프2009/수요일/OOP/박준호 =
- 데블스캠프2009/월요일/연습문제/HTML-CSS/서민관 . . . . 1 match
== 데블스캠프2009/월요일/연습문제/HTML-CSS/서민관 ==
- 데블스캠프2010/다섯째날/ObjectCraft/미션1/김정욱 . . . . 1 match
Describe 데블스캠프2010/다섯째날/ObjectCraft/미션1/김정욱 here
- 데블스캠프2010/다섯째날/ObjectCraft/미션1/박재홍 . . . . 1 match
Describe 데블스캠프2010/다섯째날/ObjectCraft/미션1/박재홍 here
- 데블스캠프2011/넷째날/루비/서영주 . . . . 1 match
Describe 데블스캠프2011/넷째날/루비/서영주 here
- 데블스캠프2011/둘째날/Machine-Learning/NaiveBayesClassifier/김동준 . . . . 1 match
Describe 데블스캠프2011/둘째날/Machine-Learning/NaiveBayesClassifier/김동준 here
- 데블스캠프2011/셋째날/String만들기/김준석 . . . . 1 match
== 소스 코드 ==
- 데블스캠프2012/넷째날/묻지마Csharp/Mission2/김준석 . . . . 1 match
[데블스캠프2012]
- 데블스캠프2012/다섯째날/C로배우는C++원리 . . . . 1 match
Describe 데블스캠프2012/다섯째날/C로배우는C++원리 here
- 레밍즈프로젝트/박진하 . . . . 1 match
후에- 유루가 윈도우 되면 윈도우에서 테스트해봐야한다 ㅋㅋ
- 로고캐릭터공모 . . . . 1 match
* 제출시 기재 사항 : 작품(일러스트레이터파일 권장), email주소, 계좌번호, 수신가능전화번호
- 루프는0부터? . . . . 1 match
일찍이 다익스트라가 그 이유를 밝혀놓았습니다. Seminar:WhyNumberingShouldStartAtZero
- 만년달력 . . . . 1 match
== 소스 ==
- 만년달력/방선희,장창재 . . . . 1 match
[데블스캠프2003/넷째날]
- 몸짱프로젝트 . . . . 1 match
* 피타고라스 수
- 몸짱프로젝트/BinarySearchTree . . . . 1 match
* TDD를 쓰긴 썼는데, 테스트가 영 마음에 들지 않는다. 후...
- 몸짱프로젝트/InfixToPostfix . . . . 1 match
* 스택을 이용
- 문서구조조정 . . . . 1 match
새로 페이지를 만들어주거나, 기존의 스레드 토론에서의 의견, 주장 등의 글들을 요약 & 정리 해줌으로서 해당 주제를 중심으로 페이지의 내용이 그 주제를 제대로 담도록 해준다. 이는 프로그램 기법에서 일종의 ["Refactoring"] 과 비슷한 원리이다.
- 문자반대출력/문보창 . . . . 1 match
음 만약에 한글과 같은 확장문자가 담겼다면 process_wchar() 함수에서 약간의 꼼수를 부린다. 가상의 예(실제로 이렇게 되지는 않지만, 원리는 같음)를 들어보자. "가나" 라는 문자열을 ver1과 같은 통상의 프로그램으로 뒤집으면 "나가"와 같이 프로그래머가 원했던 결과가 나오는 것이 아니고 "ㅏㄴㅏㄱ"가 나온다. 그렇다면 확장문자를 판단해서 문자열을 뒤집기 전에 "가나"라는 문자열을 "ㅏㄱㅏㄴ" 이렇게 만들어 놓는다면 기존 ver1의 프로세스를 전혀 바꾸지 않고도, process_wchar()만을 추가하는 것으로 원했던 기능을 모두 수행하게 된다.
- 문제풀이/1회 . . . . 1 match
1. 입력 3가지수를 받아서 if문을 이용하여 최대값 최소값을 출력하는 프로그램을 작성하세요. DeleteMe)스펙이 if문의 언급은 잘못된것 아닌가요?
- 물푸 . . . . 1 match
* '''뤽스극장의 연인 : 자닌테송'''(2003.4.14)
- 박효정 . . . . 1 match
E-Mail 을 직접 노출하면, 스팸 메일 로봇들이 퍼갈수 있습니다.
- 반복문자열/이강희 . . . . 1 match
앞으로 많은 어드바이스 부탁드립니다~
- 배민화 . . . . 1 match
고준영은 신경스지 않아도 됩니다..-_-..훗.. (당해봐..;;)
- 벡터/김태훈 . . . . 1 match
[STL실습], [데블스캠프2004/목요일]
- 벡터/김홍선,노수민 . . . . 1 match
[STL실습], [데블스캠프2004/목요일]
- 벡터/임민수 . . . . 1 match
[STL실습], [데블스캠프2004/목요일]
- 벡터/임영동 . . . . 1 match
[STL실습],[데블스캠프2004/목요일]
- 벡터/황재선 . . . . 1 match
[STL실습], [데블스캠프2004/목요일]
- 변준원 . . . . 1 match
현재 데블스 캠프 진행중;; 내머리의 한계를 본다
- 비밀키/황재선 . . . . 1 match
[암호화실습], [데블스캠프2004/목요일]
- 삼총사CppStudy/숙제2/곽세환 . . . . 1 match
진짜 잘하네요.. ^_^ 단한개를 지적하자면 스칼라값을 곱할때 v3 = 5 * v1; 이 안된다는것 정도겠네요... 이런건 friend함수를 한개정도 더 만들어주면 됩니다.
- 상협/Diary/8월 . . . . 1 match
* 지금 제일 급한거는 3D 스터디 과제를 하는것.. -_-;;
- 새싹교실/2011/學高/8회차 . . . . 1 match
* 아래 소스코드를 큰 틀로 해서 recursive function을 이용하여 하노이의 탑 시뮬레이션 프로그램을 작성하라(이동 상황을 출력한다, 전역변수를 이용하여 횟수를 카운트하게 하여 H_n = 2*H_n-1 + 1 점화식에 맞는 답이 나옴을 보여야한다.)
- 새싹교실/2012/새싹교실강사교육 . . . . 1 match
1. 현재 이 프로세스는 현장의 학습에 도움이 되는것 보다는 장기적으로 계속 새싹교실이 진행하게 하는데 도움이 된다(학습에는 강사, 학생의 역량이 더 많은 영향을 미친다.)
- 새싹교실/2012/열반/120402 . . . . 1 match
== 변수의 스코프 ==
- 새싹교실/2012/열반/120507 . . . . 1 match
* 다른 자료구조([리스트], [트리])에 비해 다루기 쉽습니다.
- 새싹교실/2012/열반/120514 . . . . 1 match
* [스택]에 대해 알아봤습니다.
- 새싹교실/2012/열반/120521 . . . . 1 match
== 스왑 ==
- 새페이지만들기 . . . . 1 match
'''방법 1'''. 또 다른 방법으로는 위의 Go 에 있는 에디트박스에 새 페이지 이름을 적는다. 해당 페이지가 없으면 새 페이지 편집모드가 된다.
- 수/구구단출력 . . . . 1 match
[수] [새싹C스터디2005]
- 수면과학습 . . . . 1 match
a. 4단계 수면 : 깊은 잠 깨울시, 가장 혼란 스러워 함
- 수학의정석/집합의연산/이영호 . . . . 1 match
input은 9 {1,2,3,4,5,6,7,8,9}로 테스트를 해 보았다. 결과는 아래.
- 숙제1/최경현 . . . . 1 match
=== 소스 ===
- 순차적학습패턴 . . . . 1 match
[스터디그룹패턴분류]
- 숫자를한글로바꾸기 . . . . 1 match
- 그냥 천이백삼십사가 더 자연스럽지 않나요?
- 숫자야구/민강근 . . . . 1 match
cout<<st<<"스트라이크 "<<ba<<"볼 입니다."<<endl;
- 숫자야구/장창재 . . . . 1 match
cout << strike << "스트라이크 " << ball << "볼" << endl;
- 스택/aekae . . . . 1 match
cout << "스택입니다.\n"
- 스택/조재화 . . . . 1 match
== 데블스캠프 2쨋날 ==
- 시간맞추기/조현태 . . . . 1 match
=== 소스 ===
- 신기훈 . . . . 1 match
많은 ZP인들은 지금쯤(6-21 0:30) 데블스 캠프에 있을텐데...
- 신혜지 . . . . 1 match
E-Mail 을 직접 노출하면, 스팸 메일 로봇들이 퍼갈수 있습니다.
- 얼굴빨개지는아이 . . . . 1 match
아무리 천천히 읽어도 한 시간이면 읽을 수 있는 분량인데, 절대 감동이 덜하거나 내용이 빈약하지 않다. 마르슬랭 까이유와 르네 라토는 친구다. 갑작스레 라토가 이사간 이후, 커서 다시 만난다. 그리고 행복한 우정을 이어나간다.
- 여름방학프로젝트 . . . . 1 match
|| [C++스터디_2005여름] || [문보창] || [허아영], [한유선], [이규완], [도연], [정수민] ||
- 여섯색깔모자 . . . . 1 match
Black - 검정은 암울하고 진지합니다. 따라서 검은 모자는 신중하고 조심스럽게 잠재된 위험에 대해 생각하게 하죠.
- 오목/재니형준원 . . . . 1 match
= 소스 =
- 오월의 노래 . . . . 1 match
건강을 회복한 뒤 슈트라스부르크로 유학, 71년에 학위를 받았으며, 여기서 5년 선배인 J.G.헤르더를 알게 되어 민족과 개성을 존중하는 문예관(文藝觀)의 영향을 받았는데, 후일 <슈투름 운트 드랑(Sturm und Drang)>의 바탕이 되기도 하였다.
- 위키개발2006 . . . . 1 match
* 가입카페 가기 쉽도록 왼쪽 화면쯤에 스크롤로 선택하는것 있으면 좋을듯.
- 윤성복 . . . . 1 match
E-Mail 을 직접 노출하면, 스팸 메일 로봇들이 퍼갈수 있습니다.
- 윤성준 . . . . 1 match
|| 순번 || 프로그램명 || 작성시간 || 소스코드 ||
- 이규완 . . . . 1 match
== 데블스 신기한 거 ==
- 이병윤 . . . . 1 match
'''시간이 없어 일단 하드코딩완성, 나중에 좀더 깔끔하게 소스를 바꿔봐야겠음..'''
- 이현정 . . . . 1 match
컴퓨터공학부 전우주최강밴드 커스웨어 05학번 보컬
- 인수/Assignment . . . . 1 match
|| AI || 9/7 || 9/7.자정전까지 || 나는 인공 지능 시스템인가? 에 대한 자신의 생각을 A4 반 장 정도(10line?) dwkim@cau.ac.kr로 제출 || || O ||
- 임다찬 . . . . 1 match
||2006/4/6||c||[파스칼삼각형/임다찬]||.||
- 임인택/CVSDelete . . . . 1 match
CVS로 프로젝트 소스파일 받아다가 다른곳에 쓸때, 가끔 CVS 폴더 지우는게 너무 짜증날때가 있다. tortoise 같은데서 찾아봐도 없길래 그냥 간단하게 파이썬으로 작성.
- 자료병합하기/허아영 . . . . 1 match
=== 소 스 ===
- 재미있게공부하기 . . . . 1 match
''재미있는 것부터 하기''와 비슷하게 특정 부분을 고르고 그 놈을 집중 공략해서 공부하는 방법이다. 이 때 가능하면 여러개의 자료를 총 동원한다. 예를 들어 논리의 진리표를 공부한다면, 논리학 개론서 수십권을 옆에 쌓아놓고 인덱스를 보고 진리표 부분만 찾아읽는다. 설명의 차이를 비교, 관찰하라(부수적으로 좋은 책을 빨리 알아채는 공력이 쌓인다). 대가는 어떤 식으로 설명하는지, 우리나라 번역서는 얼마나 개판인지 등을 살피다 보면 어느새 자신감이 붙고(최소한 진리표에 대해서 만큼은 빠싹해진다) 재미가 생긴다. see also HowToReadIt의 ''같은 주제 읽기''
- 정규표현식/스터디/문자하나찾기/예제 . . . . 1 match
1. t.*\.txt : t로 시작 .* 0개 이상의 문자 문자 \.txt '.'을 이스케이프 시켜 보통 문자로 만듬 그리고 txt랑 붙어있음
- 정모/2002.11.13 . . . . 1 match
||소스(3d arka)에 대한 세미나||_||
- 정모/2002.5.2 . . . . 1 match
* 손혜연 : 어제 저녁 집에 오는길에 버스안에서 사고를 당해서. 허리부상으로 오늘 아무데도 나가지 않고 누워있었습니다. 죄송합니다.
- 정모/2003.12.1 . . . . 1 match
== 방학 중 스터디 ==
- 정모/2004.3.19 . . . . 1 match
== 프로젝트 & 스터디 ==
- 정모/2005.9.13 . . . . 1 match
* [2005리눅스프로젝트] : 조현태, 송수생, 최경현
- 정모/2007.1.12 . . . . 1 match
4. 세미나 품질 강화 -> 세미나 날짜가 나오면 세미나 일까지 기본적인 스터디를 하고 참여
- 정모/2011.4.4/CodeRace . . . . 1 match
* 3분마다 역할을 바꾸는데 스위치 모션을 취한 뒤 자리를 바꿔야 한다.
- 정모/2013.3.4 . . . . 1 match
* 월요일 9~12 교시 공학설계입문 <207관(207관(봅스트홀))606호 <강의실>> 입니다. ㅠㅠ - [조광희]
- 정모/2013.4.15 . . . . 1 match
= 스터디 공유 =
- 정모/2013.8.26 . . . . 1 match
== 스터디 프로젝트 공유 ==
- 제로페이지는 . . . . 1 match
* ["제로페이지는"] 중앙대학교 컴퓨터공학과의 정학회가 되면 좋겠고, 학생들간 컴퓨터공학에 관련한 학술적 정보를 효율적인 동시에 자유롭게 교류할 수 있는 시스템이 되면 좋겠다. --류상민
- 제로페이지위키베타 . . . . 1 match
* 더 궁금하신점 있으면 엠에스앤 메신저 :namsangboy@hotmail.com 으로 얘기하세요.
- 조현태 . . . . 1 match
[홈페이지분류], ZeroPagers, [SoJu], [새싹C스터디2005]
- 조현태/놀이 . . . . 1 match
[조현태/놀이/미스틱아츠]
- 조현태/놀이/치이/기능명세/화면 장식 . . . . 1 match
* 미소녀 인터페이스 제공
- 졸업논문 . . . . 1 match
* 기민한 웹 개발 프레임 워크의 데이터베이스 추상화 : [django]의 사례
- 주민등록번호확인하기/문보창 . . . . 1 match
== 소스 ==
- 중위수구하기 . . . . 1 match
* 소스와 변수테이블을 작성하여 올리세요.
- 중위수구하기/김태훈zyint . . . . 1 match
소스간단한게 최고+ㅁ+
- 중위수구하기/허아영 . . . . 1 match
└ㅎㅎㅎㅎㅎ 관심이 많아 보이나?? ㅎㅎ 자제해야겠군.ㅎㅎ 단지 할일이 없어서 보다보니 눈에띄었다구..^^ 난 이쁜 아가씨 소스아니면 별로 관심없음!! CC는 버렷..쳇쳇..ㅎㅎ
- 지금그때2003/계획 . . . . 1 match
== 계획 스케치 ==
- 지금그때2004/패널토의질문지 . . . . 1 match
* 자신이 참여한 행사중 가장 인상깊은(추천하는) 행사(세미나, 컨퍼런스등)는 무엇이고, 어떻게 참여하는가?
- 지금그때2004/홍보 . . . . 1 match
== 홍보스케치 ==
- 지금그때2004/회고 . . . . 1 match
비하인드 스토리를 적고 싶었는데 마침 잘 되었습니다. -ㅁ-
- 지금그때2005 . . . . 1 match
질문 레스토랑과 OST시간은 [http://zeropage.org/wikis/nowthen2004/%C1%F6%B1%DD%B1%D7%B6%A72005 지금그때위키]에 정리하여 [지금그때]가 누적될 수 있도록 하는게 좋겠다는 생각을 하네요.--[Leonardong]
- 지금그때2005/리허설 . . . . 1 match
질문 레스토랑
- 지금그때2005/후기 . . . . 1 match
* 처음에는 이게 뭐하는 행사인가 했고, 좀 뻘쭘하지 않을까 했다. 그런데 오늘 이 행사에 참여 해보니깐 상당히 큰 충격을 받았다. 이렇게 자리를 어떤식으로 만드느냐에 따라서 이렇게 훌륭한 토론, 토의, 경험 공유가 가능하구나 하는것을 느꼈다. 이 행사를 통해서 다른 사람들의 경험, 조언, 좋은 얘기를 많이 들어서 너무 좋았다. 정말 좋은 행사라고 생각했다. 그리고 이런 행사를 준비하기 위해서 수많은 회의, 토론을 한 03,04 제로페이지 후배들이 자랑스럽게 느껴졌다. 이런 '지금그때' 행사같은 분위기는 처음 느끼는데, 정말 신선하고 좋은 경험이었다. - [상협]
- 지금그때2006/질문레스토랑 . . . . 1 match
== [지금그때2006/질문레스토랑] ==
- 지금그때2006/홍보 . . . . 1 match
리스트에 나머지분들은 어떻게 되었는지 적어주세요 -- [나휘동]
- 책분류Template . . . . 1 match
[노스모크]에서는 ISBN 링크가 되는 책소개의 경우 링크를 상단에, 서평을 하단에 적는것을 원칙으로 한다.
- 최대공약수/허아영 . . . . 1 match
=== 소스 ===
- 최소정수의합/허아영 . . . . 1 match
소스에서
- 캠이랑놀자 . . . . 1 match
[FrontPage] [스터디분류]
- 코드레이스출동/CleanCode . . . . 1 match
[코드레이스출동]
- 코드레이스출동/밥묵자 . . . . 1 match
[코드레이스출동]
- 튜터링/2013/고딩같은어셈 . . . . 1 match
* 사전 실력점검 테스트
- 파스칼삼각형/김수경 . . . . 1 match
printf("%d행 %d열의 파스칼의 삼각형 숫자는 %d 입니다.\n",m, n, Pascal(m,n));
- 파스칼삼각형/문원명 . . . . 1 match
파스칼,.
- 파스칼삼각형/임다찬 . . . . 1 match
[파스칼삼각형] [임다찬]
- 프로그래밍/DigitGenerator . . . . 1 match
[(zeropage)코드레이스출동] 연습
- 프로그래밍은습관이다 . . . . 1 match
* 공감 가네요. 저는 고등학교에서 대학입시를 준비하느라 한 2년 이상정도 쉬고나서 저런 느낌을 받았었습니다. 처음에는 죄다 까먹었을줄 알았는데 막상 키보드에 손가락을 올려놓고 나면 무언가 떠오르면서 자연스럽게 키보드가 나가더군요. // 저는 [손가락이기억한다] 라는 말로 군대가는 친구들 군대를 준비하는 친구들에게 이야기 하곤 합니다. - [톱아보다]
- 피보나치/S.S.S . . . . 1 match
[데블스캠프2005/화요일]에서 만든 [Phyton] 피보나치 예제
- 피보나치/SSS . . . . 1 match
[데블스캠프2005/월요일]에서 만든 [C언어] 피보나치 예제
- 피보나치/westy . . . . 1 match
[데블스캠프2005], [피보나치]
- 학회간교류/08 . . . . 1 match
* 특정학회의 위키에 종속되는 것 보다는 스프링노트가 낫지 않을까 싶다.
- 현재 위키에 어떤 습관이 생기고 있는걸까? . . . . 1 match
* 외국에서 개발되어서 어쩔수 없다기 보다, 현재 Web 인코딩을 그대로 filename에 가져다 쓰기 때문입니다. python 스크립트 만들어저 지워요. --NeoCoin
- 형노 . . . . 1 match
* [(zeropage)2005리눅스프로젝트]
- 홈페이지Template . . . . 1 match
E-Mail 을 직접 노출하면, 스팸 메일 로봇들이 퍼갈수 있습니다.
- 홈페이지분류 . . . . 1 match
["홈페이지분류"]로 분류되는 페이지들은 개인 페이지이므로 자유롭게 사용하되 제로페이지에서 자신이 참여하고 있는 스터디, 혹은 개인적으로 하고 있는 공부들, 전시회 준비 상황과 같은 내용들이 포함되면 더욱 좋을 것 같다. -- ["데기"]
- 후기 . . . . 1 match
더 대중적인 축제를 만들 생각도 해 보았다. 사람에게 감각적인 자극을 줄 수 있는 언어나 그 언어로 만들어진 프로그램, 혹은 다른 무언가가 있으면 어떨까? Mathmetica에서 프랙탈로 삼각형을 그리는 모습을 보고 사람들은 감탄했다. 패널토론 도중에 Squeak에서 보여준 시뮬레이션 역시 놀라웠다. 마이크로칩을 프로그램하여 모르스 부호를 불빛으로 깜박거리는 모습도 신기했다. 프로그램 언어에 익숙하지 않은 다른 분야를 공부하는 참가자들은 눈에 보이지 않는 동작 보다는, 감각적인 자극에 많은 호기심을 느낄 것이다. 시각 이외에 다른 감각을 자극하는 볼거리가 준비된다면 가족끼리 대안언어축제에 놀러 올 수 있을 것 같다. 마치 구경도 하고, 직접 체험해 볼 수도 있는 전시장에 온 것 같은 기분을 낼 수 있을 것이다.
Found 1227 matching pages out of 7557 total pages (2100 pages are searched)
You can also click here to search title.