- Linux/필수명령어/용법 . . . . 676 matches
퍼온 자료 이구요
이것은 슈퍼 유저만이 사용할 수 있다. 명령을 입력하면 로그온 이름 등을 차례로 물어오며, 그에 따라서 알맞게 입력해 나가면 된다.
- Full name: Park Chan Wook ,,사용자 전체 이름을 입력
프로그램을 지금이 아닌 나중에 실행하도록 예약한다.
-q 큐 : 대소문자 알파벳으로 큐를 지정한다. 순서적으로 빠른 알파벳이 지정된 큐 일수록 CPU 시간 점유 우선권이 낮다.
-m : 작업이 완결되면 사용자에게 메일을 보낸다.
-f 파일명 : 표준 입력이 아닌 지시된 파일에서 작업을 읽어온다.
명령은 기본적으로 표준 입력 장치를 통해서 받으며, ^D로 입력을 종료한다. 리다이렉션을 사용하여 다른 파일의 내용을 사용할 수 있다.
/etc/at.allow 파일이 있다면 이 파일에 명단이 있는 사용자만이 at 명령을 사용할 수 있다. /etc/at.allow 파일이 없다면 /etc/at.deny 파일을 찾는다. 이 파일에 목록이 있는 사용자는 at 명령을 사용할 수 없다. 두 파일 모두 찾지 못한다면 오로지 슈퍼 유저만이 at 명령을 사용할 수 있다. 그리고 /etc/at.deny 파일이 비어 있다면 모든 사용자가 at 명령을 사용할 수 있다.
시간을 지정할 때 상당히 다양한 방법을 사용할 수 있다. hhmm 혹은 hh:mm 형태도 가능하며, noon, midnight이나 오후 4시를 의미하는 teatime이라고도 할 수 있다. 오전 오후를 쉽게 구분하려면 am pm 문자를 추가해도 된다. 이미 지나간 시간이라면 다음 날 그 시간에 수행될 것이다. 정확한 날짜를 지정하려면 mmddyy 혹은 mm/dd/yy 아니면 dd.mm.yy 형태 중 선택하라.
현재부터 얼마의 시간이 경과한 후에 수행할지를 지정하려면 기호를 사용하라. 이 기호뒤에 숫자를 명시하고, 다시 뒤에 그 숫자의 단위가 무엇인지 지정하면 된다.
이것은 리눅스의 Boume 셸이다. sh를 사용하면 sh가 bash를 호출하여 실행한다. bash를 직접 사용하지 말고 sh를 사용하도록 하라.
유닉스 셸은 사용중이라도 주기적으로 전자우편의 수신 여부를 점검한다. 만일 사용자가 전자우편이 도착하는 즉시 알고자 한다면 biff를 사용하여 그것을 지시할 수 있다. 또는 언제라도 그 기능을 해제할 수도 있다. biff는 인수없이 사용되면 현재 어떤 상태로 되어 있는지 보여준다. 기능 설정과 해제 여부는 y 혹은 n 인수를 주어서 결정한다.
인수를 하나만 준다면 그 숫자는 연도를 의미하는 것으로 간주된다. 두 개의 숫자를 준다면 앞의 것은 월, 그 다음은 연도를 의미하는 것이 된다. 우리의 습관과는 다른 방법을 사용한다. 아무 인수도 주어지지 않으면 이번달의 달력을 표시한다. 연도를 표기할 때는 서기를 완전히 표기해야 한다. 예를들어 97은 1997년이 아니라 서기 97년의 달력을 출력할 것이다.
cat은 catenate(사슬로 잇다. 연결하다)에서 이름이 유래한다. 이것은 파일의 내용을 화면에 출력하는 데 사용되기도 하며 파일을 다른 곳에 순차적인 스트림으로 보내기 위해 사용된다.
유닉스 시스템은 기본적으로 텍스트 자료들을 처리하는 것을 매우 중요시 여겼다. 많은 초기 설정 작업들이 텍스트 문서로 이루어지고, 텍스트 문서를 처리하는 수많은 명령들이 있다. cat 명령은 그러한 것들 중 기본적인 것이다.
cat 명령은 읽어들이는 파일 이름을 지정하지 않으면, 기본 내정값으로 표준 입력 장치를 선정한다.
이렇게 하면 키보드로부터 입력을 받고, ^d로 입력이 끝나면 다시 표준 출력 장치인 화면으로 출력한다.
디렉토리 이름과 cd 명령 사이에 반드시 공백이 있어야 한다. 디렉토리 이름을 주지 않고 수행하면 사용자의 홈 디렉토리로 이동한다. 자신이 이동하고자 하는 디렉토리는 자신에게 실행 권한(execution permission)이 있어야 한다.
파일의 소유자나 슈퍼 유저만이 파일의 그룹 소유권을 바꿀 수 있다. chgrp 명령 뒤에 원하는 옵션을 사용한 후 목적하는 그룹의 이름을 명시하고 대상 파일의 이름을 명시한다.
- ProjectVirush/Idea . . . . 261 matches
프로젝트에 직접 참여하지 않으시더라도 다양한 의견을 환영합니다. 특히 생물학 지식에 대해서는 오류수정이나 추가정보를 기다립니다!
이 란의 모~~~든 내용은 지.극.히. 주.관.적. 이며 전혀 객관적인 자료가 없음을 밝힙니다.
따라서 전체 기각 이여도 전혀 지장이 없습니다.^^
세균 키우기..... 이른바 '실시간 멀티 온라인 게임' 이다. 이걸 만들기로 결정하는 순간 우리는 커다란 문제에 직면하였다! ;;ㅁ;;
첫째 '실시간'이다. 실시간으로 돌아가는 프로그램은 커다란 제약을 가지게 된다. 무엇보다 '슈퍼 울트라 복잡한 연산을 해서는 안된다.'는 것이다. 맵이 너무나도 큰 나머지, 또는 맵을 검색하는 알고리즘이 너무 자세한 나머지 "왼쪽 끝에서 오른쪽 끝까지 이동하도록 명령하니 1분동안 길을 찾느라 멈추었어요." 라는 소리를 들어서는 안된다. 물런 이런 과장된 일은 없겠지만, 실시간으로 진행되는 만큼 끊김없이 느껴질 수 있는 부드러운 연산이 가능해야 한다는 것이다. 더욱이 멀티플레이인 만큼 이 문제는 더욱더 중요해 진다. 플레이어 1이 복잡한 연산을 수행시켜버렸다고 해서 플레이어2까지도 버벅되서는 조금 곤란해 진다. 이러한 문제를 감안해서 어떻게든 연산을 빠르게 만들어야 한다.
또한 실시간이라는 점은 사용자가 접속하지 않아도 돌아가는 것을 의미한다. 사용자가 하루, 이틀 쉬었다가 접속하였을때 플레이어의 바이러스들이 전부 죽어있는 광경을 연출해서는 안된다. 그렇기 때문에 바이러스들은 플레이어가 없어도 꿋꿋하게 살아나갈 수 있는 인공지능을 가지고 있어야 한다.
둘째 '온라인 멀티'플레이이다. 한명의 사용자가 접속해서 사용하는 것이 아니기 때문에 여러명이 접속해서 사용하게 된다. 그러한 만큼 여러 플레이어가 행동을 한다는 것을 염두에 두어야 한다. 한명 한명에게는 적절한 난이도이지만, 협동을 하니 난이도가 대폭 하락해서 금새 이길 수 있었다 라던가 하는 이야기가 나와서는 안된다.
이 문제는 위의 '실시간'이라는 점과도 연계가 된다. 다른 플레이어들이 잠자러 간사이... 올빼미족의 한 플레이어가 나타나서 전 플레이어의 바이러스를 사살해 버리고 도망가 버린다거나, 타 플레이어의 바이러스를 포위해 버려서 더이상 증식이 불가능하게 만드는 난처한 상황이 발생해서도 안된다. 물런 '상대방의 바이러스를 사살할 수 있다.' 와 같은 규칙은 정해진 바 없지만, 다른 플레이어가 자리를 비웠을때 한 플레이어가 다른플레이어의 캐릭터에게 영향을 미칠 수 있다는 점도 고려를 해야한다.
셋째 '게임' 이다. 게임은 무엇보다도 재미가 있어야 한다. 이것이 어떻게 보면 가장 큰 난제라고도 할 수 있다. 이게 쉽다면 그 많은 게임들이 도데체 왜 사장되었겠는가... 우리
의 게임도 이런 길을 걷지 않도록 노력은 해보아야 할것이다. 실시간이라고 해서 강한 인공지능을 부여했더니 몇년동안 자리를 비워도 꿋꿋하게 성장해서도 안된다. 또 규칙이 단순해서 오늘은 '성장' 내일은 '정지' 이런식으로 반복하면 수학적으로 최적화된 성장 알고리즘이 나온다. 와 같이 되면 재미가 없어질 것이다.
A. 빠르고 단순한 연산이어야 한다. 그러면서도
C. 너무 AI가 좋아서 플레이어가 할게 없어서도 안된다.
D. 난이도가 쉬워서도 안된다. 그렇다고
F. 어느정도 돌발적인 상황이 있어야 한다.
G. 너무 돌발적이어서 플레이어가 적응하지 못해서도 안된다.
H. 다른 플레이어와 연계가 있어서 즐겁게 진행할 수 있어야 한다. 하지만
I. 연계가 너무 심해서 타인의 플레이를 쉽게 방해할 수 있어서도 안된다.
대충.. 이정도인 것이다. 뭐 충분히 더 있을수도 있겠지만.. 이정도만 보아도 쉽게 만들 수 없다는것은 눈에 보인다. ....OTL..
이런 험난한 상황을 해결할 비책이.... 아쉽게도 나에게는 없다.
그렇지만 몇가지 아이디어는 내어 볼 수 있다.^^ 그래서 요 며칠간 짬짬이 생각한 아이디어를 서술해 보겠다. 많이 부실해도 예쁘게 봐주고 보충해 주면 좋겠다.^^
- 데블스캠프2002/진행상황 . . . . 231 matches
= 01이상 진행상황 후기 =
강사/진행자들의 후기 페이지입니다. 이 또한 ["ThreeFs"] 를 생각하기 바랍니다. 오늘의 글들이 다음날, 또는 내년에 쓰일것임을 생각하시길. 그날 자신이 했던 일들 (또는 다른 사람이 했던 일들)을 확인하고, 그에 대해서 무엇이 잘되었는지, 왜 잘되었는지, 무엇이 잘 안되었는지, 왜 안되었는지를 확인하고, 앞으로의 대안을 생각해보도록 작성합시다.
* 목요일의 ["RandomWalk2"] 에 대해서 다시 CRC 디자인 세션과 구현시간을 가져보았다. (["ScheduledWalk/재니&영동"], ["ScheduledWalk/창섭&상규"]) 이번에는 신입회원팀과 기존회원팀으로 나누어서 디자인 세션을 가지고, 팀별로 구현을 하였다. (신입회원 팀에서의 클래스 구현에서는 1002가 중간 Support)
* 일요일, 그리고 목요일, 금요일 동안 지겹도록 풀었을것 같은 RandomWalk 가 이렇게 다양한 모습을 보여주었다는 점에선 꼭 푸는 문제 수가 중요하지 않다라는 점을 확신시켜주었다.
* CRC 디자인 세션때 후배들끼리 대화하면서 디자인하는 모습을 보았다. 목요일날 창준이형과 1002가 했었던 때에 얼핏 지나갔을지도 몰랐을 '이 스펙에서 명사에 해당되는 것들은 어떤것이였죠?' 라는 말을 기억하며 대화중에 언급하는 모습을 보며 보람을 느껴본다.
* 마지막 날에 온 사람이 3명. 그리고 문제를 푸는데 참여한 사람이 2명 밖에 안남았다는 점은 데블스캠프를 준비한 사람들을 좌절하게 한다. 그나마 한편으로 기뻤던 점은, 아침 7시가 되도록 컴퓨터 하나를 두고 서로 대화를 하며 RandomWalk를 만들어가는 모습을 구경했다는 점. 그 경험이 어떻게 기억될지 궁금해진다.
* 화이트 보드 - 목요일 세미나 이후 화이트보드를 5층 피시실에 그냥 두었다. 처음엔 들고 갈까 했었다가 귀찮아서 두었는데, 중간에 후배가 어제 배운 내용에 대해 질문했을 때 '오. 마침 화이트보드가 있네?' 어제 했었던 방법으로 적어나가면서 편리함을 느꼈다.
게다가 피시실에 서 있는중 중간중간 아이디어가 떠오를때 화이트보드를 쳐다보고 있노나니 내용 없는 빈 보드를 가만히 두고 싶어지지 않는다. 손이 근절근절해지도록 일종의 NoSmok:어포던스 를 제공한다고 할까. 칠판과는 다르게 손도 잘 안더러워진다.
피시실에 컴퓨터만 바꿀 것이 아니라, 화이트보드를 놓는 것도 좋은 피시실 환경을 제공하는데 도움을 주리라 생각한다. (과 사무실에서 디지털 카메라를 빌릴 수 있다면 더더욱 좋겠다. 화이트보드로 아이디어를 적고, 디지털 카메라로 찍어서 바로 올리고..)
* 세미나나 스터디를 준비할때 앞 세미나의 흐름이 연결되었을 경우 그 진행이 더 쉽다. 앞에서의 세미나 내용을 이용하여 설명하면 강사나 학습자나 서로 시간낭비를 줄일 수 있으니까. 추후 이러한 세미나 준비를 할때 그 체계성을 고려해야 할 것이다.
이번 세미나의 부제를 단다면 "우리는 어떻게 사고하고 어떤 과정으로 프로그래밍 하는가" 정도가 될 것이다. 지금 학생들의 프로그래밍 과정과 사고 과정을 밖으로 끄집어 내어서 함께 관찰하고, 함께 논의할 수 있도록 했고, 동시에 선배/전문가들의 사고 과정과 프로그래밍 과정을 직접 보여주어서 그 차이를 느끼고, 거기서 학습이 일어나도록 했다.
우리는 수학문제에 대해 달랑 답만 달아놓으면, 설령 답이 맞더라도 "과정이 없다"고 문제를 틀리기도 한다. 프로그램은 최종적인 "답"이다. 우리는 그 답이 나오는 과정에 너무도 무관심하다.
* OOP를 바로 설명하기 전에 나의 프로그래밍 사고 방식을 깨닫고, StructuredProgramming 의 경우와 ObjectOrientedProgramming 의 경우에는 어떠한지, 그 사고방식의 이해에 촛점을 맞추었다.
* 일단 지난시간에 만들었었던 RandomWalk 의 스펙을 수정한 RandomWalk2 를 사람들로 하여금 풀게 한뒤, 그 중에 완성한 두명을 뽑아 (상규와 현민) 자신이 어떻게 프로그래밍을 했는지에 대해 창준이형의 진행으로 질답을 하면서 설명해나갔다. 그리고 코드를 프로젝터와 노트북을 이용, 신피의 벽에 비추며 설명하였다. (["RandomWalk2/상규"], ["RandomWalk2/현민"])
* StructuredProgramming - 창준이형이 역사적인 관점에서의 StructuredProgramming에 대해 설명을 하셨다. 그 다음 ["1002"]는 ["RandomWalk2"] 문제에 대해서 StructuredProgramming을 적용하여 풀어나가는 과정을 설명해 나갔다. (원래 예정의 경우 StructuredProgramming 으로 ["RandomWalk2"] 를 만들어가는 과정을 자세하게 보여주려고 했지만, 시간관계상 Prototype 정도에서 그쳤다)
* ObjectOrientedProgramming - ["RandomWalk2"] 에 대해서 창준이형과 ["1002"] 는 서로 이야기를 해 나가면서 하나씩 객체들을 뽑아내가는 과정을 설명했다. 일종의 CRC 카드 세션이었다. 그러고 나서는 프로젝터를 통해, 직접 Prototype을 만들어 보였다. OOP/OOAD로 접근하는 사람의 사고방식과 프로그래밍의 과정을 바로 옆에서 관찰할 수 있었다.
* ["RandomWalk2"] 를 ObjectOrientedProgramming 으로 구현하기 - 위의 Python 관련 실습동안 ["1002"] 는 ["RandomWalk2"] 에 대해서 C++ Prototype을 작성. (["RandomWalk2/ClassPrototype"]) 이를 뼈대로 삼아서 ["RandomWalk2"] 를 작성해보도록 실습. 해당 소스에 대한 간략한 설명, 구현의 예를 설명. 중간에 객체들에 대한 독립적인 테스트방법을 설명하면서 assert 문을 이용한 UnitTest 의 예를 보였다.
Python으로 만든 스타크래프트 놀이는 참가자들이 무척이나 좋아했다. 또 그 직전에 Python Interactive Shell에서 간단하게 남자, 여자, 인간 클래스를 직접 만들어 보게 한 것도 좋아했다. 아주 짧은 시간 동안에 OOP의 "감"을 느끼게 해주는 데 일조를 했다고 본다.
또한, JuNe과 ["1002"]의 CrcCard 세션을 (마치 주변에 사람이 없는 듯 가정하고) 보여줬던 것도 좋은 반응을 얻었다(원래는 ["1002"]가 혼자 문제를 푸는 과정을 보여주려고 했다가 JuNe이 보기에 두 사람의 협력 과정을 보여주는 것도 좋을 듯 했고, 분위기가 약간 지루해 지거나 쳐질 수 있는 상황이어서 중간에 계획을 바꿨다.) 선배들이 자신이 풀어놓은 "모범답안"으로서의 코드 자체를 보여주는 것은 했어도 분석하고 디자인하고, 프로그래밍 해나가는 과정을 거의 보여준 적이 없어서, 그들에게 신선하게 다가간 것 같다.
또, 동일 문제를 여러번 하는 것의 교육적 효과를 다시금 확신하게 되었다. 내용이 이어지고 연계가 되니, "현재의 주제를 벗어난 것들에 에너지를 덜 소모하면서" 많은 학습이 가능했다. 최소한 문제를 매번 새로 설명하고, 그걸 이해시키게 하는 시간은 주제가 바뀔 때마다 아낄 수 있었다.
- 데블스캠프2011/다섯째날/후기 . . . . 227 matches
* 파이썬의 기본적인 프로그램을 배우고 (python에서 제공하는 학습용 라이브러리인 turtle을 사용하였습니다.) 네트워크에 관한 간단한 설명들을 들었습니다. 네트워크라는 부분을 공부해 본적이 없어서 처음 네트워크에 대해 이해하는 것이 어렵긴 했지만 알기쉬운 설명덕분에 그럭적럭 이해하고 넘어갈 수 있었습니다. server와 Client측에서 네트워크를 구성하는 부분을 파이썬으로 작성하였는데 코드는.. 긁어 왔다ㅋ 헌데 파이썬의 장점처럼 코드가 무지하게 짧았던게 인상깊었다.
* 마지막날이다 보니 다들 후기 갯수가 좀 적군요. Rurple에 이어서 Python을 공부해볼 수 있어서 좋았습니다. 파이썬이 러플로 했을땐 코드 길이가 짧았는데, 다른걸 짤땐 어떤 면에서 짧아지는지는 아직 잘 모르겠네요. 네트워크는 CAU_MAC인데다 MAC을 쓰다보니 충돌의 연속.. 결국 다른 사람들이 하는걸 같이 보는게 좀 많았네요.ㅋㅋ 11학번 친구들이 오늘은 2명이나 와서 참여해서 재밌게 했던거 같습니다.. 만 화수랑 호동이는 약간 어려워 하더군요. (저는 이미 그런 상황에 적응해버린건지 객체니 클래스니 해도 그냥 뭐... 했달까요 ㅎㅎㅎ;)
* turtle을 이용해서 파이썬의 문법에 대해서 간단하게 다루어보고 파이썬의 소켓을 이용해서 서버/클라이언트를 만들어보고 와이어샤크를 이용해서 실제 주고 받는 패킷들을 보는 일을 했습니다. 그리고 중간중간에 최대한 알기 쉽게 네트워크에 대한 개략적인 설명이 끼어 있었지요. 개인적으로는 여러모로 마음에 드는 세미나였습니다. 우선은 전체적인 방향성을 잡아주는 세미나였다는 점에서 괜찮았다고 생각합니다. 사실 데블스에서는 특정 주제를 다루어도 자세히 다루기에는 시간적인 한계가 있는 만큼 이렇게 흥미를 유발할 수 있는 세미나가 좀 더 바람직하지 않은가 싶습니다. 그리고 현태 선배 스타일로 듣는 사람이 알기 쉽게 예를 들어가면서 설명을 하는 것도 듣기 좋았고요. 그리고 개인적인 의견으로는 간만에 현태 선배를 만난 것도 좋았습니다 ㅋ 나중에는 좀 더 네트워크에 대한 부분을 공부를 해 봐야겠지요. 현태 선배 덕분에 파이썬도 배우게 됐는데 네트워크도 공부하게 되는 건가...
* 옛날에 c로 TCP/IP 프로그래밍 책을 본 적이 있었는데 그쪽에서 소켓을 이용하는 부분을 생각해보면 c에 비해서 파이썬쪽에서는 참 쉽게 되는구나 싶었습니다. 그리고 개인적으로 좀 신기했던게 리턴 값이 하나 이상 있을 수 있는 함수도 있다고 한 부분이었습니다. 이건 파이썬쪽의 특성인지 아니면 다른 인터프리터쪽 언어도 이렇게 될 수 있는지 궁금하네요. 네트워크쪽에 대한 기본적인 설명도 좋았습니다. 와이어샤크쪽에 대해서는 제대로 알려면 공부가 더 필요할 듯. -_-
* turtle를 보면서 이것 저것 파이선에 어렵지 않게 접근할 수 있어 좋았습니다. 누구처럼 노가다는 안시켜서 좋았네요. (그러고 보니 그 누구도 파이선을 가지고 했었네;;) 여하튼 파이선으로 채팅 프로그램을 소스 복사(-_-) 해서 써 보니 재미있었습니다. 자바로도 그런거 했던 게 기억나네요. 전반적으로 쉽게 그리고 재미있게 설명을 해 주신 세미나였습니다. 재미있게 3시간이 지나간 것 같네요. 다만, 하라고 하셨던 것이 잘 구현이 안 되었던 것 같아 그런 거 빼곤요. 그리고 와이어샤크는.. 보면서 음..... 이런게 있구나 하고 넘어가서인지 좀 더 많이 써 봐야 할 듯 싶네요a
== 이정직/Lua ==
* 갑작스런(?) 세미나였지만, 좋은 내용이었습니다. 루비와 비슷한 면이 많은 것 같네요. 와우하는 사람들이 크게 관심을 가진 것 같던데,, 전 와우를 안해서 -ㅅ-;; 그래서 준석이가 옆에서 루아 책 가지고 이게 왜 작동이 안되냐고 성질내고 있네요.(응?) 이제 됬나보네요. 쩝.. 여하튼 간단하게 들을 수 있고 선배님의 좋은 말씀 들을 수 있어 좋았습니다.
* 4년만에 정직 선배의 세미나를 들을 수 있었습니다. 선배님의 수준에서 설명하지 않고 1학년 학우들도 알아들을 수 있도록 하나하나 차근차근 설명해주시는 걸 보면서 '나도 정직 선배처럼 세미나를 하고 싶다'고 느꼈습니다. 이전 후기에도 언급했지만 정말 스크립트 언어 하나쯤은 공부할 필요를 느꼈어요ㅠㅠ
* 루아는 설명을 약간 짧게 하셨죠. 가장 기억에 남는건 와우의 베이스에 루아가 있다!!! 라는... 루아 특징이 저용량으로 쉽게 돌릴 수 있다라는것인지라 저한테는 아직 와닿지 않았던거 같아요. 하지만 문법은 결국 파이썬과 비슷했던거 같기도... 처음 들어본 언어라는 점에서 흥미롭게 들었던거 같네요.
* 루아에 대한 간단한 소개와 문법의 설명. 사실 바쁘실텐데 와서 짧은 세미나라도 하고 가신 것만 해도 참 대단하시다는 생각이 듭니다. 사실 루아에 대한 이미지는 세미나 때 전체적인 분위기도 그렇듯이 와우 UI에 사용하는 언어라는 정도만 알고 있었는데 조금 더 자세한 설명을 들을 수 있었습니다. 개인적으로 세미나를 듣고 든 생각은 두 가지군요. 하나는 객체가 없다니??? 하는 것과 다른 하나는 크기가 작다는 게 그렇게까지 큰 메리트가 될 수 있는가? 하는 점이었습니다. 사실 요즘 이런저런 곳에서 게임 로직을 루아로 만든다는 얘기를 들었는데, 특정 작업에서 쓰는 사람들이 있다는 것은 그 부분에서 인정할 만한 뭔가가 있다는 뜻이겠지요. 하지만 개인적으로는 아직도 조금 더 손을 대 봐야 할 언어들이 있어서 당장은 건드려 볼 일이 없을 것 같다는 느낌이 좀...
* 루아에 대해서 찾아보니까 주목받는 이유는 역시 용량이 작기 때문인 것 같은데 폰쪽에서 일하셨다는 부분도 그렇고 역시 임베디드쪽인가 싶었습니다. 임베디드에서 루아로 프로그래밍을 하기 위한게 따로 있다고 하신 부분이 좀 궁금했습니다. 이번에 파이썬에 루비, 루아까지 스크립트 언어쪽을 많이 본 것 같습니다. 다들 문법적으로는 비슷한 느낌인데 어떤걸 쓰는지는 용도 나름인 것 같습니다.
* Ruby 와 비슷하다는 생각이 많이들었습니다. 사실 Ruby가 루아와 비슷하다고 해야 맞겠지만요. 와덕냄세가 심하게 났던 세미나..였네요
* 형진이 형이 정말 자세히 가르쳐 주셨는데,, 새내기들한테는 그래도 어려운 거 같네요. 저도 1학년이었다면 그런 느낌이었겠죠 -ㅅ-;; 확실히 설명하는게 더 힘드네요. 계속 설명을 하는데 뭔가 부족하고 그래서 그거 때문에 고생했던? 뭐 그런 시간이었습니다. 책에서 이런 내용을 봤었는데 이렇게 하라고만 했지 어떻게 하라고 잘 나와있지 않아 그랬는데, 이렇게 하게 되어서 좋았습니다.
* 수경이의 String 코드 레이스에서 저의 프로그래밍 달리기를 너무 빡세게 했던게 부끄러워서 이번엔 1학년 학우(저 같은 경우 성화수 학우)에게 설명해주고 그 학우가 하고 싶은 스펙으로 함께 프로그래밍 하고자 많이 노력했습니다. 파트너 교체 후 순의랑 파란 바를 만들어버리는 실수를 저지르긴 했습니다만 제가 부족한 탓이었구요-_-;; 개인적으로 화수의 '0층부터 지하까지' 아이디어는 신선했어요. 형진이가 처음에 의도했던 엘레베이터 문제(밖에서 누르고 층을 누르는 케이스)는 다른 클래스도 필요하고 일단 화수를 이해시키는데에 초점을 둬서 그걸 못 푼 점은 좀 아쉬웠어요.
* Java를 통한 TDD (비스므리한) 것을 실습했죠. 좀 신기한 방식이라 신기했던거(??) 같습니다. 테스트 케이스를 만족하도록 코드를 만들거어간다라.. 확실히 다른사람의 코드이고 주석이 없는데도 대략적으로 이해할 수 있다는 점은 좋은 거였던거 같습니다. 여러사람들이 한개의 프로젝트를 다루게 된다면 이런식의 것도 필요할거같네요. ..하지만 그럼에도 불구하고 테스트 케이스만 만족하면 된다는 사상도 있어서 어려움이 완전히 해소될것이리라! 라는건 아닌거 같네요. (사실 남의 스펙을 자신이 구현했기 때문에 발생했던 문제겠지마는,.) SVN도 써보고 TDD나 이런 저런 기법들을 데블스에서 처음 접해봐 신선했습니다.
* 코드 잘 짜는 법. 신경써야 할 부분을 최소한으로 줄이자. 필요한 것을 먼저 쓰고 구현은 나중에 한다. 자주, 많이. very very many many
* 개인적으로 항상 고민하는 부분 중의 하나입니다. 어떻게 하면 코드를 잘 짤 수 있을까. 그리고 회고 때에도 말했듯이 제가 작년 데블스 마지막 때 세미나를 하고 싶다고 했던 주제이기도 합니다. 변명삼아 말하자면 아직도 스스로가 남에게 이야기 할 수 있을 만큼의 능력과 자신감이 없어서 세미나를 피한 것도 있습니다 ;;; 사실 제가 한다고 하면 생각을 코드로 만드는 법(형진 선배의 말하듯이 코딩하기 부분) + 남이 만들어 둔 라이브러리의 사용 으로 하려고 했는데 과연 그게 괜찮은 방법인가에 대한 확신은 역시 좀 부족하군요... 하지만 모르긴 몰라도 언어에 사로잡히지 말고 로직이 우선해야 한다는 생각은 기본에 둬도 괜찮을 것 같습니다.
* 이후에는 역시 자주 짜고 많이 짜 봐야겠지요. 그리고 개인적인 생각으로는 생각을 코드로 옮기는 것은 역시 알고리즘 쪽을 공부하는 것이 아닐까 합니다. 컴공 쪽에서도 제일 수학에 가깝다는 생각이 드는 분야군요... 그리고 개인적으로 제일 자신이 없는 분야기도 하고 -__-
* 현재 구현해야 하는 부분을 해당 기능 하나로 좁혀서 거기에만 집중해야 한다. 해결해야 하는 문제의 범위를 최소한으로 줄이는게 코드를 잘 짜는 비결이다. 라고 하셨었는데 하다 보면 이것 저것 고려할게 많아지는 것 같습니다. 그래도 앞으로는 이번에 배운 것들을 코드를 짜는데 적용해보려고 노력해야 할 것 같습니다. 다만 이렇게 문제의 범위를 최소한으로 줄였는데도 해결을 못한다면 어떻게 하면 좋을지 하는 생각이 들지만 -_- 거기는 개인의 실력 나름인가 싶습니다.
* 남이 짠 스펙을 보고 구현한다는건 처음이었습니다. 대개는 학교 프로젝트 할 경우에는 무슨 기능이 필요하다는걸 처음부터 생각하고 만드는데 실제 일하는 쪽에서는 그렇지 않을테니 좋은 경험이 됐다고 생각합니다. 유닛 테스트에서 해당 테스트 케이스가 스펙이 될 수 있다는 부분에 대해서도 잘 생각해보고 또 적용해보기 위해 노력해봐야겠습니다. 근데 TDD의 단점에 대해서는 크게 말이 없었던 것 같아서 그 부분이 좀 아쉽습니다.
- SmallTalk/강좌FromHitel/강의4 . . . . 222 matches
nosmokmoin 으로 변경시에 이 페이지가 에러가 발생하는 대표적인 예이다. 이 외에도
Smalltalk를 실행해 보면 최소한 두 개의 창이 열려 있음을 볼 수 있습니다.
하나는 "System Transcript"라는 제목이 붙어있는 "알림판"(transcript)이
있고, 나머지 하나는 "untitled - workspace"라는 제목이 붙여진 "일터"가
그것입니다. 물론 Smalltalk 환경에는 이 두 가지 창 말고도 다른 여러 가지
의 창이 있습니다. 각각은 저마다의 독특한 쓰임새를 가지고 있으며, 이들은
이제 이 마디[節]에서는 Smalltalk에는 어떤 창들이 있으며 이들이 대충 어
떤 일을 하는지를 알아봄으로써, Smalltalk 환경의 특징들을 여러분이 간단
자세하게 설명할 것입니다. 여기서는 그냥 이러이러한 창이 있으며, 대충 이
렇게 생겼구나 하는 정도만 이해하도록 합시다.
아직까지 자료실에서 Dolphin Smalltalk를 내리받아 설치하지 않으신 분이라
면 지금부터는 조금 용량이 많기는 하더라도 Smalltalk 환경을 내리받아서
문에, 그림을 곁들이고 싶은 필자의 간절한 마음이 반영되지 못하기 때문입
깊이 공부하지 못한 필자로써는 왜 transcript라는 낱말이 이 창에 붙게 되
었는지를 이해하기가 어렵습니다. 아무래도 Smalltalk 시스템의 상태가 이
창에 그대로 반영되기 때문이 아닌가 생각합니다.
여하튼 이 창은 Smalltalk 환경에서 가장 중요한 창입니다. 이 창이 열림으
로써 바로 Smalltalk 환경이 시작되는 것이고, 이 창이 닫힘으로써
Smalltalk가 종료되는 것입니다. 즉 이 창은 Smalltalk 환경과 동고동락한다
고 해도 과언이 아닐 정도로, Smalltalk 환경이 실행되어 있다면 언제든지
- Java Study2003/첫번째과제/장창재 . . . . 217 matches
- 자바(Java)를 이야기할 때 크게 두 가지로 나누어 이야기 할 수 있습니다. 먼저, 기계어, 어셈블리어(Assembly), 포트란(FORTRAN), 코볼(COBOL), 파스칼(PASCAL), 또는 C 등과 같이 프로그래밍을 하기 위해 사용하는 자바 언어가 있고, 다른 하나는 자바 언어를 이용하여 프로그래밍 하기 위해 사용할 수 있는 자바 API(Application Programming Interface)와 자바 프로그램을 실행시켜 주기 위한 자바 가상머신(Java Virtual Machine) 등을 가리키는 자바 플랫폼(Platform)이 있습니다. 다시 말해서, 자바 언어는 Visual C++와 비유될 수 있고, 자바 플랫폼은 윈도우 95/98/NT 및 윈도우 95/98/NT API와 비유될 수 있습니다.
자바 언어(Java Language)를 이용하여 작성한 자바 프로그램(Java Program)은 자바 컴파일러(Java Compiler)를 이용하여 자바 바이트코드(Java Byte code)로 컴파일 되고, 이 자바 바이트코드는 자바 가상머신에 의해 해석되어 실행되는데, 이때 자바 가상머신은 자바 바이트코드에 대한 해석기 즉 인터프리터(interpreter)로 동작하게 됩니다. 이렇게 자바 프로그램은 컴파일 방식 및 인터프리터 방식이 모두 적용된다는 것입니다.
자바 언어로 작성된 자바 프로그램을 중간 언어(intermediate language) 형태인 자바 바이트코드로 컴파일 합니다<.
자바 바이트코드(Java Byte code):
컴퓨터는 각 CPU에 따라 서로 다른 기계어를 갖습니다. 이러한 이유 때문에 도스 또는 윈도우 95/98/NT 등이 설치되어 있는 컴퓨터에서 실행되는 프로그램이 유닉스가 설치되어 있는 컴퓨터에서는 실행되지 않는 것입니다. 그러나, 자바 바이트코드는 이러한 플랫폼에 상관없이 자바 가상머신에 의해 실행될 수 있도록 정의된 중간코드입니다. 따라서, 자바 바이트코드로 컴파일 되기만 하면, 자바 인터프리터인 자바 가상머신이 설치되어 있는 곳이면 어디에서든 실행시켜 줄 수 있습니다. 이는 자바 개발자 또는 사용자로 하여금 자바 프로그램을 개발하거나 사용할 때 그 플랫폼이 윈도우 95/98/NT, 유닉스, 또는 매킨토시인지 전혀 신경 쓰지 않아도 되도록 합니다.
자바 바이트코드 명령어를 해석하고, 이를 자바 인터프리터가 설치되어 있는 플랫폼(윈도우 95/98/NT, 유닉스, 매킨토시 등)에 맞게 실행시켜 줍니다. 자바 인터프리터는 자바 바이트코드를 실행시켜 주기 위한 기능을 명세하고 있는 자바 가상머신을 구현해 놓은 것으로서 자바 가상머신과 같은 의미로 사용되며, 주로 자바 가상머신으로 많이 사용됩니다.
자바 바이트코드는 자바 가상머신에서 실행되는 기계어라고 생각하면 됩니다. 그리고, 모든 자바 인터프리터는 자바 가상머신을 구현해 놓은 것으로, 자바 가상머신과 자바 인터프리터를 같은 것으로 생각할 수 있습니다. . 이러한 자바 가상머신은 JDK(Java Development Kit)에 포함되어 있을 수도 있고, 자바 호환 웹 브라우저 내에 내장되어 있을 수도 있습니다. 또는, 자바 칩과 같이 하드웨어에 직접 구현될 수도 있습니다. 자바 바이트코드는 “write once, run anywhere”라는 말을 가능하게 해 줍니다. 다시 말해서, 자바 언어를 이용하여 작성한 자바 프로그램을 각 플랫폼(윈도우 95/98/NT, 리눅스, 유닉스, 매킨토시 등)에 맞게 제공되는 자바 컴파일러를 통해서 바이트코드로 컴파일 할 수 있습니다. 그리고, 이 바이트코드는 자바 가상머신이 있는 어떤 곳에서도 실행될 수 있습니다.
플랫폼이란 프로그램이 실행되는 하드웨어 또는 운영체제와 같은 소프트웨어적인 환경을 말합니다. 대부분의 플랫폼은 하드웨어와 운영체제를 함께 일컬어 말합니다. 그러나 자바 플랫폼은 하드웨어와 무관하게 동작하는 오직 소프트웨어적인 플랫폼이란 점에서 다른 플랫폼과 다릅니다. 이를 위해 자바 플랫폼은 다음과 같은 두 가지의 구성요소를 갖습니다.
자바 가상머신은 자바 플랫폼의기반을 이루며, 다양한 하드웨어기반 플랫폼에 포팅(poring) 됩니다. 다시 말해서, 자바 가상머신은 윈도우 95/98/NT, 유닉스, 또는 매킨토시 등과 같은 기존의 운영체제 또는 인터넷 익스플로러와 넷스케이프 등과 같은 웹 브라우저 등, 여러 가지 플랫폼에 설치되어 사용될 수 있으며, 사용자는 자바 바이트코드로 컴파일된 자바 프로그램을 실행시키기 위해서 이 자바 가상머신을 이용하면 됩니다.
자바 API는 윈도우 API와 같이 운영체제에서 제공해 주는 라이브러리와 같은 것입니다. 다시 말해서, 자바 프로그램을 개발하기 위해 사용할 수 있는 라이브러리 또는 클래스들이라 할 수 있습니다. 이러한 자바 API는 서로 관련된 클래스들을 묶어서 패키지 단위로 제공되고 있습니다.
* 자바의 장점 및 이익
자바의 주된 특징은 기존의 C/C++ 언어의 문법을 기본적으로 따르고, C/C++ 언어가 갖는 전처리기, 포인터, 포인터 연산, 다중 상속, 연산자 중첩(overloading) 등 복잡하고 이해하기 난해한 특성들을 제거함으로써 기존의 프로그램 개발자들이 쉽고 간단하게 프로그램을 개발할 수 있도록 합니다.
객체지향적이다(Object-Oriented):
자바는 C++와는 달리 처음부터 객체지향 개념을 기반으로 하여 설계되었고, 객체지향 언어가 제공해 주어야 하는 추상화(Abstraction), 상속(Inheritance), 그리고 다형성(Polymorphism) 등과 같은 특성들을 모두 완벽하게 제공해 주고 있습니다. 또한, 자바의 이러한 객체지향적 특성은 분산 환경, 클라이언트/서버 기반 시스템이 갖는 요구사항도 만족시켜 줄 수 있습니다.
자바는 컴파일 시에 에러 검사를 철저하게 하고, 실행 시에 발생할 수 있는 에러에 대해서도 실행 시에 철저하게 검사를 수행함으로써 신뢰도가 높은 프로그램을 작성할 수 있도록 해 줍니다. 또한, C/C++ 프로그램 개발자들을 가장 혼란스럽게 하고, 프로그램의 치명적인 오류를 발생시킬 수 있는 포인터 및 포인터 연산을 자바에서는 사용하지 않게 함으로써, 포인터를 사용함으로써 프로그래머가 범할 수 있는 오류를 없앴다는 것입니다.
자바는 분산환경에서 작동하도록 설계 되었습니다. 그러나, 자바는 자바 언어와 자바 런타임 시스템 내에 보안 기능이 내재되어 있기 때문에 보안성이 있는 프로그램을 개발할 수 있도록 해 줍니다. 이러한 특성은 자바 프로그램이 네트웍 환경에서 바이러스 등과 같은 프로그램이 파일 시스템을 파괴하려는 것을 막을 수 있도록 해 줍니다.
아키텍쳐 중립적(Architecture-neutral)이고 이식성(Portable)이 높다:
자바는 서로 다른 이종(Heterogeneous)의 네트워크 환경에서 분산 되어 실행될 수 있도록 설계되었습니다. 이와 같은 환경에서는 응용 프로그램들이 다양한 하드웨어 아키텍쳐 위에서 실행될 수 있어야만 합니다. 이를 위해 자바 컴파일러는 이종의 하드웨어 및 소프트웨어 플랫폼에서 효율적으로 코드를 전송하기 위해 설계된 아키텍쳐 중립적인 중간 코드인 바이트코드를 생성합니다. 이는 동일한 자바 프로그램의 자바 바이트코드가 자바 가상머신이 설치되어 있는 어떤 플랫폼에서도 실행될 수 있도록 하는 것입니다. 또한, 자바는 기본 언어 정의를 엄격하게 함으로써 효율적인 이식성을 제공해 주고 있습니다. 예를 들어, int 형과 같은 기본 데이터형의 크기를 플랫폼과 무관하게 일정하게 하고, 연산자의 기능을 확실하게 규정하고 있습니다. C 언어를 이용하여 int 형을 선언할 때, 도스에서는 16비트, 윈도우 95/98/NT 등 32비트 운영 체제 환경에서는 32비트, 유닉스에서는 32비트 등 그 플랫폼에 따라 크기가 다르지만, 자바에서는 플랫폼에 상관없이 32비트로 고정되도록 하였습니다. 이는 자바 프로그램이 실행되는 환경이 자바 가상머신으로 동일하기 때문입니다.
자바에서는 인터프-리터가 런타임 환경을 검사할 필요 없이 실행될 수 있도록 구성하였기 때문에 뛰어난 성능을 제공해 줍니다. 쓰레기 수집기(garbage collector) 즉 메모리 관리자는 자동으로 낮은 우선순위의 백그라운드 스레드로 실행되어 메모리가 필요할 때에만 동작하도록 함으로써, 자바 가상머신에게 무리를 주지 않으면서 보다 나은 수행 성능을 제공할 수 있도록 해 줍니다. 또한, 방대한 양의 계산을 수행하는 프로그램은 계산이 많은 부분을 본래의 플랫폼에 해당하는 기계어 코드로 재작성하여 자바 프로그램과 인터페이스 할 수 있도록 하였습니다.
인터프리터(Interpreter) 방식이다:
- 논문번역/2012년스터디/이민석 . . . . 203 matches
= 이민석 =
* LaTeX 수식이 안 보여요
원문 URL: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.6.6413&rep=rep1&type=pdf
오프라인 필기 글자 인식을 위한 시스템을 소개한다. 이 시스템의 특징은 분할이 없다는 것으로 인식 모듈에서 한 줄을 통째로 처리한다. 전처리, 특징 추출(feature extraction), 통계적 모형화 방법을 서술하고 저자 독립, 다저자, 단일 저자식 필기 인식 작업에 관해 실험하였다. 특히 선형 판별 분석(Linear Discriminant Analysis), 이서체(allograph) 글자 모형, 통계적 언어 지식의 통합을 조사하였다.
필기 글자 인식은 패턴 인식의 도전적인 분야다. 지금까지의 오프라인 필기 인식 시스템들은 대부분 우편 주소 읽기나 은행 수표 같은 형식을 처리하는 데 적용되었다. [14] 이들 시스템이 개별 글자나 단어 인식에 한정된 반면 제약 없는(unconstrained) 필기 글자 인식을 위한 시스템은 거의 없다. 그 이유는 이러한 작업이 크게 복잡하기 때문인데 글자 또는 단어의 경계에 대한 정보가 없는 데다 헤아릴 수 없을 정도로 어휘가 방대한 것이 특징이다. 그럼에도 필기 글자 인식 기법을 더 조사하는 것이 가치 있는 이유는, 계산 능력이 향삼함에 따라 더욱 복잡한 처리를 할 수 있기 때문이다.
본 논문에서는 은닉 마르코프 모형에 기반한, 어휘(lexicon)-free 오프라인 필기 인식 시스템을 소개하고 완전한 영어 문장 데이터베이스에 관한 몇 가지 실험을 저자 독립식 그리고 대조를 위해 다저자, 단일 저자식으로 수행했다. 전처리와 특징 추출 방법을 소개하고 이에 더해 선형 판별 분석, 이서체 글자 모형의 사용, 통계적 언어 모형 같은 더욱 정교한 기법들을 조사한다. 그 뒤의 절에서는 오프라인 필기 인식에 대한 관련 작업들을 짧게 검토한다. 우리가 사용한 데이터베이스는 3절에서 소개한다. 그 다음 전처리, 특징 추출 방법, 통계적 모델링과 인식을 위한 기법을 설명한다. 평가 결과는 제안한 방법의 효율성을 입증하기 위해 7절에서 소개한다.
반면에 방대하거나 아예 한계가 없는 어휘를 이용한 제약 없는 필기 글자 인식은 훨씬 어렵다. 이는 개별 단어 처리 시스템에 본질적으로 있는 문맥 지식과 단어 분할 정보가 없기 때문이다. 이런 난조에도 제약 없는 필기 글자 인식 시스템이 몇 개 개발되었다. [1, 9, 11, 18, 15, 17] 이들 시스템은 주로 추출한 특징의 종류와 한 줄이 인식 전에 단어별로 분할되는 지 아닌지에 차이가 있다. 은닉 마르코프 모형(HMM) 그리고 순환형 신경망과 HMM의 융합을 이용한 분할 기반 방법의 예로 각각 [1, 18]과 [15]가 있다. [15]의 실험은 단일 저자로부터 얻은 데이터베이스를 가지고 수행한 반면 [1, 18]의 실험은 여러 저자의 자료를 가지고 검사하였다. [16]에서는 오프라인 필기체 단어 인식을 광범위하게 조사하였다.
한 줄을 초기에 분할하여 발생하는 오류를 피하기 위해 [9]에서는 분할을 하지 않는, 즉 한 줄 전체를 인식 모듈에 넘기는 방법을 제안한다. 이 시스템은 단일 저자에 대해 검사되었고 통계적 언어 지식과 결합하여 유망한 인식 결과를 달성한다. [11]은 저자 수백 명으로부터 제작하고 보다 큰 데이터베이스에서 검사된, 저자에 무관한 제약 없는 글자 인식을 위한 발전된 시스템을 서술한다. 앞으로 나올 절에서 설명하는 시스템은 전처리와 특징 추출 방법이 약간 다른 비슷한 접근법을 사용한다. 그에 더해 이서체 글자 모형, 즉 글자 종류별 HMM 집합과 통계적 언어 모형의 사용 뿐 아니라 특징 벡터의 선형 판별 분석(LDA)을 적용한 결과도 조사한다.
훈련과 인식을 위한 입력 데이터는 완전한 영어 문장 데이터베이스에 의해 제공되고 각각은 Lancaster-Oslo/Bergen 말뭉치에 기반한다. [7] 저자 독립식 뿐 아니라 다수 저자에 관한 실험을 Bern 대학의 IAM에서 수집한 필기 형태 [10]의 데이터베이스를 사용하여 수행하였다. 데이터베이스 전체는 다양한 글 범주(출판 글자, 종교, 인기 설화, 픽션...)를 포함하고 500명 이상 저자의 1200개 이상 필기 형태로 구성된다. 우리는 250명 이상의 저자가 저자 독립식 실험을 위해 제작한 범주 [a..f]의 form과 여섯 저자가 다저자식을 적용하여 제작한 하위집합 c03을 사용한다.
우리의 시스템을 단일 저자식에서도 평가하기 위해 Senior [15]가 수집한 데이터베이스의 필기 서식으로도 실험을 수행했다. 이 데이터베이스는 한 저자가 쓴 25쪽으로 구성되며 웹에서 공개적으로 얻을 수 있다.1 두 데이터베이스의 필기 양식들은 256 그레이 레벨을 사용하여 300dpi 해상도로 스캔하였다. 그림 1에 각 데이터베이스의 예시가 있다.
필기 글자의 이미지가 주어진 상태에서 먼저 전체 이미지의 기울임을 교정하여 스캐닝 도중 양식의 비정확한 배치나 글을 쓸 때 지속적인 "밀려남(drift)"에 의한 오류를 바로잡는다. 따라서 이미지는 이진화된 이미지의 수평 밀도 히스토그램이 최소 엔트로피를 가지기 전까지 회전된다. [4] 이 전처리 단계를 IAM 데이터베이스의 서식에는 적용하지 않았는데 저자들이 양식 아래의 두 번째 시트에 자를 쓰도록 요청받았고 서식 자체는 스캐닝하면서 정확히 정렬되었기 때문이다.
글을 한 걸음 더 처리하기 위해 각각의 줄을 추출하여야 한다. 그러기 위해 이미지를 필기 라인의 핵심 영역(core region)들 사이를 분리한다. 핵심 영역, 즉 텍스트 라인의 위 베이스라인과 아래 베이스라인 사이의 영역은 threshold를 적용하여 찾는다. threshold는 줄들이 핵심 영역에 속하기 위해 필요한 전방foreground 픽셀들의 최소 개수를 나타낸다. 이 threshold는 이진화한 필기 영역의 수평 밀도 히스토그램을 이용하여 Otsu의 방법 [12]를 적용하면 자동으로 결정된다. 그 다음 수평 투영 히스토그램에서 각 줄의 검은 픽셀의 개수가 축적되고 이미지는 이 투영 히스토그램의 minima를 따라 핵심 영역별로 나눠진다.
다양한 저자의 글씨체 때문에 인식 작업을 단순화하기 위해 필기를 정규화한다. 특히 수직 위치, 기울임, 경사(slant)의 교정이 전처리에서 중요함이 드러났다. 그 이상의 정규화는 필기의 크기와 그레이레벨의 강도를 고려한다.
가끔 글씨체가 한 줄에서도 확 바뀌는 것에 동기를 얻어 우리는 각 줄의 수직 위치, 기울임, 경사를 국소적으로 교정한다. 따라서 각 행은 필기 조각segment들 사이의 공백을 탐색하여 분리된다. 믿을 만한 정규화 계수를 계산하기에는 너무 짧은 조각을 피하기 위해 threshold를 사용한다.
수직 위치와 기울임은 [15]에 서술된 접근법과 비슷한 선형 회귀(linear regression)를 이용한 베이스라인 측정법을 적용하여 교정한 반면에, 경사각 계산은 가장자리edge 방향에 기반한다. 그러므로 이미지는 이진화되고 수평 흑-백과 백-흑 전환을 추출하는데 수직 stroke만이 경사 측정에 결정적이다. canny edge detector를 적용하여 edge orientation 자료를 얻고 각도 히스토그램에 누적한다. 히스토그램의 평균을 경사각으로 쓴다.
필기의 크기를 정규화하기 위해 각 줄의 극값(local extrema) 개수를 세고 줄의 너비와의 비율을 얻는다. 비례(scaling) 계수는 이 비율에 선형인데 비율이 클 수록 글씨체는 더 좁아지기 때문이다.
마지막 전처리는 그레이 레벨을 정규화하여 다양한 펜과 배경색으로 인한 변화에 대처하는 것이다. 이미지의 그레이 레벨 구간은 어두운 강도는 0이 되고 밝은 쪽은 255가 되도록 조정한다. 말뭉치의 통상적인 한 줄에 이들 전처리를 적용한 결과가 그림 3에 나타나있다.
필기 줄을 전처리한 이미지는 특징 추출 단계의 입력 자료로 사용된다. sliding window 기법을 [11]이 설명하는 접근법과 비슷하게 적용한다. 우리의 경우 이미지의 높이와 열 네 개 크기의 창이 이미지의 왼쪽에서 오른쪽으로 두 열씩 겹치면서 움직이고 기하 추출의 쌍을 추출한다.
sliding window의 각 열에서 특징 7개를 추출한다. (1) 흑-백 변화 개수(windowed text image의 이진화 이후), (2) 베이스라인에 대한 강도 분포의 평균 값 위치, (3) 최상단 글자 픽셀에서 베이스라인까지의 거리, (4) 최하단 글자 픽셀에서 베이스라인까지의 거리, (5) 최상단과 최하단 텍스트 픽셀의 거리, (6) 최상단과 최하단 텍스트 픽셀 사이의 평균 강도, (7) 그 열의 평균 강도. 특징 (2)-(5)는 core size, 즉 하단 베이스라인과 상단 베이스라인(극대값을 통한 line fitting으로 계산)의 거리에 의해 정규화되어, 글씨 크기의 변동에 대해 더욱 굳건해진다. 그 후에 모든 특징은 윈도우의 네 열에 걸쳐 평균화된다.
특징 벡터들을 decorrelate하고 종류 분별력을 향상하기 위해 우리는 훈련 단계와 인식 단계에서 LDA를 통합한다. (cf. [6]) 원래 특징 표현을 일차 변환하고 특징 공간의 차원을 점차 줄이며 최적화한다. 일차 변환 A를 구하기 위해 훈련 자료의 클래스내 분산(within class scatter) 행렬 Sw와 클래스간 분산(between class scatter) 행렬 Sb를 이용하여 고유 벡터 문제를 해결한다. 이 분산(scatter) 행렬들을 계산하여 각 특징 벡터의 HMM 상태와 함께 이름표를 붙여야 한다. 우리는 먼저 일반적인 훈련을 수행하고 훈련 자료들을 상태를 기준으로 정렬한다. 분산 행렬을 구했으면 LDA 변환은 다음 고유 벡터 문제를 풀어 계산한다.
- 새싹교실/2012/세싹 . . . . 186 matches
이 외에 원할때 언제든 찾아오면 됩니다.
* 네이트온 : pkccr@nate.com
* 새싹교실이 ZeroPage에서 시행되는만큼 4F([ThreeFs] + Future Action Plan)에 맞게 feedback을 작성합니다.
* 예를 들어 지난주에 돈가스를 먹은 것에 대해 후기를 쓴다면 : "지난주에 강남에 가서 하나에 5만원하는 돈가스를 먹었다.(사실) 기대를 잔뜩 했는데 별로 맛이 없었다.(느낌) 강남은 땅값이 비싸서 값만 보고 엄청 맛있을거라 기대하면 안된다는 것을 알았다.(깨달은점) 다음에는 미리 인터넷에서 평을 찾아보고 별점이 높은 돈가스집을 찾아서 가봐야겠다.(앞으로의 계획)"
* 설마 이것보다 더 짧게 쓰진 않겠죠? 믿을게요
* 반드시 ZeroWiki에 작성해주세요. 하위 페이지를 만드는 것도 허용합니다.
* 여러분들이 배운 내용을 정리해주세요. 학습효과가 더 커집니다.
* 참고로 ZeroWiki는 MoniWiki Engine을 사용하며 Google Chrome이나 Mozila Firefox, Safari보다는 Internet Explorer에서 가장 잘 돌아가는 것 같습니다.
4) terminal 실행 -> .c 파일이 있는 경로로 이동 (ls와 cd를 이용합니다.)
* 협업의 중요성에 대해 이야기했습니다.
* 문서작성, 버전관리, 주석처리 등 아직은 실감이 안나겠지만 처음부터 습관을 들이는것이 중요합니다.
1) 자기 페이지 만들기 - 로그인후 자신의 이름으로 검색하여 페이지를 작성하시면 됩니다. 기본적인 프로필과 하고싶은말을 적어주세요.
* 새싹 첫시간을 가졌습니다. 다른 새싹반들과는 다른 커리큘럼으로 진행을 해야해서, 무엇을 수업해야할지 고민이 많습니다(멘붕 일보직전). 학교수업 듣는것처럼 하지말고 자유로운 분위기에서 진행되면 좋겠습니다. - [정의정]
* 새싹 첫시간을 가졌습니다. 캡스톤실도 처음 들어가봐서 많이 신기했습니다. 처음 듣는 용어, 처음 보는 화면들 생소한게 많지만 재미있을 것 같아서 기대가 됩니다. 숙제도 권장사항도 열심히 해보겠습니다. 앞으로 잘 부탁드립니다. - [권영기]
* 새싹 첫시간을 가졌습니다. 이곳 Wiki가 매우 흥미로웠고, 캡스톤실에 대해서도 궁금점을 해소하여 좋았습니다. 이름만 들어보고 좀처럼 볼 일이 없던 것들을 보게되어 좋았습니다. 앞으로 잘 부탁드립니다. - [김희성]
* 숙제를 수행하기 위해 버추얼 박스를 설치하였습니다. 설치파일이 정상적으로 실행 않는 문제가 있었는데 인터넷으로 강제 압축해제하는 방법을 듣고 7z으로 압축을 해제하는 방법으로 해결하였습니다. 데몬이 없어 iso파일도 7z으로 풀었습니다. - [김희성]
* 어... iso파일을 풀필요없이 버추얼박스에서 바로 마운트시키는건데.. 제대로 설치됬어? - [정의정]
* 그리고 실패하였습니다. 7z 젠장... 여러단계를 한번에 풀어주는거 같군요. 메뉴얼을 읽어보니 cmd로 풀라고 합니다. 시키는데로 하니 msi 파일이 나오는군요. -[김희성]-
* 숙제에 대해서 이야기 나누었습니다.
1) gcc 컴파일 옵션이 어려웠습니다. - gcc 컴파일 옵션의 대부분은 컴파일에 크리티컬한 것이 아니라 사용자에게 정보를 제공하는 것이 목적입니다. 그냥 안써도 되요 :D
- MoreEffectiveC++/Operator . . . . 175 matches
["MoreEffectiveC++"]
* C++는 타입간의 암시적 type casting을 허용한다. 이건 C의 유산인데 예를 들자면 '''char'''과 '''int''' 에서 '''short'''과 '''double''' 들이 아무런 문제없이 바뀌어 진다. 그런데 C++는 이것 보다 한수 더떠서 type casting시에 자료를 잃어 버리게 되는 int에서 short과 dougle에서 char의 변환까지 허용한다.[[BR]]
일단 이런 기본 변환에 대해서 개발자는 어찌 관여 할수 없다. 하지만, C++에서 class의 형변환은 개발자가 형변환에 관하여 관여할수 있다. 변환에 관하여 논한다.
* C++에서는 크게 두가지 방식의 함수로 형변환을 컴파일러에게 수행 시키킨다:[[BR]] '''''single-argument constructors''''' 와 '''''implicit type conversion operators''''' 이 그것이다.
* '''''single-argument constructors''''' 은 인자를 하나의 인자만으로 세팅될수 있는 생성자이다. 여기 두가지의 예를 보자
* '''''implicit type conversion operator''''' 은 클래스로 하여금 해당 타입으로 ''return'' 을 원할때 암시적인 변화를 지원하기 위한 operator이다. 아래는 double로의 형변환을 위한 것이다.
참 괜찮은 방법이다. 하지만 이 방법은 개발자가 의도하지 않은 형변환마져 시키는 것때문에 문제가 발생한다. 다음을 보자
'''operator<<'''는 처음 Raional 이라는 형에 대한 자신의 대응을 찾지만 없고, 이번에는 r을 ''operator<<''가 처리할수 있는 형으로 변환시키려는 작업을 한다. 그러는 와중에 r은 double로 암시적 변환이 이루어 지고 결과 double 형으로 출력이 된다.[[BR]]
뭐 이런 암시적 형변환을 막을려면, 형전환 시키고 하는 암시적 사용을 하지 않고, 다른 함수로 명시적으로 해 줄수 있다.
이런 예로 C++ std library에 있는 string이 char*로 암시적 형변환이 없고 c_str의 명시적 형변환 시킨다.
* '''''single-argument constructor''''' 는 더 어려운 문제를 제공한다. 게다가 이문제들은 암시적 형변환 보다 더 많은 부분을 차지하는 암시적 형변환에서 문제가 발생된다.
첫번째 생성자는 배열의 lowBound~highBound 사이로의 크기 제한자이고, 두번째 생성자는 해당 크기로 배열 공간 생성인데, 이 두번째의 생성자가 형변환을 가능하게 만들어서 무한한 삽질에 세계에 당신을 초대한다. (실제로 이런 의미로 써있다. --상민)
if( a == b[i] ) { // 헉스! 이런 "a"는 "a[i]" 써야 할 코드였다!. (개발자의 실수 의미, 한미 양국에서 같은 발음의 oops! --;; --상민)
a[i]와 b[i]가 같을때 이 코드를 수행한다.;
위의 조건을 만족하지 못하면 이 코드를 수행한다.;
7줄 ''if ( a == b[i] )'' 부분의 코드에서 프로그래머는 자신의 의도와는 다른 코드를 작성했다. 이런 문법 잘못은 당연히! 컴파일러가 알려줘야 개발자의 시간을 아낄수 있으리, 하지만 이런 예제가 꼭 그렇지만은 않다. 이 코드는 컴파일러 입장에서 보면 옳은 코드가 될수 있는 것이다. 바로 Array class에서 정의 하고 있는 '''''single-argument constructor''''' 에 의하여 컴파일시 이런 코드로의 변환의 가능성이 있다.
'''b[i]''' 는 int형을 반환하기 때문에 이렇게 즉석에서 맞춤 생성자로 type casting(형변환)을 컴파일러가 암시적으로 해줄수 있다. 이제 사태의 심각성을 알겠는가?
이런 애매한 상황을 피할수 있는 가장 효과적인 방법은 C++에서 등장한 새로운 키워드인 '''explicit''' 의 사용이다. 이 키워드가 붙은 생성자로의 형변환에서는 반드시 명시적인 선언이 있어야 가능하다. 즉 위의 코드를 다시 작성하여 '''explicit'''의 사용을 알아보고 문법상 유의 사항도 알아 보자
if ( a == Array<int>(b[p])) ... // 이 코드 역시 올바르다.
// 하지만 다른 개발자가 해석에 사용자의 의도가 약간 의문이 간다.
- 이영호/64bit컴퓨터와그에따른공부방향 . . . . 172 matches
이 경로를 거쳐 컴퓨터를 접해온 사람들의 실력은 현재로 생각하면 굉장하다.
연륜과 많은 공부 때문이 아니라 컴퓨터 구조 자체에 대한 깊은 이해를 바탕에 둔 듯하다.
내가 이러한 방식으로 공부를 하면 그들을 따라 잡을 수 있을까? 결코 불가능하다.
그들의 실력은 지금 32비트 공부 세대들이 생각하기에 천재 그 이상이다.
윈도우 커널을 조사하고 그것을 이용하다니.
그들과 나의 사이엔 큰 장벽이 있음을 실감한다.
하지만 많은 양이므로 불가능 하다. 그전에 64bit체제가 완성 될 것이므로.
이것은 패러다임을 따르는 입장에서 32bit를 버려야한다는 뜻이된다.
앞으로 내가 걸을 길은 그들과 같은 길을 걷는 것이다.
내가 걸어야할 길은 지금과 같은 Network, Linux Kernel이 아니라
Assembly이다. Assembly를 현재 나와 있는 가장 발전된 언어라 생각하고 Assembly를 누구보다 깊게 파고 들어야한다.
이젠. Assembly와 함께 내가 그나마 깊게 아는 C언어를 파고들겠다.
몇가지 질문을 한다면 (활동 영역을 아마 시스템 프로그래머 분야로 잡은 것 같아서, 좋아하는 분야를 공부하는 것에 대해서는 큰 이견이 없습니다.)
* 32비트에서 64비트 컴퓨터로 바뀔 경우, 어플리케이션 개발자들의 경우 기존 개발 방식에서 많은 차이가 생길까요? 32비트에서 64비트 컴퓨터로의 전환이 개발자들의 페러다임의 전환을 의미할까요?
* C++ 혹은 더 나아가 C++ 보다 속도상으로 느린 스크립트 언어를 쓰는 사람은 C++ 개발자들보다 덜 우수할까요? (위의 Assembly > C++ 로 평가한것으로 봐서는, 퍼포먼스와 하드웨어 제어 용이성 관점에서 Assembly 를 평가한 것 같습니다만) C++ 개발자들 혹은 더 나아가서 Java 나 Python 과 같은 개발자들이 Assembly 와 같은 low level 제어성을 포기하는대신 얻어간 것은 어떤 것일까요?
└저도 C (배우게 된다면 Assembly도.ㅎ)를 좋아 합니다.ㅎ 무엇보다 빠른 연산속도와 하드웨어 제어(해본적은 없지만), 포인터를 통한 메모리 접근등 좋은 점이 많아요.^^* 그렇지만 예를 들어 1만 팩토리얼을 출력하는 프로그램을 작성하시오. 라고 문제가 주어졌을때, C로 짜면 한나절이지만 파이썬으로 작성하게 되면 5분도 안걸리게 됩니다. 물런 연산속도가 느리기는 하지만 말입니다.^^ 이런 점에서 봤을때, 속도가 중요하다거나 특화된 프로그램을 작성해야할 경우에는 C와 같은 언어가 좋지만 보편적으로 사용하는 워드프로세서라든지 기타 응용프로그램이나, 제작해야할 프로그램의 제작시간이 짧을 경우에는 상위레벨의 언어가 좋을거라고 봅니다.^^ 뭐 이렇게 말은해도.. 사실 서로의 장점을 그때그때 맞춰서 섞어쓰는게 가장 좋지 않을까요?ㅎ (게임을 만들때 하위레벨의 언어로 하드웨어를 직접 사용한다 하더라도, 다이렉트를 이용하지 각각의 그래픽 카드에 맞춰서 프로그램을 만들지 않는것과 비슷한것 같아요.^^) 이상 지나가는 행인1의 잡다한 생각이었습니다.^^* - [조현태]
(우선 제 지문의 맥락을 담은 질문부터. 과연 Java와 Python 개발자들이 Assembly+C개발자와 같이 좋은 효율의 다른언어 컴파일러를 만들 수 있을까요. 현재 함수보다 좋은 함수를 생각해 냈는데 그것을 구현하려면 low level의 지식이 필요한데, 자신은 Java와 Python 들만 알고 Assembly를 모른다면 어떻게 해야할까요?)
음. 아쉽게도 그런 용도로 Assembly를 평가 한게 아닙니다. 우수하고 못하다의 평가는 여기서도 나오는군요. 한가지만 파면 성공한다와 같은 맥락이랄까요... 저는 미래의 직장보다도 현재의 지식욕을 채우고 싶을 뿐입니다. 누구보다도 이것에 대해 많이 알고 싶고 또한 그렇게 되길 바랄뿐입니다. 과연 Java나 Python등을 공부하다보면 컴퓨터에 대한 가장 기초적인 지식들을 얻기 쉬울까요? 그렇기 때문에 Assembly에 대한 직접적인 접근을 하려고 하는 것입니다. 지식욕이 아니더래도 현직에 계시는 프로그래머분들께 컴퓨터에 대한 기초가 부족하고 프로그램만 짤 줄 아는 신참 직원들은 항상 한계에 다다르면 좌절한다라는 말을 들은적이 있습니다. 한번쯤은 생각해 볼 문제입니다. Assembly > C++을 평가한 것은 이런 맥락입니다. 컴퓨터에 대한 기초가 있느냐 없느냐. Assembly를 만지고 C++을 만진 사람의 경우는 모르겠지만 C++만 만지고 Assembly를 공부하지 않은 사람의 한계는 언젠가는 드러나게 되죠.
전 어제 제가 평생 해도 따라가지 못할것 같은 사람을 보았습니다. 그 사람과의 벽이랄까요. 물론 그분이 연륜이 있으시지만 컴퓨터 자체에 대한 기초적이고 깊은 지식은 따라가질 못하겠습니다. 그분의 소싯적에 C언어로만 짠 프로그램들은 컴퓨터에 대한 깊은 이해가 없으면 불가능한 것들이었습니다. 그분이 Assembly를 배우지 않고 C를 처음부터 만졌다면 어땠을까요? 그런 프로그램들을 짤 수 있었을까요? 이상, 우물 밖으로 튀어나온 개구리였습니다.
(64 비트로 변할 때에는 프로그래머가 3가지 아키텍쳐(32비트 때에는 32비트 아키텍쳐 한가지)에 대한 것을 모두 생각해야하기 때문에 32비트만 취급할 수는 없겠죠. 호환성때문에. 결국 64비트 아키텍쳐에도 공부할 시간을 할애해야하고 32비트의 공부시간이 줄어든다는 말이었습니다.) - [이영호]
- 정모/2011.4.11 . . . . 169 matches
* 참여자 : [송지원], [김준석], [이원희], [김수경], [서지혜], [정의정], [강성현], [권순의], [윤종하], [신기호], [김태진], [장용운], [정진경], [송치완]
* 어떤 것이 거짓말인지 알 것같으면 손을 들고 맞춘다.
* DesignPatterns에 대해 궁금하다면 ZeroWiki의 관련 페이지를 읽어보세요.
* 지난주엔 키보드 이벤트 처리하는 것 때문에 헤맸다.
* 테스트 게시판이기도 함ㅋㅋ - [서지혜]
* 지난주엔 판타지 배경이 나오는 책을 읽고 이야기했다. 판타지 요소는 많아도 판타지 배경은 찾기가 힘들었다.
* 영화에 대해서도 이야기했다.
=== 일일 퍼실리테이터 모집 ===
* 그 날의 정모를 처음부터 끝까지 자기가 원하는대로 진행해볼 수 있는 퍼실리테이터를 신청받습니다. 관심있는분은 홈페이지 자유게시판에 글을 남기거나 회장에게 연락주세요.
* 정모 퍼실리테이터는 아니지만 정모 중에 자기가 진행해보고 싶은 활동이 있다면 주저없이 제안해주세요. 이것 역시 자유게시판에 글을 남기거나 회장에게 연락 주시면 됩니다.
* 4월 30일 토요일 오후 1시부터 [https://tumblbug.com/letstudent LETStudent]가 있습니다. 매우 재미있는 시간이 될 것 같아요. 함께가요~
* 멘토와 함께 프로젝트도 진행하고, 금전적 지원도 받을 수 있습니다. 5월 13일까지 지원할 수 있으니 많이들 지원하세요!!
* 위키엔 링크가 정말로 중요합니다. 가급적이면 페이지 작성하실 때 관련된 다른 페이지를 링크해주세요.
* 종하 팀 : [서지혜], [윤종하], [신기호], [장용운], [송치완], [김준석], [이원희]
* 제로페이지의 큰 행사(지피 학회지(?), 데블스 캠프, ?)를 이끌어갈 스태프를 모집합니다.
* [http://zeropage.org/ ZP홈페이지]에서 신청해주세요
* 관련 페이지 : 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이죠. 항상 늦지만 이렇게라도 정모에 참석해서 후기를 남길수있는게 가장 즐겁습니다. 다음주에는 즐거운 소풍준비를 해가야겠군요 - [김준석]
* Ice Breaking .. 재밌는데 너무 시간이 오래 걸리는거 같습니다. 이거 오래하니까 뒤에 준비된 순서를 시간에 쫓겨서 하네요. 진경이 맨날 기숙사 엘리베이터에서 어색하게 인사만 하고 지나갔는데.. 오늘 보니 반가웠습니다. OMS의 영화에 나온 음악 하니까 최근에 영화관에서 레드 라이딩 후드 보다가 MUSE의 노래가 나오길래 깜짝 놀란 기억이 납니다. 영화도 되게 재밌었어요. 그리고 네이트 주소를 적어두질 못했는데 다시 한번 올려주시면 저도 파일방 이용을 좀...ㅎ 다음주 소풍 정말 기대됩니다. 항상 정모 나올 때마다 느끼는거지만 뭔가 하고 간다 라는 느낌을 확실히 받는거 같네요. 정모 준비하느라 고생하시는 회장님 감사합니다~ - [정의정]
- PairProgramming . . . . 168 matches
하나의 컴퓨터에서 둘이서 서로 상의하면서 번갈아가며 프로그래밍을 하는 방법.
* Pair Refactoring - 꼭 소스 코드가 아니더라도 위키 페이지에 대한 ["문서구조조정"] 을 하는 경우에도 적용할 수 있다. 특히, 해당 토론이 벌어진뒤 양론으로 나누어졌을 경우, 각 의견 지지자들이 Pair 로 문서구조조정을 할때 이용할 수 있다.
* 5분 Pair-Change - 장과 단이 존재하긴 하는데. 장점으로 본다면, 자신의 프로그래밍 차례가 빨리 돌아오면서 Pair 끼리의 Feedback 이 빠르다는 점에서 집중도가 높다는 점이 있다. 단, Junior 의 경우 자신의 사고가 성숙해질 시간을 방해할 수 있다. 이 경우 5분으로 시작, 점차적으로 Change 의 기간을 늘려주는 방법이 있다.
* 코드 에러율의 감소 - 내가 간과하고 넘어가기 쉬운 에러들에 대해서 지적이 빠르다.
* Protocol Analysis, 지식의 전달 - Seminar:CognitivePsychology 참조. 다른 사람의 사고과정을 관찰하고, 또한 자신의 사고과정을 다른 사람으로 하여금 관찰할 수 있게 해준다. 이는 자신의 프로그래밍 과정중 잘못된 부분을 고치는데 도움을 준다.
* 해당 시간 내 집중도의 상승, Pair Pressure - 평소 프로그래밍 외의 것(프로그래밍 중 음악듣기, 쓸데없는 웹서핑, 메일 읽기)에 대한 잡음을 없앤다. 작업 자체에만 몰두하게 해준다. ["TestDrivenDevelopment"] 와 상호작용이 빠른 언어(["Python"] 등..)를 이용하면 Feedback 이 빠르므로 집중도가 더 높아진다.
* Pair 중 Expert는 Junior에게 많은 설명을 해줘야 한다? - 이는 Junior 의 Feedback 을 보고 결정하는 것이 좋다. 처음부터 Expert 가 꼭 '선생님'이 될 필요는 없다.
* Junior : Junior Pair 는 의미가 없다? - 결과물에 상관하지 않는 학습의 경우 그 의미가 있다. Junior 의 실력 한계 내에서의 Output 으로도 의미가 있다. 처음 프로그래밍을 익히는 사람에게 Pair 를 하는 것 자체가 새로운 학습경험이 된다.
PairProgramming 의 다른 적용 예로서 PairSynchronization 이 있다.
동문서버 프로그래밍 팀의 인수인계용으로 이용되었었다. PP를 주로 하고 한두번의 VPP를 했다. 해당 소스를 같이 만들어가면서 기존의 프로그램을 설명했다.
Expert : Junior . 즉, 해당 분야에 대한 전문가 : 초심자 의 문제이다. 이 경우 그 진행이 늦어질 수 있다. (Expert : Expert는 최고의 효율성을 가진다. 물론 이것도 열린 마음을 바탕으로 한다. Junior : Junior 도 나름대로(?) 빨리 움직인다. (제대로 움직인다는 보장은 못한다. -_-;)) 그리고 Expert가 해당 프로그래밍에 대한 답 (코드)을 이미 알고 있는 경우 Expert의 집중도와 긴장감을 해치게 된다.
이 때에는 Expert는 놀지말고 (-_-;) Observer의 역할에 충실한다. Junior 의 플밍하는 부분을 보면서 전체 프로그램 내의 관계와 비교해보거나, '자신이라면 어떻게 해결할까?' 등 문제를 제기해보거나, reference, 관련 소스를 준비해주는 방법이 있다.
또 하나의 문제점으로 제기된 것은, Junior 가 Expert의 권위에 눌릴 수 있다는 것이다. Junior 는 질문에 용감해야 한다. Expert는 답변에 인색해서는 안된다. 열린 마음이 필요한 일이다. (Communication 과 Courge 는 XP 의 덕목이다. ^^)
전문가라 하더라도 프로그래밍의 실력과 다른사람에게 답변해주는 능력은 다르다. 커뮤니케이션 능력은 실제 도메인에 대한 지식과는 다를 수 있다. Expert 는 Junior 에게 설명을 해줌으로서 기존의 지식에 대한 정리를 해 나갈 수 있다. Junior 는 혼자서 삽질하는 것보다 더 빨리 필요한 지식에 대해 접근할 수 있다.
간단한 아날로그 시계를 만드는 프로그램이였다. MFC + CppUnit 로 작업했다.
* Pair 의 진행을 이끌어가는 것 - 프로그래밍의 흐름이라고 해야 할까. 디자인을 어느정도 선정도로 맞추고 어떠한 문제를 풀 것인가에 대한 약간의 선이 필요할 것 같다. 이 경우에는 초반 디자인이 허술했었다는 약점이 있었다. '전체적인 관점에서 무엇무엇을 하면 프로그램이 완성될 것이다' 라는 것. UserStory 만 생각하고 EnginneringTask 를 간과한 것이 큰 문제였다. (그때 EnginneringTask 에 대한 개념이 없었었다는. 어디서 함부로 주워만 지식. --; 사고를 하자 사고를. -_-)
* ExtremeProgrammingPlanning 이라는 책을 보면 해결책을 구할 수 있을 것 같다. (Xp 책들의 장점이자 단점이라면 얇은 두께의 분책이려나.. --a)
* Pair 의 분배 - TFP를 공부하느냐고 시작한 것이였던지라, 상대적으로 CppUnit 에 익숙하지 않은 사람에게 코딩을 주도하게 했다. 한 1주일정도 되는 프로젝트라면 Junior로 하여금 경험을 쌓게 함으로써 오히려 장점으로 작용할 수도 있을 것 같다. 하지만, 역시 적절하게 분배를 했었어야 할 것 같다.
* 집단 삽질. --; - 이것은 헤프닝이라고 보는 것이. -_-;; Test Code 에서 둘이 라디안 구하는 공식을 거꾸로 쓰고 '왜 값이 틀리다고 하는거야!' 하며 1시간을 삽질했다는 후문이 있다는. --;
* 하지만 UnitTest도 그렇듯이, 많은 장점을 가진 방법을 완벽하지 않다는 이유로 사용하지 않는다는 것은 아쉬운 일일 것이다.
- 위키설명회2005/PPT준비 . . . . 167 matches
[위키설명회2005]페이지가 너무 커지는 것 같아서 조금 쪼개 보았습니다.
==== 제로페이지 란? ====
제로페이지란 절대 선배들이 후배들을 가르치는 곳이 아니다...
자신이 하고 싶은 공부를 뜻이 같은 여러 학우들과 모여 서로 도움을 주며 스터디를 하는 곳이다.
제로페이저들 사이에 알게모르게 피어나는 정... 공부를 혼자만 하는 것이 안이라 서로 도와가면서
남의 의견과 생각을 들으며 공부를 할 수 있는 곳이다. 서로의 유대가 깊어지며 무엇보다도 생각의 폭이
넓어진다. 위키를 보면 알겠지만, 항상 활발하게 움직이는 살아있는 학회다. 늘 변화한다. 새로운 것을 추구한다.
==== 제로페이지의 의미 ====
zeropage란 명칭은 91학번 이찬근 선배님이 창안.
6502 는 16bit addressing이 가능한 CPU 였습니다. 즉, $0000 ~ $FFFF 였죠.
6502 는 13가지 메모리 access 방식이 있었는데, 그중 하나가 zero page addressing 입니다.
$0000~$00FF 가 됩니다. 이렇게 주소지정 을 해서 더 빠른 access 가 가능했다고 합니다.
이 메모리 주소 영역을 zero page 라고 하는군요.
==== 제로페이지의 역사 ====
==== 제로페이지에서는 뭘 할까? ====
ZeroPage 는 중앙대학교 컴퓨터공학과 내의 학술모임으로 인력의 장이다.
회장이 장소를 미리 잡는다.
시간과 장소를 과게시판, 과방, 위키, 엘레베이터에 미리 공지하고, 당일에 늦게 오는 사람을 위해 구피에 모이는 장소를 공지한다.
중앙대학교 컴퓨터공학과 학생에게 가입할 자격이 주어진다.
데블스캠프를 1회 이상 참여한 사람
- 새싹교실/2011/데미안반 . . . . 160 matches
||이름||3/16||3/23||3/30||3/31||4/7||4/27||5/4||5/11||5/18||5/25||6/8||
||이준영|| O || O || △ || O || O || O || O || O || O || O || O ||
* 선형대수학을 배우는 이유?
||수학||선형대수학||이산수학||수치해석||
으로 위쪽으로 갈 수록 상위개념이라 합니다. 선형대수학 때 배운 내용의 일부가 수치해석(3-1학기)에 들어있습니다. 그리고 그래픽스(4-1학기) 수업에서 수치해석을 전제로 수업을 합니다. 수업시간에는 '''선형대수학을 포기하라'''했었는데, C라이브러리로 그래픽을 만드는 식의 컴퓨터 그래픽스 수업에 관심이 있으신 분은 '''절대 포기하지 마세요 ㅎㅎ'''
* 텅 빈 공간에 ; 를 해도 오류 없이 실행되는 이유?
* ; 는 문장의 끝을 나타내므로, printf("Hello World"); 처럼 어디까지 내용이 있다 나타내는 것처럼 빈 공간도 빈 공간 그대로 인식이 되지 않았나 싶어요.
* 아무래도 성과가 바로바로 눈에 보이게 출력하여 확인할 수 있는 함수이다 보니, 초보자가 바로 이해하기 어려움에도 불구하고 처음에 배우게 되는 듯 합니다.
* C언어 전이 B언어 였는데 '''A언어'''도 있나요?
* A언어 : ALGOL을 말합니다. 고급 프로그래밍 언어(어셈블리나 기계어를 저급 프로그래밍 언어라고 합니다)로 각광받던 포트란ForTran에 대항하기 위해 유럽을 중심으로 개발된 프로그래밍 언어입니다. ALGOL은 Algorithm Language의 약자로서, 이름 그대로 알고리즘 연구개발을 위해 만들어졌습니다. 하지만 ALGOL은 특정한 프로그래밍 언어를 지칭하기 보다는 C언어나 파스칼과 같이 구조화된 프로그래밍 언어를 지칭하는 말(ALGOL-like programming language)로 쓰입니다. [http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=1040101&docId=68855131&qb=Q+yWuOyWtCBC7Ja47Ja0IEHslrjslrQ=&enc=utf8§ion=kin&rank=1&search_sort=0&spq=0&pid=ghtBIz331ywssZ%2BbORVssv--324794&sid=TYBj6x1TgE0AAE@GUeM 출처 링크! 클릭하세요:)]
* 기계어로 번역된 파일이 .obj 파일인데 왜 이상한 영어들로 되어있나요?
* 메모장으로 열어서 글이 깨졌어요 ㅠㅠ 연결프로그램을 Visual Studio로 하면 번역이 정상적으로 되어있을거에요. 숫자가 010100 하면 너무 길어서 16진수로 표현이 되어있는듯 합니다.
* [이준영] - C언어의 기초적인 내용에 대해 다시 배울 수 있었습니다. 생각나는거로는 %d가 생각나네요.
* [강소현] - 열성적으로 질문을 해주어서 좋았습니다. A언어도 있는지의 여부를 물었었는데 저는 몰랐었는데 실제로 존재하더라구요 ㅎㅎ 가벼운 내용이라도 의문이 드는 사항이라면 언제든지 위키나 문자로 질문해주면 최대한 답변을 달도록 노력하겠습니다. 다음 시간에는 이전에 실습했던 것의 복습과 scanf 이후로 나갈 예정입니다. PPT 준비에 디자인도 없이 급하게 만든 티가 났었는데, 다음 시간에는 조금 더 준비를 해가겠습니다:)
* [박성국] - 이 수업이 C프로그래밍 강의에서 이해 안되었던 부분을 이해 할 수 있게 도와졌어요^^ 앞으로도 모르는것 많이 알려주세요~.
assert(val1 == 7); //val1이 7인 경우 정상 종료, 아닌 경우 오류 출력
assert(val2 == 4); //val2이 4인 경우 정상 종료, 아닌 경우 오류 출력
assert(val++ == 10); //val++한 값이 10과 같으면 정상작동. 아니면 오류 출력
assert(++val == 12); //++val한 값이 12과 같으면 정상작동. 아니면 오류 출력
assert(val1 <= val2); //val2값이 val1값보다 크거나 같으면 정상작동. 아니면 오류 출력
- SmallTalk/강좌FromHitel/강의3 . . . . 149 matches
을 실행하는 방법에 대해서 알아보았습니다. 이제 여기서는 여러분이 앞으로
이제까지 우리는 Dolphin Smalltalk를 사용하면서 저장 기능을 사용할 수 없
었습니다. 이는 우리가 아직 등록 절차를 거치지 않았기 때문입니다. Object
배포하면서, 그를 사용하는 사람들이 무료로 등록번호를 발급 받아서 사용하
도록 하고 있습니다. 이는 Dolphin Smalltalk를 사용하는 사람들이 어떤 계
층인지, 그리고 이 사람들이 어떤 것을 원하는지를 조사하기 위한 수단이라
고 생각합니다. 또한 사용자 지원을 위해서도 필요한 사항이라고도 합니다.
등록은 무료입니다. 그러므로 인터넷을 사용할 수 있는 사람이라면 바로 등
아야 합니다. 등록 번호를 발급 받는 방법은 WWW(World Wide Web) 페이지를
사용하는 방법과 전자 우편(e-mail)을 사용하는 방법이 있습니다.
행시켜서 Dolphin Smalltalk를 종료합니다. 이 때 현재 Smalltalk의 상황을
저장하겠느냐고 묻는데, 이 물음에 <예>라고 대답합니다. 그러면 "Locked
Image"라는 제목이 붙은 창이 열릴 것입니다. 여기서는 왜 등록을 해야 하는
여기서 Username 입력 상자에 여러분의 영문 이름을 넣습니다. 그러면 창 아
터넷에 연결되어있는지 확인하고 이어서 이 단추를 누르면 Object Arts사의
"등록 페이지"로 이동하게 될 것입니다.
이 페이지에는 몇 개의 입력 항목이 있습니다. 간단하게 이 항목들에 대해서
* First Name: 여러분의 이름을 넣습니다. 저의 경우는 ChanHong Kim으로 표
* Last Name: 여러분의 성씨를 넣습니다. 저의 경우에는 Kim이겠지요?
만 외국의 경우는 거꾸로 입니다. Street Address에는 여러분의 동 이름
- 정모/2011.3.21 . . . . 146 matches
* 참가자 : [박정근], [신기호], [황현], [강소현], [박성현], [강성현], [서지혜], [임상현], [김수경], [송지원], [김준석], [이승한], [권순의]
* 다음에는 조금 더 스피디하게 진행해보자는 의견이 나왔습니다 :)
* 격주로 진행되어 이번주는 모이지 않음.
* 개강 후 한번도 모이지 않음.
* 이번주부터 토요일 2시에 모이기로 함.
* [김수경], [서지혜], [정의정]이 함께하는 스터디인데 [정의정] 학우가 오지 않음.
* wiki에 페이지를 만들테니 참여하고싶은 학우는 이름을 써주세요
* [ZeroWiki/제안] 페이지에서 ZeroWiki에 대한 각종 제안을 받습니다.
* 현재 ZeroWiki Url에 대한 제안이 올라왔습니다. 가서 읽어보시고 의견을 달아주세요.
* 벌써 3월의 마지막 정모를 해야할 때가 왔네요. 시간이 빠릅니다. 다음주 정모에서 ZeroPage의 3월을 돌아보는 시간을 갖겠습니다.
* 새싹 트레이드가 진행됩니다.
* 이번주에 집부 모집으로 인해 정모 참여율이 약간 저조하기도 했고, 아직 학생들과 수업을 진행하지 못한 반이 많아 트레이드는 다음주에 진행됩니다.
* 신입생 설명회에서 ZeroPage 활동 안내를 받고 싶다고 의사를 밝힌 새내기들에게는 문자로 활동 안내 연락이 감.
* 그 외에도 새싹 교실 참여 학생이 ZeroPage 활동에 관심을 보이면 정모에 나올 수 있도록 선생님들께서 개별적으로 안내를 해 주세요.
* 3월 회고가 새내기가 참여할 구석이 별로 없는 활동이고
* 새내기 앞에서 새싹 트레이드를 진행하기 난감하며
* [이승한] 선배님의 Emacs & Elisp 세미나
* 관련 페이지 : ThreeFs, [http://no-smok.net/nsmk/ThreeFs ThreeFs(노스모크)], [http://no-smok.net/nsmk/FiveFs FiveFs(노스모크)]
* 예를 들어 지난주에 돈가스를 먹은 것에 대해 후기를 쓴다면 : "지난주에 강남에 가서 하나에 5만원하는 돈가스를 먹었다.(사실) 기대를 잔뜩 했는데 별로 맛이 없었다.(느낌) 강남은 땅값이 비싸서 값만 보고 엄청 맛있을거라 기대하면 안된다는 것을 알았다.(깨달은점) 다음에는 미리 인터넷에서 평을 찾아보고 별점이 높은 돈가스집을 찾아서 가봐야겠다.(앞으로의 계획)"
* Emacs & Elisp 후기 :의 소개를 보면서 다양한걸 사용하는 승한형에게 잘맞는 프로그램이라 생각됬다. 그 프로그램을 사용하기에 다양한걸 좋아하기도 하고 내가 가장많이쓰는건 Eclipse와 그걸 지원하는 플러그인이지만 여러가지를 개발하는 개발자에게 저것은 좋은프로그램이라 생각된다. 하지만 나에게는 아직도 Eclipse를 다루는것조차 아직은 버겁기에 우선 Eclipse를 하자는생각이 들었다.
- Gof/Mediator . . . . 141 matches
MediatorPattern은 객체들의 어느 집합들이 interaction하는 방법을 encapsulate하는 객체를 정의한다. Mediator는 객체들을 서로에게 명시적으로 조회하는 것을 막음으로서 loose coupling을 촉진하며, 그래서 Mediator는 여러분에게 객체들의 interactions들이 독립적으로 다양하게 해준다.
Object-Oriented 디자인은 객체들 사이의 행위 분산을 장려한다. 그런 분산은 객체들 사이에 많은 연관을 지닌 객체 구조로 나타날 수 있다. 최악의 경우에는 모든 객체가 결국 모든 다른 객체들을 알게 된다.
비록 하나의 시스템에 많은 객체들이 참여하는 것이 일반적으로 재사용성을 강화할지라도 interconnections이 늘어나는 것은 재사용성을 감소시키려는 경향이 있다. 너무나 많은 객체간의 상호 연결들은 객체들의 독립성을 떨어뜨릴 수 있다. - 그런 시스템은 마치 완전히 통일된 것 같이 행동한다.
게다가 하나의 시스템에 많은 객체들이 참여하는 것은 어떤 의미있는 방법으로 시스템의 행위를 바꾸는 것을 어렵게 한다. 왜냐하면, 행위는 많은 객체들 사이로 분산되어 졌기 때문이다. 결론적으로 당신은 아마 그런 시스템의 행위를 customize하기 위해서 수많은 subclass들을 정의해야 할 것이다.
예로써 어떤 GUI상에서 다이얼로그 박스의 구현을 고려해보자. 하나의 다이얼로그 박스는 작은 도구들(버튼, 메뉴, 입력 필드)의 모음을 표현하는 하나의 윈도우를 사용한다.
대게 다이얼로그의 도구들 사이에는 어떤 dependency들이 존재한다. 예를 들면, 어떤 버튼은 어떤 입력 필드가 비어있을때는 비활성화 되어있는다. list box라 불리는 선택 목록에서 객체를 선택하는 것은 입력필드의 내용을 바꿀 것이다. 바꿔말하면, 입력필드에 문자를 타이핑하는 것은 자동적으로 리스트 박스에서 하나이상의 대응대는 입력을 선택하는 것이다. 한번 텍스트가 입력 필드에 나타나면, 다른 버튼들은 아마 활성화 될것이다. 그래서 사용자가 텍스트로 어떤 일을 하게 하게할 것이다. 예를 들자면, 관련있는 것을 삭제하거나 변경하거나 하는 따위의 일을 할 수 있을 것이다.
다른 다이얼로그 박스들은 도구들 사이에서 다른 dependency들을 지닐 것이다. 그래서 심지어 다이얼로그들이 똑같은 종류의 도구들을 지닌다 하더라도, 단순히 이전의 도구 클래스들을 재사용 할 수는 없다. dialog-specific dependency들을 반영하기 위해서 customize되어져야 한다. subclassing에 의해서 개별적으로 도구들을 Customize하는 것은 지루할 것이다. 왜냐하면 많은 클래스들이 그렇게 되어야 하기 때문이다.
별개의 mediator 객체에서 집단의 행위로 encapsulate하는 것에 의해서 이런 문제를 피할 수 있다. 하나의 mediator는 객체들 그룹 내의 상호작용들을 제어하고 조정할 책임이 있다. 그 mediator는 그룹내의 객체들이 다른 객체들과 명시적으로 조회하는 것을 막는 중간자로서의 역할을 한다. 그런 객체들은 단지 mediator만 알고 있고, 고로 interconnection의 수는 줄어 들게 된다.
예를 들면, FontDialogDirector는 다이얼로그 박스의 도구들 사이의 mediator일 수 있다. FontDialogDirector객체는 다이얼로그 도구들을 알고 그들의 interaction을 조정한다. 그것은 도구들 사이의 communication에서 hub와 같은 역할을 한다.
다음 interaction diagram은 객체들이 리스트박스의 선택에서 변화를 다루기 위해 협동하는 방법을 묘사하고 있다.
여기서는 list box에서의 선택이 entry field 로 전달되고 있는 이벤트들의 흐름이 있다.
1. 리스트 박스가 그것의 director에게 그것이 변했다고 말한다.
4. 이제 입력 필드는 어떤 문자를 포함한다. director는 행동(글씨를 굵게 하거나 기울이게 하는 따위의 행동)의 초기화를 위해 버튼을 활성화 한다.
director가 리스트 박스와 입력 필드 사이의 조정하는 방법을 요약하자. 도구들은 서로 단지 간접적으로 director을 통해서 통신한다. 그들은 서로에 대해서 몰라야 하며, 그들 모두는 director를 알아야 한다. 게다가 행위는 한 클래스에 지역화 되어지기 때문에 행위는 클래스를 확장하거나 교체함으로써 변하거나 바꿔질 수 있다.
DialogDirect는 다이얼로그의 전체 행위를 정의한 추상 클래스이다. client들은 화면에 다이얼로그를 나타내기 위해서 ShowDialog 연산자를 호출한다. CreateWidgets는 다이얼로그 도구들을 만들기 위한 추상 연산자이다. WidgetChanged는 또 다른 추상 연산자이며, 도구들은 director에게 그들이 변했다는 것을 알려주기 위해서 이를 호출한다. DialogDirector subclass들은 CreateWidgets을 적절한 도구들을 만들기 위해서 override하고 그리고 그들은 WidgetChanged를 변화를 다루기 위해서 override한다.
MediatorPattern은 이럴 때 사용한다.
* 어떤 객체들의 집합이 잘 정의되었지만, 복잡한 방법으로 통신할 때. interconnection의 결과는 구조화되지 못하고 이해를 어렵게 한다.
* 어떤 객체를 재사용하는 것이 그것이 많은 다른 객체들과 관련이 있고 통신을 하기 때문에 어려울 때.
* 몇몇의 클래스들 사이에 분산되어진 하나의 행위가 많은 subclassing하는 작업 없이 customize되어져야 할 때.
전형적인 객체 구조는 이렇게 보일 것이다:
- Gof/Facade . . . . 138 matches
서브시스템의 인터페이스집합에 일관된 인터페이스를 제공한다. Facade는 고급레벨의 인터페이스를 정의함으로서 서브시스템을 더 사용하기 쉽게 해준다.
서브시스템을 구축하는 것은 복잡함을 줄이는데 도움을 준다. 일반적인 디자인의 목적은 각 서브시스템간의 통신과 의존성을 최소화시키는 것이다. 이 목적을 성취하기 위한 한가지 방법으로는 단일하고 단순한 인터페이스를 제공하는 facade object를 도입하는 것이다.
예를 들기 위해, 어플리케이션에게 컴파일러 서브시스템을 제공해주는 프로그래밍 환경이 있다고 하자. 이 서브시스템은 컴파일러를 구현하는 Scanner, Parser, ProgramNode, BytecodeStream, 그리고 ProgramNodeBuilder 클래스를 포함하고 있다. 몇몇 특수화된 어플리케이션은 이러한 클래스들을 직접적으로 접근할 필요가 있을 것이다. 하지만, 대부분의 컴파일러 시스템을 이용하는 클라이언트들은 일반적으로 구문분석(Parsing)이나 코드 변환 (Code generation) 의 세부적인 부분에 대해 신경쓸 필요가 없다.(그들은 단지 약간의 코드를 컴파일하기 원할뿐이지 다른 강력한 기능을 알 필요가 없다.) 그러한 클라이언트들에게는 컴파일러 서브시스템의 강력하지만 저급레벨인 인터페이스는 단지 그들의 작업을 복잡하게 만들 뿐이다.
이러한 클래스들로부터 클라이언트들을 보호할 수 있는 고급레벨의 인터페이스를 제공하기 위해 컴파일러 서브시스템은 facade 로서 Compiler class를 포함한다. 이러한 클래스는 컴파일러의 각 기능성들에 대한 단일한 인터페이스를 정의한다. Compiler class는 facade (원래의 단어 뜻은 건물의 전면. 외관, 겉보기..) 로서 작용한다. Compiler class는 클라이언트들에게 컴파일러 서브시스템에 대한 단일하고 단순한 인터페이스를 제공한다. Compiler class는 컴파일러의 각 기능들을 구현한 클래스들을 완벽하게 은폐시키지 않고, 하나의 클래스에 포함시켜서 붙인다. 컴파일러 facade 는저급레벨의 기능들의 은폐없이 대부분의 프로그래머들에게 편리성을 제공한다.
이럴때 Facade Pattern을 사용하라.
* 복잡한 서브 시스템에 대해 단순한 인터페이스를 제공하기 원할때. 서브시스템은 종종 시스템들이 발전되어나가면서 더욱 복잡성을 띄게 된다. 대부분의 패턴들은 패턴이 적용된 결과로 많고 작은 클래스들이 되게 한다. 패턴의 적용은 서브시스템들이 더 재사용가능하고 커스터마이즈하기 쉽게 하지만, 커스터마이즈할 필요가 없는 클라이언트들이 사용하기 어렵게 만든다. Facade는 서브시스템에 대한 단순하고 기본적인 시각을 제공한다. 이러한 시각은 대부분의 클라이언트들에게 충분하다. 커스터마이즈가 필요한 클라이언트들에게만이 facade를 넘어서 볼 필요가 있는 것이다.
* 클라이언트들과 추상 클래스들의 구현 사이에는 많은 의존성이 있다. 클라이언트와 서브시스템 사이를 분리시키기 위해 facade를 도입하라. 그러함으로서 서브클래스의 독립성과 Portability를 증진시킨다.
* 서브시스템에 계층을 두고 싶을 때. 각 서브시스템 레벨의 entry point를 정의하기 위해 facade를 사용하라. 만일 각 서브시스템들이 서로 의존적이라면 서브시스템들간의 대화를 각 시스템간의 facade로 단일화 시킴으로서 그 의존성을 단순화시킬 수 있다.
- 각 서브시스템 클래스는 각 요청에 대한 책임이 있다.
- 클라이언트의 요청을 적합한 서브시스템 객체에게 위임한다.
- 서브시스템 기능들이 구현되어있다.
* 클라이언트는 Facade에게 요청을 보냄으로서 서브시스템과 대화한다. Facade 객체는 클라이언트의 요청을 적합한 서브시스템 객체에게 넘긴다. 비록 서브시스템 객체가 실제 작업을 수행하지만, facade 는 facade 의 인퍼페이스를 서브시스템의 인터페이스로 번역하기 위한 고유의 작업을 해야 할 것이다.
facade 를 사용하는 클라이언트는 직접 서브시스템 객체에 접근할 필요가 없다.
Facade Pattern은 다음과 같은 이익을 제공해준다.
1. 서브시스템 컴포넌트로부터 클라이언트들을 보호한다. 그러함으로서 클라이언트가 다루는 객체의 수를 줄이고, 서브시스템을 이용하기 쉽게 해준다.
2. 서브시스템과 클라이언트 간의 연결관계를 약하게 해준다. 종종 서브시스템 컴포넌트는 클라이언트와 강한 연결관계를 가지기도 한다. 약한 연결관계는 클라이언트에게 영향을 미치지 않으면서 서브시스템의 컴포넌트들을 다양하게 만들어준다. Facade 는 시스템과 객체간의 의존성을 계층화 하는데 도움을 준다. Facade는 복잡함이나 순환의존성을 없애준다. 이것은 클클라이언트와 서브시스템이 비의존적으로 구현되었을때의 가장 중요한 결과일 것이다.
3. 그러하면서도 어플리케이션은 여전히 서스시스템 클래스들을 사용할 방법을 제공한다. 사용의 편리성과 일반성을 선택할 수 있다.
1. 클라이언트-서브시스템 연결관계를 줄여라.
클라이언트와 서브시스템간의 연결관계는 Facade를 추상클래스로 만듬으로서 줄일 수 있다.
그러면 클라이언트는 추상 Facade class의 인터페이스를 통해 서브시스템과 대화할 수 있다. 이러한 추상클래스와의 연결은 클라이언트가 사용할 서브시스템의 구현을 알아야 하는 필요성을 없애준다.
- DesignPatterns/2011년스터디/1학기 . . . . 136 matches
1. HolubOnPatterns 0장에 대해 함께 이야기했다. 나 혼자 0장을 안 읽어와서 민망했다. 1장은 꼭 읽어와야지.
1. High Cohesion Low Coupling과 SOLID(SRP, OCP, LSP, ISP, DIP)에 대해 다시 생각해보는 시간이 되었다.
1. SRP(Single Response Principle)에 대해 얘기하면서 '책임'이란 무엇인가에 대한 이야기가 나왔다. 삽질 경험이 없는 사람에게 객체지향 원칙을 설명할 때 '책임'이 무엇인지 어떻게 이해시켜야 할지 모르겠다. 오늘 얘기하면서 낸 결론도 경험이 없으면 이해하기 어렵다는 것…
1. DIP에서 의존관계 역전이 대체 무엇을 역전시킨다는 것인지 알게되었다. 기존에는 Highlevel 모듈이 Lowlevel 모듈에 의존하는 식이었지만 인터페이스를 사용하여 Lowlevel 모듈이 Highlevel이 제공하는 인터페이스에 의존하게 함으로써 설계를 더 유연하게 만들 수 있다.
1. 0장 읽어오고 밑줄긋기(안함), 내용에 대해 이야기 나누기
1. 객체지향을 왜 해야하는가? 근본적으로 소프트웨어가 변화하기 때문이다. 객체지향은 변화에 잘 대응할 수 있는 설계 패턴이다.
1. 처음엔 단순히 인터페이스 대신 넘겨받는 구체클래스를 써야해서인 줄 알았는데 상위기술이 하위기술에 의존하는 것이 아닌 하위기술이 상위기술을 지원하기 위해 만들어지는 것이라는것을 알게되었다.
1. 의존관계 역전이라 해서 낯설었는데 이렇게 설명하니 상위기술에 하위기술이 맞추는게 당연한게 아닌가 하는 생각이 들었다.
1. SRP에서 책임나누기 - 변화를 상상해보라.. 서비스가 변경될 때 함께 수정되어야 할 코드들을 분리해라! 그것이 변화의 축이다. - 많은 상상과 삽질을 해야겠습니다.
1. 좋은 설계는 천재 프로그래머에 의해 한번에 만들어지는게 아니라 고민하는 프로그래머에 의해 지속적으로 만들어 지는 것 이다. 용기를 주는 말입니다.
1. 이 자리에 이 패턴을 적용해야할 이유를 대라. 패턴을 적용할 때에는 타당한 이유가 있어야 한다. 생각없이 적용된 패턴은 오히려 설계를 망친다.
1. 알면 알수록 오류는 정정되고 지식은 쌓이는 기분.
1. 이번 스터디는 책도 미리 읽어보고, 밑줄도 다들 열심히 그어서 더 재미있었다.
1. 혼자 책을 읽을 때는 '동적인 행동양식'이 무엇인지 잘 감이 오지 않았는데 오늘 스터디하며 알게되었다.
1. 책에 나온 교차 통풍 패턴을 예로 들어 말하자면, 정적인 구조를 볼 때 마주보는 양 쪽 벽 비슷한 높이에 창문이 있는 사무실은 교차 통풍 패턴에 속하는 것처럼 보일 수 있다. 그러나 창문 앞에 커다란 건물이 있으면 바람을 막아서 창을 통해 바람이 들어오지 않는다. 교차 통풍 패턴은 마주보는 양 벽에 각각 창이 있다는 그 자체로 실내 공기를 쾌적하게 만드는 것이 아니라 창을 통해 바람이 불어들어오고 불어나감으로써 실내 공기를 쾌적하게 만드는 것이다. 따라서 교차 통풍 패턴에서 마주보는 양 벽에 창이 존재한다는 정적 구조 보다는 창을 통해 바람이 들어오고 나가는 동적인 행동 양식과 그것을 통해 실내 공기를 쾌적하게 만든다는 의도가 중요하다고 할 수 있다.
1. 책의 일부 내용으로 미루어보아 절차지향적 패러다임이 판칠때 OO를 들고 나와 절차지향의 수호자들''--절차지향으로 코드 잘 짜지도 못 하는 허접들--''과 격한 키배를 수도 없이 펼치지 않았을까…
1. 무엇이든 생각없이 받아들이지 말고 장점과 단점을 모두 생각한 후에 지금 사용하기 적절한지 판단하고 적용하라는 아주 중요한 메세지가 반복되어 나온다. 다시 한번 되새기는 시간이 되었다.
1. 밑줄 긋기를 하면서 책을 봤습니다. 그런데 처음이라 그냥 책보면서 긋던거 다 그어 버렸습니다 .
2. 스터디 하는데 생각보다 시간이 빠르게가 아쉬웠습니다.
3. 디자인이란 선택과 트레이드 오프, 리스크 관리의 연속이라는 점이 가슴에 와닿았습니다. 그래서 결국 자구 과제는 추가 사항이 없으므로 개판으로 짰습니다.
- RandomWalk2 . . . . 134 matches
바퀴벌레 한 마리가 판 위를 돌아다닌다. 이 바퀴벌레가 각 칸을 방문한 횟수와 총 움직인 횟수를 구하라.
이 페이지에 있는 활동들은 프로그래밍과 디자인에 대해 생각해 볼 수 있는 교육 프로그램이다. 모든 활동을 끝내기까지 사람에 따라 하루에서 삼사일이 걸릴 수도 있다. 하지만 여기서 얻는 이득은 앞으로 몇 년도 넘게 지속될 것이다. 문제를 풀 때는 혼자서 하거나, 그게 어렵다면 둘이서 PairProgramming을 해도 좋다.
* ObjectOrientedProgramming에서 이 문제를 처음 소개했다.
* 테스트 케이스들
* 뼈대예시 ["RandomWalk2/ClassPrototype"] (OOP를 처음 다루는 경우가 아니라면 보지 않기를 권한다)
첫 줄의 M,N은 판의 행과 열로 판의 크기를 말하고, 다음 라인의 숫자 두 개는 바퀴의 초기 위치로 행과 열의 순서다. 다음 줄에는 바퀴의 여정이 나오는데 0부터 7 사이의 숫자가 이어진다. 0부터 7 사이의 숫자는 방향을 의미한다. 0이 북쪽이고, 시계방향으로 1,2,3,...7이 배치된다. 마지막 줄은 999로 끝난다.
10행 10열의 판의 0행 0열 지점에서 바퀴가 출발하고, 처음 다섯 칸을 동쪽으로 움직인 다음, 다섯 칸을 남쪽으로 움직이고, 마지막에 남서쪽으로 한 칸 움직인 다음 끝난다.
* 판 위의 모든 칸(cell)을 한번 이상 방문했거나
* 바퀴벌레의 여정이 끝나거나
바퀴는 여정에 따라 한 번에 한 칸 씩 움직이되 총 8 방향 중 하나로 움직일 수 있다. 만약 판의 끝을 넘어서면 반대쪽으로 돌아 나오게 된다.
만약 열이 N-1일 때 동쪽으로 움직이면 같은 행의 0열로 이동하고, 열이 0일 때 서쪽으로 이동하면 동일 행의 N-1열로 나온다.
만약 행이 M-1일 때 남쪽으로 움직이면 같은 열의 0행으로 나오고, 행이 0일 때 북쪽으로 이동하면 동일 열의 M-1행으로 나온다.
따라서, 위치가 0행 0열일 때 북서쪽으로 움직이면 M-1행 N-1열로 나오게 된다.
첫 번 째 줄은 바퀴가 총 움직인 횟수(처음 바퀴가 놓이는 것은 움직인 것으로 치지 않는다)이고 한 줄은 띈 다음, 판의 각 칸에 바퀴가 방문한 횟수를 행렬로 출력하되, 동일 행의 칸은 빈칸(스페이스)로 구분하고, 각 행은 하나의 줄을 차지한다.
||이상규 || . ||C++ ||["RandomWalk2/상규"]||
다음은 이상의 요구조건을 만족하는 프로그램 개발이 완료되었을 경우만 본다.
대부분의 프로그래밍 문제나, 경시대회 문제는 한번 주어진 문제에 한번 대응하면 그걸로 끝난다. 하지만 현실은 그렇지 못하다. 한번 개발한 프로그램을 요구사항 추가/변경에 따라 몇 번이고 수정하고 다시 개발해야 할 때도 있다. 우리가 말하는 문제풀이 능력에는 이미 만든 프로그램을 유지보수하는 작업도 포함되어야 한다.
교육에 있어 이런 작업이 중요한 이유 중 하나는, 자신이 만든 프로그램이 해답을 제대로 내느냐는 것을 확인하는 데에는 한 문제를 한번 푸는 것으로 족하지만, 거기서 코드의 디자인 질을 확인할 수가 없다는 문제가 있기 때문이다. 하지만, 요구사항 변경에 따라 자신이 개발한 프로그램을 다시 수정하게 되면, 이전에 만든 코드의 질에 따라 그 노력에 현격한 차이가 난다. 디자인 질이 높으면 아주 짧은 시간 안에 간단하게 요구사항 변화에 대응할 수 있을 것이고, 질이 낮았다면 장기간에 걸쳐 여기저기를 들쑤시고 골치를 썩혀야 할 것이다.
이런 경험을 하게 되면 "디자인의 질"이 무엇인가 직접 체험하게 되고, 그것에 대해 생각해 보게 되며, 실패/개선을 통해 점차 디자인 실력을 높일 수 있다. 뭔가 잘하기 위해서는, "이런 것이 있고, 난 그것을 잘 못하는구나"하는 "무지의 인식"이 선행되어야 한다. (see also Wiki:FourLevelsOfCompetence )
다음은 코드 디자인이 좋지 못했을 경우 고생을 할 요구사항 변경들이다. 그냥 대충 생각나는 대로 아무것이나 나열한 게 아니고, 순서나 변경사항이나 모두 철저하게 교육적 효과를 염두에 두고 "디자인"되었다.
- joosama . . . . 134 matches
ㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎ[[HTML(</b></font></span></center>)]]
[[HTML(<center><span style="font-size:9pt; letter-spacing:-1px;"><font face="Verdana" color=ffa500><b>)]]ㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎ[[HTML(</b></font></span></center>)]]
[[HTML(<center><span style="font-size:9pt; letter-spacing:-1px;"><font face="Verdana" color=ffd700 ><b>)]]ㅎㅎㅎㅎㅎㅎㅎ[이연주/공부방]ㅎㅎㅎㅎㅎㅎㅎ[[HTML(</b></font></span></center>)]]
[[HTML(<center><span style="font-size:9pt; letter-spacing:-1px;"><font face="Verdana" color=9acd32 ><b>)]]ㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎ[[HTML(</b></font></span></center>)]]
[[HTML(<center><span style="font-size:9pt; letter-spacing:-1px;"><font face="Verdana" color=87cefa ><b>)]]ㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎ[[HTML(</b></font></span></center>)]]
그래봤자.. 이글 봐주시는 분들도 몇분 없겠지만.._| ̄|○
3월16일엔 위키설명회 이후에 짬뽕을 먹었습니다.
한테이블에 4명씩 쭈욱앉았어요.
||승한오빠[이승한]||타블로[최경현]||동영오빠[조동영]||현욱이 [sisay]||......||
||나 [joosama]||아영이[허아영]||수연이 [임수연]||이슬이[장이슬]||......||
두테이블만 보였습니다......._| ̄|○
이자리를 빌어 사과드립니다,
지하철 노선도 이게다인~ (그것도 2호선은 개통"예정")
3주만에 내려갔더니 그새 못보던 가게들이 생겼더군요.
이기면 자장면 사준다고 해서 응원 열심히 하면서 기다렸습니다.
애들이 공을 따라 갑니다.
주심은 별루 하는일 없이 그냥 서있습니다.
선전부는 이게임 지면 썩션(?)인가를 시킨답니다.
애들이 개인기도 합니다.
울 집부가 이겼습니다.
- 우리가나아갈방향 . . . . 132 matches
우이동으로 MT안가는 MT의 치밀한 계획이 우리가 나아갈 방향 쿨럭 이건 아니고.
뭐 하루하루 한페이지만 해도 되는거 같은데 그게 힘드니 원 --;
-_-; 하루 한페이지.. 그래 그것만 해도 되는데.. 반갑게도 토욜에 제피가 올라온다네.
머 나에게도 이제 일이 시작되는 것이랄까 -_-; 그동안 책 핑계로 놀았지만.. 이젠
DP 해석중임 -_-; 늦은 시작이긴 하지만.. - 지환
암튼. 누차 강조하지만. 공부하기위해 모이지 않기를. 공부한 내용을 가지고 모일 수 있기를.. 경쟁과 협동이 자신들 이익과의 같은 방향노선속에서 적절하게 싹틀수 있기를. 학술연구회라는 거창한 이름이 아니더라도, 하고자 하는 욕망이 있다면 그 길은 저절로 열리는 것임을. '빛이 있으라' 라는 한마디가 세상에 빛을 열어놓은 것처럼. 모임 자체가 억지로 만들어주는 것이 아닌, 자신들이 만들어가야 할 것임을.
ZP는 인력 Pool 이고, 모임의 장으로서의 역할만이라도 충실할 수 있다면. 학교가 그 역할을 제대로 못해주고 술자리로도 그 허전함을 채울 수 없을때 ZP가 그 역할을 제대로 해줄 수 있다면. 그것을 ZP의 정체성으로 정의해도 좋지 않을까. 홈 브루 컴퓨터 클럽을 꿈꿀 수 있을지도.--석천 [[BR]]
홈 브루 컴퓨터 클럽을 그 대상으로 한다면 참 좋은것 같다. 우리의 정모가 해당 모임이 될수 있을 것이고, 과거에도 그렇게 하려고 노력했것만, 호응도가 낮았다고 생각한다. 뭐 하지만 계속 바위에 계란을 던지다 보면 언젠가 이끼라도 끼지 않을까. 할수있는 최상은 제자리에서 열심히 --상민
또 한가지는 복학생의 수용을 어떻게든 이루었으면 좋겠다는 생각을 한다. 어때 석천 올해 홍보라도 할까? --상민
''암튼. 누차 강조하지만. 공부하기위해 모이지 않기를. 공부한 내용을 가지고 모일 수 있기를.. --석천''
이 말의 의도는 충분히 이해를 하지만 오해의 소지가 있을 것 같아 사족을 답니다. 모여서 할 수 있는 공부가 분명히 있습니다. 이것은 혼자서만 할 수 있는 공부와는 다릅니다. 모여서 하면 아주 좋은 성과를 볼 수 있는, 그러나 혼자서는 하기 힘든 그런 공부가 분명히 있습니다. 수프를 먹으면서 포크의 "비어있음"을 탓하고 스푼의 "차있음"을 찬양하지만, 과일을 먹으면서는 포크의 "비어있음"을 고마워하고 스푼의 "차있음"을 비난하는 법입니다. 사건(event)과 물건(thing), 즉 사물에는 "나"와의 관계 속에서 그것의 "도"를 밝혀주는 길과 쓰임이 생깁니다. 그 길로 다니면 편하고 자연스럽고 쓸모를 얻지만, 자신이 길을 억지로 내려고 하면 불편하고 거북하며 쓸모를 얻지 못합니다. --김창준
''DeleteMe) 오해의 소지가 있게 쓰긴 했네요. 본래의 의도는 (01들은 내가 한 이야기를 들어서 알겠지만) 스터디를 할때, 책을 미리 읽고 난 뒤의 생각이나 프로그래밍을 했을때의 경험들을 들고 올 생각을 하지 않고, 모이고 난 뒤에 그제서야 책을 읽을 생각을 한다는 점을 지적하고 싶었습니다. 모임자체를 하나의 시스템으로 보고 공부하지 않은 자신을 시스템으로 억지로 묶어보려고 하는 모습같아서.. 그 점을 지적하고 싶었습니다. 같이 공부했을때의 효율이 혼자서 할때보다 높기 위해서는 (장점을 가질 수 있으려면) 사전에 공부하려는 해당 부분에 대한 의미를 조금이라도 파악해두어야 한다고 생각합니다. --석천''
따스한 5월의 봄날에 맞이한 제로페이지의 10주년을 진심으로 축하합니다. 10년이라는 적지 않은 시간동안 우리 학회가 만들어온 크고 작은 모습 하나하나는 선배님들과 여러 동기 여러분 그리고 후배님들의 학문에 대한 열정과 서로에 대한 이해와 배려가 일구어낸 아름다운 자화상이라고 생각해봅니다. 우리 제로페이지는 중앙대학교 컴퓨터공학과의 최대 학회이며 여러 학생들의 학술적 비젼을 제시해 주고 있는 중요한 학회입니다. 이런 제로페이지가 좀 더 발전적이고 원숙한 모습을 갖추기 위해서 당부하고 싶은 것들을 몇가지 말씀 드리고자 합니다.
시대의 흐름을 바로 읽어 우리가 해야 할 것들에 대한 명확한 목표를 제시하고 서로 도와가며 공부할 수 있는 분위기를 조성하는데 주도적인 역할을 하길 바랍니다. 낯선 학문에 대한 설레임과 막연한 두려움 때문에 어느 곳부터 손을 대야 할 지 몰라 고민하는 신입생들이 많이 있습니다. 또 프로그래밍 언어 1~2가지를 익혔으나 그 다음에는 무엇을 해야하는지 내가 이 도구를 공부해서 무엇에 써야하는지 몰라 일관성 없는 학습만을 반복하여 제자리를 맴돌고 있는 친구들도 많이 있습니다. 우리 학회에는 훌륭한 선배님도 많이 계시고 능력있는 회원님들도 많이 있다고 자부하고 있습니다. 이런 분들이 배우고자 하는 회원들에게 방향을 제시하고 또 배우는 사람들은 자발적으로 학습하며 자신의 능력을 개발해 나가는 것이 중요합니다.
그리고 타성에 빠지지 않으려는 노력이 중요합니다. 늘상하는 같은 종류의 세미나가 학회 활동의 대부분을 차지하는 일이 매년 반복되어서는 안됩니다. 1,2학년때는 열심히 참여하다가 3,4학년때는 별로 배울것이 없다하여 많은 수의 회원들이 활동을 하지않는 모습에대해 비판만 할것이 아니라 반성해보는 자세를 가져야합니다. 최신기술에 대한 순회 세미나와 조직화된 프로젝트팀을 활성화시켜서 회원들의 동기유발을 유도해야합니다. 컴퓨터의 시작은 하나의 뿌리였지만 지금은 수만갈래로 나뉘어져 혼자서는 각각에 대한 기본적인 지식조차 얻기가 어렵습니다. 항상 새로운 주제로 많은 회원이 온/오프라인상에서 꾸준히 공부하고 그것을 나누는 분위기를 조성할 것을 제안합니다.
돌이켜보면 제가 말한 두가지는 이미 여러차례 논의되어 왔던 것이지만, 실제로 옮겨지기까지는 많은 회원들의 노력이 필요한 부분입니다. 10년이면 강산도 변한다는 말이 있듯이 이제 제로페이지는 예전의 그늘에서 벗어나 우리만의 새로운 모습으로 바꿔가는 의지가 절실해지는 때입니다. 이 행사를 준비하기 위해 밤낮으로 고생한 후배님들깨 감사를 전하며 제로페이지가 항상 신선한 모습으로 우리 곁에 남아있기를 진심으로 바랍니다.
''제로페이지 10주년 기념 격려사, 96 한상우 선배님''의 글을 옮겨적었습니다.
["열린제로페이지"]로 나가는건 어떨까요. --이덕준
CauGlobal을 다녀오고 느낀점이 많았습니다. 그 가운데 여태까지 제가 제로페이지 활동을 하면서 아쉬웠던 점이 많이 떠올랐고, 제로페이지가 나아갈 방향에 대해 느낀점도 있었습니다. 이를 여기에 적어봅니다.
이번 방학에도 어김없이 프로젝트나 스터디가 열리고 있습니다. 프로그래밍 언어를 좀더 잘 다루려고, 공부나 프로젝트를 같이 해보는 경험을 쌓으려고, 자신이 공부해서 알고 있는 내용을 다른 사람에게 설명해주려고, 아니면 그냥 재미로 참여하는 분들이 많으리라 생각합니다. 그러는 가운데서 지식과 경험을 쌓을 수 있기에 제로페이지 활동은 현재로도 분명 값어치가 있습니다.
- SoftwareEngineeringClass . . . . 131 matches
* 교수: 이경환 교수님 ([http://object.cau.ac.kr/selab/lecture/undergrad/undergrad.htm 홈페이지])
* 주교재: 최신 소프트웨어 공학, 이경환 [[BR]]
* 강의내용: 소프트웨어 개발 공정에 대한 전반적인 이론.
* 실습: 2001 년도까지는 '정보처리실습' 이라는 과목으로 실습과정이 있었으나 지금은 사라짐.
* ''Software engineering'', Ian Sommerville : 최근 세계적으로 가장 많이 쓰이고 있는 SE 교과서. 탁월.
'''추천사이트/타학교수업'''
=== 관련페이지 ===
* 컴퓨터 공학과 전공 수업을 통틀어 다섯 손가락 안에 꼽을 수 있을 정도로 중요한 역할을 하는 과목이다. 그러나 중앙대학교 컴퓨터 공학과에서 이 과목의 위상은 그다지 크지 않은 듯 하다. 내가 생각하는 첫번째 문제는 교재에 있다. 두번째는 비현실적인 실습내용이다. 구체적이고 실용적인 실습이 필요하다. 세번째는 학생들의 인식부족이다. 소프트웨어 공학 수업이 자신의 프로그래밍 커리어에 얼마나 많은 실질적 효용을 줄 수 있는지 전혀 깨닫지 못한다. 물론 이것은 대부분 수업 자체의 문제에서 연유한다.
* 수업에서 원하는 것을 얻지 못하는 경우 수강은 하되 독학 혹은 학생 차원의 그룹 스터디를 할 것을 강력하게 권한다. 졸업 후 어디를 가건 두고 두고 유용하게 쓰일 것이다. 외국 유명 대학 경우 AOD/VOD로 수업 내용을 볼 수 있는 곳이 많이 있다.
* 본인은 거의 독학으로 SE 공부를 했다. 수업시간에 구조적 프로그래밍(structured programming)에 대해 설명을 들었을 때는 전혀 감흥이 없었고 졸음까지 왔다. 기억나는 내용도 없다. 하지만 스스로 공부를 하면서 엄청난 충격을 받았다. OOP는 구조적 프로그래밍의 패러다임을 완전히 벗어나지 못했다! 구조적 프로그래밍을 Goto 제거 정도로만 이해하는 것은 표피적 이해일 뿐이다! 구조적 프로그래밍 하나만 제대로 익혀도 내 생산성은 엄청나게 향상될 것이다! (참고로 정말 구조적 프로그래밍이 뭔지 알고 싶은 사람들은 다익스트라의 6,70년대 이후의 저작들을 읽어보길 권한다. 칸트 철학을 공부하는 사람이 칸트의 1차 저술을 읽지 않는다는 게 말이 되겠는가.) --김창준
["neocoin"]:수업 무지하게 재미있음. 더 자세한 이야기는 수업 종료후 추가. 현재의 느낌은 수업이 커버하는 내용이 너무 방대하여, 재시간안에 지식전달을 다 못할것 같은 교수님의 불안감이 수업에서 느껴지는게 아쉬움 --상민
["fnwinter"]: 수업이 잼있다는 것은 동감...수업 내용이 너무 방대하는 것도 동감..또한...수업이 실제적이지 못하다는 것도 동감...수업에서 너무 많은 내용을 다루어서 그런가 싶다..결론...수업을..듣고..얻은.것이..무엇인가..라는 의문점이 남는다.
["1002"]: 분야가 너무 넓다. 하루 PPT 자료 나아가는 양이 거의 60-70장이 된다. -_-; SWEBOK 에서의 각 Chapter 별로 관련 Reference들 자료만 몇십권이 나오는 것만 봐도. 아마 SoftwareRequirement, SoftwareDesign, SoftwareConstruction, SoftwareConfigurationManagement, SoftwareQualityManagement, SoftwareProcessAssessment 부분중 앞의 3개/뒤의 3개 식으로 수업이 분과되어야 하지 않을까 하는 생각도 해본다. (그게 4학년 객체모델링 수업이려나;) [[BR]]
수업 선택시엔 두 수업이 같은 과정이라 한다면 이경환 교수님의 수업을 신청하기를 권장. 중간중간 노교수님의 연륜이 들릴테니.
* 막무가내식의 coding에 관한 것이 아닌 직접적인 돈과의 연관성에 대해 알아가는 학문 같다는 느낌. 제한된 기간안의 적절한 cost를 통해 project를 완성(?) 하는 것. 아.. 정말 학기 중기 까지는 재미있었는데. 알바로 인한 피로누적이 수업을 듣지 못하게한 T-T 아쉬움이 너무 많이 남는다. 한번더 들을까..? 원래 이런건 한번더 듣는거 아닌가? ^^a 하하.. 상민이형 필기 빌려줘요. ^^;; -- 영현
으어 나의 허접한 필기는 보이기도 부끄럽구나. 최근 약학과 교양 듣는 학우가 필기하는거 보고 느낀점 --["상민"]
* 저도 이 과목의 중요성은 많이 들었습니다만 학교수업으로는 크게 느끼지 못한것 같습니다. 수업도 지루하게 느껴지고 실제적으로 필드에 나갈때나 몸에 와 닿으려나요.. - 임인택
* 지금 듣는 사람들의 이야기를 들어서는 실습을 하는 과정이 투자하는 시간에 비해서 얻는 것이 좀 적은 것 같다는 생각들을 많이하던데... 실제로 팀을 이룬 사람들중에서 실무를 확실하게 경험해 보지 않은 사람들만 있는 경우에는 이게 더 심하다고 합니다. 전 내년에나 이거 들을 차례가 올것 같은데... 이경환 교수님께서도 이번을 마지막으로 하신다고 하고... 이 과목을 반드시 들어야하나 그런 생각도 좀 드네요. 저의 경우에는 이걸 청강(or 도강;;)식으로해서 이론적인 것을 듣고, 그냥 DB, PL을 들으려고하는데.. 어떨지 모르겠네요. (그런데 컴파일러 과목은 언제 생기는 거지 ㅡㅡ;;) - 박영창
''수업을 청강 할 정도로 내용이 있지는 않아. 그 이유는 딱 한 번만 이경환 교수님 수업을 들어 보면 알게돼. 차라리 관련된 책을 몇 권 보는 게 더 낳을 듯 해. 여튼 개인적으로는 여차여차해서 재수강으로 인해 이번 학기까지 2번째 듣고 있지만 수업 내용 보다는 우리과 수업중 가장 규모가 큰 (기간이나 팀인원수나) 팀 프로젝트를 해 보는 게 이 수업에서 가장 크게 배울 점이라고 생각해. 많은 팀원과 개발 계획부터 시작해서 최종 테스트까지의 일련의 프로젝트 개발 과정을 해 본다는게 확실히 도움이 되지. 그리고 배 보다 배꼽이 더 큰 문서가 좀 성질 나기는 하지만 경험상 해보는 것도 괜찮은 듯 해. --재동''
''DeleteMe) ㅡ.ㅡ;; 이거 끝나면 대략 문서만 500~700페이지라던데;; 맞냥;; -- [eternalbleu]''
- neocoin/Log . . . . 128 matches
|| [http://orchid.cse.cau.ac.kr/course/course.php 데이터 통신(DC)] || [http://konan.cse.cau.ac.kr/ 이동 컴퓨팅(MC)] || [http://camellia.cse.cau.ac.kr/fs/ 파일 구조(FS)] || 식품과 건강 ||
|| [http://www.ocu.or.kr/ Unix 프로그래밍(U)]|| [http://cvlab.cau.ac.kr/ Object Programming(OP)]|| [http://cvlab.cau.ac.kr/ 정보 표준화(IS)] ||.||
* DS - 10/16 1-14,1-18,2-20,2-22,2-50 풀이 과정 기술
* 개학하자 정신이 없다. 1학기 보다는 더 여유로운데 불구하고, 종종 놓치는 것이 발생된다. 이것이 지난달에 잃어 버린 스케줄러의 역할이 었으리라.
* Object Programming 모자이크 숙제 (숙제가 취소 되었음)
* MC- 9월 18일까지 이동 컴퓨팅 리포트
* 주어진 비트맵 파일의 정보중 2x2 픽셀의 평균값으로 모자이크 복사본을 제작하고, 저장할수 있다.
* 감안 : 임의의 비트맵 파일을 로드할수 있다. 임의 비트맵 파일로 저장할수 있다. MFC Class를 이용해 본다. Api로만 작성해 본다. Java로 작성해 본다. TDD를 생각해 본다. 어떻게 가능한가?
* ["ZeroPageServer"] 세팅 관련 페이지 ["ZeroPageServer/set2002_815"] : 제로페이지 서버 업그레이드
* pc실의 컴퓨터 나르고, 덕분에 용철이형 알게됨
* 미루어두었던 정리의 시간이다. 다시금 생각나는 말 ''바보는 과거에 매달린다. 현자는 과거를 반성한다.'' -드래곤 라자중- 이거 비슷한 말일 것이다. 쉬운 일이지만 잊을때가 많다.
* 이번 여름방학은 정말 많은 변수가 있었다. 하지만 그 변수들이 결코, 나를 후회하는 것이 아닌, 나에게 보람을 주는 것들이었다.
* 위의 STL을 이용해서 OpenGL상에서 뭔가 움직이는거 만들기
* 다시 위의 확장으로 GJ 학습, Java의 Polymorphism과 무슨 차이가 있는가 성능상 차이는 어떤가, 보고서 작성: 마소에 나온 관계로 유보
* 이번달 마소를 보니, Tiger에서 추가될 개념이 C#에서 구현된 것이 많다. 대체 무슨 이점이 존재하는가 보고서 작성, 추가되기를 원하는 기능과 삭제되기 원하는 기능에 대한 보고서 작성
* ZeroPage 서버 업그레이드
* 심리학의 이해 관련 서적
* 책을 많이 읽은것 같다. 하지만 7권 정도 밖에 안 읽었다. 역시나 진행중인 원서 3권은 속도가 너무 느리다.
* ["ProjectZephyrus"] : 이게 한 20일에 시작한줄 알았는데, 기록을 보니 12,3일 경에 시작한듯 하다. 남는 자원을 이쪽에 최대한 할당을 하려고 했는데, 욕심에 차지는 않는다. 일단, 본 궤도에 오른것 같고 부가적인 코딩 작업만이 남은것 같다.
* 4월까지 책의 저자들이 나에게 말해 준것들에 관한 분류, 기억에 남는 것들에 대한 기록을 소흘히 했다. 물론 마인드 맵식으로 설명하라고 하면 설명 하겠지만, 역시나 아쉬운 감이 있다.
- 문서구조조정토론 . . . . 128 matches
문서 구조 조정이 되고, 원래 있었던 자리를 잃으니 '몇번째주 무슨요일'하는게 제일 첫단에 와 있군요. 이전에 보았다면 알겠지만, 그건 주가 되는 내용이 아니었습니다. 문서 구조 조정을 할때는, 관련된 내용에도 더 신경을 써야겠군요 --이선우
DeleteMe) 문서 조정이후, 의미를 잃었다면, 직접 바꾸어 주세요. ^^; --상민
직접 바꾸건, 누군가 바꾸어 주느냐의 문제가 아니고, 또 단순히 글 자체에 대한 의도가 맞지 않아졌음을 이야기하는게 아닙니다. 문서 조정의 결과로 어울리지 않는 내용이 나타나는것 보다 큰 문제는, 다른 이들에게 잘못된 이야기들을 파생시킬 수 있는 점입니다. --이선우
DeleteMe) 현재의 해당 스레드는 정모에 관한 모든것을 다루는 것이라 생각해서 말씀하신 주제를 포용한다고 생각합니다. 하지만, 의도의 전달이 잘못되었다면 작성자가 고치기를 간절히 바라고 있습니다. 현재 문서 구조조정이후 고치는 사람이 별로 없는거 자체가 약간 걱정이 되지요. --상민
계속 대화의 핀트가 어긋나고 있습니다. 내용 자체가 전달하려는 의도와 어긋난 것이라면, 해당 작성자가 고치는게 가장 맞는 방법이라는데 동의합니다. 제가 제기한 이야기는 그러한 부분이 아님을 말씀드립니다. 서로 연관된 문제에서 위치를 바꾸는등의 문서 구조 조정 이야기 입니다. 이 경우, 내용 자체의 변화는 없지만, 문서 구조 조정자가 관련글의 위치를 바꿈으로써 잘못된 의미를 전달할 수 있고, 그 결과로써의 파생 결과를 우려하였습니다. 이는 해당 문서 작성자보다, 문서 구조 조정자가 좀 더 신경을 쓰는 편이 맞다고 생각합니다. --이선우
["neocoin"]:말씀하시는 문서 조정은 문서 조정은 문서 작성자가 손대지 말아야 한다라는걸 밑바탕에 깔고 말씀 하시는것 같습니다. 문서 조정자는 특별히 문서 조정을 도맡는 사람이 아니고, 한명이 하는 것이 아니라, 다수가 접근해야 한다는 생각입니다. "다같이" 문서 조정을 해야 된다는 것이지요. 문서 조정을 한사람의 도맡고 이후 문서 작성자는 해당 문서에서 자기가 쓴 부분만의 잘못된 의미 전달만을 고친다라는 의미가 아닌, 문서 조정 역시 같이해서 완전에 가까운 문서 조정을 이끌어야 한다는 생각입니다. 즉, 문서 구조 조정이후 잘못된 문서 조정에서 주제에 따른 타인의 글을 잘못 배치했다면, 해당 글쓴이가 다시 그 배치를 바꿀수 있고, 그런 작업의 공동화로, 해당 토론의 주제를 문서 조정자와 작성자간에 상호 이해와 생각의 공유에 일조 하는것 이지요.[[BR]] 논의의 시발점이 된 문서의 경우 상당히 이른 시점에서 문서 구조조정을 시도한 감이 있습니다. 해당 토론이 최대한 빨리 결론을 지어야 다음 일이 진행할수 있을꺼라고 생각했고, thread상에서 더 커다랗게 생각의 묶음이 만들어 지기 전에 묶어서 이런 상황이 발생한듯 합니다. 그렇다면 해당 작성자가 다시 문서 구조 조정을 해서 자신의 주제를 소분류 해야 한다는 것이지요. 아 그리고 현재 문서 구조조정 역시 마지막에 편집분은 원본을 그대로 남겨 놓은 거였는데, 그것이 또 한번 누가 바꾸어 놓았데요. 역시 기본 페이지를 그냥 남겨 두는 것이 좋은것 같네요.(현재 남겨져 있기는 합니다.) --상민
'문서 조정은 문서 작성자가 손대지 말아야 한다' 라는 어처구니 없는 내용을 어떻게 끌어냈는지 모르겠습니다. 어느 부분에서 도대체 '구조 조정은 구조 조정자의 몫이다'라는 식의 이야기를 했다는지 궁금하군요. 제 이야기는 현재의 잘잘못을 따지고, '문서 구조 조정은 ''누군가 그 일을 할 사람''이 알아서 해라'라는 식의 이야기가 아닙니다. 문서는 누구나가 노력을 해서 고쳐가되, 다만 문서 구조 조정자는(누가됬건 현재 문서를 구조 조정하고 있는 사람은), 자신이 한 결과에 따라 어울리지 않는 글이 될 수 있으므로 해당 문서 구조 조정의 시점에서 더 신경을 써야 한다는 뜻입니다. 물론, 해당글의 작성자가 나중에 발견하고 이를 고칠수도 있지만, 처음 시점부터 좀 더 신경을 쓰는 방법이 효과적이라 생각한 이유입니다. 한번 더 강조하자면, 문서 구조 조정자가 신경을 쓸 필요가 있다라는 이야기가 해당 글의 작성자 자체가 '나는 문서를 구조조정할 필요가 없다'라는 의미는 절대 아님을 이야기합니다. 모로가도 서울만 가면 되지만, 더 편한 방법이 있다면, 그런 방법을 택하는게 자연스러운건 자명한 이치입니다. --이선우
["neocoin"]: 그렇다면 저에게는 지금까지 페이지가 나온 이유 자체가 모호해 집니다. 그럼 말씀하시는 주제가 결국 "문서 구조 조정은 신중히 해야한다." 이것이라고 생각합니다. 이것은 의견이라기 보다 문서 구조 조정시의 기본 명제라 생각하며, 이중에 말씀하신 "문서 구조 조정시에 위치 변경은 글쓴이의 의도의 방향을 바꾼다."라는 것도 문서 구조 조정을 신중히 겠지요. 이런 것은 당연히 동의 합니다. [[BR]] 이것에 반대한다는 말이 없고, 이는 해당 의견의 암묵적 동의라고 생각하고, 잘못된 부분에 대하여 다시 구조조정을 해 주십사 원한 것인데, 다시 대화가 다른 방향으로 전개되어서 "문서 구조 조정자"와 "문서 작성자"로 나뉘어서 접근하시는 말씀인것으로 받아 들였습니다.[[BR]]해당 글처럼 잘못 된 부분의 지적 이후, 고치지 않는다면 다른 이가 해당 문서를 더 고치지 못하는 위화감 이랄까요. 그런것이 발생한다고 생각합니다. 현재 위키에 00들와 01들이 이러한 "조심스러움의 유발 요인" 때문에 활발히 글을 날리는데 방해가 될것이라고 생각합니다. 글을 장려하는 입장에서 글을 계속 올리다 보니, 대화의 주제가 어긋난 것 같습니다. --상민
["혀뉘"] : 위키 사용에 있어서 , 기존의 게시판과 같은 '글' 편집의 독자성,일관성 을 보장받지 못하다보니 이런 토의가 필요하게 된것 같군요. 사실 위키는 이러한 편집의 권리를 많은부분 '공유' 한다는 개념에서 나온것이기 때문에, 이를 너무 의식하면 위키 본래의 기능을 상실할 수 밖에 없을것 같습니다. 이런 일이 생기는 이유가, 그동안 ZP 의 움직임에 대해서 토론할 주제들이 많았기 때문에, 위키를 토론의 목적에 사용해서 그렇지 않았나 싶군요. 누구든지 글을 수정 할 수 있다는 위키의 장점이, '토론' 분야에 적용하면서 단점으로 바뀌게 되었다고 봅니다. '토론' 분야 만큼은 편집의 독자성을 보장 하는것이 어떨까요? 문서의 종류에 따라, 사실에 기초한 문서는 여러사람이 손을 대서 '완전에 가까운 문서' 를 만들어낼 수 있겠지만, '의견' 에 기초한 문서는 여러사람이 손을 대면 댈 수록 본래 의견제시를 했던 사람의 '의견' 은 훼손됩니다. 편집의 독자성이 필요하다고 생각됩니다. 망치로 대패질 할 수는 없는게 아닐까 합니다. 망치를 쓸 곳에 대패를 사용하려면, 대패 몸이 조금 상하겠지만, 휘둘르는 방법으로 못을 박아야지요 :)
위키에서 편집의 권리를 '공유'하고 고쳐나가는 개념이 제대로 적용되는 것은, 위키를 쓰는 사람들이 점점 익혀나가야 할 부분입니다. 토론과 관련된 부분에서 위키의 방식이 단점으로 작용한다고 보지 않습니다. 예를 든다면, KLDP의 토론란을 보면 더더욱. 스레드가 길어질수록 주제와 맞지 않는 글들이나 중간에 일어나는 감정싸움들은 걸러져야 할 것임에도 불구하고 그 자리를 차지하고 있습니다. 스레드가 길어질수록 결국은 논제를 벗어납니다. 위키스타일이라면, 문서구조조정을 통해서 그러한 것을 어느정도 줄여줄 수 있을 것이라 생각됩니다.
문제는 문서구조조정인데, 이는 문서구조조정자가 신도 아니고. -_-; 하지만, 본 저자의 의도가 벗어나지 않도록 문서구조조정을 해야 하는것은 당연한 것이며, 추구해나가야 할 부분이겠죠. 저번에 문서구조조정 (데블스 관련) 을 했을때는 상민이랑 제가 넷미팅을 공유하고 대화하면서 문서구조조정을 했었습니다. (원래라면 데블스쪽에 있는 사람과 해야 더 무게균형이 있었겠지만) 중요한 토론이라면 이런식의 방법도 고려해볼만 하겠죠. (단, 역시 cost가 더 크긴 하겠죠.)
그리고 이건 논제와 약간 다른데, 성급하게 'Document' 를 추구할 필요는 없다고 봅니다. Thread 가 충분히 길어지고, 어느정도 인정되는 부분들에 대해서 'Document' 화를 해야겠죠. (꼭 'Document' 라고 표현하지 않아도 됩니다. 오히려 의미가 더 애매모호합니다. '제안된 안건' 식으로 구체화해주는 것이 좋을 것 같습니다.) --석천
저는 PairProgramming을 가르치기에 앞서 NoSmok:PairDrawing 을 경험하게 합니다. 여기에는 여러가지 방법이 있는데, 구체적인 대상(사람 얼굴이나 동물 등)을 정해놓고 서로 한 줄 씩 번갈아 가며 그리는 방법이 있고, 아니면 아무것도 정하지 않고, 혹은 대강의 주제만 정해놓고 그냥 "멋진 그림"을 그리자는 합의하에 번갈아 가며 한 줄 씩 그리는 방법이 있습니다. 모두 그리는 중엔 말을 하지 않습니다. 여기서, 후자 경우 적극적으로 상대방의 의도를 이해하려는 노력이 없으면 좋은 그림이 나오기 어렵습니다 -- 한사람은 사람을 그리려고 하고 다른 사람은 나무를 그리려고 하는(혹은 상대가 나무를 그리려고 하고 있다고 오해한) 경우를 생각해 보세요. 상대의 의도를 이해하려고, 또 그것이 더 잘 드러나도록 서로 노력하다보면 혼자 그린 그림보다 더 좋은 그림이 나오는 경우가 종종 있습니다.
해당 공동체에 문서구조조정 문화가 충분히 형성되지 않은 상황에서는, NoSmok:ReallyGoodEditor 가 필요합니다. 자신이 쓴 글을 누군가가 문서구조조정을 한 걸 보고는 자신의 글이 더욱 나아졌다고 생각하도록 만들어야 합니다. 간단한 방법으로는 단락구분을 해주고, 중간 중간 굵은글씨체로 제목을 써주고, 항목의 나열은 총알(bullet)을 달아주는 등 방법이 있겠죠. 즉, 원저자의 의도를 바꾸지 않고, 그 의도가 더 잘 드러나도록 -- 따라서, 원저자가 문서구조조정된 자신의 글을 보고 만족할만큼 -- 편집해 주는 것이죠. 이게 잘 되고 어느 정도 공유되는 문화/관습/패턴이 생기기 시작하면, 글의 앞머리나 끝에 요약문을 달아주는 등 점차 적극적인 문서구조조정을 시도해 나갈 수 있겠죠.
- 데블스캠프2011/둘째날/후기 . . . . 126 matches
* 사실 스크래치를 접해보는 건 이번이 두 번째군요. 2009년 데블스캠프에서도 한 번 다루었던 걸로 기억합니다. 스크래치는 원래 아동 교육용으로 만들어진 프로그래밍 언어라고 들었습니다. 그런데 아동용이라고 대충 넘기기에는 기능도 생각보다 훨씬 다양하고 능력도 강력한 것 같아요. 1학년 떄는 이래저래 미숙한 부분이 많아서 그런 부분을 볼 여유도 없었는데 다시 보면서 약간 여유가 있어서 그런지 잘 만들었다는 느낌이 새삼 들었습니다. 그리고 이번에도 2009년 때처럼 게임을 만들기로 했었는데, 이번에는 다행히도! 제대로 돌아가는 게임을 만들었습니다. 사람이 그래도 발전이 있긴 하군요. 앞으로도 열심히 해야겠습니다.
* 겉모습에서 일단 코드가 나오지 않으니 확실히 잘 모르는 사람도 생각하기 쉬울 것 같습니다. 다만 반복문 구문 블록이 여러개로 나뉘어 있는데 비슷비슷해 보여서 좀 불편하기도 하더군요. 하지만 중요한건 언어의 사용법이나 형태가 아니라 만드는 사람의 실력에 달렸다는걸 만들면서, 그리고 다른 분들이 만든 물건들을 보면서 다시 한 번 느꼈습니다. 어릴 때부터 이런걸로 교육받고 자라면 코딩 잘하려나 -_-
* Scratch참 재밌었습니다 ㅋㅋ. 하다보니까 로보랩느낌도 나고 코딩도 미리 만들어져있는 명령어 끌어다하니까 다른 언어보다 쉽게 느껴지구요. 고양이 움직이는 것도 귀여웠고 생각보다 꽤 다양한 것을 구현할 수 있어 놀랐습니다. 마지막에 핑퐁게임을 만들었는데 생각보다 버그가 많아서 아쉬웠네요 ㅜㅜ.
* 처음해보는 Scratch 였습니다. 그림을 끌어다 놓고, 명령어들을 끌어다가 추가시키면서 프로그램 진행을 구성하고... 독특하고 신기했습니다만 정작 익숙해지기에는 힘들었습니다. 코드로만 하다가 이렇게 짜여진 틀을 움직인다는게 어색해서 짜고있던 게임을 완성시키지는 못 한것이 아쉬었다.
* 제가 처음 준비했던 컨텐츠였는데 성현이가 세미나를 진행하니 감회가 새로웠습니다. 저는 09년 때 간단한 인터페이스만 가르쳐줬는데 학우들이 창의적인 컨텐츠를 많이 만든 반면 성현이는 기능 하나하나 상세히 설명해주어서 제가 몰랐던 기능도 많이 알게 되었습니다. 수업을 들으면서 플래시 같은 애니메이션을 만들었는데 갑자기 게임을 만들라고 해서 소닉이 좌우로 이동하는 것밖에 못 만들어봤네요 ㅋㅋ 그래도 이동할 때의 모습을 바꾸는 데에서 삽질 끝에 성공해서 뿌듯뿌듯했습니다. 저의 Scratch 작품의 포인트는 역시 '음악' 입니다.
* Scratch를 어제 블럭 쌓기라고 해서 무슨 테트리스 같은 거라고 생각했는데, 오늘 보니 아 이런거구나 하는 것을 알게 되었습니다. 꼭 프로그램 짜기 전에 의사 코드로 하는 것 같더군요a. 마지막에 성현이가 게임 만들으라고 해서 뭐 할까 하다가 슈퍼마리오 배경도 있고 해서 그걸로 좀 비슷하게 하려고 했는데, 파이프에 닿았을 때 그걸 넘어가게 하는 걸 하려다 망했네요 ㅋㅋㅋ 그러다 보니 그냥 마리오가 움직이고 뛰기만 하는 걸로 끝났습니다. 좀 더 도구를 잘 활용하지 못함이 아쉽긴 했습니다.
* Scratch!! 오늘 했던것중에는 가장 재밌게 했습니다. (하나는 약간 강의위주였고, 하나는 저희에게는 좀 어려웠으니까요..;) 저는 학점 나올 시즌이 되었기에 그에 걸맞게(?) A학점 잡기 게임을 만들었어요. F학점의 추격을 피하며 B학점을 챙기고, 최종적으로는 A를 몰아넣어서 잡으면 되는거 였지요. 사실 다른데서 만들어 놓은 마우스 피하기에 약간 영감을 받은거였지만.. 아무튼 3시간이 부족하다 느낄정도로 재밌게 했어요. 다만 끝에 시간이 모자라 다른사람들이 한것들을 함께 보지 못한건 좀 아쉬웠던거 같아요.
* [http://sdec.kr SDEC] 가느라 못 들었는데 나중에 다른 학우들이 한 걸 돌려보며 저도 다시 Scratch를 사용해봤습니다. 오랜만에 하니 재밌네요 ㅋㅋ
== 김동준/Cracking ==
많은걸 보여드리지 못해 아쉬움이 남는 세미나였군요. 특히 집에선 잘되던게 왜 학교와서 노트북으로 하면 안되는지... (!!)
나중에 기회가 된다면 좀더 넓은(?) 세계를 보여드리고, 거기서 생각할 수 있는 정보보안 기법에 대해서도 이야기해보도록 하겠습니다!
* Hacking != Cracking. Cheat Engine, 자바스크립트를 이용한 사이트 공격? 툴을 이용한 Packet Cracking 등 개인적으로 무척 재미있던 세미나였습니다. 뭐... 사실 많이들 관심은 있지만 실제로 하는 걸 보는 건 흔치 않은 만큼 이번에 세미나를 볼 수 있었던 것은 여러모로 행운이었다고 생각합니다. 더군다나 질문을 꽤 많이 했는데 선배님이 친절하게 답변을 해 주셔서 정말 감사했습니다. 웹 쪽은 이래저래 공격을 당할 가능성도 높은 만큼 나중에 그쪽으로 가게 된다면 관련 기술들도 배워둬야 하지 않을까 싶군요.
* 직접 디버거로 바이너리를 수정하고 어셈 코드를 수정하는 모습이 참 신기했습니다. 또 책에서 패킷이 이러저러하다 하는 것 보다 주고받는 그 패킷의 모습을 직접 보는 느낌도 또 좋았습니다. 개인적으로 군대에서 크랙미를 몇 개 리버싱 해보기도 하고 흥미를 가지고 있던 부분인데 누군가가 그런걸 직접 하는걸 보는게 역시 많은 공부가 되는 것 같습니다. 웹쪽 보안에 대해서는 그렇게 많이 생각해본 적이 없었는데 실제로 보니까 흥미가 많이 생기네요. 이쪽도 나중에 추가로 공부해보고 싶습니다.
=== 이진규 ===
* Craking이 우리가 보통때 말하는 Hacking이었다는걸 처음(사실 저번에 한번 들은거 같지만) 깨달았네요. 또, 이전까지 그런 툴을 만드는 사람들은 도대체 어떻게 만드는가! 싶었는데 어셈을 이용해서 만들곤 한다는 걸 보며, 음.. 좋군(?) 쇼핑몰중에 지금도 간단한 방법으로 털리는 곳이 있던데, 비밀번호까지 털 수 있다거나 하는걸 보니 정보보안의식에 대한 자각이 들었던거 같기도 하구요.(캐시 충전사건으로 문제가 생긴적이 있다는걸 듣고 충격!) 뚫을 수 있는 사람이 막을 수도 있다고 하니 정보보안쪽을 공부해보고 싶다면 Craking에 대해서도 아는게 좋을거 같군요. 저는 처음보는 형이었는데, 형 세미나에서 많은걸 배울 수 있었던거 같습니다.
* 리버싱 프로그래밍 하는 것을 보고, 패킷을 주고 받는 것을 얻어서 사용한다던지 또 웹에서 javascript injection으로 쿠키를 얻어서 그것을 사용할 수 있는 사이트에서 다른 아이디로 로그인 하는 것도 보았다. 정말 신기했지만 그렇게까지 하기 위해서는 무지하게 다양한 내용을 알아야 할 것 같았다.ㅜ
* 역시 실전 Cracking은 다른 사람 앞에서 보여주려고 하면 잘 안되는 것 같아요. 동준이가 다년간 쌓아왔던 노하우를 그냥 보여주지는 못하게 하는군요 ㅋㅋ 많이 노력한 동준이에게 큰 박수를!!
* 이번 주제는 1학년 때 새싹 스터디 하면서 잠깐 보여주었던 내용을 다시금 보게 되어서 재미있었습니다. Cheat Engine을 직접 사용해 볼 수 있는 부분도 상당히 매력있었습니다. 많이들 듣던 해킹에 대한 정확한 정의도 알게 되었고 그 과정이 어떻게 되는지 조금이나마 알 수 있었던 부분이었습니다. 세미나에서 보여주고자 했던 게임이 생각되로 되지 않아 아쉽긴 했지만, 한편으로는 저렇기 때문에 보안이 중요하다는 것도 다시금 생각할 수 있었습니다.
* 씐나는 Cheat-Engine Tutorial이군요. Off-Line Game들 할때 이용했던 T-Search, Game-Hack, Cheat-O-Matic 과 함께 잘 사용해보았던 Cheat-Engine입니다. 튜토리얼이 있는지는 몰랐네요. 포인터를 이용한 메모리를 바꾸는 보안도 찾을수 있는 대단한 성능이 숨겨져있었는지 몰랐습니다. 감격 감격. 문명5할때 문명 5에서는 값을 *100 + 난수로 해놔서 찾기 어려웠는데 참. 이제 튜토리얼을 통해 어떤 숨겨진 값들도 다 찾을 수 있을것 같습니다. 그리고 보여주고 준비해왔던 얘제들을 통해 보안이 얼마나 중요한지 알게되었습니다. 보안에 대해 많은걸 생각하게 해주네요. 유익한시간이었습니다. 다음에 관련 책이 있다면 한번 읽어볼 생각이 드네요.
완전 발적화 코드 ㅋㄷㅋㄷ... 그래도 나름 높은 매치율(?) 이 나왔네요!
- Gof/Singleton . . . . 121 matches
몇몇 클래스들에 대해서 오직 하나의 인스턴스 만을 가지는 것은 중요한 일이다. 예를 들면, 어떤 시스템에선 수많은 프린터들이 있더라도 거기에는 단 하나의 프린터 스플러만이 있어야 한다. OS에서 돌아가는 화일시스템이나 윈도우 매니저의 경우도 오직 하나여야 한다 (동시에 2-3개의 윈도우매니저가 돌진 않는다.) 디지털 필터의 경우에도 A/D converter는 단 하나를 가진다.
더 좋은 방법은 클래스 자신으로 하여금 자기자신의 단일 인스턴스를 유지하도록 만드는 것이다. 이 클래스는 인스턴스가 생성될 때 요청을 가로챔으로서 단일 인스턴스로 만들어지는 것은 보증한다. 또한, 인스턴스에 접근하는 방법도 제공한다. 이것이 바로 SingletonPattern이다.
* 클래스가 정확히 오직 하나의 인스턴스만이 존재해야 할 때. 그리고 잘 알려진 엑세스 방법으로 어디서든지 접근 할 수 있어야 한다.
* 단일 인스턴스가 서브클래싱에 의해 확장가능해야 할 경우. 그러면 클라이언트는 그들의 코드 수정없이 확장된 인스턴스를 사용할 수 있어야 한다.
* Instance operation (클래스의 메소드)을 정의한다. Instance 는 클라이언트에게 해당 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 할 수 없다.
SingletonPattern 을 사용할 때 고려해야 할 사항들이 있다.
1. unique instance임을 보증하는 것. SingletonPattern의 경우도 일반 클래스와 마찬가지로 인스턴스를 생성하는 방법은 같다. 하지만 클래스는 늘 단일 인스턴스가 유지되도록 프로그래밍된다. 이를 구현하는 일반적인 방법은 인스턴스를 만드는 operation을 class operations으로 두는 것이다. (static member function이거나 class method) 이 operation은 unique instance를 가지고 있는 변수에 접근하며 이때 이 변수의 값 (인스턴스)를 리턴하기 전에 이 변수가 unique instance로 초기화 되어지는 것을 보장한다. 이러한 접근은 singleton이 처음 사용되어지 전에 만들어지고 초기화됨으로서 보장된다.
다음의 예를 보라. C++ 프로그래머는 Singleton class의 Instance operation을 static member function으로 정의한다. Singleton 또한 static member 변수인 _instance를 정의한다. _instance는 Singleton의 유일한 인스턴스를 가리키는 포인터이다.
Singleton class는 다음과 같이 선언된다.
클래스를 사용하는 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 로 둠으로서 늘 단일 인스턴스로 만들어지도록 보증해준다.
더 나아가, _instance 는 Singleton 객체의 포인터이므로, Instance member function은 이 포인터로 하여금 Singleton 의 subclass를 가리키도록 할 수 있다.
C++ 구현에 대해서는 생각해야 할 것이 더 있다. singleton 을 global이나 static 객체로 두고 난 뒤 자동 초기화되도록 놔두는 것으로 충분하지 않다. 이에 대해서는 3가지 이유가 있다.
* (a) static 객체의 유일한 인스턴스가 선언되어질 것이라고 보장할 수 없다.
* (b) 모든 singleton들이 static initialization time 대 인스턴스되기 위한 충분한 정보를 가지고 있지 않을수도 있다. singleton은 프로그램이 실행될 때 그러한 정보를 얻을 수 있다.
- 데블스캠프2004/세미나주제 . . . . 118 matches
* '''토요일 오후 2:30 7층 PC실에서 [데블스캠프2004]관련 모임이 있습니다.'''
* 미리 연락된 분들은 시각을 잘 숙지하시구요. 관심있으신 분들도 모여서 아이디어를 주세요.
* 월요일 준비를 위해 3명 정도 모이려고 했는데, 이사람 저사람 생각을 모으려 하다보니 인원이 많아 졌습니다. :)
* 보안, 암호화, 데이터마이닝
* .......기억이 왜 이렇게 안 날까;;;
* 확률 통계가 컴퓨터에서 어떻게 쓰이나?
혹은 확률 통계가 우리 삶과 얼마나 관련이 깊으며 컴퓨터가 확률 통계적 도구로 우리 삶에 얼마나 많은 도움이 될 수 있나
- [PythonLanguage]나 [Squeak]([Smalltalk])이 재미있을것 같은데요..^^ - [임인택]
- [HaskellLanguage], 상규나 재동이 가능함. -재동
* 자료구조 SeeAlso HowToStudyDataStructureAndAlgorithms, DataStructure StackAndQueue 뒤의 두 페이지들의 용어와 내용이 어울리지 않네요. 아, 일반 용어를 프로젝트로 시작한 페이지의 마지막 모습이군요. )
* SeeAlso [프로그래밍잔치]와 해당 페이지의 계획 파트와 후기들
|| 월 || [데블스캠프2004] OT, ZeroPage 이야기 [[BR]] ToyProblem1 [[BR]]CrcCard || 휘동,상민,석천 || 5h || [데블스캠프]의 시작 - 이계획 분화됩니다. ||
|| 수 || 이 || 재동 || 1h || 손실 압축 ||
|| 목 || [STL] || 영동 || 2h || [STL/string]이나 [STL/vector] 등의 1학년도 쓰기 편리한 자료구조 위주로 ||
|| 금 || OOP(ObjectOrientedProgramming) || 수민 석천이형 || ? || OOP ||
데블스캠프가 일주일밖에 남지 않은 상황에서 너무 스케쥴이 정해지지 않는 것 같아서 위와 같은 커리큘럼을 만들어 보았습니다. 강사의 스케쥴에 따라, 강사의 기호에 따라 날짜나 주제가 변경될 수 있습니다. 더 좋은 의견 있으면 써주세요. --[신재동]
- [STL]의 경우 사용법을 세미나하는것도 좋지만 GenericProgramming 의 개념과 왜 그러한 패러다임이 나왔는지, 그 배경에 대한 설명도 있으면 좋을 것 같습니다 - [임인택]
* 대충 구상하는 내용이
정도로 계획을 짜 놓았는데 전부다하기에는 캠프의 첫날이 다 필요합니다. 월요일에 저렇게 예약된게 많으니, 3시간 정도만 해서 Wiki탐험과 ZeroPage역사+OT 정도만 진행할수 있으면 좋겠어요. 흐흐 벌써 [1002]를 섭외(?)해 놓았고, 다른 분들도좀 섭외를 해서 적절한 요일에 만나면 될것 같습니다. :) --NeoCoin
* RevolutionOS 나, 좀 재미있을 것 같은 컴퓨터 역사 관련 영화 상영 & 이야기하기도 궁리. 혹은 이제 자막이 완성된 'Squeakers' :) --[1002]
- MoniWikiPo . . . . 117 matches
msgstr "\"%s\"(이)가 갱신되었습니다"
#: ../plugin/Blog.php:163 ../plugin/Comment.php:135 ../plugin/blog2.php:164
#: ../plugin/Blog.php:236 ../plugin/Blog.php:292 ../plugin/Comment.php:50
#: ../plugin/Blog.php:246 ../plugin/Comment.php:52 ../plugin/blog2.php:247
#: ../plugin/BlogChanges.php:413 ../plugin/Comment.php:124
msgstr "이전"
#: ../plugin/Clip.php:28
msgstr "새 그림 붙이기"
#: ../plugin/Clip.php:50 ../plugin/Draw.php:108
#: ../plugin/Clip.php:53 ../plugin/Draw.php:111
#: ../plugin/Clip.php:72
#: ../plugin/Clip.php:81
#: ../plugin/Comment.php:53
#: ../plugin/Comment.php:54 ../plugin/ImportTable.php:67 ../wikilib.php:747
#: ../plugin/Comment.php:74
#: ../plugin/Comment.php:78
#: ../plugin/Comment.php:79 ../plugin/Keywords.php:256
msgstr "페이지가 없습니다"
#: ../plugin/Comment.php:110 ../wikilib.php:1144 ../wikilib.php:1288
msgstr "죄송합니다. 특정 메시지가 금지되어 페이지를 저장할 수 없습니다."
- HowToStudyDataStructureAndAlgorithms . . . . 116 matches
처음접하는 것이라면 배열 -> 스택 -> 큐 -> 리스트 -> 트리 순서로 나가는 것이 좋을듯. 정렬과 해싱 이하 뒤의 꺼는 아마 이번달내로 나가기 힘들것 같은데. 트리나 그래프까지만 목표로 잡아도 성공이라고 생각함.
그리고, 자료구조 레포트 선배들이 한 것이 있으니까, 그 문제들 구현을 목표로 잡아도 좋고. (원한다면 보내줄께.) ex) 스택:스택 구현, postfix 의 구현, 계산기 구현. 큐:큐 구현. 리스트:다항식 덧,뺄셈 & 곱셈 구현 (polynomial) 트리:2진트리구현
자료구조는 일단 1. 각각의 자료구조들의 특징을 이해하고. 2. 실제의 구현법을 익히며 (뭐.요새는 collection library들을 제공하므로 직접구현할 일이 줄어들었긴 했지만. 그래도 여전히 기초가 됨) 3. 해당 문제상황에 적절한 자료구조를 선택할 수 있는 눈을 다듬어야 함. --석천
제가 생각컨데, 교육적인 목적에서는, 자료구조나 알고리즘을 처음 공부할 때는 우선은 특정 언어로 구현된 것을 보지 않는 것이 좋은 경우가 많습니다 -- 대신 pseudo-code 등으로 그 개념까지만 이해하는 것이죠. 그 아이디어를 Procedural(C, 어셈블리어)이나 Functional(LISP,Scheme,Haskel), OOP(Java,Smalltalk) 언어 등으로 직접 구현해 보는 겁니다. 이 다음에는 다른 사람(책)의 코드와 비교를 합니다. 이 경험을 애초에 박탈 당한 사람은 귀중한 배움과 깨달음의 기회를 잃은 셈입니다. 참고로 알고리즘 교재로는 10년에 한 번 나올까 말까한 CLR(''Introduction to Algorithms, Thomas H. Cormen, Charles E. Leiserson, and Ronald L. Rivest'')을 적극 추천합니다(이와 함께 혹은 이전에 Jon Bentley의 ''Programming Pearls''도 강력 추천합니다. 전세계의 짱짱한 프로그래머/전산학자들이 함께 꼽은 "위대한 책" 리스트에서 몇 손가락 안에 드는 책입니다. 아마 우리 학교 도서관에 있을 것인데, 아직 이 책을 본 적 없는 사람은 축하드립니다. 아마 몇 주 간은 감동 속에 하루하루를 보내게 될 겁니다.). 만약 함께 스터디를 한다면, 각자 동일한 아이디어를 (같은 언어로 혹은 다른 언어로) 어떻게 다르게 표현했는지를 서로 비교해 보면 또 배우는 것이 매우 많습니다. 우리가 자료구조나 알고리즘을 공부하는 이유는, 특정 "실세계의 문제"를 어떠한 "수학적 아이디어"로 매핑을 시켜서 해결하는 것이 가능하고 또 효율적이고, 또 이를 컴퓨터에 어떻게 구현하는 것이 가능하고 효율적인지를 따지기 위해서이며, 이 과정에 있어 수학적 개념을 프로그래밍 언어로 표현해 내는 것은 아주 중요한 능력이 됩니다. 개별 알고리즘의 카탈로그를 이해, 암기하며 익히는 것도 중요하지만 더 중요한 것은 알고리즘을 생각해 낼 수 있는 능력과 이 알고리즘의 효율을 비교할 수 있는 능력, 그리고 이를 표현할 수 있는 능력입니다.
첫번째가 제대로 훈련되지 못한 사람은 알고리즘 목록의 스테레오 타입에만 길들여져 있어서 모든 문제를 자신이 가진 알고리즘 목록에 끼워맞추려고 합니다. DesignPatterns를 잘 못 공부한 사람과 비슷합니다. 이 사람들은 마치 과거 수학 정석을 수십번을 공부해서 문제를 하나 던져주기만 하면, 생각해보지도 않고 자신이 풀었던 문제들의 패턴 중 가장 비슷한 것 하나를 기계적, 무의식적으로 풀어제끼는 "문제풀이기계"와 비슷합니다. 그들에게 도중에 물어보십시오. "너 지금 무슨 문제 풀고있는거니?" 열심히 연습장에 뭔가 풀어나가고는 있지만 그들은 자신이 뭘 풀고있는지도 잘 인식하지 못하는 경우가 많습니다. 머리가 푸는 게 아니고 손이 푸는 것이죠.
두번째가 제대로 훈련되지 못한 사람은 일일이 구현을 해보고 실험을 해봐야만 알고리즘간의 비교를 할 수 있습니다. 특히 자신이 가진 카탈로그를 벗어난 알고리즘을 만나면 이 문제가 생깁니다. 이건 상당한 댓가를 치루게 합니다.
세번째가 제대로 훈련되지 못한 사람은, 문제를 보면 "아, 이건 이렇게 이렇게 해결하면 됩니다"라는 말은 곧잘 할 수 있지만 막상 컴퓨터앞에 앉혀 놓으면 아무 것도 하지 못합니다. 심지어 자신이 생각해낸 그 구체적 알고리즘을 남에게 설명해 줄 수 있기까지 하지만, 그들은 그걸 "컴퓨터에게" 설명해 주는 데에는 실패합니다. 뭔가 생각해 낼 수 있다는 것과, 그걸 컴퓨터가 이해할 수 있게 설명할 수 있다는 것은 다른 차원의 능력을 필요로 합니다.
그리고 마지막으로, 자료구조/알고리즘 공부를 할 때에는 가능하면 실질적이고 구체적인 실세계의 문제를 함께 다루는 것이 큰 도움이 됩니다. 모든 학습에 있어 이는 똑같이 적용됩니다. 인류의 지성사를 봐도, 구상(concrete) 다음에 추상(abstract)가 오고, 인간 개체 하나의 성장을 봐도 그러합니다. be 동사 더하기 to 부정사가 예정으로 해석될 수 있다는 룰만 외우는 것보다, 그러한 다양한 예문을 실제 문맥 속에서 여러번 보는 것이 훨씬 나은 것은 자명합니다. 알고리즘/자료구조 공부를 할 때 여러 친구들과 함께 연습문제(특히 실세계의 대상들과 관련이 있는 것)를 풀어보기도 하고, ACM의 ICPC 등의 프로그래밍 경진 대회의 문제 중 해당 알고리즘/자료구조가 사용되는 문제를 -- 이게 가능하려면 "이 알고리즘이 쓰이는 문제는 이거다"라는 가이드를 해줄 사람이 있으면 좋겠죠 -- 같이 풀어보는 것도 아주 좋습니다.
우리는 알고리즘 카탈로그를 배운다. 이미 그러한 해법이 존재하고, 그것이 최고이며, 따라서 그것을 달달 외우고 이해해야 한다. 좀 똑똑한 친구들은 종종, "이야 이거 정말 기가막힌 해법이군!"하는 감탄을 외칠지도 모른다. 대부분의 나머지 학생들은 그 해법을 이해하려고 머리를 쥐어짜고 한참을 씨름한 후에야 어렴풋이 왜 이 해법이 그 문제를 해결하는지 납득하게 된다. 그리고는 그 "증명"은 책 속에 덮어두고 까맣게 사라져버린다. 앞으로는 그냥 "사용"하면 되는 것이다. 더 많은 대다수의 학생은 이 과정이 무의미하다는 것을 알기 때문에 왜 이 해법이 이 문제를 문제없이 해결하는지의 증명은 간단히 건너뛰기를 한다.
이런 학생들이 주어진 알고리즘을 사용하는 소위 "객관식" 혹은 "문제출제자"가 존재하는 시험장 상황 하에서는 뛰어난 성적을 보일것임은 자명하다. 하지만 스스로가 문제와 해답을 모두 만들어내야 하는 상황이라면, 알고리즘을 완전히 새로 고안해내야 하는, 또는 기존 알고리즘을 변형해야 하는 대다수의 상황이라면 어떨까?
교육은 물고기를 잡는 방법을 가르쳐주어야 한다. 어떤 알고리즘을 배운다면, 그 알고리즘을 고안해 낸 사람이 어떤 사고의 과정을 거쳐서 그 해법에 도달했는지를 구경할 수 있어야 하고, 학생은 각자 스스로만의 해법을 차근 차근 "구성"(construct)할 수 있어야 한다(이를 교육철학에서 구성주의라고 하는데, 레고의 아버지이고 마빈 민스키와 함께 MIT 미디어랩의 선구자인 세이머 페퍼트 박사가 주창했다). 전문가가 하는 것을 배우지 말고, 그들이 어떻게 전문가가 되었는가를 배우고 흉내내라.
결국은 소크라테스적인 대화법이다. 해답를 가르쳐 주지 않으면서도, 초등학교 학생이 자신이 가진 지식만으로 스스로 퀵소트를 유도해 낼 수 있도록 옆에서 도와줄 수 있는가? 이것이 우리 스스로와 교사들에게 물어야 할 질문이다.
''고등학교때부터 흘러온 교육방식의 폐해가 아닐까 하네요. '무엇을, 왜' 라는 질문 이전에 '어떻게' 가 머릿속에 들어와버리는. --석천''
왜 우리는 학교에서 "프로그래밍을 하는 과정"이나 "디자인 과정"을 배운 적이 없을까? 왜 해답에 이르는 과정을 가르쳐주는 사람이 없나? 우리가 보는 것은 모조리 종적 상태의 결과물로서의 프로그램 뿐이다. 교수가 어떤 알고리즘 문제의 해답을 가르칠 때, "교수님, 교수님께서는 어떤 사고의 과정을 거쳐, 그리고 어떤 디자인 과정과 프로그래밍 과정을 거쳐서 그 프로그램을 만드셨습니까?"라고 물어보자. 만약 여기에 어떤 체계적인 답변도 할 수 없는 사람이라면, 그 사람은 자신의 사고에 대해 사고해 본 적이 없거나, 문제 해결에 어떤 효율적 체계를 갖추지 못한 사람이며, 따라서 아직 남을 가르칠 준비가 되어있지 않은 사람이다. --김창준
알고리즘을 공부하면 큰 줄기들을 알아야 합니다. 개별 테크닉들도 중요하지만 "패러다임"이라고 할만한 것들을 알아야 합니다. 그래야 알고리즘을 상황에 맞게 마음대로 응용할 수 있습니다. 또, 자신만의 분류법을 만들어야 합니다. (see also HowToReadIt Build Your Own Taxonomy) 구체적인 문제들을 케이스 바이 케이스로 여럿 접하는 동안 그냥 지나쳐 버리면 개별자는 영원히 개별자로 남을 뿐입니다. 비슷한 문제들을 서로 묶어서 일반화를 해야 합니다. (see also DoItAgainToLearn)
이와 관련해서 Anany Levitin의 ''A NEW ROAD MAP OF ALGORITHM DESIGN TECHNIQUES''(DDJ, 2000 Apr)를 권합니다. 그는 알고리즘 디자인 테크닉을 다음 네가지로 크게 나눕니다:
자료구조와 알고리즘은 프로그램을 만드는 데 있어서 중요하다고 생각합니다. 남이 만든 자료구조와 알고리즘을 이용하는데 그치지 말고 스스로 생각하여 만드는 경지에 오르면 좋겠습니다. -[강희경]
- Ruby/2011년스터디/세미나 . . . . 114 matches
* aptana (경량형 이클립스)
* 화이트스페이스는 무시
* [http://www.ruby-lang.org/ko/documentation/quickstart/ 루비 퀵가이드]
* 이제 객체를 만들어보자
* 루비에서는 클래스명이 대문자로 시작해야한다!(아니면 에러)
* 루비는 객체의 동적인 변경이 가능하다!
* 이미 생성된 인스턴스에 멤버함수 추가하기
* 함수의 오버라이딩
* 루비의 클래스/메소드 체이닝을 가르칠까요?
* 메서드를 만들어보자! (루비는 return문이 없어도 돼)
* 블럭을 이용한 반복자 함수
* 상속을 통한 테스트 케이스 만들기
* 여러분은 이제 루비 유저입니다!
DeleteMe) 여백이 이상하네요.. 세미나 끝나고 고칠게요ㅜ
* [http://rubyforge.org/frs/?group_id=1109 RRobots]를 이용한 RubyLanguage Robocode
* '''레이튼 교수와 함께하는 CodeRace'''
* 배를 타고 두 마을 사이를 오갈 수 있다.
* 레이튼 교수가 배를 타고 건너 B마을로 건너가게 하자.
* 레이튼 교수가 A마을에서 B마을로 건너갈 수 있는지 본다.
|| 이름 || Keyword || 이유 || 비고 ||
- 타도코코아CppStudy/객체지향발표 . . . . 112 matches
= 객체지향이란? =
즉, 논리와 데이타가 분리되어 있는 기존의 구조적 사고에서 과감히 탈피하여 논리와 데이타가 결합된 객체들이 시스템을 이룬다는 것이다.
같은 클래스에서 생성된 객체들은 모두 같은 연산(operation) 기능을 갖고 있으며, 자료구조가 같고 동일한 행위를 하게 된다.(자료구조는 객체들이 갖는 데이타와 속성(attribute)들의 집합이다. 그러나 데이터와 속성의 값은 물론 다르다.)
* Polymorphism(다형성) - 같은 연산 기능이 부여되어도 그 기능을 수행하는 클래스에 따라 다른 행위로 나타날 수 있다.
예를 들어 '이동(move)' 이라는 기능이 '교수'라는 클래스에 적용될 때는 자택의 이사가 될 수 있으나, '승용차'라는 클래스에 적용되면 특정 목적지로 일정한 시각에 정해진 속도로 움직이는 행위가 될 수도 있다.
* Inheritance(상속) - 계층(hierarchy)관계에 놓여 있는 클래스들 간에 속성이나 연산 기능들을 공유한다.
즉, 주어진 클래스에 서브클래스(subclass)가 있다면 서브클래스의 모든 객체들은 소속 클래스의 모든 속성이나 연산기능을 상속받게 된다. 따라서, 서브클래스를 정의할 때에는 수퍼클래스(super class) 로부터 상속받는 내역들을 중복하여 정의할 필요가 없게 된다.
* 객체지향이란 프로그래밍을 좀더 현실생활과 비슷하게 하기 위해 나온 개념이다.
-- black box의 개념 : 그 객체들이 어디에 쓰이는 것인지는 알아도 그 객체들이 어떤 구조로 되어 있으며 어떤 데이타를 유통시키며 어떤 알고 리즘으로 움직이는가 하는것은 모른다는 것이다.
|| 함수로 이루어짐 || 클래스로 이루어짐 ||
* 데이터 추상화(data abstraction) : 자료 객체(data entity)들의 중요한 특성을 모형화한다. 이 모형이 객체의 속성이 된다.
* 캡슐화(encapsulation) : 객체의 내부적인 사항과 객체들간의 외부적인 사항들을 분리시킨다. 이렇게 캡슐화된 객체의 행위는 외부에서 볼 때는 구체적인 아닌 추상적인 것이 되므로 정보 은닉(information hiding) 개념이 존중된다. 주어진 클래스의 특정 연산 기능은 메소드(method)라고 한다. 캡슐화는 무슨 메소드로 구현되었는가에 구애받지 않고 추상적으로 정의된 연산 기능을 통해 객체가 사용되고 시스템의 상태(state)를 변화시키도록 해준다.
상속성은 설계 및 코드의 재사용(reuse)을 도와주는 중요한 개념이다.
* 캡슐화(Capsulation) : 캡슐화는 객체의 속에 모든 함수와 그 함수에 의해 유통되는 데이타를 밖에서 유통시키지 않는것이다.
겉에서 그객체를 사용하기 위한 사용자 인터페이스는 제공하나 데이타를 검색, 수정 그리고 함수의 이용을 위해서는 이 인터페이스를 꼭 거쳐야 되게 하는것이다.
즉 함수나 데이터가 그것이 속해있는 객체전용으로 된다는것을 말한다. 좋은 예로 자동차를 들수있다.
자동차라는 객체 클래스를 우리가 사용하기 위해서는 알아야할 것이 운전하는 방법뿐인 것이다. 표지 판이나 교통신호등은 관계는 있으나 자동차를 움직이기 위한 객체 인터페이스와는 아무런 관계가 없는것이다. 캡슐화는 기능의 조직성과 논리성을 연관시킨다.
* 데이타형 클래스와 객체(Class and Objectas any type data) : 자동차를 움직이기 위한 유저가 2명 있다. 자동차라는 객체 를 둘다 사용하는데 한명은 부산에 가려고 하고 한명은 대구에 오려고 한다.
그렇다면 객체를 사용하여 생기는 마지막 목적지의 차이는 어디서 생기는 것일까? 바로 유저가 머릿속에 생각한 목적지의 차이, 즉 주어진 데이타의 차이에서 오는것이다.
즉 어떠한 데이타형을 가지고 원하는 만큼의 여러가지 인스턴스를 만들수 있다는 얘기이다.
- 새싹교실/2011/무전취식/레벨10 . . . . 106 matches
* 참여 : 11 강원석 서원태 이소라 이진영
김준석 : 5월이 막바지를 지냈어. 6월초에 프로젝트 발표가 4개 있어. 그래서 프로젝트에 치여삽니다. 하지만 잠도 잘자고 술도 잘먹어요. 그리고 구남영을 면회갔습니다. 소요산 근처 연천에 근무를 하는데 내가 옛날에 근무했던 지역에서 30분 정도 걸린지역이었다. 그래서 8시간이 걸렸음. 그래서 어제 힘들어죽는줄 알았다. 요즘 또 춤은 잘추고 있어요. 댄스스포츠 정말 잘 듣고있어요. 너희도 하고 싶으면 오세요. 프로젝트 한 기억밖에 없다.
축제 준비를 강의실에서 수업시간에 남자가 자꾸 아이유 "좋은날" 불러서 정말 성질 낫음. 그래서 이번 축제가 싫었음 쓸데없이 시끄러웠음.
이소라 : 수요일에요. 누가 숙제를 도와달라고 해서 원래 그날 창설모이는 날이었는데 1시에 끝나서 도와주고 창설 할려고했는데 다해서 축제도 보고 싶어서 오고있었는데 "끝났음"이라고 문자가왔음. 그리고 전날에 화요일에 6시에 오기로 했는데 새싹때문에 늦어서 문자 보냈더니 만난지 30분만에 "끝났음"이라고 문자옴. 이진영 : ㅋㅋㅋㅋ 그리고 못보고 목요일날 갔는데 퍼펙트 성공 이진영 : 이씨~~ ㅋㅋ 그리고 목요일에 축제라서 친구가옴. 6시에 왔는데 낮에 있던거 다 닫고 주점만 있어서 두바퀴오르락 내리락하다가 저기 블랙바니가서 또 꿀꿀꿀 퍼묵퍼묵 하는데 남자친구가 와서 학교 구경 시켜줄려고 올라왔는데 볼게 없어서 걔 아는 형이 저기 병원에 있다길래 만나서 노래방감. 그날 낮에 풍선 미끄럼틀가서 이진영: ㅋㅋㅋㅋ 애들이랑 다 탐. 근데 엄청 재밌게 탔는데 어떤애가 타다가 바지가 찢어짐 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ킨ㄹ이ㅓㅋㅋㅋㅋㅋ 그래서 진영이가 잘봤음. 그리고 금요일에 티셔츠 받으려했는데 줄이 너무길어서 그 전날 다른애한테 뺏은 L사이즈 내가 입음. 완전 하의실종임 ㅋㅋ 그리고 김장훈왔었는데 완전 좋았음.
이진영 : 화요일에 새싹 끝나고 선전부 회의를 가서 처음으로 자보를 썻음. 암튼 재밌었음. 그러고 화요일 수요일에 창설을 하느라 집에 계속 새벽 1시에 들어감. 근데 결과는 첫번째 할때 로봇 팔이 떨어져서 Fail 그리고 두번째는 퍼펙트를 했음. 그래서 돌만 없었으면 완전 퍼펙성공인데 짜증났었음. 그리고 화요일에 너무 배고팠는데 창설 4피에서 할때 홍병우 교수님에게 "교수님 배고파요"이랬더니 4피 사람들한테 다 쏨. 매우맛있었음. 애들이 절 찬양했음. 그리고 축제는 재밌었음. 아 그리고 목요일에 시청에 가서 거기 앞에서 군악대랑 사물놀이 연주하는 봤는데 되게 재밌었음.
서원태 : 수요일날 자다가 종하형한테 문자왔음 "경진대회 감독좀 맡아라" 그래서 갔는데 문제좀 봤는데 하나도 모르겠음. 그래서 인터넷 쓰는사람 계속 잡았는데 치완이네 조가 인터넷 쓰는건 몰랐는데 알아서 말해서 강퇴시킴. 그리고 끝나서 같이 밥먹고 집에감. 목요일에는 가족 저녘약속있어서 축제 구경못하고 집에 감. 금요일날 축제 구경할려고했는데 문예사 프로젝트 발표 준비때문에 구경 못함. 내년 축제는... 아 군대가있지. 군대갔다오면 3년정도 뒤에 볼수 있을듯.
정진경 : 작년 기출보고 갔는데 4문제 나왔는데 너무 어려움 . 삽질하다가 2문제 풀었는데 목요일날 결과 나왔는데 2등해서 넘 좋았음. 경진대회 전에 동양철학의 이해 수업이 있었는데 거기서 잠깐 졸았는데 귓속에 주문이 들어왔다 "양명학 주장학 " 그래서 깨고 보니까 머리가 아팠다. 10만원 현금으로 받고 부상있는데 기계식 키보드랑 무선 마우스. 1등부터 선택하는거임
김태진 : 저번주말에 부산에 내려갔습니다. 목요일 저녘에 갔기때문에 금요일 창설은 다해놓고 구경하러갔습니다. 그리고 금요일 저녘에 들은 소식은 Fail Fail~~~ ㅠㅠ. 축제도 못본건 아쉽긴 하지만 그래도 집에가서 이런저런거 먹고 잘 쉬다온건 행복했음. 프로그래밍 경진대회 나갔는데 한종이랑 송치완이랑 같이 나갔음. 분명 MSDN까지만 쓰기로 되있었는데 송모군이 MSDN하면서 www.google.co.kr를 통해 검색을 하다가. 야. 이거 문제 똑같애 하다가 들켜서 강퇴당함.
강원석 : 집에 강아지가 생겼음 종류는 말티즈 "콜" 네달됬는데 짱임. 남자임. 중성화 아직 안함. 해야한다던. 똥오줌 가려서 완전 신기함. 애가 첫날 왔는데 신문지 위에서 비비빅하더니 오줌거기서 싸고 똥도 거기서 사고 완전 신기함. 거실에서 따로 재움. 그럼 방문열고 들어옴. 이번주 창설 1등했음. 완전 좋음. 축제때 애들이랑 술만먹음. 구경은 안했음.
* 주석을 이용한 프로그램 설계 방법
// 비교해서 4이상이면 print KIN
서원태 : 그 직접 짜는걸 해봤는데 긴장을 많이했다. 그래서 친구들이 친절하게 쪼아줘서 잘 마칠수 있었습니다.
이진영 : 이젠 몰르는게 많음. ㅋㅋ 다음주가 두려움. 복습하겠슴. 끝.
이소라 : 그거 palindrum 어려움. 어떻게 그런생각을 하죠? 신기함.
정진경 : 간만에 오니 진도 많이 빠졌군요. 그래도 아직 코딩을 하는걸 두려워하는것 같아요. 다음에 먹을거 싸들고 오겠습니다.
김준석 : 급전환해서 과제를 풀게됬습니다. 개념정리는 복습해서 잘 이해하는것 같음. 뿌듯하기도 합니다. 그렇지만 아직 코딩을 위주로 안해서 약한것 같습니다. 다음시간도 코딩을 해봅시다.
* 관련 페이지 : 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번을..... - [이소라]
- Java Study2003/첫번째과제/방선희 . . . . 103 matches
-- class파일은 그 자체가 실행파일이 아니다. 따라서 그냥 수행될 수 없으며, 이 class파일을 읽어서 해석한 후, 실행해 줄 무언가가 필요한데, 그것이 바로 JVM이다.
* JVM이 알아서 더 이상 사용되지 않는 메모리를 check해서 system에 반납해 준다.
2. VM이란 무엇이며, 이것을 씀으로써 얻는 이득과 단점은 무엇인가?
* VM이란? : 자바 언어 및 그 실행 환경의 개발자인 썬 마이크로시스템즈에 의해 사용된 용어이며, 컴파일된 자바 바이너리 코드와, 실제로 프로그램의 명령어를 실행하는 마이크로 프로세서(또는 하드웨어 플랫폼) 간에 인터페이스 역할을 담당하는 소프트웨어를 가리킨다.
* 장점 : 가상머신이 한 플랫폼에서 제공되면, 어떠한 자바 프로그램도 그 플랫폼에서 실행될 수 있다.
* 1. 애플리케이션과 애플릿
애플릿은 브라우저에 플러그인 형식으로 실행될 수 있는 자바 프로그램을 말하고 애플리케이션은 브라우저가 아닌 순수 자바 프로그램들을 말합니다. 굳이 따지자면 서블릿, 빈즈, JSP 모두 애플리케이션에 해당하겠죠.
* 2. 서블릿이나 JSP 는 J2EE의 구성원들로서 서버사이드 스크립트라고 합니다. JSP가 만들어진 이유가 뭐냐하면, 서블릿의 문제점을 해결하기 위해서라고나 할까... 웹 프로그래밍이란게 본질적으로 웹디자이너와의 협력이 불가피한데 서블릿의 경우에는 DISPLAY 부분을 수정하기 위해서 웹디자이너가 접근하기 어렵다는 단점이 있죠.. 이때문에 JSP가 만들어졌다고 알고 있습니다. JSP라는 파일은 웹 디자이너가 페이지를 수정하기 편하게 되어있다는게 장점이죠. JSP가 컴파일되면 서블릿이 됩니다.(이게 전부임...) 그리고 서블릿이 실행되면 실제 HTML 페이지가 클라이언트에게 전송되는 것입니다.
빈즈에 대해서 이야기 하자면 웹 서비스라는 큰 테두리 내에서 이야기를 해야 하는데, 간단하게 말하자면 빈즈라는 것이 만들어진 이유는 프로그램의 DISPLAY 부분과 LOGIC 부분을 분리해서 좀 더 확장성있고 유연한 시스템을 개발하고자 하는 취지에서 탄생한 것입니다.(언뜻 이해가 안될 수도 있음...)
"추상화" 라는 것과 밀접한 관련이 있습니다. 우리가 윈도우 운영체제를 쓸때 C 드라이브 D 드라이브를 클릭만 하면 그 안의 파일들이 다 보이죠. 하지만 실제 컴퓨터 안에서 뭐가 어떻게 돌아가는지는 알 필요가 없습니다. 그저 아이콘이 보이면 클릭해서 그 안의 파일들을 보고 열고 삭제하거나 수정하면 되는거죠.
프로그래밍을 할때 데이터베이스에 대한 접근이라든가 또는 다른 시스템에 대한 참조를 할때 굳이 그 시스템에 대해서 세세하게 알필요 없이 그저 외부에 주어진 인터페이스만을 이용해서 접근하면 됩니다. (예를 들자면 어떤 기능을 이용할때는 이런 메소드를 호출하면 된다. 어떤 값을 저장하기 위해서는 이런 메소드로 접근하면 된다 정도). 빈즈에 대한 내용은
실제로 J2EE 프로그래밍을 해야지만이 알 수 있을듯 합니다.
(출처 : 네이버 지식인)
* 이 내용들을 대충이라도 이해했으면 될꺼 같군요. 역시 마찬가지로 실제로 프로그램을 돌게끔 만들지를 못한거 같군요. 한번 해 보세요.
* 자바가 가지는 단점이 하나도 없군요..;; 단점도 같이 조사해 주세요. 언어가 가지는 특징이 꼭 장점만 가지라는 법은 없구요 그 단점을 알아서 그것을 극복하여 프로그래밍 하는 것도 필요하답니다.
* 자바가 각광받는 언어가 된 이유
* Java란 프로그램언어는 enterprise 급 기업의 web시스템에서부터 작은 핸드폰에 이르기까지어디든지 사용할 수 있다. 다시 말해 Java를 할 줄 알면 어느 곳에나 적용 가능한 프로그램을 개발 할 수 있다는 말이다. 그 뿐만 아니라, Java로 개발된 시스템은 다른 언어로 개발된 시스템보다도 훨씬 쉽게 확장이 가능하다.
예를 들어 Java로 인사시스템을 개발하여 운영하고 있다가, 새로운 급여 시스템을 개발하고자 한다고 가정하자. 이때 Java는 다른 언어에 비해 기존 시스템과 쉽게 연동가능하며, 혹 기존 시스템이 Java가 아니더라도 그 일은 가능하다.
* Java는 보안능력이 뛰어나다. 예를 들어 네트워크를 통해 내 PC로 download된 Java로 개발된 프로그램은 일반적으로 그 능력이 제한된다. 다시 말해 바이러스처럼 작용할 수 없다는 말이다 (이점은 MicroSoft의 Active X와 비교된다).
예를 들어 모 site에 접속하였더니, applet이 내 PC로 내려와 수행되었다. 만약 이 applet이 내 PC의 중요한 정보를 가져가거나 지워버릴 수 있을까? 일반적으로 불가능하다(물론 가능하게 하는 방법도 있다. 하지만 일반적으로는 불가능하다).
- 페이지이름 . . . . 103 matches
ZeroWiki에서 ["페이지이름"]에 관한 안내 사항
==== 페이지 이름을 짓는 법 ====
1. 위키위키에서 ["페이지이름"]은 너무나도 중요한 역할을 합니다. 제로위키에서 사용되어야할 페이지이름 규칙도 생각을 해보는게 좋을것 같습니다. NoSmok:페이지이름 페이지에 참고하기 좋은 내용들이 있습니다.
*. 자신의 페이지 이름이 잘못되었다고 하더라도, 당황하지 말고, ["페이지이름고치기"] 를 참고해서 고치자.
==== 이름에 계층성 부여 ====
*. ZeroWiki 에서는 '''/''' 으로 페이지 간의 계층을 구분한다.
* 예를들어서, ["ProjectPrometheus"] 에서 활동하다가 만들어지는 '''Journey''' 페이지의 이름은 ["ProjectPrometheus/Journey"]로 지어지고 이 페이지는 ["ProjectPrometheus"]를 부모로 하는 하위 페이지이이다.
* 당연히, 부모인 ["ProjectPrometheus"] 에 Jouney 에 대한 링크를 찾아보면 있을 것이다. 그리고 ["ProjectPrometheus/Journey"] 의 가장 하단에, 밑줄({{{~cpp ----}}})로 자신의 부모를 링크를 걸어두어 보는 이가 항해하기 편하게 배려한다.
* 이에 반하여 ["ProjectPrometheus/Estimation"]은 부모에 대한 페이지 링크가 가장 상단에 있다. 즉, 부모의 링크는 최상단, 최하단에 올수 있다. 이를 ["역링크"]라고 부른다.
*. 부모가 없는 페이지들은 ["분류분류"] 들에 있는 분류중 하나로 속할수 있다. 만약 자신이 생각하는 분류가 없다면, 당신은 새로운 분류 꺼리를 ZeroWiki에 제공할 수 있다. 새로운 공식적인 분류페이지를 열수 있다는 것은 즐거운 일이다. 축하한다. 해당 분류를 만들어 달라.
* 최상위 링크인 ["분류분류"]의 예를 든다면 이 페이지 ["페이지이름"]은 부모는 없고, ["위키분류"] 로 분류되어 있다.
== 계층이 있는것 ==
* Project페이지의 하위 페이지들
* 개인 페이지의 하위 페이지들 ( 여기에서 계층이 없는 것으로 분리 가능 )
* 일반화시키기에 적당하지 않은 개인적 차원의 예제코드페이지들.
* 부모페이지가 없는 계층 페이지들.
* 부모 페이지가 없다면 부모페이지를 작성하거나, 개인페이지 내의 하위계층으로 이름을 바꾼다.
== 계층이 없는것 ==
* 사람들이 공유 할수 있는 주제인 일반 명사 ( Java, Ant, 책이름 )
* 해당 페이지에 정보가 부족하여 다른 사람들의 논의를 이끌 수 없는 내용.
- 일반적인사용패턴 . . . . 101 matches
== 일반적인 페이지 항해 ==
위키위키를 처음 방문하시면 FrontPage에 들어오실겁니다. FrontPage는 말 그대로 대문이 되는 첫 페이지로, 현 이 위키공간 항해의 시작점이 됩니다. 처음 방문하실때에는 FrontPage부터 시작하셔서 각 페이지 링크를 클릭하셔서 항해하시면 됩니다.
위키의 페이지들은 빨리 읽고 지나갈 글들이 아닙니다. 하나의 페이지가 현재의 모습을 띄기 위해서 수많은 손들에 거쳐가며 수정되고 추가되고 삭제되었습니다. 해당페이지에 대해 시간을 두고 천천히 읽어나가시기 바랍니다. 그리고 참여하시기 바랍니다.
== 페이지 편집 ==
그러다가 해당 페이지를 수정하고 싶으실때가 있으실 겁니다. 잘못된 정보를 바로잡고 싶을때, 내용을 덧붙이시고 싶을때, 토론중인 내용에 참여하시고 싶을때, 또는 토론중인 내용을 정리하여 하나의 문서로 만들고 싶을 때 등등.. 그럴때에는 거침없이 왼쪽 최하단의 'Edit Text'를 클릭하신뒤, 해당 페이지를 수정하시면 됩니다. 위키위키의 공간은 누구에게나 열려있으며, 누구나 수정할 수 있는 페이지입니다.
페이지 편집을 위한 태그들은 다음 링크를 참조하세요. (해당 페이지를 EditText해보시면 다른 사람들이 어떻게 편집했는지 알 수 있으니 보고 배우셔도 됩니다.)
== 페이지 열기 ==
해당 주제에 대해 새로운 위키 페이지를 열어보세요. Edit Text 하신 뒤 [[ "열고싶은주제" ]] 식으로 입력하시면 새 페이지가 열 수 있도록 붉은색의 링크가 생깁니다. 해당 링크를 클릭하신 뒤, 새로 열린 페이지에 Create This Page를 클릭하시고 글을 입력하시면, 그 페이지는 그 다음부터 새로운 위키 페이지가 됩니다. 또 다른 방법으로는, 상단의 'Go' 에 새 페이지 이름을 적어주세요. 'Go' 는 기존에 열린 페이지 이름을 입력하면 바로 가게 되고요. 그렇지 않은 경우는 새 페이지가 열리게 된답니다.
어느정도 위키에 익숙하시다면 보통 최근 바뀐 글 또는 RecentChanges 를 링크로 걸어놓으십시오. 가장 최근에 수정된 페이지들을 바로 확인하실 수 있습니다.
위키의 특성상 한 페이지가 길어지는 경우가 많습니다. 스크롤을 위해 휠만 사용하는 것보다는 Page Up, Page Down을 적절하게 사용하시는 것이 편합니다. 한쪽손은 키보드, 한쪽손은 마우스.~
== 페이지 링크 ==
위키위키의 장점중 하나로 자유로운 링크에 있습니다. 기본적으로 auto link를 지원하므로 해당 위키 페이지 링크 뿐만 아니라 다른 웹 페이지의 링크도 자유롭습니다. (쓰다가 보면 가끔 위키 내에서 다른 페이지로 날라가기 허다해진다는. --;) 위키페이지 링크는 [[ "해당페이지이름" ]] 을 하시면 되고, 일반 웹 페이지는 URL을 그냥 입력해주시면 됩니다.
* 대문 - 가장 첫 페이지로 갑니다.
* 제목색인 - 지금까지 열린 페이지들이 ABCD 순으로 배열됩니다.
* 도움말 - 도움말 페이지입니다.
* Go : 가고자 하는 페이지 이름을 알고 계시다면 Go에 직접 페이지이름을 입력하세요. 바로 해당 페이지 글로 Go~ 합니다. 기존에 없던 페이지이름이라면 새로운 페이지를 만듭니다.
* 페이지이름 : 최상단의 타이틀제목을 눌러보세요. 해당 페이지를 링크한 페이지들 목록이 나옵니다. 역링크라고 합니다.
* 오른쪽 상단의 아이콘들의 기능은 HelpOnNavigation 를 참조하세요.
* 하단을 보면 LocalSiteMap 이 있습니다. 위키의 링크구조를 Tree 화 하여 보여줍니다.
== 페이지 삭제 ==
- 프로그래밍잔치/첫째날후기 . . . . 98 matches
그날 했던 일. 느낀점. 교훈을 정리해보는 페이지. (ThreeFs)
(이 부분은 Document Mode 이며, 해당 한 일들을 기억하는 사람들끼리 기억을 모아서 만듭니다. ^^ 그날 했었던, 일어난 일들에 대해 기억나는대로 간단히 정리해봅시다. 너무 길어지면 '프로그래밍잔치첫째날' 식으로 페이지를 나누어도 좋겠고요. )
["상민"] 과 ["1002"] 는 위키에서의 대화에 대해 간단한 시연을 보여주었다. [1002/MP3공유프로그램] 에서 가상의 인물 1002, 상민, 쩡직 등이 대화를 하면서 페이지내용을 조금씩 정리하고, 점차 [음악공유프로그램], [소리바다와그누텔라] 페이지로 나누어져가는 모습을 중간중간 버벅이는 설명과 함께 시연을 했다.
한쪽은 상욱, 세연, 은지, 창섭, 기웅, 상민은 위키의 좋은점, 불편한점, 어떻게 위키를 써야 할 것인가에 대해 이야기했다.
* 계층위키에 대해서 - 개인 페이지 내에 계층위키로 페이지를 열고 시작한다면, 처음 쓰는 입장에선 특별히 편집에 대해 구애받지 않아서 좋을 것 같다.
한쪽에서는 진균, 덕준, 상협, 재동, 상규, 인수, 석천은 주로 위키 활성화와 위키글쓰기 스타일에 대해 이야기했다.
* 오늘 위키의 간단한 룰로서 들고 나온 개인페이지 내 '/' 구분자를 이용하는 계층위키에 대한 사람들의 생각
* 위키의 룰은 사용하는 사람들이 점차적으로 만들어야 하는데, 지금의 룰은 '규칙'처럼 선언을 해버린 모습같다. 위키의 룰은 결국 위키를 이용하는 사람들이 만들어가는 것 아닌가?
* 사람들이 마음편하게 쓸수도 있겠지만, 내용의 중복을 가져오기 쉽다.
* 만일 사람들이 Courage 를 내어서, 다른 사람들 페이지에 대해서 구조조정을 빈번하게 해준다면, 계층위키가 많이 필요하지 않을것이다.
* 위키의 활성화에 대한 이야기
* ZeroPagers 의 위키에 자신의 공부내용을 정리하는 것은 '의무'인가? 자신을 위한 행동이 아닌가? 강요되는것은 아닌지. (실제로 자신의 공부내용을 글로 정리하기에 대한 어려움)
* 위키가 책을 대신하는가? - 위키가 모든 내용을 다 이야기해주지 않으며, 그럴 필요도 없다.
* 사람들마다 글쓰기 스타일이 다르며, 정리하는 스타일도 다르다. - 위키 스타일의 글쓰기는 사람들이 글쓰기 페이지를 만드는데 주저하게 만든다. 글을 쓰기 전에 고려해야 할 사항이 너무 많다.
* 위키를 쓸때 이미 도큐먼트모드화 되어버린 글들이나, 시작부터 도큐먼트모드식으로 잘 정리된글들은 뭐라고 더 스레드 자체를 붙이기가 어렵다. 이미 도큐먼트모드화 된 글에 대해서 굳이 더 스레드를 붙일 이유도 없다.
* '말없이 고치기' 에 대해서
* 개인 페이지에 대해서 '말없이 고치기' 의 경우 해당 사람의 기분을 상하게 할 수도 있다.
* 구체적으로 '~한 점이 잘못되었다' 라고 길게 설명하는 것 보단, 그냥 조용히 적절하게 고쳐주는 것이 좋을 수도 있다.
질답시간에는 JuNe의 도움하에 여러 이야기들이 오고갔다.
'''우리나라에서는 왜 이러한 언어들이 잘 쓰이지 않는가?'''
- woodpage/VisualC++HotKeyTip . . . . 95 matches
*Visual C++ 6.0 에서 Help메뉴에 보면 KeyBoardMap이라는것이 있다.
*Hot Key를 쓰면 좋다. 스타에서 단축키 쓰는거랑 같은이유다. 마우스로 스타하는거랑 키보드까지 같이 쓰는것은 거의 천지차이다. 그만큼 유용한 단축키를 많이 쓰면 쓸수록 코딩 속도도 빨라지고 소스분석도 잘되는거같다. ^^;;
*일종의 페이지를 이동시켜주는 기능을한다. A라는 페이지를 열고 작업하다가 B라는 페이지를 열었다. 그리고 다시 A라는 페이지를 가고 싶을때 Ctrl + Tab을 누르면 간다. 살짝 살짝 눌러주면 바로 전 페이지를 이동하는 기능을 수행한다. 그러다 급하게 누르면 열린 페이지를 계속해서 이동하게 된다.
* Ctrl + F6 이랑 같죠? -_-훨씬 낫군요.. 한손으로 되고.. ㅠ.ㅠ --[선호]
*사용도 : ***** (무지 많이 사용 없으면 코딩하기 정말 싫을거같음)
*Ctrl + Tab 이 없을때 그나마 이걸로 살수있을듯 현재 열려진 윈도우 창이 목록으로 나오며 선택하면 이동함 단점은 윈도우창을 늘릴수없음 파일이름 길면 짜증남
*사용도 : * ( 난 별로 사용안함 Ctrl+Tab과 F12를 더 자주이용함 )
*Ctrl + F를 누르면 찾기 창이 뜨는것 처럼 단어에다가 커서를 놓고 Ctrl + F3을 누르면 그 단어를 찾음 상당히 많이 쓰는 키인데 난 얼마전에 알았음 --; F3으로 이동 SHIFT+F3은 반대로
*Tab 정렬이 안되어있는 소스를 블럭 지정하고 Alt + F8 을 지그시 눌러주면 Tab 정렬이 된다.
*현재 커서에 있는 변수나 함수의 type이 tooltip으로 나옴
=== Ctrl + T (리소스 에디터 다이얼로그 부분에서) ===
*다이얼로그 편집하는 부분에서 Ctrl + T를 누르면 미리보기가 된다. 왼쪽 밑에 Ready 위에 레바같은걸 당겨도 됨
*멤버 변수 / 함수 목록이 팝업창으로 나타남
*사용도 : * (키를 3개씩 누를 힘이 없음 ㅠ.ㅠ)
*1학년땐가 상민이형이 쓰는걸 보고 상당히 신기했던 북마크 한번누르면 지정하고 한번 더누르면 해제한다. 지정하고 나서 F2를 눌러서 이동한다 같은 페이지만 됨
*지정된 북마크를 해제함 이것을 몰랐을때 F2로 이동하면서 지웠음 ㅠ.ㅠ
*단어단위로 블록 설정 상당히 많이 쓰게됨 마우스를 이용할시 단어에 더블 클릭
*모르는 사람이 없을거 같은데 솔직히 1학년 중반쯤에 알았다. Undo 이전 거로 복귀(?)
*워크스페이스창으로 커서를 옮기기는 하는데, 워크스페이스 탐색은.. 마우스로 대개 하기때문에..
*Output 창으로 커서 이동
- 네이버지식in . . . . 93 matches
요새 잡생각이 많아져서 일기에다만 쓰고 있었는데 위키가 있다는 사실을 잊고 있었다.ㅡㅡ;
네이버 지식in은 폐인까지 생겨나면서 비슷한 위키는 이렇게 참여가 저조할까.
라는 생각이다.
지식in이란 서비스는 질문에 답변을 해주는 게시판 형식이긴 하지만, 참여가 자유롭고 한 주제에 대해 글을 쓴다는 점에서 위키랑 비슷하다는 생각이다. '''오픈 백과사전'''이라는 게 있기도 하던데 이게 위키랑은 더 비슷한 형태이지만 지식in에 대면 별로 인기가 없어보인다.
이유가 뭘까.
가장 먼저 떠오른 건, 이용자 수였다. 이용자 수가 엄청나게 많다는 점이 지식in서비스를 활발하게 해 주었다. 이용자 수가 많아진 이유는 여러 가지가 있겠지만, 텔레비전 광고까지 낼 정도로 홍보를 해서 그렇지 않을까? 반면 위키 홍보는 몇 번인가 하고는 그 뒤로는 사람들이 알아서 쓰기를 바랬던 것으로 보인다. 알려지지 않은 서비스가 아무리 많은 장점이 있다 한들 사람들이 알아야 쓸테니까, 위키 사용이 활발하지 않은 건 일단 덜 알려져서라고 생각한다.
다음으로는 익숙하지 않은 형식이었다. 아예 인터넷을 처음 만나는 사람이라면 익숙한 형식이 있지도 않겠다만, 많은 사람들이 글을 쓸 때는 게시판에 제목과 이름과 내용정도가 달린 게 글 형식이고, 글 제목이 목록으로 한 페이지에 나오는 형식이 익숙한 형식일 것이다. 때문에 전부 '''내용'''처럼 생긴 위키를 보고는 일단 다르게 생긱 형식에 바로 적응하지는 못할 것이다. 쓰기 어렵지는 않겠지만 말이다. 때문에 위키가 엄청난 장점을 가져서 적응하는 노력을 들이고 싶을 만 하지 않다면 굳이 사용하려 하지 않을 것이다. -[Leonardong]
그 차이는 의외로 아주 간단합니다. 네이버지식인과 같은 시스템은 개인의 명성(reputation)에 대한 욕구에 상당 부분 의존하고 있습니다. 개인을 더 드러내는 것이죠. 반대로 위키는 개인이 잘 드러나지 않습니다. 명성 시스템이 아닙니다. see also ForgiveAndForget 이는 XP 철학과도 상통합니다. XP에서는 너희 팀에 영웅이 누구냐는 질문에 답이 바로 나올 수 있는 팀을 좋지 않게 봅니다. 영웅이 있는 팀은 위험한 팀입니다. XP는 보상도 팀단위로 받고 책임도 팀단위로 지는 것을 이상적으로 봅니다.
이와 관련하여, 제가 국내에서 최초로 위키위키를 대중매체에 소개할 때에 "대부분의 집단에서 파워라는 것은 제한과 배제에서 오지만, 이곳의 파워는 자유와 참여에서 온다."는 말을 했습니다.
- 글쎄요. 저는 약간 다른관점으로 보게 됩니다. 네이버 지식인의 성공은 각종 매체의 힘과, 기존에 사용해오던 '게시판'이라는 형식의 '익숙함'에 더해 '보상과 동기부여'가 아닐까 싶습니다.
우선 '위키'라는 개념과 형식은 사람들에게 생소하고 낯설게 다가오게 마련입니다. 기존 '게시판' 에 익숙해져있던 사람들에게 위키의 사용은 하나의 모험으로 작용하겠죠. 사람들에게 있어서 낯설음,생소함등은 곧 거부감으로 직결되기 쉽습니다. 이러한 거부감을 없애려면 굉장한 노력과 시간과 자본이 투자되어야 하겠죠. MS 사의 윈도우즈가 성공한 요인이 뛰어난 기능과 능력이 아닌 '익숙함'이라는 것은 왠만큼 소프트웨어를 알고있는 사람들 사이에서는 상식이죠.
''왠만큼 소프트웨어를 아고 있는 사람들은 OS독점이라고 알고 있는데요. 아닌가요? :) --NeoCoin''
- 현재는 독점 시장을 형성하고 있습니다. 하지만 그 과정을 살펴보면 MS 사의 윈도우즈가 뛰어난 성능과 기능을 가져서 독점했다고 보기는 힘듭니다. 객관적, 주관적, 전문가의 분석 어떤점으로 보나 윈도우즈보다 뛰어난 운영체제는 언제나 존재해왔습니다.(물론 지금도 존재합니다.) 하지만 사람들은 이미 익숙해져버린 윈도우를 버리고(월등히 뛰어나지는 않지만 그렇다고 절대적 성능이 떨어지는것도 아니니) 다른 운영체제를 택한다는건 '모험'을 넘어서 '도박'에 가깝다고 느껴지게 됩니다. 그러므로써 그러한 모험 내지 도박은 말씀드렸던 낯설음,생소함등으로 이어지게 되고, 자연스레 다른 OS 들은 설자리를 잃어버리게 됩니다. 단순히 결과만을 놓고 보았을때 말씀하신 독점시장이 맞습니다만, 제가 말씀드리고자 했던 요지는 그 과정속에서 찾을수 있었던 '익숙함'이었습니다.
''말씀하신 익숙함의 의미를 제가 독점으로 바라봐서 생기는 오해인것 같습니다. 분명 청정원 케찹도 있지만 오뚜기 케찹을 선택하고 많이 팔리는 것을 '익숙함'으로 볼수 있습니다. 하지만 오뚜기 케찹을 쓰지 않으면 모든 요리를 할수 없는 상황이 되면 그걸 이제 '익숙함'이라고 설명하기보다 독점으로 바라봐야 한다고 생각하거든요. :) --NeoCoin''
또하나 '보상과 동기부여' 라는 차원의 면에서 생각해 본다면, 네이버는 이미 매체를 통해 어느정도 인지도를 쌓은 후에 그 인지도를 십분 활용하여 '보상과 동기부여'를 제공합니다. 네이버와 위키의 공통점은 참여의 제한이 없습니다. 대부분의 집단에서 파워라는것이 '제한과 배제'에서 나온다고 하셨지만, 네이버의 지식인 '제한과 배제'라기 보다는 '노력(실력)에 따른 보상'이라는 자본주의 정신과 일맥상통한다고 봅니다. '보상과 동기부여' 이것이 네이버와 위키의 가장 큰 차이점이라 생각합니다.
네이버에서 영웅은 없습니다. 열심히 노력한 '고수' '명예의 전당'이 있을뿐입니다. - 장창재
윗 글에 공감해서 한동안 이 페이지를 잊고 있었는데, 어제 문득 다른 생각이 나서 또 적어봅니다.
사람들은 [네이버지식in]을 마치 수학 문제 해답지처럼 여기는 것 같습니다. 저도 요즘엔 누가 궁금한 게 있다고 물어봤을 때 모르는 경우''지식in 검색해봐''라는 말을 자주 합니다. 제가 누군가에게 모르는 걸 물어봤을 때도 자주 듣습니다. ''지식in엔 없는게 없다니까''라는 말도 들어보았습니다. 마치 [네이버지식in]에는 살아가며 궁금한 것들에 대한 모든 해답이 있는 듯이 여기고 있다고 느꼈습니다. -[Leonardong]
Knowledge In Naver 의 약자로 KIN 이라는 단어가 url 에 들어간더군요... 그냥 '즐' 이라는 단어만 생각했는데.. Knowledge In Naver 였다니...^^; - 임인택
KIN 은 Knowledge In Naver 의 약자가 아니라 지식In -> Knowledge In -> kin 으로 사용하는 것이지요.
- 새싹스터디2006/의견 . . . . 89 matches
새로운 회원을 모집하고 올해도 [새싹스터디2006]를 시작했습니다. 아마 스터디를 진행하는 반별로 다시 하위페이지를 만들고 나름대로 진행해 나가겠죠. 숙제와 소스를 올리는 하위페이지가 다시 생길 것입니다. 여기서 한 가지 고민이 생겼습니다.
제로페이지 위키에 [새싹스터디2006]에서 소그룹으로 진행한 기록이 재학생에게 필요할까요? [제로페이지의문제점]에서도 ''스터디가 신입 수준을 벗어나지 못한다''라는 점을 지적합니다. [2004년활동지도]의 1학기 스터디, [새싹C스터디2005]의 Class페이지들이 대표적입니다. 반면 [새싹C스터디2005/선생님페이지], [새싹배움터05/첫번째배움터], [새싹C스터디2005/pointer]와 같은 페이지는 현재 [새싹스터디2006]을 진행하는데 도움을 줍니다. 조금만 가다듬으면 [STL]페이지처럼 주제별로 정리할 수 있습니다.
따라서 지금 위키 구조를 잘 이용해 필요한 정보는 제로페이지 위키에, 각 소그룹으로 진행하는 내용은 개인 위키에 정리하면 좋겠습니다. 나중에 정리할 필요 없는 시간 약속, 출석 체크, 메시지 전달 들을 개인 위키에서 진행하면 되겠죠. 단 숙제를 내면 반 이름의 하위페이지를 만들기보다, [EightQueenProblem]처럼 정보를 모을 수 있을 것입니다. 이로써 현재 미약한 개인 위키 사용이 늘어날 것이고, 덤으로 사용자가 위키 카페 구조에 익숙해지는 효과도 얻을 것 같습니다. -- [Leonardong]
물론 그렇게 할 겁니다. .[EightQueenProblem] 뿐만 아니라 여러 문제분류에서 모든 문제들 페이지 처럼 작성하는것이 도움이 된다고 생각하기때문에 생각도 했습니다. [LittleAOI] 문제를 하나씩 풀어보는 방식을 취하는것도 좋다고 생각합니다. 아직 이르지 만요.. (제 반은 일주일 후에나 할 수 있을거 같습니다)
여기 페이지도 나름대로 필요하다고 생각합니다. 각 팀마다 06학번 신입생의 실력이 다른 것 처럼 각 팀은 각 나름대로 진행해야 할 것입니다. 하위 페이지에서 기록이 단순히 '재학생을 위해서' 가 아닌 무슨 문제를 풀었고, 언제 만날건지, 어떤 문제를 풀건지 등 위키에 내용으로 남겨두는 것이 좋을것 같습니다. 후에 또 참고할 수 있도 있고. 지금 많은 class의 진척도도 볼 수 있고요.
이번 2006년은 신입생을 위주로 돌아가는 건 절대 아니라는건 알지않습니까? 신입생 C스터디 이외에도 지금 프로젝트가 다양하게 있습니다. 재학생은 재학생 프로젝트를 해 나갈 것이고 우리는 '자원' 하에서 신입생의 C 언어 공부에 자그나마 도움을 주자고 하는 것입니다. 여기서 조심스럽게 바라봐야 할 것은, '얼마나 치중할까' 인데.그건 선생님 마음 아닌가요? 여기서 잘 따라와 주는 신입생이 많기를.. 간곡히 바랍니다.
신입생은 신입생이기 때문에 환영받아야하고 1년이 지나면 저처럼 신입생이 아니게 되겠지요.- -- [허아영]
위키에 기록을 남기되 개인위키를 활용하자는 말입니다. [stuck]같은 페이지에서 언제 만날지, 오늘은 누가 나왔는지까지 후에 참고할 필요가 없다고 생각합니다. 또 [빵페이지/구구단], [복/숙제제출] 같이 페이지 아래 실습한 내용이 분산되지 않고, 각 반의 숙제 페이지는 되도록 문제에 따라 한자리에 정리하면 좋겠습니다. 진행 상황은 페이지를 만들지 않아도 링크를 걸면 되겠죠. -- [Leonardong]
제 말도 그거에요 ㅋ 링크 걸자는 거에요.. 그런데, 개인위키에 적는건 더 분산 아닌가요? 우리가 프로젝트 진행할 때 프로젝트 한 페이지에 여러 링크, 내용을 적잖아요? 새싹스터디2006/날아라병아리 이런식으로 만들어서 그 페이지 안에,우리가 풀었던 문제를 링크거는건 어떨까요?, 뭐 방법에 따라 다르겠지만, 저번처럼 새싹스터디 단체로 숙제를 내 주게 될 때는 달라지겠지만요.. -- [허아영]
위키의 [분류분류]나 [지도분류]가 잘 정리될 수 있다면 아무래도 상관없습니다. 이미 여러 프로젝트, 스터디 페이지가 제로페이지 위키에 존재하고 [프로젝트지도]나 [2004년활동지도]같은 곳에 링크가 걸려 있습니다. 개별 스터디 그룹의 메인페이지를 개인 위키에서 유지하고, 숙제등은 제로페이지 위키에 올리고 메인페이지에서 링크를 걸 생각을 해 보았습니다.
예를 들어 [너구리]라는 스터디 팀이 있고, 팀원이 너굴아빠, 너굴엄마라고 합시다. 너굴엄마가 자신의 개인 위키에 [너구리]라는 메인 페이지를 엽니다. 너굴아빠는 [너구리]페이지를 자기 카페에 가져오기만 하면 되죠. 그래서 스터디 공지나 이런저런 이야기는 [너구리]페이지에서 해결합니다. 그리고 [나무기어오르기]라는 숙제가 있다면, 제로페이지 위키에 [나무기어오르기/너굴아빠], [나무기어오르기/너굴엄마] 페이지를 만들어서 해답을 올립니다. 자신이 만든 페이지이므로 [나무기어오르기/너굴아빠]페이지는 자동으로 너굴아빠의 개인위키에, [나무기어오르기/너굴엄마]페이지는 자동으로 너굴엄마의 개인위키에 생깁니다.
사실 [너구리]페이지는 제로페이지 위키에 있어도 그만입니다. 현재 진행중인 스터디를 모두 링크하는데 [너구리]페이지가 너굴아빠 개인위키에 있든 어디 있든 상관없지요. 다만 최근바뀐글을 생각하면 일장일단이 있습니다. [너구리]페이지가 제로페이지 위키에 있으면 현재 진행중인 스터디를 모든 사람이 한 곳에서 볼 수 있을 것이고, 따라서 다른 스터디도 돌아볼 기회가 많아지겠죠. 반대로 [너구리]페이지가 개인 위키에 있으면 자신의 위키홈에 가야지 볼 수 있기 때문에, 개인 위키 사용을 활발히 만들 겁니다.
어느쪽이 되었든 하위페이지는 신중히 만들어야 합니다. 하위페이지는 순간 만들기 쉽지만 갈수록 구조를 바꾸기가 어려워집니다. '''숙제'''로 제로페이지 위키에 있는 페이지를 검색해 보세요. 내용으로 정리할 수 있는 페이지가 있지만, 손보려면 드는 시간이 적지 않을 겁니다. 일일이 페이지를 열어보기 전까지는 그 안에 어떤 내용이 있는지 알 수도 없고요. 또 하위페이지는 링크를 걸기가 더 어렵습니다. 상위 페이지 외에는 그 하위 페이지의 역링크 개수는 0에 가깝습니다. 이를테면 [5인용C++스터디/멀티쓰레드]는 [5인용C++스터디]에서만 링크하고 있습니다. 이러한 현상은 하위의 하위 페이지로 들어가면 더 심해질 것입니다. -- [Leonardong]
- 조현태/놀이/지뢰파인더 . . . . 87 matches
== [조현태/놀이/지뢰파인더] ==
위키에서 마인 파인더를 본 기억이 어렴풋이 남아있다.(SeeAlso MineFinder)
그런데 작동 시간이 길고 성공률이 낮았던 기억이..(맞는지는 모르겠다.)
눈은 전체화면에서 지뢰찾기 프로그램의 이미지를 추출하는 방식을 생각했으나 그냥 핸들을 구해오는 편한 방법으로 바꿔서 만들었다.
손은 마우스를 직접 이동시켜 클릭하는 방법과 메시지를 전달하는 방법중 후자가 더 간지나 보여서 그쪽을 택했다.
머리는 여러가지 알고리즘을 바탕으로 구상중이다.
음.. 위에 두 메시지가 직접 클릭했을때고, 밑의 4개가 '손'이 보낸 메시진데..
뭐 잘 작동하니..~.~ 뭐 어떻게든 되겠지... 공부를 해야하는데 공부도 안하고 남이 만든거 분석도 안하고
혼자서 마구 만드니 뭔가 잘못되가고 있는 느낌이..;;
데블스 캠프에서 배운 로보코드를 활용할 생각..^^ 뭔가 객체같은 느낌이 들어서 클래스로 만들어 주기로 했다.^^
그런데 클래스란거 배우지도 않고 막 써도 되는건가..ㅠ.ㅜ 나쁜습관이 들지도..^^;;
클래스명이 로보 만들어놓은 객체의 이름을 레인져로 지어주었다.^^;;;
뭔가 비정상적인 프로그래머..ㅎㅎㅎㅎ 이상한 녀석!!^^;; - [조현태]
갈수록 일에 치여 시간이 줄어든다.^^ 오늘은 클래스를 2개나 동원해서 레인져가 자료를 저장할 곳을 조금 만들었다.
한 클래스에서 다른 클래스를 붕어빵 찍듯이 찍어내고, 또 그 클래스가 여러개로 찍혀나가게 했는데..
이거 메모리 낭비 아냐? ㅎㅎ
거기다 알고리즘이 생각보다 복잡해서 머리를 썩히고 있다. 끄응...역시 자료구조를 정하는게 가장 중요한 일인겨..;;
문제는 디버깅이 며칠간 이루어지는가.. 왠지 겁이난다. 와따 많은 논리적 오류와 싸워야 할듯..;;
거기다 알고리즘이 정확하지 않아서 여러번 수정하다보니.... 에휴..ㅎㅎ
자면서 작성했더니, 소스가 이상해졌다. 본인도 뭐가 뭔질 모를뿐더러, (사실 자면서 짜서 지금 어디 짜는지도 모르고 작성했다.)
- XMLStudy_2002/Start . . . . 84 matches
* 위에 3개중 Invalid Documents는 실제 XML 문서로서의 역할을 할수 없다. XML 파서로 파싱 했을 때 바르게 파싱되지 않기 때문이다.
* 3번은 DTD도 사용하였고 태그 규칙도 맞게 작성된것이다.
2 시작 태그에 대응하는 닫는 태그가 오기전에 시작 태그의 바깥에 위치한 태그의 닫는 태그가 위치하지 않아야 한다.(태그들이 겹쳐서(orverlapped) 사용될수 없다.)
step5. 디스플레이
*XML 문서는 XML로 기술된 구조적인 정보로 구성되는 문서이며 XML1.0스펙에 맞게 작성하며 XML을 지원하는 프로세서(또는 프로그램)에서 사용하기 위해서 Well-formed나 Valid한 형태로 작성된 문서를 말한다. ---> 정의
*XML문서는 택스트 파일이라는 형태로 저장되므로, XML파일 자체는 OS나 특정 프로그램에 의존적이지 않는 특성을 지닌다.
*XML문서는 문서로서의 역할을 하기도 하지만, 데이터들을 담을 수도 있다. 즉 XML 문서는 택스트 형태의 데이터로서의 역할을 할 수도 있다.
*XML 응용프로그램이란 이러한 택스트 객체(textual object)를 처리하여 사용할수 있는 프로그램이다.
*구조적 문서 검색이나 문서의 구조 정보가 필요한 응용에 이용 ,EDI DTP등에 이용,전자상거래 플랫폼으로 이용
*데이터로서의 역할
*XML은 SGML을 좀더 손쉽게 사용할수 있는 대안으로서 취급 하지만 XML의 응용분야가 확대되면서 데이터로서의 역할이 점점 커지고 있음
*SVG(Scalable Vector Graphics)포맷과 같은 그래픽 분야 전자상거래의 트랜잭션 처리, MathML과 같은 수학식 표현 등이 사용 예
<NAME>이호동</NAME>
<P>이 부분이 본문의 내용이 들어가는 부분입니다.</P>
이호동 보냄
*standalone : 외부 마크업 선언의 사용 여부를 표시 외부 마크업 선언으 한개이상 선언했을떄 no
*type : 사용할 스타일 시트의 타입을 기술 XSL(text/xsl)과 CSS(text/css)가 있음
*XML문서를 구성하는 기본 요소 시작태그와 닫는 태그가 있고 태그안의 내용이 엘리먼트의 값이된다.
<엘리먼트 이름 어트리뷰트1="어트리뷰트1의값"...>내용</엘리먼트 이름>
<엘리먼트 이름 어트리뷰트1=="어트리뷰트1의 값".../>
- 위키QnA . . . . 84 matches
Q : 링크에 밑줄이 생길때가 있고 안생길때가 있습니다. 그렇다기 보다는 생기는건 생기고, 어떤건 계속 안생겨 있군요. (in mozilla) --zennith
Q : 갑자기 위 순서가 바뀌어버린 거죠? 최근바뀐글이 두번째 였던 거 같습니다. --zennith
A : 아. 한번 고쳐봤습니다; 위의 네비게이션 바에 tab index를 주었습니다. 맨 처음 focus 는 바로가기 GO 입력창에 커서가 오고요. 그 다음 Shift + Tab 을 누르면 TAB 이 최근바뀐글 -> 검색 -> 제목색인 순으로 움직입니다. (반발이 3명 이상 나오면 원상복귀 하겠습니다;;) --석천
Q : IE 6.0 기본설정에서는 로그인이 안되네요.
Q : 그리고 글중 ''wiki : NoSmok : 페이지이름'' 식으로 링크를 했는데, 이건 무슨 기능인지 간단히 설명좀
A : InterWiki 라고 합니다. InterWiki 에 등록된 다른 위키의 페이지를 링크 걸때 사용합니다. 위키간 이름공간을 연결해주는 유용한 매크로. ^^; InterWiki 에 가보시면 현재 등록된 다른 위키페이지들을 알 수 있습니다.~
=== {{{~cpp }}}로 묶이는 단락의 폰트 사이즈가 작아요 ===
Q : {{{~cpp {{{~cpp }}} }}} 로 묶이는 녀석의 font를 1 더 크게 하면 어떻게 나오는지? 지금 좀 작아서 글자가 보기에 뭉개져 보입니다.
* Regular Project 인원 3명이상 - 3명 이상이라면 세미나-스터디의 형태이거나, 단체 프로그램 목표, 기타의 단체 목표 일것이다.
* Regular Project 2명이하라도 팀원들이 Regular Project 만큼 많은 접근성이나 말이 멋있다고(--;)요구하면, 자유로이 Regular Project에 올린다.
* 반대로 Semi Project의 Regular Project로의 선택은 막습니다. 이것이 허용되면 구분의 의미가 없겠죠?
* Regular Project와 Semi Project를 나눈 원래의 취지는 개인이나 2명의 극히 소수가 진행하고 있는 작은 규모와 3명 이상의 단체가 진행하는 일이라고 생각했습니다. 하지만 받아 들이는 입장에서는 다른 의도로 받아 들이지 말아 주세요. 혹은 둘을 구분하는 다른 효과적인 기준을 제시해 주세요.
Semi Project에서 인원이 3명 이상이라면 자동으로 Regular Project가 되어야 합니다. 이렇게 한 이유는 Regular Project라면 대문에서 더 다수가 접근할 것이라고 생각되며 eye catch의 시간을 더 줄여야 한다고 생각하기 때문에 이렇게 둔것입니다. 둘의 차이는 인원의 차이 외에 현재 아무것도 없습니다. 그냥 2명 이하라고 하는것 보다 Semi라는 이름이 멋있어서 붙여놨것만 --;; --상민
현재의 FrontPage가 하는 역할이 좀 많다고 생각하는데. (Long Method 에 대해서는 Refactoring이 필요한 법. --a) FrontPage가 하는 역할들에 대해 페이지들을 슬슬 나누는 것은 어떨까 생각중. --석천
난 지금이 딱좋은데 더 확장되면 골치 아플껏 같고.. 혹은 사용용도가 ZeroWiki 와 합쳐 져야 한다고도 생각. project의 직접 접근성을 없애는건 반대이고 Starting Point에 사용용도를 링크하는 것이 최적이라고 생각 --상민
FrontPage가 현재 하고 있는일이 (보여주고 있는 것) ZeroWiki 정의, 사용용도, Starting Point (여기에는 프로젝트 열거도 포함), 제안이야. 이중에서 사용용도와 제안은 새 페이지로 빼는 것이 좋을 것 같은데. 그리고 프로젝트 열거 밑에 Starting Point 밑에 두는 것도 생각. 그리고 또하나는 현재 이 프로젝트 관련 글을 Q&A가 아닌 제안페이지에 두는것이 더 좋겠다는 것. 현재 우선적인 직접접근성을 제공받아야 할 것은 project니까. 그에 대해서는 나도 별 이견 없음. --석천
어이 난 원래 Regular Project와 Semi Proeejct의 의미 부여에 관한 설명과 의논만을 원했어 ^^; --상민
Q: 현재 Ant 페이지를 작성하고 있는데 Glossary 부분을 만들었고 같은 페이지 내에서 내부링크를 통해 Glossary 내용을 볼 수 있었으면 하는데 이것은 위키에서 할 수 없는지... 답변 바랍니다. ^^
==== 이미지 입력문제 ====
Q: Bioinformatics에 관한 프로젝트를 진행하려고 합니다. 소개와 내용의 재정리를 위해서는 많은 이미지 파일들을 위키에 올려야 될지도 모르겠는데, 위키에서의 이미지 사용은 그렇게 적절하지 않은 것 같습니다. 어떤 방식으로 이를 해결할 수 있을까요?
- 위키로프로젝트하기 . . . . 84 matches
1. 해당 주제로 페이지를 연다. 가급적이면 고유한 프로젝트 이름을 가지는 것이 좋다. 일반적인 용어에 대해서는 다른 사람들도 같은 이름의 페이지가 필요할 것이기 때문이다.
* What - 이는 단순히 '무엇을 한다' 가 아닌 구체적인 목표이다. 무엇을 원하는가?
* Who - 이는 프로젝트를 진행하는 사람들이다. 해당 페이지에 대한 주도적인 책임을 지는 사람들이다.
* When - 프로젝트에서의 '기간' 은 아주 중요한 요소이다. 기간이 무한정인 프로젝트에는 힘이 없다. 기간 내에 해당 프로젝트를 끝내도록 노력하자.
* How - 목표를 위한 방법과 일정의 기록이다. Offline 또는 Online 상에서 한 일에 대한 ["ThreeFs"] 를 남겨라.
* Why - 프로젝트를 하기 위한 동기이다.
* 페이지를 조금씩 키워나간다. 페이지 내용을 키워나가도 좋고, output 화일을 링크를 걸어도 좋다. 개인적 경험으로 볼때 (1002) 권장하는 방법으로는
* output 화일 링크걸기 - 다른 사람들이 직접 컴파일하거나 소스를 열어볼 수 있도록. 가급적이면 프로젝트 진행 초기버전부터 링크를 걸어주는 것이 좋다고 생각한다. (다른 사람들이 해당 사람의 사고 궤적을 볼 수 있다.)
* 공동 번역 - 영어 원문을 링크를 걸거나 전문을 실은뒤 같이 번역을 해 나가는 방법이다. Offline 으로만으로도 가능한 방법이지만 효율적인 방법으로 다른 방법들을 곁들일 수 있겠다.
* 내용 정리 & 페이지 정리
* Journal/Schedule - 프로젝트 계획을 세운 것에 맞춰서 체크를 해 나가가고, 진행할 때 마다 그날의 ThreeFs 를 남긴다. 이는 ["컴공과학생의생산성"] 과도 관련이 깊다.
* 종료 - 원하는 목표에 도달했을 경우, 또는 Schedule 에 세운 계획에 맞춰 일이 완료되었을 경우에는 프로젝트를 종료한다. 만일 기간을 넘기고, 프로젝트를 진행할 의욕을 잃었다면, 프로젝트를 종료시켜라. (무기한 보류로 오래 끌고 있지 않도록 한다. 이는 추후 새 프로젝트를 열때 발목을 잡을 것이다.)
일반게시판에 경우 프로젝트가 어떻게 진행될까? 하나의 프로젝트당 하나의 게시판이 열려있어야 한다. 프로젝트가 10개라고 한다면 게시판이 10개가 열려있어야 하고, 각각의 글들은 시간순서대로 저장이 된다. 위키에서의 page 10개의 의미와 게시판 10개의 의미중 어떤 것이 더 cost가 적게 들까? 그리고, 시간순서의 글 index 나열방식과 텍스트 내의 하이퍼링크중심 글 나열방식중 어느것이 더 의미있는 정보를 담을까?
기존의 게시판방식이 장점이 있다면 '시간의 역사' 라는 점이 있겠다. 매일 작업일지를 쓰는 경우. 시간의 흐름에 따른 진행상황이 처음부터 주욱 보이기 때문이다. 반면 위키는 늘 현재성을 추구한다. 위키의 페이지는 늘 해당 주제를 중심으로 고쳐지는 글이다. 하지만, 시간의 역사 자체의 의미보다는 페이지 자체 내용, 즉 Content 중심의 사고라는 점에 더 무게중심을 두고 싶다. '시간의 역사' 자체가 Content 로서 중요하다면, 그것을 위한 페이지를 열어라.
1. 현재 자신이 관심을 보인 분야를 다른 ZeroPagers에게 소개하는 효과를 가진다. 그럼으로써 해당 분야에 대해 먼저 공부한 ZeroPagers에게 암묵적으로 질문을 던지고 도움을 청하는 것이 된다. ZeroPage 에서 활동하는 사람 역시 다른 사람들의 페이지에 대해서 가급적이면 활발한 Feedback 을 보여주기 바란다.
* 이미 열려져 있는 페이지를 토대로 공부할 수 있다. 자신은 그 위에 또 하나의 글들을 추가하거나, 시대에 맞지 않는 틀린 글들을 고쳐주면 된다. 하나의 Page 이름 ( == Contents 라고 해도 좋을 것이다) 하에 많은 사람들이 해당 Page에 대한 '공헌자' 가 되는 것이다. 이는 새로운 프로젝트를 여는 것 보다 더 쉽고 빠르면서도 효율적으로 공헌하는 방법이다.
* 자신이 공부하거나 프로젝트를 추진하는 내용들을 문서로 정리하는 과정을 통해 공부한 내용을 확실히 자기 것으로 만들 수 있을 것이다. 그리고 또한 정리된 문서는 타인에게 하나의 좋은 공부자료가 될 것이다. 오프라인 세미나의 자료로 사용할 수도 있겠다. 자신이 한 일에 대해 정리하는 것 자체가 좋은 습관이라 생각된다.
* 더 효율적으로 이용하기 원한다면, 해당 지식을 이해한 상태에서 정리가 이루어져야 할 것이다. 만일 2~3명 이상 다른 사람들과 스터디를 하게 되는 경우, 해당 지식에 대한 사람들의 이해의 관점이 다를 수 있음을 알게 될 것이다. 여러 관점을 보는 것 또한 좋은 경험이 될 것이다. (외국의 대학에서는 위키를 해당 강의에 대한 공동필기장으로 쓰기도 한다.)
* 온라인이라는 잇점이 있다. 시간과 공간의 제약을 덜 받는다. 하지만, 오프라인을 배제해서는 안된다. 각각의 대화수단들은 장단점들이 존재한다. 위키의 프로젝트는 가급적 Offline에서의 프로젝트, 스터디와 이어져야 그 효과가 클 것이다. ZeroPage 의 ["정모"] 때 자신이 하고 있는 일에 대한 상황을 발표하고, 서로 의사소통을 할 수 있겠다.
이전에 ZeroWiki 내에서 진행되었던 프로젝트는 ["WikiProjectHistory"] 를, 진행중인 프로젝트는 ["프로젝트지도"] 를 참조.
- EnglishSpeaking/2011년스터디 . . . . 82 matches
|| 날짜/이름 || 권순의 || 김수경 || 송지원 || 정의정 ||
* 각자의 이 스터디를 하는 목적/목표가 무엇인가?
* 막연하게 Free Talking을 하면 아직 어색한 우리들, 어떠한 방법으로 이를 극복할 것인가?
* 마침 참여 인원 모두가 ACM 스터디 중이라 자신의 문제를 설명하고 소감을 말하는 시간을 가짐
* 이런저런 자유 주제로 이야기하다가 각자의 스마트폰에 대해 디스(?)하는 시간을 가짐
* 자신의 가족에 대해 이야기하기
* 가족 구성원, 가족들의 직업 및 취미, 자신과의 관계 등등을 자유롭게 이야기할 수 있었음.
* [송지원] - 말하기를 할 때마다 느끼지만 자신이 하고자 하는 말을 다른 언어로 표현하는게 참 쉽지가 않아요. 쉬운 말이라고 해도 안써버릇 하면 단어라던가 어휘가 생각이 나지 않고, 처음에 6피에서 영어로 입을 트자니 어찌나 부끄럽던지 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 아 해외경험도 있는 주제에 이렇게 허접한 영어 실력이라니 막막해지네요ㅠㅠ 그래도 열심히 해야겠다는 생각에 지금 심슨 영상도 뽑아내고 있고 그래요-_-; 앞으로 우리 울렁증을 극복해보아요 화이팅 ㅠㅠ
* [권순의] - 중학교땐 맨날 애들이 뭘 그렇게 영어로 중얼중얼 대냐고 했었는데 (레슬링 대사나 이런거였다는 -_-) 하도 안하다 보니까 말이 잘 안나오네요. 그리고 어쩔땐 머리로 문장이 잘 만들어지는데 그게 입 밖으로 잘 안나오는게 문제네요;;; 아흐음... 확실히 뭐라도 중얼중얼대야겠습니다. 예전처럼이라도 -_-;; 음.. 또 레슬링 봐야하나;;
* [김수경] - 아주 쉬운 말을 하고싶은데도 적절한 표현이 생각나지 않아 괴로웠습니다. 그냥 주제없이 이야기하는 것도 좋지만 질문에 대답하는 식으로 진행하니 오히려 말하기 더 편한것 같아 좋았어요.
* 각자의 논문 주제에 대해 이야기.
* 튜터링에 대한 이야기
* 학점 이야기
* 자신의 취미에 대해 이야기하기
* [김수경] - 오늘 처음으로 심슨 대사를 따라해봤습니다. 지원언니께서 네명이 같이 연습할만한 장면들을 미리 골라두셨는데 막상 오늘 온 사람이 두명이라 다른 장면을 연습했습니다. 40초도 채 안 되는 짧은 대화인데 참 어렵더라구요. 한 문장씩 듣고 따라하고, 받아쓰기도 하고, 외워서 해보는 등 한 장면을 가지고 여러번 연습한 것은 매우 좋았습니다. ''You tell me that all the time.''이나 ''Let me be honest with you.''가 어려운 문장은 아니지만 막상 말하려면 딱 생각이 안 났을 것 같은데 오늘 이후로는 좀 더 유려하게 말할 수 있을 것 같아요. 앞으로 매주 진행하면 이런 표현들이 늘어나겠죠 ㅋㅋㅋ
* [송지원] - 혹시나 했지만 역시나 현지 영어 따라하기는 쉽지 않습니다. 짧은 몇 줄 문장을 외워서 따라하기는 어렵지만 많이 하면 실력이 늘 거라는 생각은 들어요. Free Talking은 제가 하고 싶은 말을 나름 자유롭게 구사해서 만족했는데 Theme Talking에서는 한계를 느끼고 한국어를 섞어서 그 점이 좀 아쉬웠어요. 다음 주에는 The Simpsons.. 정말 4명이 함께 하기를 (온 성의를 다해 대본을 준비하는 만큼;ㅁ;)
* 지원이 미국에서 있었던 일로 흘러가다가
* [권순의] - 심슨 영상을 보면서 따라 해 봤는데.. 뭔가 따라가는 듯 하면서도 뭔가 어눌한 듯한 이 발음 ㅋㅋ 아 근데 너무 졸리네요 -_-;; 그래서 좀 힘들었습니다.;;; 그래도 세명이서 역할 분담을 잘 해서 재미있었습니다. 그러고 나서 자유 주제.. 졸리니까 멍하네요 -_-;; 좀 멍하게 시간이 지나간 듯..
* [송지원] - 지난 번에 심슨 따라하기 보다 역할을 분담하니 조금 수월해졌다는 느낌이었습니다. 특히, 재미있는 장면을 선정해서 지난 번보다 조금 더 몰입할 수 있었어요. (지난 번엔 마지가 너 고민 있는듯 하다 뭐 이런 내용이었는데 이번엔 온 가족이 Scrabble 게임을 하는 장면 ㅋㅋ) Free Talking을 하면서 느낀 건 맨 처음 영어 스터디를 시작할 때보다 말문이 많이 트였다는 점. 이젠 6피에서 영어 쓰는 것도 그렇게 쪽팔리기만 하지는 않네요.
* [김수경] - 이번주 영상은 문장이 단어 조금 바꾸면 여기저기 가져다 쓸만한 것이 많아 재미있었어요. 가위바위보로 역할을 분담했는데 ''Along with the ego and the superego, one of three components of the psyche.''라는 문장을 외워보고 싶어서 리사를 선택했습니다. 그런데 리사 분량이 제일 적어서 본의아니게(?) 가장 날로먹었네요 ㅋㅋ
- EightQueenProblemDiscussion . . . . 79 matches
EightQueenProblem을 풀면서 혹은 푸는데 실패하면서 얻은 ThreeFs를 이야기해 봅시다.
당신은 어떤 식으로 이 문제에 접근을 했고, 어떤 사고의 과정을 거쳤으며, 어떤 과정으로 프로그래밍을 했으며, 어떤 디자인 결정을 했습니까? 만약 실패했다면 당신이 했던 것 혹은 하지 않았던 것 중 무엇이 실패의 주요인이었다고 분석을 하십니까?
만약 당신보다 더 짧은 시간에, 더 짧은 코드로 문제를 해결한 사람이 있다면, 그 사람과 함께 PairProgramming (혹은 NetMeeting 등을 이용, VirtualPairProgramming)을 해서 그 문제를 함께 새로 풀어보세요. 당신은 무엇을 배웠습니까? 그 사람은 어떤 방식으로 프로그램의 올바름(correctness)을 확인합니까? 그 사람은 디버깅을 어떻게 합니까(혹은 디버깅이 거의 필요하지 않은 접근법이 있던가요)? 그 사람은 어떤 순서로 문제에 접근해 갑니까? 그 사람은 어느 정도로까지 코드를 모듈화 합니까? 이 경험이 당신의 프로그래밍에 앞으로 어떤 변화를 불러올 것이라 생각합니까?
세번째각도.. 성공적이다. 일단 한줄에 한개의 퀸만 들어간다는 점에 착안하여 모든 점을 검사하였다... 비효율적이지만 확실한 방법ㅡㅡ;
말 그대로 그냥 정공법 (이 될지는 모르겠지만. -_-;)으로 나갔다. 여기서는 테스트 코드로 대신을..
그 다음에는 '퀸을 놓을 수 있는 위치가 안전한 곳일까?' 하는 점에 대해 접근. 이를 SelftyZone 이라 칭했다. 이를 체크하기 위해서는 가로/세로/대각선방향을 모두 체크해야 하므로 다시 4개의 작은 모듈로 나누어졌다. 그중 대각선 체크의 경우 처음 비교를 시작할 위치를 측정하기 위한 모듈을 하나 더 추출하게 되었다.
해당 알고리즘을 구현하기 위한 기반이 되는 체크 관련 부분에 대해 (여기까지) 만드는데는 52분정도가량이 걸렸다. 하지만, 정작 Queen 을 배열하는 알고리즘을 생각해내는데 3시간 가량이 걸렸다. --;
* Feelings - 느낀점: 시간이 넘 오래걸려서 한편으로는 쪽팔리긴 하다. -_-; 뭐.. 알고리즘 부분에 대해서 너무 시간을 오래 끌었다. 왜 그랬을까 생각하는데.. 아마 특정 알고리즘들이 먼저 머릿속에 떠올라서가 아닐까 한다. (이 부분에 대해서는 stack을 쓸까 recursive 로 대신할까 이리저리군시렁군시렁) 이런 부분에 대해서는 어떻게 test가능한 부분으로 접근해나갈수 있을까.
자신에게 항상 "What is the simplest thing that could possibly work?"라는 질문을 하면서 TestDrivenDevelopment를 했나요? 테스트/코드 사이클을 진행하면서 스텝을 작게 하려고 노력했나요? 중간에 진척이 별로 없는 경우, 어떤 액션을 취했나요? 그 때 테스트 사이클의 스텝을 더 작게하려고 했나요? 만약 다시 같은 문제를 새로 푼다면 어떤 순서로 테스트를 하고 싶나요? (직접 다시 한번 새로 시작하는 것도 강력 추천) 왜 다른 사람들에 비해 시간이 상대적으로 많이 걸렸을까요? 테스트 코드를 사용한 것이 그 시간만큼의 이득이 있었나요? TestDrivenDevelopment를 해내가면서 현재 패스하려고 하는 테스트 케이스에서 무엇을 배웠나요? 켄트벡이 말하는 것처럼 사고의 도구가 되어 주었나요? 참고로 저는 EightQueenProblem을 파이썬으로 약 30분 정도 시간에 50 라인 이내로(테스트 코드 제외) 풀었습니다. TestDrivenDevelopment로요. --김창준
직접 다시 새로 시작하는 것에 대해서는 비교계산을 내리기 힘들것 같네요. (더 좋은 디자인을 얻어내는 것과 훈련라는 점에서는 물론 저도 추천) 제가 잘못했다고 생각되는 부분은, 퀸을 배열하는 방법 알고리즘 부분에 대해 TestDrivenDevelopment 를 지키지 못했다는 점이죠. (머릿속에 먼저 재귀함수 호출 등의 특정 알고리즘들이 먼저 떠오른지라. )
알고리즘 궁리 부분에 대해서도 80/20 법칙이 통용되려나요. :) 3시간이 걸린 부분이 바로 다음 부분이였는데요.
즉, 실제 Queen의 위치들을 정의하는 재귀호출 코드인데요. 이 부분에 대한 TestCase 는 최종적으로 얻어낸 판에 대해 올바른 Queen의 배열인지 확인하는 부분이 되어야 겠죠. 연습장에 계속 의사코드를 적어놓긴 했었는데, 적어놓고 맞을것이다라는 확신을 계속 못했죠. 확신을 위해서는 테스트코드로 뽑아낼 수 있어야 할텐데, 그때당시 이 부분에 대해서 테스트코드를 못만들었죠.
지금이라면 'Level 8일때 바로 판을 찍지 않고, 저 상황의 데이터구조체를 그대로 복사해서 결과만 넣어놓는 리스트를 하나 더 만들고, 그 결과들에 대해 올바른 배열을 했는지 테스트하는 코드를 뽑아낼 수 있겠다' 라는 아이디어가 떠오르긴 하네요. (그렇더라도 100라인은 넘어갈것 같긴 하네요. ^^;)
사고의 도구로써는 연습장과 TFP 둘 다 이용했지만, 순수하게 적용하지는 않았습니다. (위의 Queen을 놓는 부분에 대한 재귀호출부분에서는 적용못함) 테스트작성시간/코드작성시간 등에 대한 관리는 하지 않았습니다. (이 부분에 대해서는 반성을. ^^;) 흠.. 그리고 'The Simplest Thing'을 찾아나갔다기 보다도, 이미 해당 문제에 대해서 의사코드를 생각하고, 해당 코드에 대해 Top-Down 형태로 모듈을 나눈뒤에 모듈에 대해 테스트를 만들어갔다는 생각이 드네요. --석천
지금가지 모두 C++, Python, Java 등 OOPL을 이용했는데 그 중 OOP로 푼 사람은 아무도 없네요 -- class 키워드가 있다고 OOP라고 하긴 힘들겠죠. 사람은 시간이 급하다고 생각이 들수록 평소 익숙한 도구와 멘탈리티로 돌아가려고 하죠. 어쩌면 OOP가 편하고 수월하다고 느끼는 사람이 없다는 이야기가 될지도 모르겠네요. 물론 모든 문제를 푸는데 OOP가 좋다는 이야기를 하려는 것은 아닙니다만. --김창준
이런 암호같은 프로그램도 있다는..
실패한 이유
* 문제 인식 잘못, 풀이 계획 잘못. 완성되었다고 생각한 순간에, 크나큰 실수가 있었음 인지하였다. 답이 없는 줄 알았다. TT
* TFD로 시도하였는데. test와 code간 이동이 빠르지 못하였다. 즉, test부분이 충분히 작아지지 못한 것 같다.
[이승한]과 PairProgramming을 하며 문제를 풀었습니다. TDD를 하지 않고 30분을 작성했고 나머지 1시간30분을 TDD로 했습니다.
- 제로Wiki . . . . 79 matches
* 제로페이지 위키 서비스 개시와 함께 다시 재개
* Ctrl + G -> / 로 이동
* 게이트웨이 서버에 추가 서버를 등록만 시키면 유기적으로 다른 서버들과 연결이 된다.(마치 하나의 컴퓨터 처럼 보인다), 각 개인 위키 혹은 카페 위키를 생성할때에 자신의 원하는 서버를 지정하면 그곳에 그 위키가 생성된다. 그 위키에 대한 페이지 데이터들은 모두 그 서버에 저장이 된다. 사용자의 입장에서 보았을때에는 하나의 웹사이트처럼 보인다.
== 페이지 공유 ==
* 개략적 설명 : 각 페이지는 자신의 뇌의 일부분으로 생각 할 수 있다. 각 페이지는 다른 페이지들과 종속 및 포함 관계를 가질 수 있다.(페이지 링크를 통해서 가능함) 그리고 이 페이지를 다른 여러 사람들과 공유할 수 있다. 기존 위키 처럼 하나의 커뮤니티에서의 공유가 아니라 다양한 커뮤니티 사이트들이 서로 서로 페이지를 공유 할 수 있게 되고, 그 공유 페이지가 업데이트 되었을 경우 현재 공유중인 모든 커뮤니티에 그것이 반영된다.(수정된글 목록에 떠서 사람들에게 환기 시킨다)
* 하는 방법 : 예를 들어서 제로페이지 카페에 자신의 위키에 있는 페이지를 올리고 싶을 경우 먼저 제로페이지 카페에서 화면 오른쪽 상단의 가입하기 버튼을 눌러서 가입한후, 올리기를 원하는 페이지를 고칠때 카페 선택을 제로페이지로 하고 나서 저장하면 그후로 계속 공유 관계가 유지된다.
* 자신이 어떤 카페에서든지 새로 만든 페이지는 자신의 개인 위키에 그글이 자동으로 등록 된다. 그글에 대한 반응을 자신의 위키에서 볼 수 있고, 자신이 어떤 카페에 글을 썼는지 기억 못하는 문제도 해결해 준다.
* 자신이 페이지 만드는 데에 참여하고 싶은 페이지는 그 페이지가 있는 카페에 가서 그 페이지를 저장할때 카페에 자신의 개인위키를 지정함으로써 자신의 개인 위키에 그 페이지를 등록 시킨다. 그러면 그 페이지와 자신의 개인 위키가 공유 관계를 가지게 한다.(공유 관계 : 공유 중인 페이지가 업데이트(수정) 될 경우 공유 관계에 있는 모든 위키에 그것이 반영된다.)
* 예를 들어서 여러 명이서 특정 책을 중심으로 스터디를 진행할때 스터디 페이지를 각 개인 위키와 공유 페이지로 지정하여 사용할 수 있다.
* 이메일 및 쪽지로 사용할수도 있음.
* 개념 : 페이지의 성격에 따라서 특정 분류로 나눈다. 기존의 카테고리와 같은 개념 아니냐고 생각할수 있다. 아래 활용을 보시라..
* 동문카페 : 동문 카페라고 하면 각 학번별로 아주 많은 사람들이 글을 쓰게 된다. 자신이 모르는 학번 사람들이 태반일 것이다. 자신이 아는 학번도 있을테고. 그런데 이것을 자신과 상관 있는 학번만 분류어로 지정해 놓으면 나중에 바뀐글을 볼때 그 설정 분류어로 된 페이지들의 바뀐글만 보게 된다.
* 군대 전우 카페 : 이 카페도 마찬가지이다. 같은 부대라도 자신과 다른 시기에 근무한 사람이 태반이다. 이때 분류어 설정을 통해서 자신이 아는 사람들이 쓴 글들만 볼 수 있다.
* 프로그래밍 카페 : 규모가 커질 경우 너무 다양한 주제 대한 글들이 올라 올 수 있다. 이때 자신이 관심 있는 언어를 분류어로 설정하여 그 언어에 대한 글들만 볼 수 있다.
* 저렇게 할 필요 없이 각 분류어별로 게시판을 만들면 되지 않냐고 생각할 수 도 있다. 하지만!!! 그렇게 각각의 분류 별로 게시판을 만들경우 그 게시판의 글들을 확인 하기 위해서 각각의 게시판에 들어 가야 한다. 그리고 군대 전우 카페 같은 경우 각 회원마다 군생활 시기가 겹치는 사람도 있고 겹치지 않는 사람도 있는등 각 회원에 따른 맞춤식 정보 제공이 필요하다. 이럴때 분류어 기능이 유용하다.
* 같은 제로 위키 내의 다른 카페의 바뀐글도 오른쪽 같은 문법으로 본다. (이런 식의 문법으로[refer 카페url])
== 소스 하이라이팅 ==
* 문서 수정 창에서 비공개 라디오 버튼을 클릭하면 문서를 생성한 사람만이 볼수 있다. 바뀐글에도 그 페이지는 보이지 않게 된다. 단 그 주인이 로그인 하였을때만 보인다.
* 카페 이름및 메뉴 등록, 시작 페이지 설정
* 현재 모든 서버내에 있는 모든 카페, 페이지제목, 페이지 내용 검색 가능
- TAOCP/BasicConcepts . . . . 78 matches
양의 정수 m과 n이 주어졌을때, 그것들의 최대공약수(greatest common divisor)
E1. [나머지 구하기] m을 n으로 나누고 나머지를 r이라 하자.(0 <= r < n)
E2. [그것이 0인가?] r = 0 이면, 알고리즘은 끝난다; n이 답이다.
E3. [줄이기] m <- n, n <- r 으로 설정한다, 그리고 E1단계로 돌아간다.■
| E1.나머지 구하기 |-------->( E2.그것이 0인가? )-------->| E3.줄이기 |
E1 단계에서 시작. m을 n으로 나누면 몫은 0이고 나머지는 119이다. 그러므로 r <- 119
E2 단계에서 r ≠ 0 이므로 적용되지 않는다
이것으로 처음에 m < n 이면 항상 m과 n이 교환된다는 것을 알 수 있다
E0. [m >= n 인지 확인하기] m < n 이라면, m <-> n 을 교환한다
119와 544의 최대공약수는 17이다
알고리즘은 0개 이상의 입력을 가진다
알고리즘은 하나 이상의 출력을 가진다
Q는 부분집합 I와 Ω를 포함하는 집합이다
f는 Q에서 Q 자기자신으로 가는 함수이다
집합 I의 원소 x의 입력은 계산수열, x0, x1, x2,..., 를 다음과 같이 정의한다
x0 = x 이고 xk + 1 = f(xk) (k >= 0)
Ω에 속하는 xk 에 대하여 k가 가장 작은 정수라면 계산수열은 k단계에서 종료된다고 한다. 그리고 이 경우에 x로부터 결과 xk가 생성된다고 한다.
알고리즘 E는 다음과 같이 이런 관계로 형식화된다.
Q를 모든 단일 (n), 모든 순서있는 쌍 (m,n), 모든 순서있는 4쌍 (m,n,r,1), (m,n,r,2), (m,n,p,3) (m,n,p는 양의 정수, r은 음이 아닌 정수)의 집합이라 하자.
I를 모든 쌍 (m,n)의 부분집합이라 하자.
- 지금그때2004/여섯색깔모자20040331 . . . . 77 matches
흰색 : 실제, 사실내용이나 객관적 자료 설명.
초록 : 새로운 아이디어.
- 검정 : 왜 사회자 문제가 시의성이 높은가?
- 검정 : 사회자의 비중이 크므로 중요하다 본다.
하양 : 총엠티 자봉단 참여로 몰려서 현재 사람들 참여 저조. 시간이 미루어지면 참여자가 늘어날 듯.
하양 : 이번엔 대자보 홍보가 없었다.
검정 : 대자보 홍보가 없었던 이유는 강의실과 시간 등이 명확하게 정해지지 않았기 때문이다.
하양 : 동문서버 게시판 홍보. 이것 또한 5명과 연관이 있다고 본다.
하양 : 현재 전체 신청상황을 보면, 새내기 6명, 재학생 9명이다.
파랑 : 사람 수는 변하기 쉽다. 숫자 자체가 중요한건 아니라고 본다. 이를 좀 더 편하게 표현하려면.. 퍼센트로 표현해보자.
이에 대해 합을 내면 20+8+4+4 = 36명이 된다. 36명이 목표치가 맞는가?
녹색 보충 : 위에서 99이하를 4명으로 말한것은 졸업선배의 수를 포함하며, 확실히 올 수 있는 사람 기준으로 4명이라 이야기했다. 실제로 오기 원하는 수치는 그 2배~3배이다.
녹색 & 노랑 : 8명 이상 왔으면 좋겠다.
녹색 & 검정 : 어디까지나 예상인원이므로, 그냥 이정도 선에서 이야기를 마쳐도 좋을것 같다. 홍보이후 재측정한뒤 상황을 보는것이 좋겠다.
99이하 : 4명
하양 : 신청자 대비 실제로 오는 사람은 달랐다. 20명이 신청했다면 16명이 오는 식이다.
파랑 : 이에 대해서는 실제로 홍보 가능한 횟수를 생각하는것이 좋겠다.
파랑 : 강의실 홍보가 필요한가에 대해서는 모두 공감하는가? 이에 대해 노란색 모자 의견이 있으면 말해달라.
파랑 : 이에 대해서는 다들 공감하는가?
초록 & 하양 : 화요일 당일날에도 1시에 04학번 전체가 수업받는 시간이 있다.
- AcceleratedC++/Chapter9 . . . . 75 matches
|| ["AcceleratedC++/Chapter8"] || ["AcceleratedC++/Chapter10"] ||
C++은 클래스 타입과 같은 사용자가 정의한 어플리케이션 고유의 타입을 정의할 수 있는 많은 기능은 지원한다.
4.2.1절 Student_info 구조체를 다루는 함수를 작성하고, 이를 한개의 헤더파일로 통합을 하는 것은 일관된 방법을 제공하지 않기 때문에 문제가 발생한다.
본 장에서는 기존의 구조체를 확장하여 함수를 작성하고 이런식의 문제를 해결할 수 있는 방법을 알려준다.
프로그래머는 구조체를 다루기 위해서 구조체의 각 멤버를 다루는 함수를 이용해야한다. (Student_info 를 인자로 갖는 함수는 없기 때문에)
그러나 프로그래머는 직접적으로 이런 구조를 다루기 보다는 세부적인 구현을 감추고 싶을 수 있다.
string, vector 와 같은 것들은 Student_info의 내부 구현시에 필요한 사항이기 때문에 Student_info를 사용하는 프로그램의 또다른 프로그래머에게까지 vector, string을 std::에 존재하는 것으로 쓰기를 강요하는 것은 옳지않다.
//함수 명의 뒤에 const를 붙이면 멤버 변수의 변형을 할 수 없는 함수가 된다. (구조적으로 좋다)
* s:Student_info 라면 멤버함수를 호출하기 위해서는 s.read(cin), s.grade() 와 같이 함수를 사용하면서 그 함수가 속해있는 객체를 지정해야함. 암묵적으로 특정객체가 그 함수의 인자로 전달되어 그 객체의 데이터로 접근이 가능하게 된다.
이 함수에서 알아야할 3가지
* 함수의 이름이 Student_info::read이다
* Student_info의 멤버함수이므로 Student_info 객체를 정의할 필요도 인자로 넘길 필요도 없다.
* 객체 내부의 데이터를 직접적으로 접근 가능하다. 예를 들어서 s.name으로 접근할 필요없다.
::를 사용함으로써 호출되는 grade를 객체의 멤버함수가 아니라 전역 grade의 형으로 사용하는 것이 가능하다.
객체에서는 const 객체 내부의 데이터들을 const형으로 다룰 수는 없지만, 멤버함수를 const 멤버함수로 만듦으로써 변형에 제한을 줄 수 있다.
이전에 사용되었던 compare와 같은 함수를 어떤식으로 정의해야 할 것인가?
compare함수는 동일한 형의 2개의 Student_info를 받아서 서로를 비교하는 역할을 한다. 이런함수를 처리하는 일반적인 방법이 있는데, 9.5, 11.2.4, 11.3.2, 12.5, 13.2.1 에서 배우게됨.
read, grade를 정의함으로써 Student_info에 직접적인 접근을 하지 않고도 데이터를 다룰 수 있었다.
그런데 더 나가서 이제는 아예 이 객체의 내부멤버를 프로그램의 다른 부분에서 다루는 것을 금지시키고 싶다면?
struct 키워드 대신 '''class''' 키워드 사용. '''보호레이블(protection label)''' 사용. 레이블은 순서없이 여러분 중복으로 나와도 무관함.
- VendingMachine/세연/1002 . . . . 75 matches
1. 명확하지 않는 변수/함수&메소드 이름에 대해 - 이름을 다르게 바꿔준다. 또는 무엇을 하기 위한 것인가에 입각, 함수/메소드 로 추출한다. [[BR]]
3. 긴 메소드 - 함수 & 메소드를 따로 추출. 즉, 하나의 함수 내에서 하는 일들이 많다고 생각될 때. [[BR]]
여기서는 저 위의 1-4번 원칙만 생각해 보겠습니다. 일단 이 코드가 제대로 돌아간다는 가정하에서 수정합니다. (문제는 제대로 고쳐졌는지 확인할 길이 적다는. -_-;)
근데.. 좀 명확해 보이진 않는군요. enum 에서 설정된 것을 재정의해주면
MENU_END 뜻이 달라졌으므로, 앞에서 MENU_END를 썼었던 다른 것들도 고칩니다.
그러면, {{{~cpp isValidMenu}}} 를 다음과 같이 고칠 수 있습니다. (써놓고 보니 그리 맘에 들진 않지만, 일단 이정도만 해두겠습니다. -_-;)
솔직히 이부분이 좋지 않은 것이.. Vending Machine 내에서 UI 부분이 확실하게 추출되지 않았다는 점입니다. (만일 Requirement 가 변경되어서, MFC 그래픽 버전으로 만든다면? 디자인이 잘 된다면, Vending Machine 쪽의 코드의 수정이 거의 없이 UI 코드만 '추가' 될 겁니다. 이는 기존 Vending Machine 코드쪽의 '변경'을 의미하지 않습니다.)
하지만 이건 추후에 Vending Machine 에서 메소드를 다른 클래스에게로 이양시켜주면서 UI 부분과 관련한 클래스를 추출해 낼 수 있을 것 같다고 생각합니다. 여기서는 추후에 진행하도록 하겠습니다.
디자인을 할때에 보통 Input / Output 은 요구사항이 자주 바뀌므로 일단 메인 Vending Machine 코드가 작성되고 난 뒤, Vending Machine 의 인터페이스에 맞춰서 Input / Output 코드를 나중에 작성하는 것이 좋습니다.
일단 여기까지의 소스는 대강 이러합니다. 아직은 뭐 그리 큰 변화는 느껴지지 않습니다. ^^ (나머진 있다가 학교 도착한 뒤 마저;)
cout << "\n현재 " << money << "원이 있어요\n";
cout << "잔액이 부족하거나 수량이 부족해요\n";
cout << "잔액이 부족하거나 수량이 부족해요\n";
cout << "잔액이 부족하거나 수량이 부족해요\n";
cout << "잔액이 부족하거나 수량이 부족해요\n";
cout << "잔액이 부족하거나 수량이 부족해요\n";
cout << money << "원이 남았어요\n";
'무엇을 하는가' 라고 할때 InsertMoney 또는 InsertCoin 이 더 정확한 표현이라 생각되어집니다. 그리고, 역시 하는 일에 대해서 메소드로 추출함으로서 comment 를 대신 할 수 있습니다.
그리고, 메소드로 추출하면 좋은점이, 코드를 고칠 부분을 메소드 내로 시야의 폭을 줄일 수 있습니다. 작은 메소드라도 추출해두면 나중에 다시 메소드를 모으거나, 중복을 없애기가 편리합니다.
단, 이러한 중복줄이기 & 일반화는 중복이 발생되었을때 (2 or 3 strike) 해주는 것이 쉽습니다. 처음부터 모든 중복될 부분을 다 예측해 낼 수는 없습니다.
- 정모/2011.7.18 . . . . 75 matches
* 이번주 수요일부터 시작
* 파일 비교 프로그램을 두주간 구현하는 것이 목표.
* 이미 구현한 사람은 기능을 추가하거나 변경하여 구현 or 리팩토링
* 지난주에 각자 자신이 골라온 문제를 풀어옴.
* 해결이 안 된 PIGS와 The lazy programmer를 다같이 풀기로 함.
* 자신이 한주동안 했던 것 중 다른사람들에게 도움이 될만한 것들을 한가지씩 공유하는 시간이었습니다.
* 요즘 다니는 학원 선생님 왈.. 긍정적인 자세는 좋지만, 무작정 긍정적인 자세 보다는 현실을 직시하는 것이 우선이다. 라고 하시며 자신이 아는 50대 정도의 아저씨 이야기를 해 주셨는데 50대가 되면 이 나이대 절반의 남성은 불행하고, 그 나머지는 고군분투한다. 즉, 세상은 우리가 생각하는 것 만큼 만만한 곳이 아니니 무작정 난 잘된다라는 것 보다는 현실을 직시할 줄도 알아야 한다라고 하셨네요 - [권순의]
* 긍정적으로 행동하고 부정적으로 계획하는 능력이 필요합니다. '왜 일하는가'라는 책에서 읽었는데 아이디어나 목표를 정하고 추진하는 것은 긍정적인 사람에게(책에서는 가연성 인간이라고 표현했음) 계획과 평가는 부정적인 사람에게 맡기면 좋다고 했었습니다. 낙관적인 것도 현실적인 대안 없이는 그저 생각없는 사람일 뿐이라 생각합니다만 그렇다고 긍정의 자세를 버리는 것도 생각없는 사람인듯.. - [서지혜]
* ACM문제를 풀면서, 코드짜면서 생각하는게 더 빠른거 같아~ 라는건 헛소리라는걸 깨달았습니다. 코드를 짜기에 앞서 여러번 생각해보고 많은 예외상황을 고려한 후에 확신이 들때서야 코딩하는게 서너번씩 새로 짜지않고 바로 좋은 코드를 짤 수 있는 방법인거 같았습니다. -[김태진]
* 그렇게 진지할 필요는 없지만 정모는 한정된 시간동안 진행되는거니까 조금 더 함께 알면 좋은 걸 공유하는 시간이 되었으면 좋겠어요:) + 사실 고기는 비싼 고기를 사먹는 게 최고라고 생각합니다... 엥겔 지수가 높아지더라도... - [김수경]
* 독서모임에서 읽은 책을 통해 느낀 리빙포인트입니다. '상대방의 심리를 잘 파악하려면 상대방에 대한 관심이 필요합니다.' - [지원]
* Joseph Yoder와의 만남에서 배운 것. Naming은 상당히 중요합니다. Naming이 적절하면 자세한 구현을 보지 않아도 됩니다. - [김수경]
* '''문제를 인식했을 때 일단 멈춰서 생각하는 게 중요하다''' 매번 브레이크를 거냐라고 생각이 들겠지만 문제가 스스로 사라지는 일은 거의 없는데다 스스로 자라는 성질이 있어서.. 특히 팀플레이에서는 문제인식을 공유하는게 중요하다고 생각해요!! 나중에 피바람이 붑니다. - [서지혜]
* MT 이후 조만간 세미나+실습 시간을 진행할 예정
* 교통 문제 때문에 가평/청평이 제일 유력함.
* (아이폰 사파리가 스크롤이 없어서 잠시 새치기 할께요 ㅠㅜ)첫 OMS를 하게 되었습니다. 사실 내용이 참 빈약해서... 아 재미 없고 망하는거 아닌가 걱정했는데 다른 후기들 보니까 생각보단 반응이 좋네요. OMS끝난뒤에 했던 활동은 저에겐 너무 어려워서 졸고 말았습니다 .. 죄송해요분명히 OMS시작 5분전만해도 잘되던 팀뷰어가 잘안돼서 당황했음 - [고한종]
* 너님 위키 아이디가 이메일 주소인가요? 특이하네... - [지원]
* 방학중 정모에서 제가 공부한 것을 공유하는 코너를 진행하겠다고 했는데 지난번엔 정모를 짧게 끝내느라, 이번주는 다른 공유들이 있어서 계속 안 하게 되네요 ㅋㅋ 사실 시간 떼우려고 생각해낸 코너라 못하게 되는 게 바람직한 것 같습니다(?) 이번 OMS는 리눅스 서버를 직접 돌려보는 것에 대한 내용이었는데 저는 1학년때 리눅스가 뭔지도 그냥 들은 정도로만 알고있었던 기억이 납니다. 그런데 새내기가 직접 서버 구축하고 그 내용을 정모에서 공유하는 걸 보니 부럽네요ㅠㅠ 저도 그런 경험을 해봤으면 좋았을텐데... - [김수경]
* 처음 OMS를 보면서 우리집 컴퓨터도 이제 6년차에 돌입했는데.. 저렇게 써야하나 라는 생각이 들다가 그냥 이상태로 쓰지 뭐 이런 생각이 든 -_-;;; 암튼.. 저도 1학년땐 리눅스를 사용하는 모습만 보고 직접 써 보지는 못했었는데 사용하는 모습을 보니 대단하다는 생각이 드네요. 리빙포인트를 하면서 학원에서 들었던 이야기랑 삼수때 겪었던 이야기가 믹스되어 말하게 되었네요. 원래는 그냥 학원 이야기만 하려고 했는데 -ㅅ-a Joseph Yoder 와의 만남 후기를 들으면서 스티브 맥코넬씨가 쓴 Code Complete라는 책에서 이야기 하는 내용과도 많이 겹치는구나 라는 생각을 했습니다. - [권순의]
* 한종이가 집에 남는 컴퓨터를 굴리는 방법을 OMS해 주었죠. 서버쪽은 아직 관심이 없어서 전혀 손대보지 않고 있었는데, 한종이는 진규한테 여러모로 들었다거나 혼자 여러가지를 연구해보아 많은 것을 알고 있는거 같았어요. (그러나 리눅스에 대한 관심이 일어나지는 (아직) 않았습니다..ㅠㅠ) 지원이누나가 해준 DB2에 대한 설명(과 IBM에 대한 설명)에서는 우리과에 관련된 스키마를 여러가지 얻을 수 있어 좋았던거 같았어요. 항상 ZP형누나들이 많은걸 알려주셔서 정말 즐겁네요. ㅎㅎㅎ-[김태진]
- 현재 위키에 어떤 습관이 생기고 있는걸까? . . . . 72 matches
새로운 공원을 지을 때였다. 한 공원 설계사가 공원에 대한 전반적인 설계를 하고 있었다. 공원 조경 설계를 마치고 잔디와 길을 내었다. 그런데 문제가 있었으니, 옆에 분명히 길이 있었음에도 불구하고 사람들이 잔디를 가로질러 지나가는 것이었다. 푯말을 세워도, 줄로 길을 만들어도 사람들이 제대로 지키지 않는 일이 허다했다. 공원설계사는 '도대체 뭐가 문제일까?' 하며 고민을 하였다.
오랫동안 고민한 끝에 설계사는 잔디를 보고 이 문제를 간단히 해결했다. 잔디가 가장 많이 밟힌 부분을 따라 새로운 길을 내었다. 잔디가 가장 많이 밟힌 부분을 보니 다른 길로 지나가는 가장 가까운 지름길이였던 것이다.
우리가 현재 OneWiki(가제 이하 OneWiki로 표현)라는 공원을 돌아다닌지(또는 길을 설계한지) 일주일 이상의 시간이 흐르고 있는데, 그동안 자신들이 어떠한 경로를 만들어내려고 했는지, 또는 어떠한 편한 경로들이 있고 돌아보면서 어떠한 느낌을 받는지 생각해 봤으면 합니다.
두번 이상 혹은 규칙이라 의식하고 한번이라도 행한 것이 있다면 내용과 느낌을 적어 봅시다.
* 이름의 하위 분류로 / 를 사용한다. 예) [삼총사CppStudy]하위에 속한 [삼총사CppStudy/숙제1] 페이지
* URL이나 dos, unix 디렉토리 구조 같아서 친숙한 것 같다. 프로그래머나 컴퓨터 파워유저는 익숙한것 같지만, 한국말에는 어울리지 않는 것 같다. --NeoCoin
+ 길에 비유를 했었는데 우리는 0'Wiki를 사용함으로 해서 익숙한 길이 있기 때문에 1'Wiki에도 역시 똑같이 사용하는것 같습니다. 이대로 페이지가 쌓인다면 0'Wiki와 똑같이 되지 않을까 합니다.-[상욱]
+ 편한 길이 있다면 계속 써도 문제는 없다고 생각하지만.. --[snowflower]
* 그것이 왜? 편한 길인가 앞으로도 편할수 있는 길인가? 나쁜점은 왜 나쁜가? 하는 것을 이야기 하자는 것이지요. 저 이야기에는 분명 많은 부분이 생략되었을 겁니다. 이 길을 내도 되는건가? 왜 사람들이 많이 다닐까? 하는 고민들이요. OneWiki 에 길을 보면서 생각해 BoA요. --NeoCoin
* 파싱의 문제와 검색의 문제가 어쩌구 했었던거 같은데, 개인적으로는 페이지이름에 빈칸은 별로라서. --[snowflower]
* 제목이 영어라면 각 단어의 앞을 대문자로 씀으로써, 띄어쓰기의 효과를 누릴수 있었지만... 한글은 그게 참 애매하지요. 띄어쓰기를 안하자니 한눈에 들어오지도 않고, 또 띄어쓰기를 하자니 검색이 보장이 안되니... 아예 '영어제목만 만들자' 같은건 어떨까 생각중입니다. --[인수]
* 개인위키를 돌려본 결과... 한글제목 페이지는 좀... 안좋더군요. 일일히 Delete하기 귀찮아서 한번에 필요한것만 지울라 했더니, 한글 페이지 제목은 파일명이 알파벳과 숫자의 조합으로 알아볼수 없는 문자로 되어 있더군요. 역시 '영어제목만 만들자'가 저를 강력히 꼬시는군요.--; --[인수]
* 음.. 위키가 외국에서 개발되어서 어쩔 수 없는걸까, 한글에 대소문자가 없어서 어쩔수 없는걸까. -_- 어쨌든 영어이름으로만 지으면 이런 페이지는 안녕이겠네. 하지만 인수의 의견도 좋아보이는군 --[snowflower]
* 하위 페이지에서 상위 페이지로 가기 위한 역링크 도 존재하는 것 같습니다. 없는 페이지도 많지만(그냥 복사해서 그런걸까..) --[snowflower]
* 페이지가 잘못만들어 지면 로그인해서 지운다. 반하여 ZeroWiki 와 차별되는 점 --NeoCoin
* 좀 이상한(...라기보다는 제로위키에서였다면 생소했을) 페이지(ex) [InterestingCartoon], [GoodMusic], [창섭이 환송회 사진])를 만들어봤다. --[인수]
기존 공원을 레노베이션할 때였다. 한 공원 설계사가 공원에 대한 새로운 설계를 하고 있었다. 이전의 설계를 뒤집어 엎고, 새로운 공원 조경 설계에 따라 잔디와 길을 내었다. 그런데 문제가 있었으니, 옆에 분명히 길이 있었음에도 불구하고 사람들이 잔디를 가로질러 지나가는 것이었다. 푯말을 세워도, 줄로 길을 만들어도 사람들이 제대로 지키지 않는 일이 허다했다. 공원설계사는 '도대체 뭐가 문제일까?' 하며 고민을 하였다.
오랫동안 고민한 끝에 설계사는 잔디를 보고 이 문제를 간단히 해결했다. 잔디가 가장 많이 밟힌 부분을 따라 새로운 길을 내었다. 잔디가 가장 많이 밟힌 부분을 보니 이전 공원의 길이었던 것이다.
Delete Me) 공원 설계사 이야기를 어느 책에서 본 것 같은데 당췌 생각이 나질 않는군요. 좀 알려주세요. --[구근]
- 상협/Diary/7월 . . . . 70 matches
* 초반에는 여러가지것들을 균형있게 하려고 한거 같다. 그러다가 중반 넘어가서는 거의 한가지일에만 메달린거 같다. 그리고 영어 공부가 많이 부족했다. 그리고 생활도 초반에는 좀 착실하게 하려고 한거 같은데 후반에 가면, 목적의식 같은게 없어진거 같다. 앞으로는 한달에 할것들의 목적을 세워야 겠다.
* 그리고 무엇보다 충격적인 것은 다읽은 책(교양)이 하나도 없다는 것이다. ㅡㅡ;;
* 과연 얼만큼이나 해낼지.. ㅡㅡ;; 빡세게 해봐야 겠군..
|| 3D || 1.그래픽의 기초 이론 || 100% || - ||
* 오늘은 POSA책 덕분에 잠을 많이 잤다. 그책은 아직 내가 읽기에 무리가 있는지도, 흥미 있는거 같기도 하지만..
* 3D쪽 은선 및 은면 제거 보는데, 갈수록 이해 안가는건 늘어가고.. 보는데 걸리는 시간도 늘고..아자 화이팅~
* 이날은 열나 빡세게 집중해서 해야겠다...
|| API || 12장 || 0% || 비트맵할때 뭔가 이상해서 못함.. ㅡㅡ; ||
|| 3D || 3장 끝까지 || 하기는함 || 소스를 대충보고 이해 안가는 부분도 많아짐 ||
* 오늘은 이것저것 계획만 잔뜩 잡고 여러가지 일들을 제대로 못했다.
* 그리고 포기할거는 포기해야 할거 같은 느낌이.. ㅡㅡ;;
* 오늘은 우리 C++팀 모이는 날~
* 오늘은 별로 한게 없당... 오늘 기숙사에서 기분이 좀 나빠지는 일이 있었다. 그때는 막 화가 났는데, 조금만 다르게 생각하자 그렇게 나빴던 기분도 풀렸다. 역시 사람은 화를 내는것보다 웃는게 훨씬 나은거 같다.^^ 옛날에 어디서 그런 연구 결과를 본거 같다.(화를 내는 경우와 웃는 경우 신체적 호르몬 분비나 스트레스 해소나 축적 정도...) 화내는것은 자기만 손해이고 스트레스만 쌓이는거 같다. 차라리 상대편 사람에게 화난점을 말하거나 그러한 여건이 안되면, 그 사람의 입장을 이해해 보려고 노력해 보거나 그사람이 나한테 잘해줬던 일들이라도 생각해보던지 해야겠다. 그리고 사람이 한번 소심해지면 한없이 계속 소심해지는거 같다. 오늘 기숙사에서의 일도 여러가지 방향과, 여러 사람의 입장에서 다양하게 생각해보면 그렇게 기분 나쁠일은 아닌거 같다. 소심해 지지 말잣~
* 아무래도 API랑 POSA는 접어야 할듯.. ㅡㅡ;; 3D랑 파이썬 하기도 벅차서..
* 오늘은 과외도 갔다오고 이것저것 하기도 하고, 영화를 한편 봐서 딴거 할시간이 줄어 들었다.
* 오늘도 별로 한것도 없이.. 지나갔넹..
|| 3D || 책1,2장 보고 17장좀 보다가 잘 안되서 웹사이트의 tutorial 봄(5/16) || 보는바와 같음||흠. ||
* 오늘은 인수랑 재동이랑 만나서 비행기 게임진도좀 팍팍 나가야징..
* 결국 별로 나간것도 없이... 끝났다. ㅡㅡ;
* 또 쓸데 없는데서 삽질해서... 시간 많이 날렸다.
- ZeroPage . . . . 68 matches
* 위키 데이터가 날아가서 많은 부분에 공백이 있습니다. 특히 최근 05-07년 데이터가 업데이트 되지 않았습니다.
[제로페이지]는 공부하고자하는 뜻이 있는 사람들이 모인 일종의 인력의 장입니다. 그 안에서 뜻이 같은 사람들을 만날수 있기를, 또는 자신이 아는 것에 대해 다른 사람들에게 전달해줄수 있기를, 또는 자신의 부족한 점을 다른 사람들로부터 얻어갈 수 있었으면 합니다. 개인의 이익들이 모여서 집단의 이익을 만들어가며, 집단의 이익을 추구하는 것이 곧 개개인들에게 이익이 되는 경지가 되었으면 합니다.
여러가지 힘든 여건 속에서도 뜻이 있는 사람들의 수고와 노력으로 지금까지 이어져 온라인/오프라인 활동을 계속하고 있습니다. 지금까지의 ZeroPage 는 ZeroPage를 거쳐간 사람들이 만들어놓은, 혹은 현재 활동중인 사람들의 과정에 대한 결과이며, 다시 많은 사람들에 의해 재창조되고 새로운 모습을 만들어나가게 될 것입니다. 언제나 '현재 진행형' 중인 학회이기를. 이 정의 또한 사람들이 스스로 깨뜨리고, 더 좋은 방향으로 바꾸어나가기를.
현재는 02년도부터 도입한 wiki 시스템을 통하여 각 프로젝트나 스터디를 진행할때마다 문서 산출물을 만들어 내어 양질의 정보들을 축적해 나가고 있다. 이 시스템은 스터디와 프로젝트를 팀으로 진행할때 공동 knowledge repository 의 역할을 함으로서 진행하는 회원 들에게 도움이 되고, 추후에 다른 회원이 비슷한 스터디나 프로젝트를 할때 그 wiki 페이지를 참고 함으로써 같은 곳에 쏟을 노력을 줄이고, 그 wiki 페이지를 다시 키워 나감으로써 지속적으로 양질의 정보를 축적하여왔다. 이로서 제로페이지의 wiki 시스템은 현재의 회원과 학교를 떠난 회원그리고 앞으로 제로페이지에 들어올 회원들 모두에게 도움이 되는 시스템으로서 자리매김하고 있다.
=== ZeroPage란 이름의 기원은? ===
ZeroPage 라는 명칭에 대해서는 91학번 이찬근님(현재 중앙대학교 컴퓨터공학부 교수.)이 최초로 제시한 것으로 알려져있음. (from 테크니카(김승태) )
=== 제로페이지 행사들 ===
== 제로페이지의 연혁 ==
* 2001 제로페이지 10주년
* 2000 제로페이지 소프트웨어 전시회 부활
* 1991 제로페이지 창립
* team 'Zaranara Murymury' 본선 31위(13th Place) : [이민석], [정진경], [홍성현]
* ZeroPage 가이드북 발간 - '''코드의 바다를 여행하는 ZeroPager를 위한 안내서''' [https://drive.google.com/file/d/0B5V4LW7YTwbjeDdDZk9ITmhvWmM/edit?usp=sharing 가이드북]
* team 'ZeroPage' : [김태진], [조광희], [안혁준], [김한성], [이진규], [곽재효], [최영재]
* team 'ZeroPage' 본선 35위(18th Place) : [조영준], [권영기], [이원준]
* 서버 노드 지원 및 네이버 견학
* 지도교수님 : [이찬근]
* 우수상(2등) : CAU Arena - [장용운],[이민석],[이민규]
* 장려상(4등) : 안드로이드 컨트롤러 Application - [이원희]
* 지도교수님 : [이찬근]
- 데블스캠프2009/수요일후기 . . . . 68 matches
== RootKit - 이병윤 ==
* '''서민관''' - kernal이나 어셈블러 언어 등 전까지 별로 접할 일이 없던 생소한 개념들이 많이 나와서 솔직히 쉽지는 않았습니다. 그래도 OS의 구조나 Ring system 같은 것들은 개념적으로라도 알아두면 괜찮을 것 같네요. 그리고 전날 혁준 선배가 설명해준 dll에 대해 잠깐 다시 복습할 수 있었던 것도 좋았고요. 아쉬웠던 점은 역시 수업이 너무 고수준이라서 대략적인 이해만 하고 넘어가야 했던 것입니다. 그리고 수업 이후에 개인적으로 VMware의 사용법을 가르쳐 주신 것은 정말 감사합니다. 선배가 제 구세주입니다.
* '''박준호''' - 처음으로 해킹과 관련된 내용을 보아서 정말 좋았습니다. 제가 해킹쪽에 관심이 있어서 언젠가 해보고 싶고 보고 싶었는데 오늘 처음으로 경험하게 되어서 좋았구요 저도 한번 공부해야겠다는 생각이 들었습니다.
* [송지원] - 사실 들으면서 이걸 컴구나 OS를 안들은 1,2학년 애들이 쉽게 받아들일까 생각했고 컴퓨터로 딴짓을 하며 놀고 있는 애들을 보며 살짝 걱정했는데 위의 1학년 애들 후기를 보니 그렇지도 않은거 같다=_=;; 다만 병윤이 수업 자체가 실습 없는 강의 수업이였는데 여기저기서 타자소리가 들리고 마우스클릭 소리가 들렸던건 아쉬웠다. 물론 위키페이지 고치느라 버벅댔던 나도 할말은 없다;;
* '''서민관''' - 계속 말이 많던 객체 지향 프로그래밍. 전날의 추상화 수업에서도 객체의 개념은 잠깐 나왔었고, 개인적으로도 객체에 대해서 조금 더 들을 기회가 있어서 그렇게까지 이해하기가 어렵지는 않았던 것 같습니다. 의사코드나 플로우 차트를 이용한 프로그래밍은 확실히 무작정 코드를 쓰고 보는 것 보다는 플로우 차트 -> 의사코드 -> 실제 코드 순으로 하는 것이 간단하면서도 정확한 프로그래밍을 할 수 있을 것 같아서 괜찮다고 생각합니다.
* '''박준호''' - 객체지향 프로그램 이라는 것에 대해 개념을 잡아놓은 시간 이였습니다. 진짜 제가 코드를 짜지는 않았지만 의사 코드라는 것을 이용하여 한번쯤 객체지향으로 코드를 짜본것도 좋은 경험이 되었습니다.
* [송지원] - 기대 이상의 세미나였다. 준석이가 데블스 전부터 자신의 세미나에 대해 엄청 자신없어했고 형진이가 Abstractionism을 하며 강의가 좀 확장되어 준석이가 가르칠 범위까지 해버리는 바람에 준석이가 할게없다고 걱정하던데, 오히려 형진이의 강의로 토스를 받아 붕어빵 예시로 스파이크를 날려준 느낌이다. 그래도 OOP란 개념 자체가 확 와닿기 쉽지 않은지라 마지막엔 내가 괜히 오지랖 부렸다..;;
* [김준석] - 강의 내내 속으로 피말렸다. 강의 도중에 이해하기 쉽게 설명할걸 몇몇 빼먹은게 자꾸 떠올라서 천천히라도 설명하려했으나 설명해놓고 보니 좀 엉뚱한데서 설명해버린 안타까운 현실. 현역 군인이라 OOP 강의에 대해서 그렇게 많은 준비는 못한것이 사실이라 강의할때 도움도 좀 받았고. 휴가 나오기전에 1~2시간씩 코딩없이 강의 할만한 내용을 찾다가 C++을 사용할 1,2학년에게 좀 중요한 내용을 잡게 됬는데.. 휴가 나오고 PPT를 작성하는데 3일동안 하루 3~4번은 고치고 내용추가를 고민하는등 긴장을 좀 많이 탓다. OOP를 이해시키고 학교생활중 설계의 중요성을 몰라 삽질을 반복했기 때문에 그 후에 코딩하기 전에 설계하는법에 좀더 중점을 둔 시간을 가지고 싶었다. 그냥 무작정 달려들어서 Run&Fix도 하기 쉽지 않은 중복많은 2~3백자리 코딩을 하기 보다는 전날 Abstractionism에서 형진이가 말했듯이 20줄 이내의 코딩, 잘 설계된 잘나뉜 코딩은 어딘가를 목표로 갈때 지도나 정보를 모아 쉽고 편한 길로 가는것과 같다. 돈도 절약되고. 안힘들고. 문제가 생겨도 모아온 정보로 해결할수 있는.. 문제를 풀어 결과를 도출해놓는것도 좋지만.. 주위에는 답을 똑같이 도출해놓을수 있는사람이 90%는 될것이다. 그렇다면 짧고 보기쉬운것이 좋겠지. 정말 아쉬운 점이라면 API나 로보코드때 이걸 설명하고 했더라면 들은 학우들에게 더 많은것을 이해할수 있었던 시간일것이라고 생각하는데.. 좀더 빨리 준비했었어야됬어.
* '''서민관''' - 수요일 수업에서 제일 마음에 들었던 부분입니다. 이클립스를 써 본 것도 좋았고, 무엇보다 JUnit test는 정말 마음에 드네요. 앞으로 갈수록 프로그램의 크기가 커질텐데 이클립스를 통한 svn 사용이나 JUnit test나 둘 다 팀 프로젝트용으로는 정말 좋은 기능이라고 생각합니다. 정말 뭐라고 더 칭찬을 해야 할 지 말이 안 나올 정도로 마음에 들었어요. 한 방에 제대로 프로그램을 못 짜는 저한테는 메인 함수 없이도 버그 수정이 가능하다는 건 정말 고마운 기능이죠.
* '''박준호''' - 처음으로 JAVA 에 대해 제대로 코딩도 해보고 접해본 시간 이였습니다. JUnit test 라는 것을 이용하여 팀플에서 얼마나 유용하게 쓰일지는.. 정말 무궁무진 할꺼 같습니다. 저도 빠른 시일내에 까먹지 않고 쓸 수 있게 되었으면 좋겠습니다.
* [송지원] - 사실 너무 아쉬웠다. JUnitTest를 위해 예로 제시한 계산기 클래스도 함수 하나 정도밖에 테스트 해볼 수 없는 이상한 설계의 클래스였다(너무 OOP 다음수업이라 캡슐화에만 신경을 썼던듯). 한 마디로 Java도, JUnit도 맛보기만 해준 꼴이 된것 같다. 하지만 '''JUnit은 확실히 강한 라이브러리다'''. 내가 몸소 느끼고 자발적으로 세미나한 이유도 그렇다. 내 세미나는 즈질이였지만 많은 1,2학년 학우들이 Java로 개발을 진행할 때 도움이 되었으면 한다.
- 프로그래머가지녀야할생각 . . . . 67 matches
모든 ZP인들에게 미안하게 생각합니다. 갑자기 뚱딴지 같은 생각이 났습니다. 과연 ["programmer"]들이 항상 마음에 지니고 있어야 할 ["생각"]은 무엇일까요? 어떤 생각들을 항상 지니고 있어야 잘못된 행동(사고 포함)을 하지 않을 수 (혹은 하고 있다는 것을 깨달을 수 )있을까요? ["programmer"]들이 꼭 지니고 있어야 할 생각들이 무엇일까? 궁금합니다.
DeleteMe--우선 윗글에서 (확실히) 불분명한 두 단어를 사용하였는데 하나는 ["programmer"]이고 다른것은 ["생각"]이라는 단어입니다. 우선 단어 정의가 필요한거 같은데..대충 비슷하게는 생각할꺼 같은데 정교화가 필요할꺼 같군요. 재밌고 유익한 토론이 되었으면 합니다.
''미안하실 이유 있나요~ 그냥 한번쯤 생각해봐도 좋은 주제일듯 해요. --1002''[[BR]]
''미안하다고 한건 생각한다는 것은 그 자체가 에너지를 낭비하는 힘든 일이라서 결국 내가 힘든일 시킨게 되잖아. --nautes''[[BR]]
''굳이 미안하다면 맛있는거 사줭~ -- 선우''[[BR]]
''얼굴이나 보이면.. -- nautes''[[BR]]
''목적'' 이 무엇인가를 늘 기억했으면 합니다. 무엇을 목적으로 하는지 잊어버릴 경우
''간혹 프로그래밍을 하다가 보면 주객이 전도가 되어버리곤 하죠. 좋은 지적 --1002''
와.. 정말 어려운 질문이네요.. 프로그래머가 지녀야할.. 생각..ㅡ.ㅡ 이라...
부지런해야 하지는 않을까..(이건 생각에 안들어갈까요..ㅡ.ㅡ?)
제 생각에 현대 사회에서 근면이라는 가치는 상대적으로 많이 떨어졌다고 생각합니다. 요즘 같이 한 사람에게 많은 일을 짧은 시간 내에 요구하는 사회에서 근면함이 얼마나 큰 가치를 지닐 수 있을지는 곰곰히 생각해보아야 할 것 같습니다. 그리고 부지런하지도 게으르지도 않은 사람도 많습니다. 자책하지 마세요. :) (혹시 진짜 게으른.. --+) -- nautes
너무나 이상적이고 추상적인 생각이겠지만 '프로그래머는 사회에 이익이 되는 프로그램을 만들어야 한다'는 근본적인 생각을 갖는 건 어떨까요? 예를 들어 재미있는 오락도 좋겠지만 장애인이나 나이 많이 드신 분들을 위한 보조용프로그램 같은 것들이 많이 개발되어야 한다고 생각합니다. 전에 정보요원단 활동을 할 때 우리나라에 보급되어 있는 장애인용 프로그램들이 많이 부족한 현실을 봤었는데... 내가 만든 프로그램이 남에게 도움이 된다면 그보다 좋을 일이 또 있을까요? ^^ -- jeppy
스스로 무엇을 이루고자 하는지 그 뜻을 세우는 것도 중요하다고 생각합니다.
* 다들 인간으로써의 프로그래머를 두고 말씀하시는 것 같아 제 말이 뚱딴지처럼 들릴 것 같네요...^^;[[BR]]전 말이죠... 프로그래머는 컴퓨터를 사랑해야한다고 생각합니다. 정말 제가 생각해서 어이없는 말 같지만, 프로그래머는 컴퓨터에게 명령만 내리는 것이 아니라 컴퓨터와의 커뮤니티가 형성되어야 좋은 프로그램(인간에게가 아니라 컴에게)을 짤 수 있다고 생각합니다. 지극히 추상적이라서 반박의 여지가 많은 말이지만 그냥 그렇지 않을까 생각해봅니다. 컴퓨터에 미친 사람이라면 다음의 말에 공감을 할 지도 모르겠네요. [해커를 위한 파워핸드북]표지에 나오는 말입니다. ''''컴퓨터 속에서 흘러 다니던 비트가 내 혈관 속으로 옮겨와 흐르기 시작하고, 나는 컴퓨터와 함께 오르가즘을 느낀다.'''' --["창섭"]
* 위엣 말이 컴퓨터 자체에 관한 기계적 이야기라면 인간적 이야기도 추가하고 싶어요. 프로그래머는 프로그램 이전에 인간을 먼저 생각해야 한다는 것이죠... 상민이 형이 줬던 V노트에 나온 말이 인상깊습니다. ''''크래커든 프로그래머든 둘다 시작은 해커를 꿈꾼 젊은이 였으며, 인격을 가진 사람이다. 악이 없이 선이 없듯이 크래커가 영원히 존재하지 않을수는 없을지라도 지금 당신의 열정과 땀으로 주어질 선택이 진정한 존경으로 돌아올수 있도록 유혹을 이겨낸 진짜 승자가 되어야 하지 않을까......'''' --["창섭"]
누..누구세요? 이런 멋진 글을 쓴분이? ^^ -- jeppy
DeleteMe) 태권V 님이라고 이번달 마소Jr인가 저번달 마소Jr에 등장하는 단체의 장인거 같은데. 찾아봐봐 devpia에 주로 활동 --상민
DeleteMe) 오.. 실제로 많은 활동을 하시는 분이군요. 단체의 장이라...무슨 단체이죠.-.-? --["창섭"]
- 서버재조립토론 . . . . 66 matches
[정모]때 서버 재 조립에 대한 이야기가 나왔다는 이야기를 회장님을 통해 들었습니다. 일단 제가 회의에 참석하지 못하고 회의록이 올라온 것도 아니므로 어떻게 해서 서버 재조립 이야기가 나왔는지 알고 싶습니다. 일단 제 생각은 굉장히 부정적인데요. 서버가 하는 일이 거의 웹서버 내지는 소스 리파지터리로 사용되고, 대규모 소스를 컴파일한다거나 덩치가 큰 프로그램이 돌아가는것도 아니기 때문입니다. 게다가 동시접속 사용자수로 많지 않은걸로 알고있는데요. (물론 이런것들은 이제부터 하기 위해 하나 새로 맞춘다!! 면 할말 없지만..) 이 상황에서 굳이 새로 서버를 맞추는게 필요할지... [임인택]
네 충분히 그렇게 생각 하실수 있다고 생각합니다. 현재로서 서버가 하는일이 웹서버및 소스 Repository 로서의 역할이니깐요. 그리고 마지막에 프로젝트 때문에 필요할 경우에 나 새로 맞출 필요가 있다고 하신 말씀도 동감합니다. 현재 한 3주 동안 제로페이지 서버가 제대로 작동하지 않았습니다. 제로페이지 서버를 아주 자주 이용하는 입장에서는 많이 제로페이지 서버에 들어가니깐 서버가 죽어 있어서 여러가지로 불편했고, 현재 제로페이지 서버와 연계해서 돌아가는 위키 포탈을 운영 및 관리하는 입장에서는 치명적이었습니다. 제로페이지 회원들이야 안면이 있으니깐 이해해 주겠거나 좀 불편하고 말겠지 하고 생각하실수도 있지만, 위키 포탈 서비스가 우리 학회에서 제공을 해주는 서비스지만 외부에서 이용하는 사용자도 꽤 있었는데 왠만한 사용자들은 다 빠져 나간듯 하네요.. 그래서 지금은 급한게 다른 서버에서의 DB 지연을 기다리는 시간을 원래 1분에서 3초로 줄여서 그나마 임시 방편으로 수습을 했습니다. 또 프로젝트 진행을 하는데에도 제로페이지 서버가 자주 죽어서 진행을 제대로 할 수가 없었습니다.
제로페이지 서버가 현재 분명 문제가 있고, 이것을 해결해야 한다는데에는(즉 좀 가끔가다가 죽으면 뭐 어때 하는 분은 없을거라고 생각합니다.) 모두 동감 하실거라고 생각합니다. 현재 제로페이지 서버가 아주 자주 죽는 문제가 제로페이지 서버의 하드웨어 적인 문제인가, 소프트웨어 적인 문제인가, 인프라적인 문제인가 이 3가지중 하나라고 생각합니다. 인프라적인 문제는 다른 학회나, 동문서버도 안 죽고 하니깐 제외 하겠습니다. 그러면 하드웨어 아니면 소프트웨어 적인 문제인데. 솔직히 저는 리눅스가 오래 사용해서 자주 뻗는다는 것은 좀 이해가 가지 않습니다. 리눅스를 서버로 우리보다 훨씬 오래 사용하는 곳도 부지 기수일텐데 그런곳들이 모두 이런 문제를 겪고 있을까요.. 그렇다고 지금까지 관리가 안되서 그런것도 아니라고 생각합니다. 상민형, 석천이형, 영창이 모두 제가 생각하기에는 그 누구보다도 서버 관리를 잘 했다고 생각합니다. 물론 테스트를 해봐야 알 문제입니다. 오늘 회장님이 테스트 해본다고 했는데 가끔씩 서버가 죽는 문제를 어떻게 테스트를 해야할지 전 감이 안 오네요. 한 일주일정도 제로페이지 서버를 죽이고 다른것(다른 하드에) 웹서버를 깔아서 아주 아주 수시로(몇분 단위로) 그 웹서버로 들어와서 죽었는지 확인을 해야 하는데(물론 테스트는 테스트를 진행하는 한두사람만 하겠죠. 현재의 제로페이지 위키만 해도 하루 방문자가 1000이 넘는것에 비해서...)그게 참 어려운 문제라고 생각합니다. 또 한 일주일동안 서버를 죽이는것도 현재 위키위주로 돌아가는 제로페이지에도 치명적이구요. 이렇게 테스트를 해서 만약 하드웨어 적인 것이 문제라면 또 다시 서버를 업그레이드 한다음에 다시 서버를 설치하는 작업을 해야겠죠.
즉 제가 서버업그레이드를 제안하는것은 하드웨어적인 문제나 소프트웨어적인 문제를 동시에 해결하고자 제안한 것입니다. 위와 같은 테스트를 할경우 그에 따른 희생및 서버 관리자의 불필요한 수고가 필요합니다. 그리고 학회 운영 및 프로젝트에서도 많은 희생이 따름니다. 그리고 위와 같은 테스트도 확실한 방법은 아니구요, 여전히 불확실성을 내포한 방법입니다.
만약 서버를 업그레이드 하려면 회비로 할텐데(피시실 관리비로 받은) 제가 생각하기에 MT나 회식때 회비를 사용하는것도 좋지만 이렇게 제로페이지가 실질적으로 프로젝트를 하는데 많은 장애가 생기는 상황을 타개하는데 사용하는것도 참 회비를 유용하게 사용하는게 아닐까 생각합니다.(그래서 우리가 MT나 회식도 사비를 더 내더라도,,) 글을 쓰면서도 불안 하네요. 어제도 글을 쓰고 나서 저장했을때 여러번 서버가 죽어서...
결론은 저는 서버가 자주 죽는 문제의 해결책으로 서버 업그레이드를 제안합니다.(만약 다른식으로라도 서버의 빈번한 죽음을 막을수만 있다면 좋겠죠. 최소의 희생으로..) - [(namsang)]
저는 업그레이드가 필요하다고 생각합니다. 서버의 핵심은 안정성인데, 지금의 서버는 안타깝게도 그 역활을 제대로 수행해주지 못하고 있기때문입니다. 서버 업그레이드 시도를 하게되면, 이전의 컴퓨터에 문제가 없다고 판단될 경우 새서버의 보조 역활과 리눅스 테스트용 서버로 사용해도 큰 문제가 없다고 생각합니다.^^ 속도 측면에서는 현재의 서버도 전혀 문제가 없지만, 안정성이 낮은점은 이용자의 입장에서 불편하다고 느낄 수 밖에 없기 때문입니다.(실제로 많이 불편했답니다.ㅠ.ㅜ 꼭 필요할때만 죽어있어요..) - [조현태]
흠.. 저로서는 그다지~ -_-; 안정성이라는 것이 하드웨어적 안정성의 문제라면 모르겠지만.. 현재 서버의 잦은 다운 or 리부트는 하드웨어적인 문제로 보이지 않네요. 리눅스 설정 때문인 것 같은데... 좀더 지켜보는 일이 필요 할 듯합니다. 돈이 남는다면 적당히 램정도는 올리는 것이 좋겠지만.. 전체 서버를 재 조립하는건 좀 낭비같기도 하네요.
무엇보다 ZP서버가 서버로서 그다지 많이 활용되지 않으니까요. 현재로서는 기껏해야 웹서버정도? 그것도 소수로만... - [eternalbleu]
- 정모/2011.5.23 . . . . 66 matches
* 저는 불참자로 보는게 맞을거 같아서 제 이름 뺐습니다. - [윤종하]
* 휴면회원 [김홍기]의 [wiki:SibichiSeminar/TrustModel 이 사람이 휴면회원인 이유]
* 세미나 페이지에 후기 남겨주세요~
* 참가비가 만원인데 오늘 내로 등록하면 오천원이예요.
* 이번주는 아쉽게도 커스 공연이 7시라 정모도 일찍 끝났습니다.
* 다음주엔 5월 회고가 진행됩니다. 회고에서 퍼실리테이터 컨퍼런스에서 배워온 활동을 공유할테니 많이 오세요~
1. 모처럼 OMS외의 세미나가, 그것도 휴면회원의 세미나가 있는 날인데 사람이 적어서 매우 아쉬웠습니다ㅜㅜㅜㅜ 축제 중이다보니 일찍 끝난 것도 아쉽네요.
1. 오늘은 OMS도 ScriptLanguage에 대한 내용이고, 세미나도 있고해서 학술 동아리스러운 느낌이 들어서 좋았습니다ㅋㅋㅋ
1. 겨울방학때도 그렇고 지금도 [JavaScript/2011년스터디]를 하고있어서 이번 OMS를 더 재미있게 들었습니다. 아직 잘 아는 것은 아니지만 스터디를 하다보니 ScriptLanguage가 생각보다 매력적인 면이 많더라구요. 다른 ZeroPager들도 이번 OMS를 계기로 ScriptLanguage에 관심가질 수 있다면 좋겠어요.
1. 11학번 학우들이 와주었는데 제가 이름을 못 외운 새내기도 있어 매우 미안하네요ㅠㅠㅠ 다음엔 꼭 이름 외우겠습니다. - [김수경]
* 아이스 브레이킹을 건너뛰어서 이름을 못들었음 ㅋㅋ - [서지혜]
* 모르는 11학우는 아마 [고한종] 이라고 위키에 자주 등장하는 녀석일거예요~ -[김태진]
* 먼저 자바스크립트 스터디에 관심이 생겼어요(진경이도 어제 뭐더라.. 어떤 언어가 알고리듬이 아주 달라서 배울만한 가치가 있다고 하더라구요. 같은 맥락이지 싶어요). 내일 몇시인지 알아낸 다음에 어떻게 진행되고 있는지 살펴보고, 적합하다 판단되면 저도 동참해야겠어요. 또 세미나를 보면서, 와.. 저런걸 여기서도 구현하는구나.. 라는 생각이 들었어요. TrustModel과 비슷한걸 만들고자 하는 사람들을 아는데, 저런식으로 아예 수치화 시키는게 역시 효율적인가.. 라는 생각도 들었구요, 후에 연구실(다른데인가?)에 들어간다면 저런걸 하는걸 보게/혹은 후에는 직접 하게될 수 있다는 사실에 나름 다시 감탄(?)했어요. ..아니면 빨리 이 길을 뜨는게 답인가요?ㅋㅋㅋㅋ 아, 또 성현이형이 동아리에서 프로젝트같은거 하신다고 하셨는데, 어떤걸 누구와 어떻게하였는지(그러니까 그 전반)도 한번 들어볼 기회가 있으면 좋겠어요. 여기서 잘 복붙해서 세미나 글에도 후기를 올려야겠네요...ㅎㅎ -[김태진]
* 이래저래 커스 공연도 한다고 하고, 과제 때문에 불참도 하고, 저번 정모 때 워낙 11학번 학우들이 많이 있어서였을까요,, 조금 썰렁하다 라는 느낌이 있었지만,, 뭐 홍기의 세미나 잘 들었습니다. 이번 OMS에서 script에 대해서 하셨는데,, 아르바이트 할 때 약간 다뤘던 (간단한 웹 페이지 수정 작업을 했습니다. 그 외에 엑셀 작업 조금이랑,, 개인 공부(?)) 기억이 났습니다. 조금 고치고 저장한 다음에 페이지 열어보고, 잘 되네 이러고 다른거 수정 하고 했었습니다. 전역 후 승한이형이 알려준w3school.com 사이트에서 좀 기초적인 것만 공부하고 아르바이트를 시작했었는데, 자세하게 공부 할 기회가.. (없었던게 아니라 내가 안했을 지도..) 접,, 여튼 조금 더 관심을 가져 봐야 겠다는 생각이 든 OMS였습니다. ㅎ - [권순의]
* 지난 정모때 사람이 많았어서 상대적 박탈감(?)이 느껴지는 정모였습니다. 기말이 다가오니 바쁘신지 안오신 분들도 많았고ㅜㅜ 내 OMS가 있던 날인데.. 흙흙 그래도 매번 참석하는 11이 있어 기특합니다. 사람은 빈곤했지만 내용은 학술적인 내용으로 풍요로웠네요. 세미나도 하고. 연구실에서 무슨일을 하고있는지 알수 있는 좋은 기회였습니다. 연구실도 트렌드를 따르는군요ㅋㅋ 친구추천이랑 약간 비슷한거 같아요. 나의 OMS 잘 들으셨는지ㅠㅠ 아 스크립트 소개를 위한 스크립트도 썼는데 눈이 침침해서 잘 안보여서 횡설수설했네.. 자료실에 ppt랑 스크립트 같이 올려뒀어요 비교해 보세요.. 컴파일 언어가 전부인줄 알았다면 다른 종류의 언어도 익혀보세요! 전 루비와 얼랭을 해볼 생각입니다ㅋㅋ 구루가 되어보아요:> - [서지혜]
* 이때까지 자바스크립트를 C랑 비슷한 언어라고 생각하질 않았어요. 그냥 쓰면 되는구나.. 정도. 근데 정말이지 C같은 문법(?)을 가진 언어더군요! 신기한 언어의 세계였어요 -[김태진]
* 세미나와 OMS 잘 봤습니다. 세미나는 해당페이지에서 후기를 쓰도록 하고.. 스크립트, 관심은 있는데 왜 자꾸 미루기만 하는건지. ㅜㅜ 요즘 얕게 이것저것 배우다보니(NXC를 포함하여) 문법이 점점 혼란스러워지고 있습니다. 그런 면에서는 스킴이 참 좋은데.. 응? 여튼 저만의 웹페이지를 만들기 위해 지금 막 HTML5와 자바스크립트를 보고 있습니다. 파이썬이나 펄 등등 하고싶은건 많은데 되는건 하나도 없네요ㅋㅋ - [정진경]
* 아아 일주일 뒤에 후기를 쓰는 군요. 요즘 이런것에 신경을 덜쓰는것 같아요. 홍기형의 세미나 잘 봤습니다. 스크립트에 관한 OMS도 잘 봤습니다. 스크립트언어는 java말고는 아무것도 몰랐는데.. 그래서 자바==스크립트 라고 생각한적도 있었는데 좋은 지식을 얻게 되어 기쁩니다. 커스 공연덕에 1시간으로 짧게 끝난 정모라 조금 아쉽습니다. 너무 서둘러서 끝난 기분이 드네요. - [고한종]
- 3DAlca . . . . 65 matches
* 3D로 즐기는 알카로이드 입니다.
= 아이디어 =
* 판이 회전하여서 공을 적절할 타이밍에 돌려서 튕기기.. 팽이 처럼
* 판이 고무줄처럼 밑으로 출 늘였다가 놓으면서 팍 튕기기
* 네트워크 대전에서는 위아래에서 서로 상대편을 공 또는 아이템으로 맞히기
* 일반적인거..-> 판커지기, 돌 여러개 생기기, 볼이 다 뚫기, 판에서 미사일 나가기
* 태양이 위에서 수직으로 내리쬔다고 생각하고 그림자 생기게 만든다.. 더 쉽게..
* 광원이 옆에서도 비추는거처럼 보여서 다른쪽 벽에 그림자가 생기게 한다. 더 알아보기 좋게 하기 위해서
* 둘이서 하면 재밌겠다.
* 볼이 벽에 튕길때 벽에 어떤 표시가 있으면 좋겠다.
* 공이 멀리 갔는지 가까이 갔는지 잘 구별이 안됨
* 마우스로 잘 움직이면 좋겠다.
* 줄색으로 원근감 표현 => z축으로 멀리 갈수록 줄이 검어 진다는 방식 예를 들면
* 화면은 어느 일정한 한도만 돌아가면 좋겠다. 어지럽다.. 도는 각도 제한, 판이 끝에 걸려서 안 움직이는데도 화면은 계속 회전하는 문제 해결 가능
* 공이 벽돌에 가려지는 문제점 해결 요망
* 만약 벽돌이 너무 많으면 답답할거 같다
* 공이 벽이나 벽돌에 튕길때 살짝 표시하는게 좋겠다. => 공 부딪힐때 꼭 타격 표시 (예-> 스톰에서 주먹으로 퍽퍽 치면 퍽퍽 소리나고 빨간색 번쩍 번쩍 하는거.)
* 벽돌에 공이 가렸을때 뒤에서 공 흐릿하게 표시하는게 낮겠다.
* 판이 가운데로 왔을때 카메라도 가운데로 와야 하지 않을까 한다.
* 약간 치우쳤을 경우 판 움직이는 것보다 좀더 빨리 움직여서 리커버를 해야 한다?
- PragmaticVersionControlWithCVS/WhatIsVersionControl . . . . 62 matches
이장에서는 서로 다른 의미로 사용되는 용어의 정의를 목적으로 한다.
개발 중인 프로젝트의 모든 버전이 저장되는 장소이다. 파일 시스템, DB일수도 있으며, 어떤 경우에는 2가지를 같이 사용하기도 한다.
최근에는 네트워크를 이용해서 원격지의 서버에 존재하는 저장소에 저장한다.
개중에는 네트워크에 연결되지 않은 상태에서 작업을 하고 이를 후에 반영시켜 동기화하는 매커니즘을 제공하기도 함. (ex CVS)
프로젝트의 기본으로 저장되는 소스코드. 그 외에 버전관리에 필요한 기타 파일들이 저장함.
'''원칙:만약 프로젝트의 진행에서 없으면 곤란한 모든 것이 버전관리의 대상이된다. 즉 반드시 프로그램의 빌드만이 아니라 차후에 필요한 다큐도 버전관리를 해야할 필요가 있다'''
|| 자동으로 생성되는 잔여파일의 경우 굳이이를 관리할 필요는 없다. 대신에 특수한 이유(컴파일 타임. 라이센스)로 필요한 경우에는 관리를 하는 경우도 있다 ||
''만약 한개의 파일을 2명의 프로그래머가 각기 수정을 한뒤 commit한다면 이때의 상황을 어떤식으로 처리할 것인가?''
기본적으로 Version Control 에서 관리의 가장 작은 단위는 파일이다. 그외에 한개의 프로젝트 단위로 전체 프로그램을 관리하고, 그 하부에 모듈을 기준으로 해서 소스를 관리한다.
저장소는 말과는 다르게 사실 많은 과정을 거쳐서 저장된다. 저장소는 한번이라도 체크인한적이 있는 모든 버전을 보관한다.
각각의 체크인된 버전에는 체크인한 날짜, 시각, 변경의 내용을 저장하는 주석이 포함된다.
CVS가 각기의 파일에 할당하는 버전의 번호는 그 파일의 버전일뿐 전체 프로젝트의 버전일 수는 없다. ''(잡담:물론 따로 기능이 있지 않을까? -_-;)''
버전 관리 시스템에서는 전체의 파일, 모듈단위, 프로젝트 단위로 이에 속한 파일들에 꼬리표라는 것을 붙이는 것이 가능하다.
이 경우 PreRelease2를 불러들이게 되면 상기의 버전의 파일들이 불러들여지게 된다. 태그는 프로젝트의 진행에 있어서 중요한 일이 발생한 시점을 기록하는 것으로 사용되는 것도 가능하다.
개발중심축(mainline) : 일반적인 개발환경하에서 개발자들은 동일한 코드 기반을 가지고 작업을 한다. 체크아웃, 개정판을 만들어서, 변경사항을 체크인하면 모든 개발자가 서로의 작업을 공유하게 되는 것이다. 이러한 개발흐름을 일컬어 개발중심축이라 함.
이런 개발중심축상에서 만약 특정 시점에서 프로그램의 릴리즈 버전이 완성되어서 QA과정으로 들어갔다고 생각해보자. 이때, 프로젝트의 다른 팀원들과 동시에 개발을 진행시켜 나가면서, QA과정에서 발생된 치명적인 버그를 본래의 개발중심축상에 반영시키기 위해서 만들어진 개념임. (그림이 있어야 이해가 쉬울듯. 글만 읽어서는 SE를 듣지 않은 이상 이해 힘들어보임.)
브랜치를 만들게 되면 그 시점에서 브랜치로 만들어진 소스는 개발의 중심축선상에서 빠져나와서 기본 개발축과 다른 개발을 할 수 있다. 또한 이렇게 분기된 프로젝트의 변경부분을 본래의 개발중심축선상에 반영시키는 것또한 가능하다. 또한 이 릴리즈 시점을 지나서 개발중심축이 상당부분 진행이 된 상태에서 소비자가 릴리즈버전의 버그를 보고하여, 이 버그를 고쳐야할 필요가 생겼을때 개발자들을 새로 소스를 만들 필요없이 단지 릴리즈 시점의 브랜치로 옮겨서 작업을 하고, 패치를 만들어 내는 것이 가능하다.
브랜치를 이용하면 한명의 개발자가 한개의 컴퓨터를 가지고도 릴리즈 버전의 버그 수정작업과 mainline상의 프로그램의 개발을 동시에 하는 것이 가능하다.
이 경우 브랜치에서 수정된 사항이 mainline상에도 반영되어야할 필요가 있을때 이를 병합의 과정을 통해서 하는 것이 가능하다.
만약 한개의 파일을 가지고 2명의 사람이 동시에 수정작업을 거쳐서 체크인하게된다면 어떤 상황이 벌어질까? 아마 이대로는 한개의 파일이 쓰여지고 다른 파일이 그 파일을 덮어 쓰는 상황이 벌어질 것이다.
- 나를만든책장/서지혜 . . . . 62 matches
* 위트 있는 풍자덕에 인간에 대한 신랄한 비판이 거북하지 않다.
* 엘리먼트::타고난 재능과 열정이 만나는 지점
* 당연히 그렇지 않겠지만 늦었다는 생각이 들어 울적해진다. 자신의 재능을 찾아 열정을 쏟아야 한다는 것이 작가가 말하는 바, 이지만 내가 잘하는 것도 없는 찌끄레기 같이 느껴짐..
* 기발한 발상, 하늘을 움직이다.
* 결말이 슬펐음..ㅠ
* 아프니까 청춘이다.
* 손발이 오그라듦.
* 실행이 답이다.
* 비상식(??)적인 회사 이야기. 기존의 회사에 대한 통념을 비판하고 있다. IT계열의 스타트업 회사라면 시도해 볼 만함.
* 개발자를 ''남자친구''로 둔 사람들을 위한 글임. 여자가 개발자일 경우따위 고려 안함^^ 왜 읽었을까. 불쏘시개이다.
* 재미짐. 부유한 백인 여성 화자의 가정부 유색인종(흑인만 나옴) 여성을 다룬 이야기.
* 왜 이런 책이 세계적인 베스트 셀러인지 모르겠다. 이게 어른이 읽는 (지나치게 교훈적인) 동화책이었던가?
* 마우스드라이버 크로니클
* 마우스드라이버의 첫 고객이 엄마였다는게 귀엽다ㅋㅋ
* 프로그래밍은 상상이다
* 사람들이 미쳤다고 말한 외로운 수학 천재 이야기
* 말실수에 대한 재미있는 이야기
* '''그래도 당신이 맞다'''
* 따듯한 책이다. 다시 읽어보자
* '''이것은 왜 청춘이 아니란 말인가'''
- 새싹교실/2011/Noname . . . . 62 matches
||학생||이하늘||O||X||||||||드랍||
|| ||이동혁||O||O||O||O||O||O||
* 관련 페이지 : ThreeFs, [http://no-smok.net/nsmk/ThreeFs ThreeFs(노스모크)], [http://no-smok.net/nsmk/FiveFs FiveFs(노스모크)]
* 예를 들어 지난주에 돈가스를 먹은 것에 대해 후기를 쓴다면 : "지난주에 강남에 가서 하나에 5만원하는 돈가스를 먹었다.(사실) 기대를 잔뜩 했는데 별로 맛이 없었다.(느낌) 강남은 땅값이 비싸서 값만 보고 엄청 맛있을거라 기대하면 안된다는 것을 알았다.(깨달은점) 다음에는 미리 인터넷에서 평을 찾아보고 별점이 높은 돈가스집을 찾아서 가봐야겠다.(앞으로의 계획)"
* 이스케이프 시퀀스의 사용
* 서식문자의 사용과 이유
* 변수에 대한 설명 : 메모리의 할당과 이름의 설정.
* 변수와 상수의 차이
* 변수 이름 설정의 규칙.
||정수형||char||1 byte(8 bit)||-128 이상 +127 이하||
|| ||int||4 byte(32 bit)||-2,147,483,646 이상 +2,147,483,647 이하||
|| ||short int||2 byte(16 bit)||-32,768 이상 +32,767 이하||
|| ||long int||4 byte(32 bit)||-2,147,483,646 이상 +2,147,483,647 이하||
||실수형||float||4 byte(32 bit)||10^-37 이상 10^38 이하||
|| ||double||8 byte(64 bit)||10^-307 이상 10^308 이하||
* 모이는 시간을 잘못 알려주어서 한사람 밖에 오지 못 하였습니다. 한 사람밖에 오지 못 하여서 진도를 많이 빼지 못 하고 복습과 질문 위주로 공부를 하였습니다. 시간을 확실하게 정하고, 다음부터는 애들이 나오지 못 하여도 진도를 위주로 공부를 해야겠습니다. - [박정근]
* 하늘이가 새싹교실을 그만두게 되었습니다.
* 연산자의 종류들과 #define함수의 활용법에 대해서 배웠습니다. 아직 C프로그래밍이 익숙지 않아서 간단한 함수도 어렵게 느껴졌다. 여러 예재로 우선 C프로그래밍에 익숙해 져야 겠다. 수업이 끝난 후 복습을 꼭 해야겠다. - [김창욱]
* 학생들이 이해력이 좋은건지 제가 못 가르치는 건지 금방금방 할 이야기가 다 다르네요;; 다음부터는 좀 더 열심히 공부하고 와서 가르치도혹 해야겠습니다. 또 피드백으로 과제같은 것을 내는것도 괜찮을 것 같네요 준배해 봐야겠습니다. - [박정근]
* 저번에 제어문 할 때에는 창욱이가 없었지만 오늘은 창욱이만 나왔기 때문에 제어문 수업을 다시 했습니다.생각보다 이해가 빠르네요. 예제라던가 문제등을 좀더 준비해가야겠습니다. 또 진도를 더 빨리빨리 빼서 중간고사에 맞출 수 있도록 맞추어 봐야겠습니다. 이제 제어문 끝냈고 드디어 반복분을 할 차레입니다. 개인적으로 별찍는 문제가 가장 재미있었기에 다음번에는 그 문제를 풀어보도록 합시다ㅎㅎ - [박정근]
- CryptKicker . . . . 61 matches
텍스트를 암호화하는 방법 중에 보안상 취약하긴 하지만 흔하게 쓰이는 방법으로 알파벳 글자를 다른 글자로 돌리는 방법이 있다. 즉 알파벳의 각 글자를 다른 글자로 치환한다. 암호화된 것을 다시 원래대로 되돌릴 수 있으려면 두 개의 서로 다른 글자가 같은 글자로 치환되지 않아야 한다.
암호화된 텍스트가 한 줄 이상 입력되는데, 각 줄마다 서로 다른 치환 방법이 적용된다고 가정하자. 암호화 이전의 텍스트에 있는 단어는 모두 주어진 사전에 들어있는 단어라고 가정하고, 암호화된 텍스트를 해독하여 원래 텍스트를 알아내자.
입력은 한 개의 정수 n이 들어있는 행으로 시작되며 그 다음 줄부터는 한 줄에 하나씩 n개의 소문자로 쓰인 단어들이 알파벳 순으로 입력된다. 이 n개의 단어들은 복호화된 텍스트에 들어갈 수 있는 단어로 구성된 사전이다. 사전 뒤에는 몇 줄의 텍스트가 입력된다. 각 줄은 앞에서 설명했던 방법에 따라 암호화된다.
사전에 들어갈 수 있는 단어의 개수는 1,000개를 넘지 않는다. 단어의 길이는 16글자를 넘지 않는다. 암호화된 텍스트에는 소문자와 스페이스만 들어가며 한 줄의 길이는 80글자를 넘어가지 않는다.
각 줄을 복호화하여 표준 출력으로 출력한다. 여러 문장으로 복호화될 수 있다면 그 중 아무 결과나 출력하면 된다. 가능한 풀이가 없다면 알파벳 모든 문자를 아스테리스크(*)로 바꾸면 된다.
=== 풀이 ===
이런 종류의 암호화를 단일환자치환법, 또는 단일환자방식의 암호화 라고 합니다. [암호의세계] 라는 책에서 이 방법에 대해서 자세히 풀어 놓았었는데;; 하하하 책 헛읽었군요;; 이걸 보니 더블릿이랑 비슷한듯. - [이승한]
단일환자방식의 암호의 기본적인 풀이법
단일환자 방식은 암호화 방식중에서도 기초적이고 풀기도 쉬운 방식이다. 복호화된 한줄의 원본 문장만 가지고 있어도 거의 모든 암호를 풀어내 버릴수 있기 때문이다.
하지만 복호화된 문장이 없다면?? 그럴때에도 풀이 법이 있다.
영어는 26글자의 알파벳으로 이루어져있다. 단순히 짜맞추기엔 너무 많은 갯수이다. 하지만 그것들의 출현빈도는 각각다르다. z, q와 같은 글자는 1%미만의 출현비율이 나타나고,
e, i, o 와 같은 글자는 알파벳의 특성상 10퍼센트가 넘는 출현빈도가 나타난다. 기억나기론 E가 13퍼센트 정도였던것 같다. 이 규칙을 따르지 않는 문장과 단어가 있지 않나고 반박할지 모르지만 확률이다. 특수화된 경우의 문장과, 단어의 경우를 일반화 시키면 곤란하다. 이런 알파벳의 출현빈도는 몇줄의, 몇개의 단어에는 잘 맞지 않을테지만, 암호화된 문장과 문서가 많아질수록 그 출현빈도는 표중화된 확률에 거의 일치하게 된다.
또 gh, ing, ed, the, a 와같은 자주출현하는 글자쌍도 존재한다. 만약 암호화된 코드에 덩그라니 한글자짜리 x 가 존재한다면 그것은 a일 가능성이 높아진다. 또 qer가 있따면 이것은 the가 될 확률이 높아지는것이고.
이와같이 꽤 많은 문서와 문장의 알파벳의 출현빈도와, 특정한 글자쌍을 추측 하다보면 어느순간 복호화가 완성되어진다.
단일환자 치환법의 치명적 약점이 또한가지 존재하는데 이는 송신자와, 수신자 에게 적어도 한개의 법칙이 필요하다는 것이다. (이럴땐 [pangram]이 유용하게 쓰였을것이다)
송수신가자 모두 가진 무언가 공통의 법칙이 필요했을것이고, 그렇게 되면 보안상의 문제가 발생하게 되는것이다. 직접 만나서 건낼 수 있다면 좋지만, 직접 만날거면 뭣하러 암호화된 문장을 사용하겠는가. 아무튼 암호화 규칙이 노출되지 않게 하기위해서는 상당한 노력이 필요했을것이다.
단일환자치환법은 조금 허접해 보일지 모르지만 결코 이 방식을 무시할수 없는 이유는 거의 모든 암호화 방식이 이 방법을 활용하고, 변형한 방식이기 때문이다.
독일의 아나그램도 단일환자 방식을 개량하여 빈도수의 특성을 희석시킨 방식이다. (뭐 아나그램에는 다른 법칙들도 많지만 어렵다. 이해못했다.) - [이승한]
- 송년회 . . . . 61 matches
한 해를 마칠 즈음 ZeroPagers가 모이는 자리
총 15명의 회원이 모였음.
제로페이지 자체회비 60000원 지원
으음. 앞으로는 회계 페이지를 만들어서 따로 관리를 해보는것도 좋을듯. - [이승한]
4311 무언가 이질감이 느껴지더니;; 4411과 헛갈린듯. 그날 공지좀 붙여 놓아야 할듯 ㅋㄷㅋㄷ 죄송합니다 - [이승한]
학기 마무리행사로 학교전체가 들썩일텐데, 예약이 필요하지 않을까요?? - [이승한]
|| 01 || 강인수 이상규 신재동 ||
|| 00 || 양형배 이정직 이봐라 강지혜 임인택 최광식 김남훈||
|| 96 || 이권국, 최태호 ||
10일에 연락드렸으나 벌써 대부분 선배님이 약속이 있으셨음. 내년에는 조금 일찍 해 보는게 좋을듯.
전화연락 : 나휘동, 윤성만, 이승한.
재동형님이 말씀해주신 2/3 으로라면 20명 정도 생각해보고 예약해야 할듯.
덧. 주소록에 변경내용 반영 해 놓았습니다. - [이승한]
중앙대학교 컴퓨터공학부 제로페이지 입니다.
제로페이지에서 송년회를 준비하고 있습니다. 공지 메일 받으셧나요??
장소는 공대 3층 4311 강의실 이니다.
고맙습니다~ 꼭오시고요. 혹시 못 오시게 되면 이 번호로 연락주세요~
네. 혹시 시간되셔서 오실수 있게 되시면 이 번호로 연락 주세요~
* 이메일 버전
안녕하세요. 제로페이지 회원님!
- ProgrammingContest . . . . 60 matches
국내에서는 많이 시들해진 감이 있다.
컨테스트는 아니지만, ITA 소프트웨어에서는 아예 자신들이 낸 문제를 풀지 않으면 이력서조차 받지 않는다.
http://www.itasoftware.com/careers/programmers.php
나이나 학력 제한이 전혀 없습니다(Open경우). 팀은 세명까지 가능하고, 혼자서도 참가 가능합니다. 사용 가능 언어는 Java, C++, Pascal, Python 등 입니다. 제한 조건은 한 팀은 프로그램 개발을 위해서는 하나의 컴퓨터만 사용해야 한다는 것입니다. 이번 금요일(2002/5/10)에 한국 시간으로는 오후 9시부터 5시간 동안입니다. 온라인(이메일)으로 진행합니다. (see also .http://ipsc.ksp.sk/rules.php )
이미 참가 신청을 한 한국팀(연세대, 경북대, ...)들도 몇 팀 보이는군요. 재미있겠죠? 등록은 컨테스트 시작 2시간 전까지 입니다.
''ZeroPagers 중에 참가를 희망하는 사람들이 있는 걸로 아는데 왜 아무도 신청을 하지 않았죠? 하려면 빨리 하세요.''
''Choong-Ang Univ.는 어디죠? --이선우''
''그..그게 누군지는 모르겠군요. -_-; 도대체 두팀이나; 누가 신청한건지 자수를! (ps. 제가 신청서 안썼습니다;) --석천''
''저랑 정직이 그리고 희록이형 입니다. --구근''
''저기 학교 이름 못 바꾸나요? 지금 보니 Chung Ang 이라고 제대로 써진건 하나 던데여.. 나머지는 Chang Ang 또는 Choong Ang 이던데여.. 2~3개 팀이여.. --상협''
수준이 궁금하신 분들은 K-In-A-Row를 풀어보세요. http://ipsc.ksp.sk/problems/prac2002/sampl_r.php
만약 문제 이해 시간을 포함 (혼자서) 40분 이내에 R1과 R2 모두에 대해 정답을 구했다면 (2000년도 본선문제였습니다. 같은 사이트 Problem Archive에 정답이 있습니다) 아마 10위권 이내에 들 실력이라고 사료됩니다. 아마 EightQueenProblem을 (사전 정보 없이) 한 시간 안에 푼 사람이라면 10위권 안에 충분히 들 수 있을 것 같습니다.
만약 자신이 K-In-A-Row를 한 시간 이상 걸려도 풀지 못했다면 왜 그랬을까 이유를 생각해 보고, 무엇을 바꾸어(보통 완전히 뒤집는 NoSmok:역발상 으로, 전혀 반대의 "極"을 시도) 다시 해보면 개선이 될지 생각해 보고, 다시 한번 "전혀 새로운 접근법"으로 풀어보세요. (see also DoItAgainToLearn) 여기서 새로운 접근법이란 단순히 "다른 알고리즘"을 의미하진 않습니다. 그냥 내키는 대로 프로그래밍을 했다면, 종이에 의사코드(pseudo-code)를 쓴 후에 프로그래밍을 해보고, 수작업 테스팅을 했다면 자동 테스팅을 해보고, TDD를 했다면 TDD 없이 해보시고(만약 하지 않았다면 TDD를 하면서 해보시고), 할 일을 계획하지 않았다면 할 일을 미리 써놓고 하나씩 빨간줄로 지워나가면서 프로그래밍 해보세요. 무엇을 배웠습니까? 당신이 이 작업을 30분 이내에 끝내려면 어떤 방법들을 취하고, 또 버려야 할까요?
만약 팀을 짠다면 두사람은 PairProgramming으로 코딩을 하고(이 때 Interactive Shell이 지원되는 인터프리터식 언어라면 엄청난 플러스가 될 것임), 나머지 하나는 다른 문제를 읽고 이해하고, (가능하면 단순한) 알고리즘을 생각하고 SpikeSolution을 종이 위에서 실험한 뒤에 현재 커플이 완료를 하면 그 중 한 명과 Pair Switch를 하고 기존에 코딩을 하던 친구 중 하나는 혼자 다른 문제를 읽고 실험을 하는 역할을 맡으면 효율적일 겁니다. 즉, 두 명의 코더와 한 명의 실험자로 이루어지되 지속적으로 짝 바꾸기를 하는 것이죠.
또, Easy Input Set은 직접 수작업으로 풀고 그걸 일종의 테스트 데이타로 이용해서, Difficult Input Set을 풀 프로그램을 TDD로 작성해 나가면 역시 유리할 것입니다. 이렇게 하면 Time Penalty는 거의 받을 일이 없겠죠.
== 관련 사이트 ==
글들을 보니까 경진대회에 관심이 있는 것 같아서 관련 사이트를 올립니다.
특이한 점은 토너먼트 형식으로 제한된 시간내에 프로그래밍 대결을 벌인다는 거죠. 이긴자에게 상금을 줍니다만 미국외의 사람에겐 받을 자격이 없는 것 같기도 합니다. 스윙 애플릿을 다운로드 받아서 주어진 문제에 대해 자바, C++, C# 등으로 코딩할 수 있고 제대로 해결했는지 그 자리에서 바로 확인할 수 있습니다. -- 박지훈
http://ace.delos.com/usacogate 에서 트레이닝 받을 수 있지요. 중,고등학생 대상이라 그리 어렵지 않을겁니다. ["이덕준"]은 ProgrammingContest 준비 첫걸음으로 이 트레이닝을 추천합니다.
- JavaStudy2003/두번째과제/곽세환 . . . . 59 matches
//발자국이 가득 채워졌니?
//주어진 위치가 벽이니?
//바퀴의 이동
int c_x; // 바퀴가 이동할 x 위치
int c_y; // 바퀴가 이동할 y 위치
//이동할 자리를 살핀다
//벽이면 false 벽이 아니면 true
달린다,기어를 바꾼다,속도를 높이거나 낮춘다, 경적을 울린다 - 행동
모듈성은 각각의 객체를 위한 소스코드가 서로 무관하게 유지될 수 있다는 것이다.
객체와 객체가 통신을 하는데 이용된다.
메시지를 받을 객체, 수행을 요청한 메소드의 이름, 메소드에 의해 필요한 매개변수 등 세가지 구성요소를 가진다.
여러개의 클래스가 같은 메시지에 대해서 각자의 방법으로 작용할 수 있는 능력이다.
연산자 다중 정의(overloading),함수 다중 정의,함수 재정의(overriding)등이 있다.
class 클래스이름 {
클래스이름 클래스인스턴스이름 = new 클래스이름();
클래스이름 클래스인스턴스이름;
클래스인스턴스이름 = new 클래스이름();
함수다중정의:같은 이름의 함수가 여러개 존재하는 것
연산자다중정의:같은 이름의 연산자가 클래스에 따라 다른 연산을 수행할 수 있도록 하는 것
클래스이름(형식매개변수 리스트) { … }
- DPSCChapter3 . . . . 58 matches
연관된 혹은 의존적인 객체들의 집합을 만들기 위한 인터페이스를 제공한다. 클라이언트가 구체적인 클래스들에 대한 구체화
패턴은 실제로 아주 간단하다. 문제 상황은 많은 부분들을 포함한다. Abstract Factory 패턴이 적용될 수 있는 예제를 보도록
그것은 몸체, 엔진, 변속장치, 그리고 승객 칸막을 포함하는 자동차를 만드는 것이다. 둘째로, 응용 프로그램은 같은 상품의
부분들을 원한다. 즉 Ford 자동차는 Ford 엔진과 변속장치를 가져야한다. 이것은 Ford Family안의 부분들이다. 셋째, 우리는
Ford parts,Toyota parts,Porsche parts 등등이다. 유사한 클래스들이 클래스 구조를 통해서 확장된다. 각각이 적당한 하위
(결국, 각각이 CarEngine을 Base Class로 해서 상속을 통해 Ford Engine,Toyota Engine등등으로 확장될 수 있다는 말이다.)
있는 방법이 필요하다. (Toyota 엔진에서는 Ford 자동차가 작동할 수 없다.)
우리는 Abstract Factory Pattern을 이용해서 두가지 목표를 이룰 수 있다.
(정리 : Abstract Factory Pattern은 Factory Pattern을 추상화시킨 것이다.Factory Pattern의 목적이 Base Class로부터 상속
Vechile과 CarPart는 Object 클래스의 서브 클래스이다. 물론, 이 클래스 구조는 많은 단계에서 전체적으로 단순화된다.
그러므로 우리가 여기서 보여주는 것 보다 현실 세계는 좀더 높은 추상을 가지고 있을 것이다. 하지만, 우리의 패턴 묘사를
우리는 CarPartFactory라는 추상 팩토리 클래스 정의를 하면서 패턴 구현을 시작한다. 이것은 "구체적인 클래스들에 대한
구체화 없이 관계된 혹은 의존적인 객체 집합을 만들기 위한 인터페이스를 제공하는" (Intent 부분에서 언급한 내용)
클래스이다. 그것은 추상적인 상품 생성 함수들(makeCar,makeEngine,makeBody)을 정의한다. 그 때 우리는 상품 집합 당
그리고 이 메쏘드를 오버라이드하는 구체적인 하위 클래스를 추가한다.
전체적으로, 우리의 팩토리들은 아래와 같이 보인다.
Abstract Factory로, 부분들을(part) 결합시키는 것은 팩토리의 클라이언트가 하는 일이다. 팩토리는 부분들의(part) 하나의 집합의 (family)로 부터 나온다는 것을 보장한다. 하지만, 팩토리는 단지 부분을(part) 반환하는 일만 할 뿐이다. 최종 상품은 팩토리가 조립하지 않는다. 그것은 클라이언트의 일이다. (우리는 Abstract Factory와 Builder 패턴 사이의 주요한 차이점을 나중에 볼 것이다.)
CarAssembler 객체가 팩토리 클라이언트라고 추정해보자. 그리고 CarPartFactory 객체를 참조하는 팩토리라고 이름지어진 인스턴스 변수를 갖자.
만약, 팩토리가 FordFactory의 인스턴스였다면, 자동차에 추가되기 위해 얻어진 엔진은 FordEngine일 것이다. 만약 팩토리가 ToyotaFactory였다면, ToyotaEngine은 팩토리의 makeEngine에 의해서 만들어 질 것이고, 그 때 자동차에 추가될 것이다.
아직, 확실하지 않는 한 부분이 있다. CarAssembler는(factory 클라이언트) 어떻게 구체적인 CarPartFactory 하위 클래스의 인스턴스를 얻을 수 있을까? 그것은 특별한 하위 클래스 자체를 소비자의 선택에 기초해서 인스턴스화 할 수 있을 것이다. 혹은 외부 객체에 의해서 팩토리 인스턴스를 다룰수도 있을 것이다.
- MindMapConceptMap . . . . 58 matches
지식을 그래프 / 트리 구조로 표현하는 방법. 해당 지식에 대해서 중심이 되는 키워드, 단어들을 토대로 하여 지식을 정리해 나간다.
How To Read a Book 과 같은 책에서도 강조하는 내용중에 '책을 분류하라' 와 '책의 구조를 파악하라'라는 내용이 있다. 책을 분류함으로서 기존에 접해본 책의 종류와 비슷한 방법으로 접근할 수 있고, 이는 시간을 단축해준다. 일종의 知道랄까. 지식에 대한 길이 어느정도 잡혀있는 곳을 걸어가는 것과 수풀을 해치며 지나가는 것은 분명 그 속도에서 차이가 있을것이다.
MindMap 의 경우, 일반적인 책들과 같이 그 체계가 잘 잡혀 있는 지식에 대해 정리하기 편리하다. (SWEBOK 과 같이 아에 해당 지식에 대한 뼈대를 근거로 지식을 분류해놓은 책같은 경우에는 더더욱) 일반적으로 한 챕터에 대해서 5-10분정도면 한번 정리를 다 할 수 있을 정도로 필기할때 속도가 빠르다. 그러면서 해당 중심 주제에 대해서 일관적으로 이어나갈 수 있도록 도와준다. (이는 주로 대부분의 책들이 구조적으로 서술되어있어서이기도 할 것이다.)
공부할때 한 챕터에 대해서 1시간정도 MindMap 을 구조적으로 그려나가면서 정리 한 뒤, 기억 회상을 위해 외워서 MindMap 을 한 3번정도 그려보면 (기억 회상을 위해 그리는데에는 보통 5-10분이면 된다. 반드시 '다시 기억을 떠올리면서' 그릴것! MindMap 이나 ConceptMap 이나 그리고 난 뒤의 도표가 중요한 것이 아니다. 중요한 것은 Map을 그려나가면서 기억을 떠올려나가는 과정이 중요하다.)
ConceptMap 은 Joseph D. Novak 이 개발한 지식표현법으로 MindMap 보다 먼저 개발되었다. (60-70년대) 교육학에서의 Constructivism 의 입장을 취한다.
MindMap 의 문제점은 중간에 새어나가는 지식들이 있다. 기본적으로 그 구조가 상하관계 Tree 구조이기 때문이다. 그래서 보통 MindMap 을 어느정도 그려본 사람들의 경우 MindMap을 확장시켜나간다. 즉, 중심 개념을 여러개 두거나 상하관계구조를 약간 무시해나가면서. 하지만 여전히 책을 읽으면서 잡아나간 구조 그 자체를 허물지는 않는다.
ConceptMap 은 'Concept' 과 'Concept' 간의 관계를 표현하는 다이어그램으로, 트리구조가 아닌 wiki:NoSmok:리좀 구조이다. 비록 도표를 읽는 방법은 'TopDown' 식으로 읽어가지만, 각 'Concept' 간 상하관계를 강요하진 않는다. ConceptMap 으로 책을 읽은 뒤 정리하는 방법은 MindMap 과 다르다. MindMap 이 주로 각 개념들에 대한 연상에 주목을 한다면 ConceptMap 의 경우는 각 개념들에 대한 관계들에 주목한다.
http://cmap.coginst.uwf.edu/info/cmap.gif
개인적으로 처음에 MindMap 보다는 그리는데 시간이 많이 걸렸다. 하지만, MindMap 에 비해 각 개념들을 중복적으로 쓰는 경우가 적었다. (물론 MindMap 의 경우도 중복되는 개념에 대해서는 Tree 를 깨고 직접 링크를 걸지만) MindMap 의 Refactoring 된 결과라고 보면 좀 우스우려나; 주로 책을 정리를 할때 MindMap 을 하고 때때로 MindMap 에서의 중복되는 개념들을 토대로 하나의 개념으로 묶어서 ConceptMap 을 그리기도 한다.
ConceptMap 에서 중요한 것은 각 Concept 뿐만 아니라 Concept 과 Concept 간의 Relation 의 표현이다.
컴퓨터 프로그램에서도 MindMap 과 ConceptMap 을 그리는 프로그램이 많다. 하지만, 그렇게 효율적이지는 않은 것 같다. (아직까지 연습장과 펜 만큼 자유롭지가 않다. ["TabletPC"] + Visio 조합이라면 또 모를까;) MindMap 이건 ConceptMap 이건 기존 지식으로부터 연관된 지식을 떠올리고, 사고하고, 재빨리 Mapping 해 나가는 과정자체가 중요하기에. (["1002"]는 개인적으로 프로그래밍을 하려고 했다가; 그리 유용하단 느낌이 안들어서 포기했다는. 여러 프로그램들을 써 봤지만, 결국 도로 연습장 + 펜 으로 돌아갔다. ^^; 그리고 개인적으로 Map 자체를 도큐먼트용으로 보관하는것에 의미를 두지 않아서.)
* MindMap 과 ConceptMap 을 보면서 알고리즘 시간의 알고리즘 접근법에 대해서 생각이 났다. DivideAndConquer : DynamicProgramming. 전자의 경우를 MindMap 으로, 후자의 경우를 ConceptMap 이라고 생각해본다면 어떨까.
빠르게 책의 구조와 내용을 파악할때는 MindMap을, 그리고 그 지식을 실제로 이용하기 위해 정리하기 위해서라면 MindMap 을 확장시키거나, ConceptMap 으로 다시 한번 표현해나가는 것이 어떨까 한다. --석천
'''마인드맵은 지극히 개인적인 도구이다.''' ["데기"]가 마인드맵에 기록하는 것들은 주로 연상 작용을 일으켜 이미 알고있는 것을 쉽게 떠오르게 할 수 있는 열쇠들이다. 마인드맵에 적힌 내용들이 그 열쇠가 되기도 하지만 그보다 마인드맵을 그리는 과정이 그 열쇠가 되어준다. 잉크가 말라 잘 안나오는 파란색 펜을 선택해서 굵은 줄로 가지를 치고 조금 삐딱한 글씨체로 ''겨울 바다''라고 썼던 일이 나중에 그 마인드맵을 다시볼때 기억의 실마리가 되어준다. 그 실마리는 언어가 될 수도 있겠지만 이미지적인 요소도 무시할 수 없다. 굴림체 ''겨울 바다''와 ["데기"]체 ''겨울 바다''를 통해 연상되는 기억에는 분명히 차이가 있을것이다.
''MindMap 에 경우 중요시 하는 것 중 하나가 연상을 더욱 더 용이하게 하는 이미지이기도 하죠. --석천''
MindMap 의 연상기억이 잘 되려면 각 Node 간의 Hierarchy 관계가 중요하다. 가능한한 상위 Node 는 추상도가 높아야 한다. 처음에 이를 한번에 그려내기는 쉽지 않다. 그리다가 수정하고 그리다가 수정하고 해야 하는데 이것이 한번에 되기는 쉽지 않다. 연습이 필요하다.
MindMap 의 표현법을 다른 방면에도 이용할 수 있다. 결국은 트리 뷰(방사형 트리뷰) 이기 때문이다. [1002]의 경우 ToDo 를 적을때 (보통 시간관리책에서 ToDo의 경우 outline 방식으로 표현하는 경우가 많다.) 자주 쓴다. 또는 ProblemRestatement 의 방법을 연습할때 사용한다. --[1002]
- 덜덜덜/숙제제출페이지 . . . . 58 matches
=== [이규완] ===
=== [이재영] ===
printf("n이름 :");
* 프로그램 이에요^^ *
/* 이름, 국어점수, 영어점수, 수학점수, 평균, 쓰레기?? */
/* char trash; 이제 이거 필요 없죠? ^^ */
printf("%s의 평균은 %d이다.", name[a], average[a]);
음... 이름을 알파벳 1글자 이상 입력하면 프로그램이 이상해져 버립니다 ㅋ (힌트 : 이중배열 or 구조체) - [조동영]
고쳤었요~~ "average.exe(ver.2.301)"<-이거 그럴듯 하죠?ㅋㅋㅋ- [정윤선]
printf("이름 : ");
printf(" %s의 평균은 %d이다.n" , name[a] , (korean[a]+math[a]+english[a])/3);
너도 scanf 할때 "%s" 말고 " %s" 같이 한칸 띄워서 해봐 그리궁 이름 받을때 2중배열해서 해보궁 ㅋ - [조동영]
char n[5][10]; /*이름*/
printf("이름 : ");
말했잔니 ㅋ 5명의 국어, 영어, 수학 점수를 각각 받아서 A는 평균이 XX다 B는 평균이 XX다 이런식으로 5명 모두 출력하는거야
너가 지금 짠건 한명만 받고 한명의 평균만 낸거고 ㅋ 그렇게 5명의 이름을 모두 받기위해서 char name [5][10]; 이런식으로 2중배열로 메모리를 잡아주어서
5명의 이름을 모두 받게 한거양 scanf("%s" , &name[a]); 에서 a는 for문안에 있는 증가하는 변수잖으 각각의 이름을 받기위해서 저렇게 해준거지
2중배열이니까 - [조동영]
=== [이규완] ===
char name[10]; //이름
- 콤비반장의메모 . . . . 57 matches
'''이 메모는 3초 뒤에 자동으로 폭파된다.'''
만화 형사 가제트(Inspector Gadget)에서 콤비 반장(Chief Quimby)은 형사 가제트에게 비밀 지령을 내릴땐 항상 자동 폭파되는 특별한 메모지를 사용하곤 했다. 그러나 인터넷 시대를 맞이한 콤비 반장은 이제 메모지 대신 한번만 사용할 수 있는 파일을 사용하려고 한다. ["콤비반장의메모"]와 같은 일회용 정보는 컴퓨터로 어떻게 구현할 수 있을까.
=== 아이디어 ===
메모리를 mp3 버퍼.. (e.g. 32kByte) 를 더블 버퍼로 잡아서, 네트워크로 더블 버퍼링 시스템으로, 네트웍으로 받은 자료로 다음 버퍼를 채우고.. 이런 형식으로 버퍼를 채운 다음에, 플러그 인 형식으로 배포하는건 어떨까요. 머.. 이건 winamp 에만 한정되겠지요. - [zennith]
* 서버와 클라이언트가 서비스 품질이 보장되는 환경에 있다면 이 방식으로 충분히 해결
* 환경 구축 비용이 비싸다는 단점
* 사용자가 한번 플레이 했다는 걸 네트워크로 확인해 보는 법 밖이 없나요? 씨리얼 키나 MD5키 같은 걸 사용해서~
''사용자가 한번 플레이 했다는 걸 미디어에 직접 기록하는 방법으로는 디지털 워터마킹이 있습니다. 이 방법은 네트워킹 없이도 문제를 해결할 수 있는 방법입니다만 전문적 지식이 필요합니다. 네트워크로 확인하는 가장 쉬운 방법은 클라이언트는 재생시 마다 서버에서 인증을 받고, 서버측에서는 미디어의 아이디를 확인하고 재생횟수를 저장하는 방법이 아닐까 싶습니다. 미디어의 아이디 생성은 MD5 같은 해쉬함수 정도면 충분 할것 같습니다. --["데기"]''
* 기본의 암호 알고리즘만 적적히 사용해도 괜찮은 어플리케이션을 만들 수 있을꺼 같아여!
''정보보호에 있어서 사실 어려운건 암호화 알고리즘보다 "어떤 순서와 조합으로 이들을 응용할 것인가"의 문제인 것 같습니다. --["데기"]''
==== 미디어 + 플레이어 ====
그냥 생각이 갑자기 나서 몇자 적어 봅니다. 자기 자신이 압축을 풀 수 있는 Zip - self-..어쩌구였는데 그러한 형태로 만들고 마지막에 분리한 데이타 파일을 지우는 식으로 만들어 봐도 재미있을꺼 같다는 생각이 들어서 .. 다 아는 건가? - fnwinter [정직]
* hint: Zip file format - Self Extractor 와 비슷한 아이디어.
* 사용이 간편하고 편리하다.
* data 삭제를 하지 않는다면 key를 아는 사람만 들을수 있다는 점에서 구현가치는 있는 아이디어.
MGM이 11월 개봉한 20번째 제임스 본드 영화 '다이 어나더 데이' 홍보를 위해 제작한 DVD가 36시간 이내에 영화장면 일부와 예고편 내용이 사라져 영화평론가들에게 화제를 불러일으켰다.이 DVD는 새로 나온 음악과 영화정보도 알릴 수 있고 내용이 일정시간이 지나면 사라지므로 인터넷에 복제판이 뜰 염려가 그만큼 줄고 있기 때문이다.
이 기술을 개발한 플렉스플레이사와 스펙트라디스크사는 각기 DVD 겉혹은 내부에 화학물질을 첨가해 DVD를 이용하기 시작한 시간에서부터지정된 시간까지만 내용을 볼 수 있도록 하고 있다.
[출처]매일경제 -- fnwinter 헉...화학물질...컴퓨터 공학이 아니넹..
''네트웍을 이용하는 모든 클라이언트는 기본적으로 서버에서 다운로드 된 정보를 이용하는 것이므로, 암호화된 컨텐츠를 제공함으로써 임의로 재생하지 못하게 하지 않는 이상 불가한일이 아닐까? 암호화된 컨텐츠이더라도 암호가 깨질때까지 한시적으로 안전하겠지만.. :) --이선우''
암호화와 동시에 접근제어(AccessControl)가 필요한 문제인것 같아요. 접근제어는 다분히 시스템 의존적이라 일반적인 해결이 쉽지 않은 문제죠. http://elicense.com/what/music.asp 이런식의 해법도 이미 나와있더군요. --["데기"]
- Chapter I - Sample Code . . . . 56 matches
RenameThisPage : 페이지 이름 수정 필요. 궁리중 --["1002"]
이런저런 소개들. (컴파일러는 무엇을 사용한다. 머 어쩌구저쩌구.)
모든 .c 파일에서 인클루드되는 헤더파일이다. 이 파일의 내용은 타겟프로세서마다 다르게 적용시켜야한다.
프로세서마다 각각 가지고 있는 특성이 다르기 때문에 우리가 포팅하려는 타겟 CPU에 맞춰 여러가지 글로벌 변수를 선언해줘야 한다. (글로벌 변수라기보다는 키워드 재정의라고 말하는게 더 맞겠다) [[BR]]
각각의 프로세서마다 int 형 데이터의 크기 char 형 데이터의 크기.. 등등이 다르기 때문에 다음과 같은 식으로 재정의를 해준다.
// 형 재정의 (#define이용)
위처럼 다음과 같이 매크로 정의를 해 놓고 다음과 같은 소스를 적용시킨다고 해 보자
그럼 실제 코드는 (컴파일시) 다음과 같이 적용된다는것을 알 수 있다.
만약 다음과 같이 OS_GLOBALS라는 매크로를 미리 적용시키면 형 정의가 되지 않은 상태이므로 (위의 #ifdef~#else 에서 #else 절에 걸리게 된다) 다음과 같은 코드가 된다.
실제 적용은 아래와같이
OS에서 공유자원이나 특정코드가 수행되는 도중에 다른 프로세스에 의해 interrupt 되는것을 방지하기 위해 크리티컬 섹션을 사용하게 된다. 이는 윈도우즈 프로그래밍에서 스레드관련 처리를 해 줄 때에도 나오는 용어이다. uCOS-II에서는 단순히 매크로함수를 이용해 크리티컬섹션에 들어오기와 나오기를 한다. 매크로함수가 하는 일은 단순히 인터럽트를 무효화, 유효화 시키는것 뿐이다.
#if OS_CRITICAL_METHOD == 1 // OS_CRITICAL_METHOD 는 어디선가 이미 정의되어있다. 아마 CPU에 따라 다르게 값이 정해져 있을것이다.
// PUSHF는 CPU레지스터를 하나씩 일일이 스택에 넣는 작업을 간편하게 하기 위하여 호출 하는 ASM명령으로 정해진 순서에
// 의해 모든 레지스터의 내용을 스택에 PUSH하는 명령임. 반대는 POPF로 PUSHF의 역순으로 스택에서 꺼낸 데이터로 각각의 // 레지스터를 변경 시킴. 항상 이 두 명령은 한쌍이 되어 사용 되어야 한다.
디스플레이는 문자기반으로 한다. x, y값을 이용해서 아스키문자와 특수문자를 출력할 수 있다. 1글자 출력에 사용되는 바이트수는 2이다. 1바이트는 글자이고, 나머지 1바이트는 포그라운드/백그라운드 컬러이다. (상위 4비트가 백그라운드이고 하위 4비트가 백그라운드 컬러이다)
수행시간 측정은 한 task 의 수행시간을 측정하기 위해서 한다. (당연한거 아냐?). 이 측정은 PC의 82C52 타이머 2번을 통해 수행된다. 수행시간 측정을 위한 함수로는 PC_ElapsedStart()와 PC_ElapsedStop()이 있다. 하지만 이 두 함수를 사용하기 전에 PC_ElapsedInit()를 호출해야한다. 이 함수는 두 함수와 관련된 오버헤드를 측정하는데 사용된다. 이렇게 하면 PC_ElapsedStop 함수에 의해 수행시간이 리턴된다(마이크로세컨드). 이 두 함수는 모두 리엔터런트(주 : 몇 개의 프로그램이 동시에 하나의 task나 subroutine을 공유하여 쓰는 것에 대해 말함, from 한컴사전) 하지 않아야한다. 다음은 PC_DispChar()함수의 측정시간을 구하는 예이다.
uCOS-II는 여타의 DOS Application 과 비슷하다. 다른말로는 uCOS-II의 코드는 main 함수에서부터 시작한다. uCOS-II는 멀티태스킹과 각 task 마다 고유의 스택을 할당하기 때문에, uCOS-II를 구동시키려면 이전 DOS의 상태를 저장시켜야하고, uCOS-II의 구동이 종료되면서 저장된 상태를 불러와 DOS수행을 계속하여야 한다. 도스의 상태를 저장하는 함수는 PC_DosSaveReturn()이고 저장된 DOS의 상태를 불러오는것은 PC_DOSReturn() 함수이다. PC.C 파일에는 ANSI C 함수인 setjmp()함수와 longjmp()함수를 서로 연관시켜서 도스의 상태를 저장시키고, 불러온다. 이 함수는 Borland C++ 컴파일러 라이브러리를 비롯한 여타의 컴파일러 라이브러리에서 제공한다.[[BR]]
'''uCOS-II를 끝내기 전에 PC_DOSSaveReturn 함수를 호출해야한다. 그렇지 않으면 DOS가 curruped mode 가 되어버리고 이것은 당신의 windows에 영향을 줄 수도 있다.'''
- HanoiProblem . . . . 55 matches
= 하노이 문제 =
* 하노이탑 문제 모두들 아시죠?
* 링 3개가 있으면 1번 링에서 3번 링까지 링들을 이동 시키는 것이죠.
* 그때 링 크기는 각자 다르고, 처음에 링은 제일 밑에 제일 큰 링, 그 위에 다음으로 큰링, 이런식으로 있고, 앞으로도 계속 그런식으로 밖에 쌓일수 밖에 없습니다.
* 아래와 같은 예제 식으로 소스를 만든 페이지에 넣어 주세요.
||임영동||이틀 걸림|| 100라인 초과|| 어셈블리 언어||["HanoiProblem/영동"]||
학생들이 HanoiProblem을 푸는 것이 어려웠다면 이게 쉬운 문제라고(혹은 그다지 어려운 문제는 아니라고) 학생들이 느낄 수 있도록 하기 위해 무엇을 할 수 있을까 생각해 보는 것이 필요합니다.
저는 학생들이 HanoiProblem에 도전하기 이전에 다음 세가지를 이야기 해주고 싶습니다.
* 재귀함수에 대한 이해
'''재귀함수에 대한 이해'''
재귀함수가 사용되는 대표적인 예 몇가지를 보여줍니다. 재귀함수 사용에도 그 종류가 다른데, 대표적인 종류들을 보여주는 것이 중요합니다. "아, 재귀함수라는 것이 이렇게도 사용될 수 있구나!" 퍼뮤테이션/콤비네이션, 피보나치수열, 트리검색, 팩토리알, 조건문과 재귀호출로 반복문(while) 만들기 등이면 충분하지 않을까 합니다.
만약 HanoiProblem을 풀게 하기 이전에 팩토리알과 비슷한 형의 문제만 보여줬다면, 오히려 HanoiProblem을 어렵게 느끼고 학습이 많이 발생하지 못한 것이 더 당연하다고 생각됩니다.
그리고 재귀함수를 만들 때 유의점과 사고보조물을 가르쳐 줍니다. 유의점이라면 재귀함수는 리턴되는 값의 종류(타입)가 모두 동일해야 한다는 것, 재귀호출을 벗어나는 지점 근방에서 유의해야 한다는 점 등이고, 사고보조물로는 스택의 상태를 그림으로 그리는 방법이나, 수식을 사용하는 방법 등이 있겠죠.
순서효과는 복잡한 것과 쉬운 것이 있을 때 어느 것을 먼저 제시받느냐에 따라 문제를 푸는데 걸리는 시간에 큰 차이가 있다는 것입니다.
첫번째 그룹은 한 문제를 푸는데 평균 406초 이상 걸렸지만, 두번째 그룹은 복잡한 문제를 푸는데 97초 걸렸고, 세 문제를 모두 푸는데 192초 밖에 걸리지 않았습니다.
이를 HanoiProblem에 적용하면, 3개(혹은 5개, 6개)의 원반 문제가 복잡하다면, 하나, 둘 등의 좀 더 단순한 문제를 먼저 풀고 거기서 문제풀이의 "구조적 유사성"을 발견해 낸 뒤에 좀 더 어렵거나 좀 더 일반적인 (즉 원반 n개) 문제에 도전하는 것이 효과적이라는 말이 됩니다.
반대로 문제가 너무 단순해서 복잡할 경우에는 오히려 100개, 200개 등의 복잡/일반적인 경우를 생각하는 것이 도움이 될 수도 있습니다.
종종 미로가 너무 복잡할 때 목적지에서 거꾸로 내려오는 것이 더 간단할 때가 있습니다. TestDrivenDevelopment도 이 방법을 사용합니다. 자신이 원하는 것을 컴퓨터에게 설명해 주고, 그 목적지에서 거슬러 내려옵니다.
HanoiProblem이 복잡하게 느껴진다면, 우선 목적지에 도달한 상태, 즉, 모든 원반이 다른 막대기로 옮겨가 있는 상태를 상정합니다. 다음에는 여기에서 바로 직전의 상태로 거슬러 내려옵니다.
혹은, 중간을 끊어서 볼 수도 있습니다. 어찌되었건 모든 원반이 옮겨가려면 어느 순간엔가는 가장 큰 원반이 비어있는 막대기로 이동해 가야 합니다. 이 상황에서 가장 큰 원반이 있는 막대기에는 큰 원반 하나만 있을 것이고, 그 원반이 옮겨갈 막대기는 비어있어야 하므로, 결국 두개의 막대기가 모두 사용되고, 나머지 하나의 막대기에는 나머지 원반들이 모두 크기 순으로 쌓여있게 될 것이라는 추측을 할 수 있습니다. 여기서 앞 뒤 상황을 생각해 보면 어떤 통찰을 얻을 수 있습니다.
- Java2MicroEdition . . . . 55 matches
Java 2 Micro Edition (J2ME) 은 휴대전화나 PDA 같은 이동통신 기기등의 가전제품을 목표로 하고 있다. 그래서 초소형 장치에서 작은 장치에 이르는 이른바 소형 디바이스 들이 Java 를 사용할 수 있도록 지원하는 플랫폼이다.
* 휴대전화와 같은 매우 제한적이 하드웨어에서 사용되는...
실재로 CLDC와 MIDP가 포팅되어 있는 최신 휴대전화는 다음과 같은 구조를 이루고 있다.
그림을 보면 맨 아래에 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등의 크기와 성능이라는 측면에서의 요구사항이 동일한 디바이스들의 집합을 하나로 묶어서 컨피규레이션을 정의하고, 이러한 컨피규레이션을 바탕으로 각 디바이스들의 기능, 혹은 버티컬 시장의 요구사항에 맞추어 프로파일을 정의함으로써, 플랫폼의 통일성과 다양성을 동시에 만족시킬 수 있기 때문이다.
* J2ME를 기반으로 하는 에플리케이션 개발[[BR]]
java.sun.com/j2me 에 가면 J2ME Wireless Toolkit 을 다운받을 수 있다. J2ME Wireless Toolkit 에 에뮬레이터가 포함되어 있어서 직접 테스트 해볼 수 있다.
=== 관련 사이트 ===
- ProgrammingWithInterface . . . . 55 matches
책에서는 말한다. 많은 개발자들이 [[OOP#s-1.2|인터페이스]] 보다는 [[OOP#s-1.2|상속]]을 사용하여 개발한다고... 그렇다! 사실이다. 나도 여지껏 인터페이스로 무장한 코드를 보지 못했다.
언제나 개발을 할 때 '어라~ 같은 일 하는데? 이거 Base 클래스 만들어서 위로 올려야 겠는데?' 일말의 틈도 주지 않고 실행한다. 다형성을 사용하는 코드를 생성한다. '와우~! 한결 깔끔해 졌는걸?' 하지만 오산이었다. 시간이 지나서 먼가 추가할 동작들이 생겼다. 이제 고치기 시작한다. Base 클래스 부터... 고치고 나니 컴파일이 되지 않는다. 코드 수정의 여파가 하위 클래스들에게 까지 미친다. 정말 미친다. 이런 상속을 통한 계층 구조는 상위 클래스와 하위 클래스의 결합도를 높여준다. 지나 치게 크게..! 동감하지 않는가? 하나를 고쳤는데 수정할 꺼리가 마구 쏟아지는 상황을...
상속을 사용하는 상황을 국한 시켜야 할 것같다. 상위 클래스의 기능을 100%로 사용하면서 추가적인 기능을 필요로 하는 객체가 필요할 때! .. 이런 상황일 때는 상속을 사용해도 후풍이 두렵지 않을 것 같다. GoF의 책이나 다른 DP의 책들은 항상 말한다. 상속 보다는 인터페이스를 통해 다형성을 사용하라고... 그 이유를 이제야 알 것같다. 동감하지 않는가? Base 클래스를 수정할 때마다 하위 클래스를 수정해야 하는 상황이 발생한다면 그건 인터페이스를 통해 다형성을 지원하는게 더 낫다는 신호이다. 객체는 언제나 [[SOLID|SRP (Single Responsiblity Principle)]]을 지켜야 한다고 생각한다.
Holub이 사용하는 예제를 보자. 상속을 사용해 [Stack]을 구현한다.
완벽한 Stack이다. 하지만 다음 코드를 사용하면 우리는 Stack 객체가 어떻게 돌아갈지 예측 할 수 없다.
stack.clear(); // ??? ArrayList의 메소드이다...;;
자 모든 값을 clear 를 사용해 삭제했는데 topOfStack의 값은 여전히 3일 것이다. 자 상속을 통한 문제를 하나 알게 되었다. 상속을 사용하면 원치 않는 상위 클래스의 메소드까지 상속할 수 있다 는 것이다.
상위 클래스가 가지는 메소드가 적다면 모두 [오버라이딩]하는 방법이 있지만 만약 귀찮을 정도로 많은 메소드가 있다면 오랜 시간이 걸릴 것이다. 그리고 만약 상위 클래스가 수정된다면 다시 그 여파가 하위 클래스에게 전달된다. 또 다른 방법으로 함수를 오버라이딩하여 예외를 던지도록 만들어 원치않는 호출을 막을 수 있지다. 하지만 이는 컴파일 타임 에러를 런타임 에러로 바꾸는 것이다. 그리고 LSP (Liskov Sustitution Principle : "기반 클래스는 파생클래스로 대체 가능해야 한다") 원칙을 어기게 된다. 당연히 ArrayList를 상속받은 Stack은 clear 메소드를 사용할 수 있어야 한다. 그런데 예외를 던지다니 말이 되는가?
Stack을 구현하는 다른 방법은 상속 대신 [캡슐화]를 사용하는 것이다.
자.. Stack과 ArrayList간의 결합도가 많이 낮아 졌다. 구현하지 않은 clear 따위 호출 되지도 않는다. 왠지 합성을 사용하는 방법이 더 나은 것 같다. 이런 말도 있다. 상속 보다는 합성을 사용하라고... 자 다시 본론으로 들어와 저 Stack을 상속하는 클래스를 만들어 보자. MonitorableStack은 Stack의 최소, 최대 크기를 기억하는 Stack이다.
깔끔한 코드가 나왔다. 하지만 MonitorableStack은 pushMany 함수를 상속한다. MonitorableStack을 사용해 pushMany 함수를 호출하면 MonitorableStack의 입력 받은 articles의 articles.length 만큼 push가 호출된다. 하지만 지금 호출된 push 메소드는 MonitorableStack의 것이라는 점! 매번 size() 함수를 호출해 최대 크기를 갱신한다. 속도가 느려질 수도 있다. 그리고 만약 누군가 Stack의 코드를 보고 pushMany 함수의 비 효율성 때문에 Stack을 밑의 코드와 같이 수정했다면 어떻게 될 것인가???
와!~ 예전의 Stack보다 성능은 확실히 좋아 졌을 것이다. 그런데 문제가 발생했다. 더이상 pushMany 메소드에서 push 메소드를 호출하지 않는다. 이렇게 되면 MonitorableStack은 더이상 Stack의 최대 크기를 추적하지 못하게 된다. 예기치 않은 결과이다. 상속을 사용한 구현으로 발생한 문제이다. 여기까지 글을 (책의 내용) 읽었다면, 아마 '상속을 사용하기 전에 한번 더 생각하는게 좋겠다' 라는 생각을 가슴 깊이 느꼈을 것이다. 아니면 별수 없는 일이다... :(
자 길었던 여행의 종착점이다. 최종 코드를 보자. 위에서 말했던 상속보다는 합성을... 상속보다는 인터페이를... 이란 말을 종합 하면 ...
"위임(합성)을 통해 인터페이스를 구현하자." 라는 결론이 나온다.
완성된 코드에서는 상속으로 인한 문제들이 발생하지 않는다.
- 2ndPCinCAUCSE/ProblemC . . . . 54 matches
C 번 문제 : 줄 세우기. 소스파일 이름 : ccc.c or ccc.cpp
유치원에 N명의 아이들이 있다. 오늘은 소풍을 가는 날이다. 선생님은 1번부터 N번까지 번호가 적혀있는 번호표를 아이들의 가슴에 붙여주었다. 선생님은 아이들을 효과적으로 보호하기 위해 목적지까지 번호순서대로 일렬로 서서 걸어가도록 하였다. 이동 도중에 보니 아이들의 번호순서가 바뀌었다. 그래서 선생님은 다시 번호 순서대로 줄을 세우기 위해서 아이들의 위치를 옮기려고 한다. 그리고 아이들이 혼란스러워하지 않도록 하기 위해 위치를 옮기는 아이들의 수를 최소로 하려고 한다.
예를 들어, 7명의 아이들이 다음과 같이 순서대로 줄을 서 있다고 하자.
아이들을 순서대로 줄을 세우기 위해, 먼저 4번 아이를 7번 아이의 뒤로 옮겨보자. 그러면 다음과 같은 순서가 된다.
이제, 7번 아이를 맨 뒤로 옮긴다.
다음, 1번 아이를 맨 앞으로 옮긴다.
마지막으로 2번 아이를 1번 아이의 뒤로 옮기면 번호 순서대로 배치된다.
위의 방법으로는 모두 네 명의 아이를 옮겨 번호 순서대로 줄을 세운다. 위의 예에서 세명의 아이만을 옮겨서는 순서대로 배치할 수 가 없다. 따라서 네 명을 옮기는 것이 가장 적은 수의 아이를 옮기는 것이다.
N명의 아이들이 임의의 순서로 줄을 서 있을 때, 번호 순서대로 배치하기 위해 옮겨지는 아이의 최소 수를 구하는 프로그램을 작성하시오.
입력은 표준 입력이다. 입력의 첫줄에 테스트 케이스의 개수를 나타내는 정수 T(10 이하)가 주어진다. 다음 줄 부터 T개의 테스트 케이스가 주어진다. 테스트케이스의 첫째 줄에는 아이들의 수 N이 주어진다. 둘째 줄에는 N명의 아이들의 순서를 나타내는, 1부터 N 사이의 정수로 이뤄진 순열이 주어진다. 순열에서 정수 사이에는 빈칸이 하나 들어 있다. N은 2이상 200이하의 정수이다.
출력은 표준 출력이다. 출력은 T줄로 이뤄진다. 각 테스트 케이스에 대해서 번호 순서대로 줄을 세우는데 옮겨지는 아이들의 최소 수를 출력한다. T개의 테스트 케이스를 모두 맞혀야 이 문제를 맞힌 것이다.
- 2012년독서모임 . . . . 53 matches
* [2011년독서모임]에 이어서 2012년 동안 진행되는 독서 모임.
* [권순의] - 오랜만에 시작하는군요. Fault Line은 보이지 않는 균열이 세계 경제를 위협한다는 내용으로 지표면에서 단층면이 접하는 선인 단층선이 Fault Line인데 그 곳에서 지진이 발생한다는 것 때문에 따 왔다고 하더군요. 그래서 과거 시행했던 정책이나 여러 사건들을 통해 현재의 경제가 어떠한 상황에 이르게 되었는지에 대해서 서술한 책입니다. 사실 무지 재미 없습니다. -_- 읽은지 꽤 됬는데 눈에 잘 안 들어오고 하다 보니 아직도 다 못 읽었..
* [김태진] - Pi 이야기 (는 제대로 읽지 못했어요 ㅠㅠ)
* [권순의] - 신은 위대하지 않다.. 웃기게 쓴 글은 아닌데 좀 웃긴 부분이 많습니다. 글을 잘 쓰네요. 다양한 관점에서 신이 존재하지 않는 이유를 나열합니다. 과학적으로도.. 성경도.. 뭐 어찌되었든 간에 이 책을 읽고 동조하는 거 보다는 그냥 한번 쯤 생각해 보는 부분이 맞는 것 같습니다.
* 그러고 어렸을 때 부터 가진 종교에 관한 이야기를 쭉 했었는데요,, 뭐 라엘리안 무브먼트에 대한 이야기도 하고, 마호메트 위인전에 대해서도 이야기 하고, 어렸을 적 경험담? 도 이야기 하고 여튼 이것 저것 많이 이야기는 했는데 알맹이는 없는 거 같네요 -_-; 그냥 종교인 덕분에 빡친 기억들과 이러 저러한 이유로 전 그냥 나대로 살 생각입니다 가 결론이 된?? 뭐 여하튼.. 종교라는 것이 인류에 있어 의지할 곳 없던 사람들에게 도움이 된 부분이 없잖아 있습니다. 그래서들 종교를 믿는 것 같고요. 물론, 아닌 사람도 있지만 종교의 본질은 제가 생각하기에 마음의 안식처 인 것 같습니다. 굳이 종교를 가지지 않고도 마음의 안식처를 가질 수 있다면야 종교가 필요 없겠죠... 이건 쓰다가 생각난건데 정말 2012년에 지구 멸망하나?
* 사실 지난 번 주제를 정할 때 한기가 요즘 고민이 뭐냐고 물어봐서 여자? 라고 대답한 것이 주제가 되었.. 흠흠.. 이 책은 한 장 한 장 마다 다른 주제?에 대한 이야기를 남자의 관점과 여자의 관점에서 전개되고 그것들이 모여 하나의 챕터?가 되는 식으로 구성되어 있습니다. 화성에서 온 남자, 금성에서 온 여자보다는 극단적이지는 않지만 남자와 여자의 생각하는 차이에 대해서 다시한번 볼 수 있는 책이었습니다. 참.. 갈길이 머네요 라는 결론을 가져다 준? ㅋㅋ - [권순의]
* 이번 주 주제를 보는데 왜 내가 부끄럽지… - [김수경]
* 이 주제를 보고 부끄럽게 느껴진다면 그것은 이런 주제라도 괜찮은 책이 있을거라는 생각까지는 가지 못했기 때문이겠지요. ~_~ㅋ -[김태진]
* 주제가 포괄적이라서 당연히 괜찮은 책은 많겠지만ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 주제를 굳이 저걸로 정한 게 부끄러웤ㅋㅋㅋㅋㅋㅋㅋㅋㅋ - [김수경]
* 인류가 다른 생명체와 다른 점은 표현할 수 있는 언어가 있어서이다 라는 말은 많이들 들어보았을 것입니다. 그래서 인류가 발명한 발명 중 가장 위대한 발명으로 언어를 선택했는데.. 책이 정말 학술적인 내용이네요.. 사실 지루해서 힘들었습니다. 영어에서의 불규칙 과거형 단어들이랄지.. 인간의 사고가 언어에 투영되는 것 등이 나왔는데.. 그냥 그러려니 하는 내용들.. 관심이 없으니 힘드네요a - [권순의]
- ACM_ICPC/2013년스터디 . . . . 53 matches
* 김태진, 권영기, 곽병학 팀 : 동상 (본선 학교순위 10위 이내)
* 퀵 정렬,이진검색,parametric search - [http://211.228.163.31/30stair/guessing_game/guessing_game.php?pname=guessing_game&stair=10 숫자 추측하기], [http://211.228.163.31/30stair/sort/sort.php?pname=sort&stair=10 세 값의 정렬], [http://211.228.163.31/30stair/subsequence/subsequence.php?pname=subsequence&stair=10 부분 구간], [http://211.228.163.31/30stair/drying/drying.php?pname=drying&stair=10 건조], [http://211.228.163.31/30stair/aggressive/aggressive.php?pname=aggressive&stair=10 공격적인 소]
=== 풀이 ===
* bisection - [http://211.228.163.31/30stair/crossed_ladder/crossed_ladder.php?pname=crossed_ladder crossed ladder]
* queue - [http://211.228.163.31/30stair/catch_cow/catch_cow.php?pname=catch_cow 도망 간 소를 잡아라]
* graph, dfs - [http://211.228.163.31/30stair/danji/danji.php?pname=danji 단지 번호 붙이기], [http://211.228.163.31/30stair/orders/orders.php?pname=orders orders], [http://211.228.163.31/30stair/bugslife/bugslife.php?pname=bugslife 짝 짓기], [http://211.228.163.31/30stair/sprime/sprime.php?pname=sprime 슈퍼 소수], [http://211.228.163.31/30stair/snail_trails/snail_trails.php?pname=snail_trails 달팽이]
=== 풀이 ===
* 이분법 - [http://211.228.163.31/30stair/crossed_ladder/crossed_ladder.php?pname=crossed_ladder crossed ladder]
=== 풀이 ===
=== 풀이 ===
* n 마리의 쥐가 크기가 같은 n 개의 버터를 먹는데 n 시간이 걸린다고 할 때 , m 마리의 쥐가 m 개의 버터를 먹는데 걸리는 시간을 구하는것이 문제이다. 각각의 쥐가 치즈를 먹는 속도는 모두 동일하다고 한다.
=== 풀이 ===
* 개강 이후에는 매주 수요일 6시에 스터디 시작하기로 결정, 격주로 토요일에도 만나기로 함.
=== 풀이 ===
* [http://211.228.163.31/30stair/bridging/bridging.php?pname=bridging&stair=15 bridging - binary indexed tree를 이용한 Up Sequence 문제]
=== 풀이 ===
* [http://codeforces.com/contest/284/problem 284회vol2.]
* C번은 예상대로 쉽게 푸는 방법이 있었음
* D번은 풀이법에 대한 실마리가 제시되어 각자 코딩할 계획
* [http://code.google.com/codejam/contest/2437488/dashboard 코드잼_1C라운드]: 857등
- B급좌파 . . . . 53 matches
글 투를 보면 대강 누가 썼는지 보일정도이다. Further Reading 에서 가끔 철웅이형이 글을 실을때를 보면.
김규항의 글을 읽고 한편으로는 시원할런지 모르겠지만 (통쾌함하고는 좀 다르다. 친구랑 골방에서 맘에 안드는 넘들 뒤에서 까대는 느낌이랄까) 한편으로는 속이 편할리 없다. 적당히 지적인척 이야기할때 전문용어 적당히 섞어주고, 제대로 알지도 못하면서 적당히 사회 아는 양 민주당이 어쩌고 한나라당이 어쩌고 하는. 농활이나 빈활한번 안다녀온 나로서는 더더욱 이 책을 보고선 웃으면 안된다. 삶에서 민감해야 할 사항에서 그냥 간과하고 조용히 사는 소시민으로서는 그저 지식인 투덜거리는 이야기일뿐이다. 진중권이건 강준만이건 김규항이건.
그사람들의 글들이 나에게 읽어짐으로 인해 '적절히 써먹으면 재미있을 만한 글투' 지식분류에 하나 추가되면, 또는 '적절하게 사회적인 척 일수 있는 인용거리'가 되면 괜히 미안해지니까. 그냥 적절히 읽고. '아 그 사람 이야기'. 나중엔 '지식인 록을 고르다' 가 나중엔 '지식인 규항을 고르다', '지식인 중권을 고르다' 식의 글도 나올지도 모르니. -- 소시민 ["1002"]
전에 모 오프라인 모임을 나간 적이 있었다. 자기 소개시간때 처음으로 걸리게 되었다. 그냥 아무 생각없이 'C대학교 99학번 A 입니다' 라고 했는데, 그 다음부터 다른 사람들 소개가 전부 'S대학교 00학번 누굽니다' 'B회사 근무중 누구입니다' 였다. 그 와중에 중간에 붙일 소속을 궁리하며 머뭇머뭇거리다가 그냥 'B 입니다' 라고 한 사람도 있었다. 아차. 저 사람 내가 아는 사람인데, 대학에 다니지 않는다고 했었지.
맨날 '학연이네 지연이네 지역감정이 어쩌네' 하면서, 무심코 나는 그 사람에게 폭력을 행사한 것이리라. 차라리 그냥 'ZeroPage 에서 활동중 누구입니다' 라고 할걸. 온라인 모임이름이라면 그래도 1년에 10만 이상 못들어가는 대학교보단 그래도 덜 폭력적이련만. (하긴 결국 중대모임이므로 똑같으려나..) 나의 언어에선 당연한 세상이 다른 사람들에겐 당연할 수 없는 세상인 경우가 있다. 순간에 대해서 민감할 수 있었더라면. 깨어있었다면. -- ["1002"]
며칠전에 회사에서 부서간 다툼이 있었는데, 요약하자면..
영업팀 : 이러 이러한 제품을 이용해서 ... (중략)
개발팀 : 그건 영업팀이 개발을 몰라서 그런 이야기를 하는건데... (중략)
개발팀에서 한 위의 이야기는 대화의 단절을 시도하는, 그것도 상대방에 대해 치명적인 말을 한 것이지. '''넌 이것을 모르니 그런 소리나 하고 있는것이다.'''
이처럼, 꼭 모든것을 직접 경험해봐야 대상에 대해 이야기 할 수 있다고는 생각할 수는 없는 일이 아닐까. 농활에 대해 모르면 모르는데로, 알면 아는대로 이야기 하는게 나쁠 이유가 있을까. 오히려 그런 시도를 하는 사람은 '''잘''' 아는 사람을 만나 더 '''잘''' 알게되는 계기가 생길 가능성이 훨씬 많으니, 좋은게 아닐까 (물론, 젠척 하는걸 이야기 하지 않음은 알겠지만 :) )
세상에 진리를 아는 사람이 몇이나 된다고. 기죽지 말고 당당하되, 자신의 귀만 열어놓으면 충분하지. 개인적으로 석천이가 당당한 모습을 지닌다면, 지금보다 '''백만배''' 멋져보일꺼라 생각함 ;-) --선우
''뭐.. '어설프게 젠척하지 않기 위한' 개인적인 경계의 글 정도로만 생각해주시길. :) 그 이상 가다가는 이 글이 '자기가 다치지 않기위해 미리 쳐놓은 보호막' 이 되어버릴지도 모르기에. -- ["1002"]''
- CppStudy_2002_2 . . . . 53 matches
= 이페이지는 =
* C++의 클래스 부분을 미리 여러가지 과제들과 함께 같이 공부하는 공간입니다.
* 참여자 - 이영록(["ricoder"]) ,김영준(["k7y8j2"]), 박세연(["세여니"]), 장재니(["E=mc²"])
* 필요시 목요일 이외에도 주에 하루를 더 모일 것임
한 번 안나오면 2주를 점핑해야 하기때문에 무리 갈 것이라...
|| 8.1 ||["Refactoring/ComposingMethods"]||몇개 소스 리팩토링 해보기||
|| 8.9 ||STL(["STL/vector/CookBook"])과 리펙토링 몇가지||STL(["STL/vector/CookBook"], ["STL"])과 12.클래스 상속||
이것만 잘 따라가도 이번 방학 정말 뿌듯히 보내시게 될 것입니다 --재동
* 드뎌 낼이 시작이군..... 넘 기대되는걸 ~~
* 원래 다 그런겨... 어차피 기간 많이 줘도 전날부터 벼락치기 할꺼잖아!!! ...-,-;;;; --재동
* 숙제 안해오면... 쏴야 된다는 말.......... 그건 거짓말이죠?? ^-^;;
* 난 말이쥐, 피자가 먹구싶걸랑 ^^. 근데 숙제 하면 되는거잖아........ - 세연
C++을 공부하는 모든 이들에게 Seminar:AcceleratedCPlusPlus 의 일독을 권합니다. --JuNe
* 조언 고맙습니다. 서문만 읽었는데도 제가 상당히 많은 게 부족하다는 걸 느꼈습니다. 기존 진행 방법에도 수정을 해야겠다는 생각이 듭니다. 한편 위 책은 우선은 도서관에 신청을 해두었습니다. -- 재동
* 전에도 이야기 했지만 이번 주는 제가 사정이 있어서 수욜에 합니다. 그리고 시간은 세연이 누나의 의견을 받아 들여 3시로 합니다 난중에 딴 소리하면... 쿨럭쿨럭... 됩니다. 그럼 수욜 3시에 뵈요 ^^;;; --재동
* 형 미안해용.. -_-;; 오늘도 못해서.... 담엔 열심히 할께요..... 이 말은.. 오버고.. 담엔 열심히 하려고 노력해 볼께요. -_-;; ...........(영록)
* 얼.........string 다해서 올리려구 했는데 그만 디스켓을 학교에서 안가지구 왔다. 이런일 한두 번 아닌데.......난 왜이럴까.......담부턴 나에게 디스켓 가져가라구 말들 좀 해줘 T.T - 세연
* 그냥 이멜로 쓰거나 위키에 작업중인 걸 올려놓는 게 편할 것 같은데욤..^^* - 재니
* 재동아, 미안한데 공부해야 할 부분이 어디지?? 워낙에 깜빡깜빡을 잘해서 말야..... -세연
* 소스 올리고 난 다음 코드 리뷰 해보는지? 사람들이 꽤 중복된 코드를 쓴다던지, UI 부분과 로직 클래스 부분이 너무 같이 붙어있다던지 하는 것 같은데.. 재동 당신의 능력을 보여줘; --["1002"]
- MFCStudy_2002_2 . . . . 53 matches
2002학년도 여름방학 MFC 2팀입니다. (이름은 추후에 정합시다 ^_^)
DeleteMe ) 우리도도 그러다가 결국 따분한 이름으로 끝났다는 --["상민"]
[[BR]]DeleteMe ) 우리 선호오빠의 flower와 상욱이의 bear를 합쳐서...flowerbear!! 꽃곰을..만드...쿨럭쿨럭... -성재
[[BR]]DeleteMe ) polar bear라 함은.... 나의 원래 별명인데...ㅠ.ㅠ 어찌나 썰렁하면 이런 별명이... -상욱
* 01 이선호 ["snowflower"]
* [07/18] - 위키 페이지가 열렸습니다! 모두 축하~
* [07/26] - 두번째 모임이 있었습니다 ^_^;
* [08/08] - 8월 8일 모임 있었습니다. 참석율이 저조 해서 조금 실망이네요.. 숙제로 낸 부분까지 모두 완성해오세요 ^_^;
* [08/08] - 다음 주에 모이려고 했는데 8월 15일 광복절입니다. 저는 상관 없지만 불가능하신 분들은 미리 이야기를 해주세 요.
특별한 이야기가 없으면 다음주 목요일에 모입시다.
'어쩌죠? 제가 맡은일이 있었는데 계속 미루다가 된통 걸렸습니다. 일단은 이일만 하게될듯해요..죄송.. 이번주 불참 가능성이 무척이나 많은...-_-;;' - 성재[[BR]]
* [08/18] - 이번주는 결국 못모였습니다. 다들 바쁜 모양이더군요. 다음 주 초에 모입시다. 월요일 쯤이 좋을 것 같습니다만, 모두 여기를 확인할 지 의문이군요.
' 저는 확인 하긴 했는데.. 월요일이네요~ 에헤헤~ ^-^;; 이번주 내내 학교 나올거 같으니깐.. 시간 정하세요..^-^;;-성재
* MFC에 대한 간단한 이야기
* 질문하고 싶은 것을 이곳에 써주세요 ^_^
* 각종 잡담/하고싶은 말을 이곳에 써주세요 ^_^
* 목욜날 제로페이지 정모하는 날 아닌가? 정모시간이랑 우리 스터디 하는 시간이랑 겹치는거 아냐??
- 뭐 정모 있으면 다른날로 옮기면 되고 정모 방학때는 한달에 한번이라던데......
* 책 샀어요... 근데 역시 생각했던데로 꽤 두껍더군요...ㅠ.ㅠ 으... 1407페이지라....ㅠ.ㅠ
* 다들 숙제는 잘 하고 있습니까?????? 이제 2일밖에 안남았는데.. 허허..
- STL/vector/CookBook . . . . 53 matches
* 몇 번 써본결과 vector를 가장 자주 쓰게 된다. vector만 배워 놓으면 list나 deque같은것은 똑같이 쓸수 있다. vector를 쓰기 위한 vector 헤더를 포함시켜줘야한다. STL을 쓸라면 #include <iostream.h> 이렇게 쓰면 귀찮다. 나중에 std::cout, std:vector 이런 삽질을 해줘야 한다. 이렇게 하기 싫으면 걍 쓰던대로 using namespace std 이거 써주자.
typedef vector<int>::iterator VIIT; // Object형이라면 typedef vector<Object>::iterator VOIT;
int ar[10] = {45,12,76,43,75,32,85,32,19,98}; // Object형이라면 Object ar[10]={...};
// Object형이라면 vector<Object> v(...);
// 마지막엔 개구간이라는거 명심!
* typedef으로 시작하는 부분부터 보자. 일단 반복자라는 개념을 알아야 되는데, 사실은 나도 잘 모른다.--; 처음 배울땐 그냥 일종의 포인터라는 개념으로 보면 된다. vector<int>::iterator 하면 int형 vector에 저장되어 있는 값을 순회하기 위한 반복자이다. 비슷하게 vector<Object>>::iterator 하면 Object형 vector에 저장되어 있는 값을 순회하기 위한 반복자겠지 뭐--; 간단하게 줄여쓸라고 typedef해주는 것이다. 하기 싫으면 안해줘도 된다.--;
* 다음엔 vector<int> v~~ 이부분을 보자. vector<T> 에는 생성자가 여럿 있다. 그 중의 하나로, 배열을 복사하는 생성자를 써보자. 그냥 쓰는법만 보자. 단순히 배열 복사하는 거다. C++ 공부했다면 성안당 10장인가 11장에 복사 생성자라고 나올것이다. 그거다.--; 그냥 2번 원소에서 5번원소까지 복사하고 싶다. 하면 vector<int> v(&ar[2], &ar[6]) 이렇게 하면 되겠지?(어째 좀 거만해 보인다.--;) 마지막은 개구간이라는걸 명심하기 바란다.
* 아마 초보자때 누구나 하는 실수가 있을 것이다. 본인도 그랬다.--;
* 자 어디가 틀렸을까? 공부 좀 했으면 누구나 알수 있는 삽질이지만, c++ 배운지 몇주밖에 안되었었던 나로서는 저게 왜 틀렸는지 알수가 없었다.
* 우리가 여태까지 배운 거만 써보면 이렇게 고칠수 있다. 그 유명-_-한 동적배열이다.--; 아.. delete [] 저거 보기 싫지 않은가? c와 c++의 고질적인 문제점이 바로 저거다. 메모리 관리를 프로그래머가 해줘야 한다는거.. 자바 같은건 지가 알아서 delete 해주지만.. c나 c++에서 delete 안해주면.. X되는 꼴을 볼수 있다. (본인이 한번 경험해 봤다.) 그래서 잘 디자인된 클래스는 클래스 내에서 알아서 없애줘야 한다. 바로 vector를 쓰면 저 짓을 안해줘도 된다. 또 고쳐보자.
* vector<int>... 부분을 보면 또 다른 생성자가 보인다. 인자로 숫자 하나를 받는다. 그 만큼 동적 할당 해준다는 뜻이다. delete? 그딴거 안해줘도 된다. 프로그램 끝나면서 int형 벡터 ar이 소멸되면서 알아서 없애준다.
* 또 하나 살펴볼게 있다. 아까 예제에서는 반복자로 벡터 내부를 순회했었다. 하지만 벡터는 임의접근을 허용한다. 배열처럼 ar[4] 이런식으로 쓸수 있단 말이다. 편한대로 써주자.
* 파스칼 삼각형 숙제할때 데브피아에서 쓰는법 배워서 열심히 쓰다가 데블스 캠프때 재동이가 퍼뜨렸다. 1학기 내내 편해서 좋다고 써댔는데.. 지금 보면 내가 저걸 왜 쓰고 있었을까 하는 생각이 든다.
* vector로 간단히 해결이 가능하다. See also ["RandomWalk2/Vector로2차원동적배열만들기"]
* container 에 값이 저장될때는 복사 과정이 수행된다. 그래서 값이 간단한 int, double형 에 대한 containter는 그렇게 문제가 되지 않된다.
* 그래서 pointer만을 이용해서 저장하자. 하지만 쓸모 없는 객체는 우리가 지워줘야 한다. 포인터를 넣어줄때에는, 컨테이너가 소멸될때는 포인터들은 지워지겠지만. 그 포인터들이 가르키는 값들은 지워지지 않기 때문이다.
* 다음 예제는 pointer로 자료를 넣고, 지우는 예제이다.
* 이게 제가 알고 있는 STL에 대한 겁니다. 나머지나 더 자세히 알고 싶으신분은 책을 보시든지..--; MSDN을 참고하세요. 근데 이정도만 알아도.. 왠만한건 다 합니다. C++만든 그 이름 어려운 사람 BJar... Str...(--;) 이 사람이 쓰고 싶은 기능만 쓰랬거든요--; 자바가 쓰기는 쉬워도 역시 난 c++이 좋다.
* 노파심에서 말하는 건데.. 함수로 객체를 넘길때는 꼭 참조! 참조! 입니다. 값이 안 바뀌면 꼭 const 써주시구여. 참조 안 쓰고 값 쓰면 어떻게 되는지 이펙티브 C++에 잘 나와 있습니다.(책 선전 절대 아님) 복사 생성자를 10번 넘게 호출한다는 걸로 기억함.
* 구조체에서 함수역시 가능하고, constructor, destructor역시 가능합니다. 다만 class와 차이점은 상속이 안되고, 내부 필드들이 public으로 되어 있습니다. 상속이 안되서 파생하는 분제들에 관해서는 학교 C++교제 상속 부분과 virtual 함수 관련 부분의 동적 바인딩 부분을 참고 하시기 바람니다.--["상민"]
- UnixSocketProgrammingAndWindowsImplementation . . . . 53 matches
페이지의 컨텐츠를 보아하니, 따로 페이지를 뽑아내도 될것 같아 [문서구조조정] 하였습니다. 원래 페이지 이름은 '''데블스캠프2005/Socket Programming in Unix/Windows Implementation'''였습니다. - [임인택]
※ 소켓이란?
SOCK_DGRAM : 데이터그램 방식의 소켓 생성 (UDP)
IPPROTO_TCP : TCP 기반. 값은 0이다.
IPPROTO_UDP : UDP 기반. 값은 0이다.
// 우리가 사용하는 프로토콜인 TCP, UDP가 0이므로 0으로 써도 무방하다.
// sockaddr_in 은 TCP/IP체제 이므로 AF_INET만 사용한다. -> TCP/IP는 인터넷 기반이므로.
데이터를 Big-Endian으로 변환 시켜주는 체계.
unsigned short integer 변환 (2바이트 크기)
htons(): host-to-network 바이트 변환 (Big-Endian으로 변환)
ntohs(): network-to-host 바이트 변환 (해당 시스템)
unsigned long integer 변환 (4바이트 크기)
htonl(): host-to-network 바이트 변환 (Big-Endian으로 변환)
ntohl(): network-to-host 바이트 변환 (해당 시스템)
※ 왜 우리는 데이터를 Big-Endian으로 변환 시켜주어야할까?
※ 그렇다면 우리가 전송하는 데이터 모두 Big-Endian으로 변환 시켜주어야할까?
// sin_addr은 인터넷 주소를 담고 있으므로 4 바이트가 필요하다.
// 2780961665 의 값은 Little-Endian 체계에서는 811BC2A5이다.
// 이것을 A5C21B81로 바꿔 저장한다.
// bzero라는 함수도 있지만 초기에 0으로 채우는 것이 편하다.
- 전시회 . . . . 53 matches
각종 전시회 소식을 알리는 페이지
6일 수요일 오전에 같이 갈 수 있으신분 말해주세요 - [임민수]
음... 저도 수요일날이 시간이 비어요 몇시에 가죠? 민수형? [윤성만]
7일 출발시간이 어케 되는거져?? 저는 12시에 수업이 끝나서 그다지 상관은 없을것 같은데. 혹시 너무 일찍 출발하는 것은 아닌지??
넉넉히 1시 이후에 가는 것으로 생각하고 있습니다. --[Leonardong]
2시에 수업이 끝나네요;; -- [이승한]
오늘 전기전자공학과학회의 전시회를 보았는데 재밌어보인다. 우리도 그런 거하면 괜찮을 듯. 돈은 별로 안들어보이는데.,우리가 화드웨어가 필요한 것도 아니고..--[강희경]
- 전전공 행사를 보지를 못해서 뭐라 하긴 힘들지만 우리가 관리하는 피씨실에서 몇 시간 정도 열어보는건 어떨까요?? -- [이승한]
수준 높은 작품들이 많습니다. 특히 제로페이져인 김정욱형의 작품이 기대되네요. --[강희경]
* 유익했던 시간이었다. 활발하게 돌아가는 듯한(04들의 적극성) 학회를 보니 왠지 부러웠다.
* 설명자(오퍼레이터)가 항상 대기하고 있도록 시간 조정을 했다고 추정됨.
* 체계적인 학회 활동에 불끈 자극이 되어주었다.(우리도 열심히 합시다.)
* 아쉬웠던 점(단순히 아쉬운 점을 쓰는 것이지 트집 잡는 것이 아니다)
* 출석 프로그램의 경우 이름순 정렬이 되지 않는다.
* 세균전의 경우 더 이상 둘 곳이 없을 때 게임이 끝나지 않는다.
* 3D지형 프로그램의 경우 지형의 끝에 도달할 경우에도 계속 전진이 가능하다.(좌표의 증가)
* 이퀄라이져 프로그램의 경우 마이크를 끈 상태에도 이퀄라이져가 움직인다.
* 설명해주는 오퍼레이터가 프로그램을 잘 모른다. 프로그램 개발자가 직접 오면 좋지만, 그렇지 못한 경우 좀더 상세한 설명이 있으면 좋았을 듯 하다.
이름 자체가 fast인 만큼. 다른 프로그램보다 빠르다는 것을 비교해서 보여주면 좋겠죠 --[강희경]
프로그램의 성능을 볼수가 없었죠 3.9기가 씨피유에 지포스2 에서 그 정도 화면이 끊긴다면 그게 더 이상한 ~_~ --[김홍선]
- AOI/2004 . . . . 52 matches
2004년도 여름 & 겨울방학 문제풀이 스터디
|| 문제 || 오승균 || [김회영] || [문보창] || [황재선] || [이승한] || [신재동] || [강희경] || [곽세환] ||
으윽. 두번째 문제. 또 막혔슴돠. ㅠ.ㅠ;; 이거 번번이 실패. 이것도 이산수학인가?? -_-ㅋ;; - [이승한]
진행사항에 보면 여름란이 있습니다. 안 풀어보신 분들은 한번 풀어보세요. - 보창
대부분의 문제들은 4초안에 답이 출력되어야만 합니다. 이 부분이 가장 힘들군요. -- 보창
이런...이제서야 접속이되는군요. 내일부터 열심히 연구해봐야겠네요 ^^ -- 승균
잠깐 다른 사람 소스들을 봤는데 이런식이 많더라. 나쁘다는 건 아니다. 실제로 재동과 상규가 프로그래밍대회에서는 저런식으로 했었다. 이유는 대회에선 무조건 속도전이라 함수 이름이나 함수의 길이는 신경쓰지 못하기 때문이였다. 하지만 적어도 대회가 아닌 연습에서는 좀 더 흐름을 알아보기 쉽게 하는게 좋을 거 같다. --재동
열심히 코딩하는 건 보기좋다. 하지만 소스 코드에서 냄새가 많이 난다. 너네가 만날 때는 그때까지 짰던 소스 코드를 서로 바꿔가며 좋은점, 고칠점에 대하여 논하고 리팩토링 해보면 도움이 많이 되겠다. --재동
이쯤에서 한번 모여서 이야기 해보는건 어떨까요?? - [이승한]
-_-ㅋ 더블릿 포기 - [이승한]
용두사미! 왜 끝은 흐지부지 되는 경향이 있을까요? 쉽고, 재밌는(?) 문제 위주로 올릴테니 우리 모두 힘내서 풀어보아요! - 보창
쳐다보지도 않았던 AOI 페이지;; 겁네 많이 밀렸네;; 다시 다시!! 화이팅!! - [이승한]
uva robot의 경우 보통 300 번 이상의 test case 를 쓰는 것 같습니다. 동적 메모리가 아닌 정적으로 할당할 경우 이 점을 유의(?)하지 않으면 RE error(포인터 에러)가 납니다. 보창은 이것때문에 하루종일 프로그램을 뜯어고쳤으나, 결국 우연한 기회에 알게 되었습니다. LCD-Display의 경우 robot은 1000줄 이상을 test하는 걸로 보여집니다. -- 보창
한 문제를 풀어본 후에 소요시간이 만족스럽지 못하거나 결과코드가 불만족스럽다면 이렇게 해보세요. 내가 만약 이 문제를, 아직 풀지 않았다고 가정하고, 다시 풀어본다면 어떻게 접근하면 더 빨리 혹은 더 잘 풀 수 있을까를 고민합니다. 그리고 그 방법을 이용해서 다시 한 번 풀어봅니다(see DoItAgainToLearn). 개선된 것이 있나요? 이 경험을 통해 얻은 지혜와 기술을 다른 문제에도 적용해 봅니다. 잘 적용이 되는가요?
예를 들어, X라는 문제를 풀어봤는데 그 문제는 Y라는 알고리즘을 사용하면 쉽게 풀리는 것이었다, 하지만 그 착상을 빨리 하지 못해서 시간도 오래 걸리고 고생했다. 뭐 이런 경험을 했다면, 이 문제를 풀어서 얻은 구체적 지식을 잠시 무시하고, 이 문제를 처음 만났을 때 어떻게 Y라는 알고리즘을 사용할 수 있다는 착상에 빨리 도달할 수 있을런지 연구해 봅니다. 문제를 푼 후에 얻은 지식을 사용하지 않아야 합니다. 방법을 찾았으면 그 방법을 적용해서 다시 풀어봅니다. 그 방법이 다른 유사 문제에도 적용이 되는가요?
이런 과정을 통해 자신의 "일반적 문제 해결 능력"을 높힐 수 있습니다.
- HelpOnActions . . . . 52 matches
모니위키는 액션이라는 확장기능을 제공합니다. 액션은 현재 보고 있는 페이지 혹은 전체 위키에 대한 특별한 확장 기능을 말합니다. 매크로와는 다르게 위키 페이지에 직접 매크로를 삽입해야 하는 것이 아니라 그 페이지를 다른 방식으로 보는 방법을 제공합니다. 예를 들어 페이지를 편집하는 기능를 `edit` 액션이라고 하며, 북마크를 하는 기능은 `bookmark`액션을 통해 이루어지고, 전체 검색, 제목 검색, 역링크 검색 등등 여러가지 기능을 제공합니다. 이러한 액션은 플러그인 방식으로 다른 기능을 손쉽게 확장할 수 있게 하여 위키의 풍부한 기능을 가능하게 만들어주고, 일부 액션은 페이지의 내용과 상관 없는 기능을 제공하기도 합니다. (페이지 지우기 기능은 DeletePage 혹은 페이지 이름을 바꿔주는 RenamePage 기능)
이러한 기능은 시스템에 설치하거나 일부 기능을 비활성화 시키는 것이 가능하며, 확장을 통해 새로운 기능을 넣을 수도 있습니다. (자세한 내용은 HelpForDevelopers를 통해 참조하세요)
액션의 일부 가장 기본적인 기능은 페이지의 맨 하단의 링크에 제공되거나 상단의 아이콘 메뉴에 제공되기도 합니다. (현재 사용하시는 테마에 따라서 달라질 수 있습니다)
다음의 내용은 모니위키에서 기본적으로 제공되는 액션이며, 아래에 기술된 액션의 일부는 시스템에 따라서 비활성화 되어 사용할 수 없을 수도 있습니다.
* `!UploadFile`: 파일 업로드 UploadFile 페이지를 참조하세요.
* `!DeletePage`: 파일 지우기 - 하단에 파일 지우기 액션 메뉴가 있는 경우가 있습니다. 이 액션을 누르면 페이지의 최종 백업본이 지워지지만 페이지의 역사는 계속 남아있으므로 (시스템 관리자가 이것을 지우지 않는 이상) 언제든지 복구할 수 있습니다. 일부 위키에서는 지우기가 활성화 되어 있지만, 모니위키에서는 기본적으로 관리자만이 페이지를 지울 수 있도록 설정되어 있습니다.
* `!LikePages`: 비슷한 이름을 가지는 페이지 목록을 찾아줍니다. 영문의 경우 적절히 잘라내어 앞/뒤 단어별로 검색해주며, 한글일 경우에는 앞/뒤 한글자 이상을 잘라내어 비슷한 파일 이름이 있는지 찾아줍니다.
* `edit`: 페이지 편집
* `diff`: 페이지 바뀐점 보기
* `info`: 페이지 정보 및 과거 이력
* `show`: 페이지 보기 (기본 액션).
* `print`: 페이지를 프린트 뷰로 보기. 상단과 하단의 메뉴가 나오지 않고 콘텐츠를 위주로 나옵니다.
* `subscribe`: 페이지 구독 SubscribePlugin 참조
* `userform`: UserPreferences 페이지에서 사용되는 내부 액션
* `revert`: 구 버전의 페이지로 되돌리기 위한 액션 (모니위키 1.1.3부터 지원)
* `rename`: 페이지이름 바꾸기 액션
* `titleindex`: 페이지 목록을 텍스트로 보내거나 (Self:?action=titleindex) XML로 (Self:?action=titleindex&mimetype=text/xml'''''') 보내기; MeatBall:MetaWiki 를 사용할 목적으로 쓰임.
* `fullsearch`: `FullSearch` 매크로와 함께 사용되는 전체 페이지 검색 액션
* `highlight`: 검색 결과를 하이라이팅해주는 액션
* `bookmark`: RecentChanges 페이지에서 북마크 기능을 지원하는 액션. 북마크를 하게되면 그 시점이 보존되며, 그 시점에서 새로 갱신된 페이지를 보다 손쉽게 알 수 있게 해줍니다.
- PairSynchronization . . . . 52 matches
하나의 대상을 놓고 둘이서 서로 번갈아가며 그리는 방법. 이때 그림은 쉽게 변경할 수 있어야하므로 화이트보드를 쓰는것이 좋다. ''' ''적합한 페이지 이름 찾습니다.'' '''
NoSmok:PairDrawing 이 있긴 한데, 여기서는 개발자들끼리의 대화이므로 다른것을 써도 좋겠네요. PairModeling? --["1002"]
["sun"]이 PairProgramming을 하기에 앞서 CrcCard 섹션을 가지게 되었는데, 서로의 아이디어가 충분히 공유되지 않은 상태여서 CrcCard 섹션의 진도가 나가기 어려웠다. 이때 - 물론, CrcCard 섹션과는 별도로 행해져도 관계없다. - 화이트보드와 같은 도구를 이용해서 서로가 생각한 바를 만들어나가면서, 서로의 사상공유가 급속도로 진전됨을 경험하게 되었다.
1. 이야기 하고자 하는 대상을 정한다.
1. 순서를 바꿔가며 하나의 개념을 화이트보드에 그리고, 각 개념은 선으로 그어 표시한다. See Also: MindMapConceptMap
* 다른 사람은 하나의 개념을 나타내거나, 이미 나타나 있는 개념에 선을 연결하고 설명함으로써 한 턴을 대신할 수 있다.
1. 더 이상 개념이나, 선의 연결이 어려울때까지 계속한다.
''추후 이미지 추가''
1. 추상적인 내용을 구체적으로 보고 이야기 할 수 있다.
1. PairSynchronization 이후, CrcCard 섹션이나 PairProgramming을 진행하게되면 속도가 빨리지는 듯 하다. (검증필요)
1. 일방적인 한명(특히 Expert)에 의한 설계를 지양할 수 있다. 사람은 자신의 틀 안에서 빠져나와 자신을 쳐다보기 어렵다. 즉, 자신이 생각하는 디자인의 틀을 벗어날 계기를 마련해준다.
1. 서로의 생각을 일치시키는데 도움이 된다.
["sun"]은 기존 프로그램의 업그레이드 작업에 새로 한명의 파트너와 함께 둘이 작업하게 되었다. XP를 개발에 적용해보기로 하고, 프로그램 디자인에 CrcCard 섹션을 이용하고자 했다. 처음 CrcCard 섹션을 진행해서 그런지, 별다른 진척이 보이지 않아 우선 화이트보드를 이용해서 개념을 정리해보고자 다른 색의 마커를 들고 한 번에 하나씩 개념을 그리고 선을 이어 나가며 디자인을 했다.
* 자신의 생각과 일치하지 않는 개념이나 연관관계가 나올시, 바로 피드백을 하고 서로 토론을 한 후 화이트보드에 개념이나 관계를 추가해 나가게 되므로 생각 공유의 시간이 빨라졌다.
* 전체적인 개념과 연관관계를 직접 볼 수 있어서, 추가적인 개념 및 연관관계 확장이 용이했다.
* 이후 진행된 CrcCard 섹션의 진행이 빠르게 진전되었다.
* 부가적인 장점: 회사원들에게만 적용되겠지만, Pair의 작업은 집중해서 이루어지게 되므로 금방 지치게 되는 경향이 있다. 이때 회의실에서 쉬더라도, 누가 들어왔을때 화이트보드에 가득한 디자인을 보면 열심히 일하는중이라 생각해준다. :)
상민이랑 ProjectPrometheus 를 하면서 CrcCard 세션을 했을때는 CrcCard 에서의 각 클래스들을 화이트보드에 붙였었죠. 그리고 화이트보드에 선을 그으면서 일종의 Collaboration Diagram 처럼 이용하기도 했었습니다. 서로 대화하기 편한 방법을 찾아내는 것이 좋으리라 생각.~ --["1002"]
- 새싹교실/2013/양반/3회차 . . . . 52 matches
||이름||출석||
제어문을 사용하면 이 문장이 실행 되는 순서를 내 맘대로 제어할 수 있다.
if 안에 들어가는 조건에 대해서 참이 나오면 수행하고, 거짓이 나오면 수행하지 않는다.
if문에 else 절을 추가한 if-else문을 이용해서 여러 가지 조건을 처리할 수 있다.
조건식이 참이면 문장 1을 실행하고, 거짓이면 문장 2를 실행한다.
if문 내에 if문을 또 사용할 수도 있다. 중첩된 if문이라고 한다.(nested if)
중첩된 if문과 관련해서 한 가지 주의해야 할 점은 중첩된 if문 다음에 오는 else절이 어느 if문과 짝이 되는가 하는 것이다,
else 절은 항상 그 전에 오는 가장 가까운 작이 없는 if문과 짝이 된다.
(2) 수식의 값이 각 case의 상수 값과 같은지 차례대로 검사한다.
(3) 일치된 case값이 있으면 그 case 절의 문장들을 실행한다.
(3.1) case 절의 마지막 문장이 break 이면 switch 문을 빠져나온다.
(4) 일치된 case 값이 없으면 default 절의 문장들을 실행한다.
조건식이 참이면 본체를 다시 실행, 거짓이면 while문을 종료
조건이 루프의 끝에 위치하므로, 루프 본체를 먼저 실행하고, 조건을 검사하여 그 값이 참인 동안 반복한다.
for문 - 루프의 반복 횟루를 알고 있을 때 적합한 반복문이다.
수식 2 - 부울 조건식/ 루프 본체를 실행하기 전에 조건이 참이면 본체를 실행, 거짓이면 루프를 벗어난다.
힌트 : 공백도 문자입니다. (스페이스)
key값이 1이면
key값이 2이면
key값이 3이면
- ProgrammingLanguageClass . . . . 51 matches
교수: 김성조 교수님 [http://konan.cse.cau.ac.kr 수업홈페이지]
수업내용: 프로그래밍 언어의 구현 & 구성요소에 대한 전반적 이해.
== 관련 페이지 ==
* ''Programming Language Pragmatics'' by Michael L. Scott : 이제까지 나온 프로그래밍 언어론 서적 중 몇 손가락 안에 꼽히는 명저.
비록 "아는 언어"칸에 대여섯 이상의 언어를 줄줄이 적어넣을 수 있지만, 컴퓨터 공학과를 다니면서 "정말 아는" 언어는 항간에서 현재 유행하는 언어 하나 둘 정도이다. 일단 주변 여건이 다른 언어를 공부할 여유를 허락하지 않고, 이걸 격려, 고무하는 사람이 아무도 없다는 것이 문제다. 너나 할 것 없이, 교과과정에서 C언어를 자바로 대체하는 것만으로 "우리 학교 전산학과는 미래지향적이고 앞서 나가는..."이라는 선전 문구를 내거는 것을 보면 정말 안타까울 뿐이다. 왜 MIT에서는 제일 처음 가르치는 언어로 Scheme을 몇년째 고수하고 있을까.
프로그래밍 언어를 배우는 것은 사고와 표현의 방식을 하나 더 배우는 것이다. 따라서, 설사 해당 언어로 프로그래밍을 할 기회가 별로 없다고 해도, 판이한 언어를 하나 더 배우는 것은 가치있는 일이다. 동시에 무슨 언어를 배우느냐, 어떤 신택스를 익히느냐는 것은 크게 중요하지 않다. 언어는 변하고 사멸하고 신생하며, 유행도 바뀐다. 그보다 그런 언어 저변에 깔려있는 다양한 패러다임을 접하고 충분히 이해하고 적용할 수 있어야 한다. 하지만 이게 가능하려면 구체적인 언어라는 채널을 통하지 않을 수가 없다.
그러므로, 이런 ProgrammingLanguageClass가 중요하다. 이 수업을 제하면 다른 패러다임의 다양한 언어를 접할 기회가 거의 전무하다. 자신의 모국어가 자바였다면, LISP와 Prolog, ICON, Smalltalk 등을 접하고 나서 몇 차원 넓어진 자신의 자바푸(Kungfu의 변화형)를 발견할 수 있을 것이며, 자바의 음양을 살피고 문제점을 우회하거나 수정하는 진정한 도구주의의 기쁨을 만끽할 수 있을 것이다. 한가지 언어의 노예가 되지 않는 길은 다양한 언어를 비교 판단, 현명하고 선택적인 사용을 할 능력을 기르는 법 외엔 없다. --김창준
'''가장 많이 쓰이는 언어만 배우면 되지 않는가'''
꼭 그렇지는 않습니다. 다양한 언어를 배우고, 특히 훌륭히 디자인된 언어(각 요소들이 서로 상충하지 않고 유기적으로 조화되어 하나의 건강한 생태계를 이루는)를 충분히 접하게 되면, 아무리 문제있는 언어를 쓰게 되더라도 "선택적"인 사용이 가능해집니다.
개인적으로 학기중 기억에 남는 부분은 주로 레포트들에 의해 이루어졌다. Recursive Descending Parser 만들었던거랑 언어 평가서 (C++, Java, Visual Basic) 작성하는것. 수업시간때는 솔직히 너무 졸려서; 김성조 교수님이 불쌍하단 생각이 들 정도였다는 -_-; (SE쪽 시간당 PPT 진행량이 60장일때 PL이 3장이여서 극과 극을 달렸다는;) 위의 설명과 다르게, 수업시간때는 명령형 언어 페러다임의 언어들만 설명됨.
수업시간때 기억나는건 언제나 비난의 대상인 Fortran, 모든게 완벽한 Ada, 그 이후 실용적인 선택 C++, Java. --석천[[BR]]
석천이 형말에 동의.. 왠지 모르게.. 책만 읽어 주는 듯한.. 기분이 들어.. 잠만 잤다.. 독학이 나을듯.. 혼자 공부할땐 재밌기만 하던데.. 교수님 수업들을때는 왜이렇게 졸리는지.. -_-a -- 영현[[BR]]
중앙대학교 컴공과에 컴파일러 수업이 폐강되는 경우가 많은데, 컴파일러와 PL 둘 중 하나는 프로그래머가 되건, 전산학자가 되건 반드시 필요한 교양이다.
무심결에 쓰고 있는 프로그램 언어의 내부를 배울 수 있는 시간입니다. 개인적으로는 이런 저런 원리를 하나식 알아갈 때마다 재미있었기 때문에 수업시간도 재미있었습니다. (정말 같이 듣는 이들은 졸린 모양이더라고요.) 과제에서 엄청난 실수를 많이 저질러서 안타깝지만, 과제 자체는 강의 내용과 매우 적절하게 연결된 것이라고 생각합니다.
아쉬운 부분은 프로그램 언어론이란 과목임에도 불구하고, 설명의 비중은 많이 쓰이는 언어일수록 높았던 점입니다. 함수형언어(FunctionalLanguage)는 기말 고사 바로 전 시간에 한 시간만에 끝내려다가, 그나마 끝내지도 못하고 요약 부분만 훑었습니다. 그 밖의 종류에 대해서는 거의 절차적 언어, 특히 C계열 언어를 설명하다가 부연 설명으로 나오는 경우가 많았습니다. 논리형언어(LogicLanguage)에 대한 설명은 거의 못 봤습니다. 어차피 쓰지 않을 언어라고 생각해서일까요.--[Leonardong]
- callusedHand/books . . . . 51 matches
저는 오픈 소스 진영을 좋아하며 그 곳에서 많은 도움을 얻고 있는 입장입니다. 하지만 무조건적으로 오픈 소스 개발 방식을 옹호하는 것은 아닙니다. 공개 소스 방식의 소프트웨어 개발이 보완해야 할 부분과 함께 단점이라고 여겨지고 있는 부분들에 대한 나름대로의 반론을 펼치고자 합니다.
공개 소스 방식의 개발은 많은 개발자들의 자발적인 참여를 이끌어낼 수 있습니다. 그렇기 때문에 낭비라고 볼 수 있는 많은 동류의 소프트웨어 개발, 무수히 많은 패치들, 중복된 작업들이 존재합니다. 그리고 이런 양상은 혼란스러워 보입니다. 하지만 이것을 더 나은 소프트웨어를 개발하기 위한 과정이라고 보는 것이 타당할 듯 합니다. 소프트웨어 산업에도 약육강식, 적자생존의 법칙이 적용됩니다. 엔드 유저가 찾고 엔드 유저의 눈에 보이는 것은 경쟁 속에서 살아남은 몇 가지 소프트웨어입니다. 그리고 개발자들의 자발적인 참여는 성당 개발 방식에서 개발자들을 기계화하는 것과는 다릅니다. 참여 개발자라면 적어도 그 프로그램에 대한 관심, 열정을 가지고 있으며 이는 자율이라는 점에서 더욱 힘을 얻어 개발자는 개발에 열중하게 될 것입니다. 이럴때 개인의 창의력, 프로그래밍 능력이 극대화될 수 있을 겁니다.
저는 개발자의 필요에 의해 소프트웨어 개발이 진행되기 때문에 정작 엔드 유저가 필요로 하는 프로그램이 적다는 말에 반대합니다. 개발자도 사용자입니다. 개발자는 컴퓨터를 개발의 도구로만 보지 않습니다. 채팅방에서 시시콜콜한 대화를 나눌 수도 있고, 음악을 듣거나 영화를 볼 수도 있습니다. 바로 이러한 입장에서 개발의 필요가 나타나는 것입니다. 그리고 소비자의 필요와 동 떨어진, 컴퓨터 과학에 치우친 개발이라고 해도 이것은 컴퓨터 산업에 힘을 실어주기 마련입니다. 미분, 적분과 같은 실생활과 관계가 없을 것 같은 이론이 오늘날 여러 산업 분야에 큰 토대가 되고 있지 않습니까?
오픈 소스 방식의 개발을 무료 프로그램 개발로 여기는 것은 잘못된 생각입니다. 오픈 소스방식의 개발은 단지 소프트웨어 개발론 중 하나일 뿐입니다. 시장에 내다팔 상품을 오픈 소스 개발 방식으로 만들어 낼 수도 있습니다. . 오픈 소스 방식의 개발을 통해서도 얼마든지 수익을 창출할 수 있으며 근래의 리눅스 업체들이 이를 뒷받침해 주고 있습니다. 왜 독점적 소프트웨어를 가지고 돈을 버는 것보다 불리하다고 생각합니까? 레드햇의 로버트 영의 말을 유심히 들어볼 필요가 있습니다. “대부분의 산업 국가에서는 그냥 수도꼭지만 틀면 물을 마실 수 있는데 어떻게 에비앙이 수백만 달러의 물을 이 시장에 팔 수 있는가? 간단히 말하자면 에비앙이라는 브랜드는 믿으면서 여러분의 수도꼭지의 물은 믿을 수 없다는 불합리한 두려움 때문이라고 할 수 있다. 바로 이점이 비공식 레드햇 리눅스 복사본을 쓰지 않고 50달러짜리 공식 레드햇 리눅스를 많은 사람들이 선호하는 이유이다. 케찹은 향료를 가미한 토마토 튜브에 불과하다. 여러분은 토마토, 식초와 같은 자유롭게 배포할 수 있는 물건들로 부엌에서 케찹을 만들 수 있다. 하지만 소비자는 왜 부엌에서 케찹을 만들고 있지 않으며 하인즈는 어떻게 해서 케찹 시장의 80%이상을 점유하고 있는가? 편리함은 원인의 일부분 뿐이며 진정한 원인은 하인즈가 소비자의 마음 속에 케찹의 맛을 정의할 수 있었기 때문이다. 이제는 하인즈 케찹의 브랜드가 큰 영향력을 가지고 있기 때문에 소비자인 우리는 하인즈 케찹이 더 좋다고 생각해 버린다.”
프로그램에 치명적인 버그가 있을 때 책임지고 고쳐 줄 사람이 없기 때문에 오픈 소스 개발 방식은 위험하다는 주장도 오픈 소스 개발 방식에 대한 오해에서 비롯된 것이라고 생각합니다. 위에서 말했지만 오픈 소스 개발 방식은 수많은 소프트웨어 개발 방법 중 하나 일 뿐입니다. 기존의 많은 오픈 소스 프로젝트가 개발자들의 취미, 재미라는 동기에서 비롯되었기 때문에 사후 관리가 미미하고 개발자들이 개발을 포기하는 경우 엔드 유저는 피해를 볼 수 밖에 없었던 것입니다.
소프트웨어 공학이란 최소의 경비로 품질 높은 소프트웨어를 개발, 유지보수하기 위한 방법론에 관한 학문입니다. 프로그램을 구현하는 단순한 작업 이상의 다양한 측면을 기지고 있으며 이는 일반적으로 요구 사항 분석, 시스템 디자인, 세부 디자인, 구현, 통합, 필드 테스트, 사후 지원과 같은 공정을 거칩니다. 소프트웨어 공학과 오픈 소스 개발 방식을 비교해 볼 때 오픈 소스 개발 방식이 갖는 문제점을 찾을 수 있습니다.
요구 사항 분석, 시스템 디자인, 세부 디자인 과정이 구체적으로 진행되지 않거나 문서화가 이루어 지고 있지않는 점입니다. 이는 프로그램의 유지보수, 재사용 측면에서 볼 때 심각한 문제로 한 프로그램을 개선시키고자 하는 개발자가 있을 때 디자인에 관한 문서가 없으면 많은 시행 착오를 겪을 수 밖에 없으며. 좋은 코드들이 그냥 버려지게 되는 경우가 많아 집니다. 이것들은 분명히 낭비라고 볼 수 있습니다. 그러므로 문서화 할 필요가 있습니다.
이런 단점을 고쳐나간다면 오픈 소스 개발 방식에 미래가 있다고 생각합니다.
== 나는 이런 책을 읽었다. ==
- 코드레이스/2007/RUR_PLE . . . . 50 matches
* 스테이지 15분마다(6단계)
= RUR-PLE 이란 ? =
* 프로그래밍 언어를 배우는것은 재밌어야 한다는 취지에서 만들어진 환경이다. 실제로 해보면 재밌다. 도움도 많이 된다.
* Python 언어를 사용하여 컴퓨터 프로그래밍 언어를 배울수 있는 환경이다.
* Python 문법 기반이지만, 몰라도 상관없다. 주어진 함수들을 가지고 해결해 나가기 때문이다. 변수도 안쓴다. -_-
* 실제로 로봇에 프로그래밍 해서 그 로봇이 현실에서 자신이 프로그래밍 하는데로 움직이는것을 보면 정말 좋겠지만 여건이 안되는 만큼 -_-; 화면으로나마 그 로봇이 움직이는 것을 보면서 프로그래밍 해볼 수 있다. 여기에서 작성하는 코드들이 무슨 쓸모가 있을까 싶기도 하겠지만, 추후에 실제 로봇의 동작을 프로그래밍해서 넣는다면 여기서 쓰이는 방식과 비슷하게 넣을것이다.(하드웨어적으로 복잡한것을 명령어로 추상화 시킨다음에 그 명령어을 적절하게 복합적으로 사용하여 원하는 행동을 로봇이 하게 만드는 식으로..) 즉 말그대로 로봇 프로그래밍을 간접적으로나 해볼 수 있다.
* 사람들이 읽기 쉬운 프로그램을 작성해야 한다.
* 저장하라는 창이 나오면 test 라고 넣고 저장한다.
=== 키보드로 로봇 움직이기 ===
* 왼쪽 방향 키보드를 누르면 방향이 바뀐다.
* 위쪽 방향 키보드를 누르면 앞으로 이동한다.
* 로봇이 길이 2인 사각형을 그리면서 반시계 방향으로 도는것을 만들어 보자.
* 로봇이 아래 그림과 같이 움직이게 해본다.
* 아래 그림과 같이 하는 코드를 짜본다.
* Play버튼을 클릭하고 나서 로봇이 움직이고 있는 도중에 자신이 원하는 순간에 step into 버튼(play 버튼 옆에 있는)을 클릭하면 그 순간부터 명령어가 하나 하나씩 실행된다.
* 버튼들 중에서 벽 처럼 생긴 버튼을 클릭한다. 그럼 아래 그림과 같은 화면이 나온다. 여기서 클릭! 클릭~! 해서 벽들을 만들 수 있다.
* 아래 그림과 같이 로봇이 신문배달 하게 함 코드를 작성해보자
* 아래와 같이 def 를써서 함수를 정의할 수 있다.
* front_is_clear() : 로봇앞에 벽이 없으면 true, 있으면 false
* left_is_clear() : 로봇의 왼쪽에 벽이 있는지 검사
- Bigtable/DataModel . . . . 49 matches
테이블 -> 태블릿 -> SSTABLE -> block
1. 테이블은 태블릿들의 논리적인 집합.
1. SSTABLE은 block의 집합이며 block들의 주소와 오프셋으로 구성되어있다.
== 테이블 ==
데이터 저장 형식은 3차원 테이블형태. 행(row key), 열(column), 깊이(timestamp)
태블릿을 모두 합병하면 테이블이 된다.
1. row key : url(또는 데이터값의 대표, 제목등)
1. 콘텐츠(제목?) <- 컬럼의 값이 value
1. value : 해당 사이트/키와 매핑되는 구조화된 데이터값
태블릿을 모두 합병하면 테이블이 된다.
1. 태블릿의 이름은 : 마지막 키 -> 카탈로그에 매핑필요
1. 태블릿은 하나 이상의 row로 구성됨.
1. 트리거 : 태블릿 크기가 200MB 이상일때
1. row는 하나 이상의 태블릿에 존재할 수 있다.
SSTABLE은 하나의 memtable과 block의 시작주소와 오프셋들로 이루어져있다.
1. 데이터 블록과 인덱스 블록
1. 데이터 블록
1. 다수의 태블릿이 하나의 SSTable을 참조할 때의 문제점?
1. 여러 태블릿이 하나의 SSTable을 참조해도 블럭들을 오프셋으로 참조하므로 같은 부분을 참조하는 일이 없다.
1. 각 태블릿의 majorCompaction시 태블릿별로 SSTable들이 나누어지므로 결국 SSTable은 하나의 태블릿에 피참조된다.
- MySQL . . . . 49 matches
ZeroPage에서 사용하고 있는 데이터 베이스
ZeroPage Server의 경우 MySQL의 자료 저장 디렉토리가 {{{~cpp /var/lib/mysql}}} 이므로 해당 디렉토리 내의 자료를 복사 하는 것으로 가능하다. 복사중 mysql을 정지 시키는 것을 권장한다.
개인이 자신의 자료만을 백업하기를 원할때에는 위에 언급된 디렉토리에서 자신의 데이터 베이스에 해당하는 디렉토리를 복사 하는 것으로 백업이 가능하다.
''-- 이건 사용자가 root일 때만 되는거 아닌가요? 권한이 없는걸로 알고있는뎅 ^^ -jeppy''
일부 테이블만 백업하기
1. mysql> SET PASSWORD FOR 자신아이디@'%' = PASSWORD('바꿀 암호');
1. mysql> SET PASSWORD FOR 자신아이디@'localhost' = PASSWORD('바꿀암호');
* Database mysql의 user 테이블을 변경후 {{{~cpp flush privileges}}}를 수행한다.
| 이희진 | 011-9143-8841 |
| 이경아 | 011-9364-7855 |
재니가 오늘 물어보는데, ORDER BY name (스트링) 을 하는데, 가나다순으로 정렬이 안된다고 해서.
mysql> select ('강' > '이');
| ('강' > '이') |
앗 탄로 났다. 드뎌 영문으로 설치한 부작용이 다들 영어 써요 ~ 와~~;; 오호 통재라 모든것은 시험끝나고 이루어질것이니.. --["neocoin"]
MySQL에서 한글이 들어간 문자열을 제대로 정렬하려면 char 타입이 아닌 char binary 타입을 쓰면 됩니다. 하지만 이미 char 타입으로 되어있다면 ORDER BY BINARY 필드명 을 사용하면 됩니다. MySQL에서 char 타입은 순수한 아스키(0~127) 값에서만 제대로 동작합니다. 물론 char 타입을 쓴다고 해서 한글이 저장되지 않거나 하는건 아니지만, 검색이나 정렬등에서 제대로 작동하지 않는 경우가 있습니다. --["상규"]
| name | char(10) | | | | | <-- name 이 char 타입입니다.
| 이경아 | 011-9364-7855 |
| 이희진 | 011-9143-8841 |
[http://network.hanbitbook.co.kr/view_news.htm?serial=131 MySQL과 Transaction] 테이블 생성시 InnoDB 나 BSDDB 를 사용하면 Transaction 을 이용할 수 있다. (InnoDB 추천)
MySQL 에서 다른 데이터베이스로 데이터를 옮길 경우 기존 데이터중 문제가 되는 것이 바로 내장함수인 PASSWORD 를 이용해서 암호화를 한 부분이다. 다른 데이터베이스에서 이 데이터를 쓸 방법이 없기 때문이다. 이 경우, 로직 단에서 MySQL의 Password 함수를 대신 구현해줌으로서 해결을 할 순 있다.
- 프로그래머가알아야할97가지/ActWithPrudence . . . . 49 matches
이터레이션 초반에 스케줄이 아무리 여유로워 보인다고 해도, 시간 압박을 다소 받는 건 어쩔 수 없다. “제대로 하기”와 “빨리 하기” 중 선택해야 할 경우, 나중에 다시 돌아와서 고칠 수 있다는 전제하에 “빨리 하기”를 선택하고 싶어지기도 한다. 스스로에게나 팀에게 또는 고객에게 이런 약속을 할 때에는 정말로 나중에 고치겠다는 뜻이다. 그러나 십중팔구 다음 이터레이션에서 새로운 문제가 나타나서 거기에 집중하게 되곤 한다. 이렇게 연기된 작업은 기술적 부채(Technical Debt)라고 알려져 있으며 이런 일에 익숙해져서는 안 된다. 특별히, 마틴 파울러(Martin Fowler)는 그의 기술적 부채 분류 체계에서 이를 의도하지 않은 기술적 부채와 헷갈려서는 안 되는 계획적인 기술적 부채라고 부른다.
기술적 부채는 대출과 마찬가지다. 그로 인해 단기적인 이익을 얻지만, 전액을 상환하기 전까지는 이자를 지불해야 한다. 이런 코드 내 지름길 때문에 기능을 추가하거나 코드를 구조조정하기 어려워진다. 이런 지름길은 결함과 안정적이지 못한 테스트 케이스가 자라는 밑거름이 된다. 이를 오래 방치하면 방치할수록 더 나빠진다. 수정을 하려고 할 때 즈음이면 코드를 구조조정하고 수정하기 훨씬 어렵게 만드는 그다지 좋지 않은 설계가 애초의 문제 위에 켜켜이 쌓여 있을 수 있다. 사실상, 다시 돌아가서 고쳐야 할 때는 일이 너무 심각해져서 반드시 고쳐야 할 때뿐이다. 그 때엔 일정이나 위험을 감당할 수 없어 고치기 어려운 경우가 다반사이다.
데드라인을 맞춘다거나 기능의 단편을 구현하려고 기술적 부채를 발생시켜야 할 때가 있다. 이런 입장이 되지 않도록 애써야 하지만, 이런 상황이 반드시 필요하다면 그렇게 하되, 다만 반드시 기술적 부채를 추적해서 재빨리 갚아서 급히 끌어내려야 한다. 그렇게 타협하기로 결정하자마자, 이슈 추적 시스템에 과업 카드나 로그를 작성해서 잊어버리지 않도록 해야 한다.
다음 이터레이션에서 그 부채의 상환을 계획한다면, 비용은 최소화 될 것이다. 부채를 상환하지 않고 놔두면 이자가 누적되며, 그 이자는 가시적인 비용으로 추적되어야 한다. 이렇게 하면 프로젝트의 기술적 부채가 사업적 가치에 미치는 영향을 강조하며 상환에 적절한 우선 순위를 줄 수 있게 된다. 이자를 어떻게 산정하고 추적할 것인가는 각각의 프로젝트에 달려있지만, 반드시 그것들을 추적해야 한다.
기술적 부채를 가능한 한 빨리 상환하라. 그렇지 않는 건 현명하지 못한 처사이다.
이 글은 [http://creativecommons.org/licenses/by/3.0/us/ Creative Commons Attribution 3] 라이센스로 작성되었습니다.
여지껏 과제를 하면서 "제대로 하기"와 "빨리 하기"중 "빨리 하기"를 선택한 적이 많았는데 요즘 그 선택들에 대해 후회하고 있습니다. 지금도 프로젝트를 진행하며 팀이 두 선택지 중 고민중인데 진행하다보면 "빨리 하기"가 더 매력적으로 느껴지는 것 같아 걱정됩니다. 이 페이지를 팀원들이 다같이 읽어보면 좋겠다는 생각이 드네요. - [김수경]
하다 못해 이런 주석이라도 남긴다면야... see http://dak99.egloos.com/2329761 -- [이덕준] [[DateTime(2010-08-07T11:27:38)]]
- JavaStudy2003/두번째과제/노수민 . . . . 48 matches
* 원래 RandomWork 짜던게 있는데 eclipse가 Run이 안되더군요;
Run쪽 옵션이 틀린건가;; 오류가 아니라 메인 클래스가 없다는 등의 다양한 메시지가 뜨면서 안돼요; 결국 간단한 소스를 올립니다
ex) 자동차 - 색, 바퀴, 손잡이, 현재 기어위치 등의 상태에,
달린다, 멈춘다, 속도를 높이거나 낮춘다 등의 행동을 한다
이러한 실세계를 소프트웨어적으로 표현하기 위한 방법중 하나가 '객체지향'이다.
이것으로 인해 모듈성과 정보은닉이라는 이득을 얻는데,,
하나의 객체의 소스가 다른 소스와 무관하게 유지할 수 있고, 또 public이나 private 권한을 통해 정보에 대한 접근 정도를 설정할 수 있다.
각 메시지는 메시지를 받을 객체, 수행을 요청한 메소드의 이름과 그 메소드에 필요한 매개변수의 세 가지 구성요소를 갖는다.
* 클래스 : 특정한 종류의 모든 객체들에 적용할 수 있는 변수와 메소드를 정의하는 '소프트웨어적인 설계도' 이다.
실세계의 객체들의 상태와 행동들을 소프트웨어적으로 추상화해 놓은 것이다.
청사진이라고 하기도 하고, 벽돌을 찍기 위한 하나의 틀에 비유하기도 한다.
* 인스턴스 : 클래스에 대한 변수를 선언하는 것을 '인스턴스를 생성한다'고 하고, 이 변수를 인스턴스라 한다.
자동차 클래스는 상위 클래스, 버스,트럭,자가용 클래스를 하위클래스라 하며, 이들의 관계에서 "하위클래스는 상위클래스를 상속한다"고 한다.
* 다형성 : 같은 이름을 같는 여러 가지 형태가 존재한다는 것
class 클래스이름 {
클래스이름 클래스인스턴스이름 = new 클래스이름();
클래스이름 클래스인스턴스이름;
클래스인스턴스이름 = new 클래스이름();
* 같은 이름으로 여러 일을 하는 것
자바 언어를 이용하여 객체를 생성하고 필요에 따라 값을 초기화 해 주어야 하는 경우
- VisualBasicClass/2006/Exam1 . . . . 48 matches
1. 비주얼베이직에서 숫자를 표기하는 방법은 10진법, 8진법, 16진법으로 나뉘어진다. 이 중 10진법은 특별한 표기(기호)없이 사용이 가능하다. 하지만 8진법과 16진법은 '?O'와 '?H'로 표기한다. 이때 ?에 들어갈 기호는 무엇인가 (1점).
2. 다음은 TextBox에 대한 설명이다. 옳지 않은 것은?(1점)
④ MultiLine은 컨트롤이 문의 여러 줄을 받아 들일 수 있는지 여부를 결정하게 된다. True는 한줄을, False는 여러줄을 사용할 수 있다.
리스트 박스는 여러개의 선택사항을 제공한다. 이 때 리스트 박스 항목 선택은 값이 ? 일때선택 유형이 확장된 다중 선택으로 'Shift + 누름' 또는 'Shift + 화살표 키'를 사용할 수 있다.
② 사용자에게 제공되는 인터페이스 옵션을 중심으로 설계가 이루어진다.
③ 대표적인 언어로서는 Visual, C+ +, Visual Basic등이 있다.
④ 이벤트 중심의 프로그래밍 방식을 사용한다.
⑤ 객체 지향적인 언어이다.
5. 비주얼 베이직의 기본적인 프로그램 작성 과정을 간략하게 나열한 것이다. 올바른 순서를 쓰시오?(1점)
B) 이벤트를 프로시저 작성
D) 사용자 인터페이스 설계 및 구성
6. 다음은 프로젝트에 새로운 컨드롤을 추가하는 방법을 나열한 것이다 올바른 순서를 쓰시오 ?(1점)
㉢ 폼 위에서 마우스 포인터를 컨트롤을 두고 싶은 위치에서 클릭, 드래그하면 컨트롤이 나타난다.
9. 다음 프로그램은 입력된 문자열을 역순으로 나타내는 프로그램이다. 괄호안에 알맞은 것은?(4점)
② 인수들을 서브프로그램에 모두 다 전달하기 부적절한 경우에는 Optional이란 키워드를 사용하면 효과적이다.
③ 함수는 수행한 결과를 호출한 프로그램에게 반한하는데 입력 인수는 여러 개일 수 있으나 출력 인수는 오직 하나이다.
④ 일반적으로 함수 이름이 F_Name일 경우, 이 함수 내부에는 F_Name = 식 형태의 할당문이 있어야 한다.
14. 옵션버튼이 명령 버튼과 체크박스와 다른 점은?(1점)
① 옵션이 on 또는 off 되었다는 것을 알려주는 Value속성을 가지고 있다.
② Click 이벤트를 갖지 않는다.
- 1thPCinCAUCSE/null전략 . . . . 47 matches
1회 경진대회 팀이였던 null 팀 전략 (["neocoin"], ["1002"])
["1002"]가 5분 지각을 했습니다.; 암튼, 35분에 시작을 했고, 일단 5분의 시간을 두고 ["neocoin"] 과 ["1002"] 는 문제들을 읽어나가기 시작했습니다. 한글 문서였기 때문에 3개의 문제를 훑는데에도 5분이면 충분하더군요. ["neocoin"] 은 B번을, ["1002"] 는 A번을 일단 읽고, C 번에 대해서는 같이 읽었습니다. 그리고 미리 문제출제자쪽에서 난이도를 C > A > B 임을 언급했습니다. 문제를 읽어나가면서도 일단 B의 경우가 바로 계산이 나올 것 같아서 B 를 먼저 해결하기로 선택했습니다. 그 다음에는 문제에 대한 이해도가 상대적으로 높았던 A번을 해결하기로 했습니다.
도구는 연습장과 인덱스 카드, assert 문을 이용한 테스트 케이스 등을 이용했습니다. 연습장과 인덱스 카드는 주로 개개인 수식과 중요 변수들을 적기 위해, 또는 그림을 그리기 위해 이용했고 (두 도구의 용도가 구분되어있진 않았음) 문제에 대해서 답이 나왔다하는 가정하에 (문제지에 Sample Input->Output 이 나와있었기에 가능했습니다.) Backward 로 문제가 해결된 상황을 가정하고, 그러기 위해 필요한 변수들을 찾아나가는 방법으로 진행했습니다. 프로그래밍 스타일은 Structured 스타일의 Stepwise Refinement & PBI & assert 를 이용한 TDD 를 사용했습니다.
한 20분정도 잘못진행했었는데, 첫번째는 ["1002"] 가 B 번문제를 제대로 이해하지 못했고 (앞부분만 읽고, 문제의 input-output 을 거꾸로 판단), 두번째는 input 이 100 일때의 output 예상치를 잘못계산한 상태에서 이를 근거로 Test Driven 을 시도해서 추후 발견뒤 테스트를 수정하는동안 시간을 낭비했습니다.
Sample 로 제공한 데이터들을 만족시키는 코드는 작성하였으나, 여전히 변수들이 다 뽑아져지지 않아서, 임의의 결과데이터 (100인 경우) 에 대해 예상되는 결과를 생각하고 코드를 작성한뒤, 코드와 결과들, 코드로부터 발견되는 변수들을 토대로 연습장에 기록을 했고, 그러던중 ["neocoin"] 이 일반화 공식을 찾아내었습니다.
적절히 중복코드를 삭제하고 난 뒤, 한 5분정도 Input-Output 코드를 iostream 과 ["STL/vector"] 를 사용하여 작성한 뒤 이를 제출, 통과했습니다.
A 번 진행중 아쉬웠던점은, 만일 이 문제를 바로 풀기전에 OO 패러다임으로 해결할 것인가 Structured 패러다임으로 해결할 것인가에 대해 먼저 생각하는 여유를 가졌더라면 문제 해결이 더 쉽지 않았을까 하는 점이였습니다.
문제에 대해 역시 B 번을 진행하던 스타일대로 Structured 로 진행했는데, 초반에 너무 코드위주로 각 변수들을 뽑아내려고 접근한 것이 문제가 되었던 것 같습니다. 여유를 두고 페이퍼 프로그래밍을 했어도. 바늘들에 대해서 OO 로 접근했으면 좀 더 쉽지 않았을까 생각.
지난번 IPSC 경험때는 맨땅에 해딩하는 느낌이였는데, 이번에는 비록 입상하지 못했지만, 각각의 과정들이 의식적으로 일어난 점에 대해서 개인적으로는 즐거웠고 명쾌했습니다. 급조되어 2주만에 만난 Pair 치고 손발이 잘 맞았습니다. (이건 방학 두달동안 ["ProjectPrometheus"] 때 하도 서로 싸워대어서. -_-;)
미리 예제문제로 제시된 5문제중 어려웠었던 뒤의 3문제들을 각자 풀어보고 훈련했었다면 실전에서도 더 여유있고 의식적인 작업을 할 수 있었으리라 생각하며. 그리고, 초반에 바로 TDD 로 나가는 것보다, 문제에 대한 여러 접근방법을 둔 뒤, 하나를 고르고 그에 대해 TDD 로 나가는 것이 더 좋았을 것이라고 생각. (TDD를 바로 문제 Approach 기법으로 적용하는것 보단, 해당 문제 접근방법에 대해 빨리 필요한 변수들을 발견해나가고, 명확하게 해주는데 더 효과가 크다는 생각이 들어서)
문제를 풀때 우스개로 이야기했던것이 '수학자의 접근이냐 공학자의 접근이냐'(페르마의 마지막정리 책에 나왔던 예. 즉, 연역/귀납). 이런문제인 경우 문제 풀기전 '어느쪽 접근이 더 유용할까' 궁리를.; 개인적으론 연역이 약해서 후자를..; --["1002"]
문제를 푸는 동안, 굉장히 여유롭다는 느낌이 들었습니다. 적당히 달려나간다고 할까요. 위에 언급된 2가지의 실수가 없었다면, A를 넘어 C번도 노려 봄직한 느낌이 듭니다. 이런 것들이 연습으로 체화되는 것이겠지요. 다음 ipsc를 즐겁게 기다려 봅니다.
시간 지연된 이유는, 성급한 방법론의 선택과 '''믿는 것을 가장 의심하라''' 라는 디버깅 원칙을 시간에 쫓겨서 생각을 하지 못한점으로 생각합니다.
- 마케팅천재가된맥스 . . . . 47 matches
* 이 책은 정현이의 추천으로 읽게 되었는데, 엄청 재밌고 유익하게 읽었다. 이젠에 네루의 세계사 이야기 책을 읽다가 너무 빡세서 힘들었는데 이책은 마케팅, 세일즈에 대해서 만화처럼 쉽게 알아먹기 좋게 잘 설명해 주었다. 공학도라면 꼭 읽어 봐야할 책이라고 생각한다. 솔직히 우리는 기술개발이 최고로 중요하고 나머지, 경영 마케팅은 기술만 좋으면 되는거 아닌가 하고 생각하는 경향이 있다고 본다. 그런데 현실은 우리가 기술개발에서 우리의 중요성을 인정받고 싶은 만큼 마케팅 쪽도 기술개발만큼, 때에따라 훨씬 더 중요할수도 있다고 생각한다. 그런 만큼 우리 공학도도 경영, 마케팅(세일즈) 등에 대해서 잘 알아야 한다고 생각한다.
* 이책에서는 고대 이집트에서 그때까지는 없었던 '바퀴'라는것을 새로 발명한 맥스가 그 '바퀴'를 이용하여 세계최고의 '바퀴회사'가 되어 가는 과정을 이야기한다. 처음에 맥스가 '바퀴'를 만들었을때, 우리 공학도들이 그러는것처럼 이 기술은 정말 최고의 기술이야, 가만히 앉아 있어도 서로들 이것을 사려고 하겠지 하는 생각을 했다. 그러나 결과는 지금 현실과 마찬가지로 기술 개발만 하고 그 후 마케팅, 판매를 못해서 거의망하기 직전까지 간다. 그렇다고 맥스가 아예 판매에 손을 땐것은 아니다. 부인과 함께 이집 저집을 방문하면서 판매 하려고 해도 실패를 한다. 그러다가 '세일즈캡틴', '빌더벤', '마법사토비' 를 차례대로 고용해서 판매를 하려고 했지만 번번히 실패한다. 그러다가 '클로저 카시우스'를 고용해서 판매에 성공한다. 현재 시장 상황에 따라서 필요한 세일즈 방식이 다르다는 것을 보여준다. 정말 중요한것은 시장 상황에 따라서 세일즈 방식이 다르다와 세일즈 방식이 다르기 때문에 고용하는 세일즈맨들도 성향이 달라야 한다는 것이다. 강추 책.
* 생소하다, 소수 사람만이 이 기술이 가지는 장점과 가치를 알고 있다. 기술이 더 좋아지면 그 소수의 사람들이 신봉자가 된다.
* 클로저 (이때 필요하다)
* 드라마틱한 프리젠테이션을 구사하여 고객의 마음을 움직인다. (시각적, 감각적 프리젠테이션)
* 기술을 직접 보여주고, 이벤트 연출
* 거절을 많이 받을 각오는 해야한다.(신제품..)
* 프리젠테이션 후 곧바로 살것인지 물어본다.
* 지식, 자원이 풍부. 제품을 공급만 해줘도 알아서 잘 사용할 정도의 지식..
* 보통의 여러 세일즈 맨들과 이들을 관리하는 세일즈맨 필요
* 다음과 같은 질문을 클로저, 마법사(기술자), 빌더(인간관계구축), 세일즈맨이 각각 필요할 시장 상황에서 생각해본다.
* 이 제품의 고객은 누구인가?
* 이 제품의 경쟁자는 누구인가? (신제품이라 할지라도 기존의 비슷한 용도로 사용하던것들)
* 이 제품을 고객이 원하는 이유는?
* 고객들이 경쟁 업체를 이용하는 이유는?
* 이 제품이 제공하는 서비스는?
- Linux . . . . 46 matches
[[https://groups.google.com/forum/#!msg/comp.os.minix/dlNtH7RRrGA/SwRavCzVE7gJ 전설적인 서문]]
리눅스는 현재 컴퓨터의 커다란 흐름중의 하나이다. FSF에 의해서 지원을 받는 핵심적인 운영체제로 현재 기능적, 보안적 측면이 기존의 [Unix] 시스템에 버금갈 정도 발전하였고 [GNU]의 사상하에 만들어진 [GPL]을 따르기 때문에 무료로 사용이 가능하여 서버 운영체제로 많은 인기를 누리고 있다. 본디 리눅스라는 하는 것은 운영체제의 [Kernel] 명칭이며, 주로 접하게 되는 패키지 형태로 이루어진 배포판의 전체 구성을 리눅스라고 여기는 경우가 있으나 이는 리눅스의 광의적 정의라고 생각하면 될듯 싶다.
리눅스와 비슷한 운영체제로는 정통적인 유닉스 클론 이라고 평가받는 [:FreeBSD BSD]계열이 있다. BSD계열중 가장 잘알려진 [http://www.kr.freebsd.org FreeBSD]의 경우 실제로 과거부터 hotmail.com, yahoo.com, cdrom.com 을 운영해온 네트워킹에 대한 안정성이 입증된 운영체제이다. 실제로 2.6커널의 도입이전에는 BSD의 네트워킹이 더욱 뛰어나다는 평가를 받았지만 일반적인 의견이었으나, 많은 구조적 변경을 통해서 리눅스는 현재 이런 점을 극복하고 BSD와 리눅스를 선택하는 것은 운영자의 기호일 뿐이라는 이야기를 한다. 최근에는 리눅스를 데스크탑의 용도로 까지 확장하려는 노력의 덕분에 로케일 설정관련 부분이 대폭 강화되었으며, 사용자 편의성을 고려한 WindowManager인 [Gnome], [KDE] 등의 프로그램이 대폭 강화되면서 low-level 유저라도 약간의 관심만 기울인다면 충분히 서버로써 쓸 만한 운영체제로 변모하였다.
본 페이지는 특별히 리눅스에 대한 실제 운영에 관한 이야기를 지양하려고 한다. 운영에 관한 내용은 리눅서들이 항상 말하듯이 네트워크의 바다에 널려있기 때문이다. 수많은 자료들을 대하면서 자신이 필요한 자료를 찾는 것도 리눅서가 되는데 필요한 덕목이다.
어느정도 실력을 쌓았다 싶으면 RunningLinux, Oreilly 를 읽기를 권한다. 이 책은 비록 초심자가 읽기에는 부적절하지만 APM설정에 어느정도 리눅스의 구조에 대해서 익힌 사람들이 리눅스를 운영하기 위한 전반적 기초지식의 대부분을 습득 할 수 있는 수작이라고 생각된다.
= 관련 페이지 =
[http://www.zeropage.org/pub/Linux/Microsoftware_Linux_Command.pdf 마이크로소프트웨어_고급_리눅스_명령와_중요_시스템_관리]
[BSD]도 상당히 유명한 편인데 이 커널의 제작자가 안알려진 것은 약간 특이한 일이라고 생각할 것이다. 이유인 즉은 BSD는 현재 메인테이너들에 의해서 커널이 관리되기 때문이다. 리눅스 커널은 커널 메인테이너 들을 의견의 제시를 하지만 실제로 방향을 결정하는 최종 결정권자는 리눅스 커널의 최초 개발자인 리누즈 토발즈이다. 그렇지만 BSD는 세계에 있는 BSD메인테이너(커미터)중에 몇명이 선발되어 커널의 개발을 주도하고 운영되기 때문에 사실 어떤 한사람의 이름이 특별히 나올 여지가 많지는 않다. 리누즈 토발즈는 좋은의미의 독재자라고 불리기도한다.
DeleteMe) [EmbeddedSystem] 을 알아보려고 이곳저곳을 돌아다닌 끝에 도착한 Linux...- 이승한
- django/RetrievingObject . . . . 46 matches
데이터베이스에서 레코드를 조회할 때는 Model클래스를 관리하는 Manager클래스를 이용한다. 가장 간단하게는 모든 레코드를 가져오는 방법이 있는데, 모델마다 기본적으로 제공되는 object라는 매니저를 이용한다. object 매니저로 레코드를 조회하면 QuerySet이 반환된다. 이는 관계형 데이터베이스 CLI인 JDBC의 ResultSet과 유사하다.
한 모델에 대해서는 여러 가지 필터를 설치할 수 있다. 필터는 SQL문에서 where절에 해당하는 역할을 한다. 필터에는 검색하는 컬럼의 완전 일치, 부분 일치, 사이 값, 포함, 연월일 옵션을 줄 수 있다. 기본적으로 필터는 AND 조합으로 이루어지며, OR조합을 사용하고 싶다면 Q라는 쿼리 오브젝트를 사용해야 한다.[9] 아래는 필터를 이용해 보고 날짜가2006년 10월 1일 이후인 위험 보고서를 찾는 python코드와 그에 해당하는 SQL문을 보여준다.
일대다 관계인 레코드의 경우는 selete_related메소드를 이용하면 데이터베이스 접근 횟수를 줄일 수 있다. 일반적인 데이터베이스 조회는 추상화되어있어 실행할 때마다 쿼리를 수행한다. 하지만 selete_related메소드를 사용하면 한 번 데이터베이스에서 결과를 가져온 후 필요할 때는 이를 그대로 사용한다. 다음 예제에서 두 방식이 어떻게 다른지 확인할 수 있다.
# 데이터베이스에서 한 번 값을 가져온다.
# Employee테이블에 접근하기 위해 다시 데이터베이스에서 값을 가져온다.
# 데이터베이스에서 값을 미리 가져온다.
# 이전에 Employee값까지 가져왔기 때문에 다시 데이터베이스에서 값을 가져오지 않는다.
사용자는 원하는 경우 extra메서드를 이용해 원하는 컬럼을 추가한 결과를 얻을 수 있다. 다음은 2006년 1월 1일 이후 보고서를 최신으로 표시하는 컬럼을 가진 리포트 정보를 가져온다.
이는 다음 SQL과 같다.
extra메소드를 사용하면 다음과 같은 조금 복잡한 질의도 할 수 있다. 각 직원이 몇 번이나 위험 보고서를 작성했는지 알아낸다.
사용자는 values함수를 이용해서 원하는 속성을 지정할 수 있다. 이는 검색 조건을 만족하는 레코드의 필요한 속성만을 이용하므로 효율적이다. 또한 values함수는 QuerySet을 상속한 ValuesQuerySet을 리턴하므로 다시 위에서 사용한 검색 조건을 사용할 수 있다. 하지만 ValuesQuerySet은 사전형(dictionary) 자료구조를 가지고 있기 때문에, 많은 수의 레코드를 얻어오기에는 부적절하다. 다음은 사원 정보에서 이메일 속성만을 얻어온다.
Django에서 기본적으로 제공하는 조인 연산은 없다. SQL문을 직접 수행하여 원하는 결과를 얻을 수 있다. 이는 JDBC의 인터페이스와 비슷하며, 커서를 이용하여 질의를 수행한 결과를 하나씩 얻어오는 방식을 사용한다. 다음은 특정 부서 에서 시행한 위험 관리 대책을 얻어오는 함수이다.
- 새싹배움터05 . . . . 46 matches
우리들이 진행자들을 부족한 부분을 질문등 부드러운 방법의 첨가와 보충으로 도와준다면,
신입생들에게도 우리들에게도 좀더 많은것이 남을 수 있는 새싹 배움터가 될 수 있지 않을까요??[[HTML(</font></b>)]]
여기 있는 사항들은 제가 초안으로 짜본것입니다. 이건 아니다 싶으시다면 바꿔주세요~ ^ ^
|| 1_4/4 || C ([강희경]) || [새싹배움터05/첫번째배움터] || [정모/2005.4.4]이후 진행 ||
|| 2_4/11 || C ([이승한]) || 기본문법과, 포인터 || 중간고사 대비라는 느낌이 진하게 될듯 ||
|| 6_5/23 || 자료구조(DataStructure) || 자료구조 || 주로 1학년을 대상으로 함. 2학년이 들어도 좋을 듯. 프리젠테이션을 할 예정이니 노트북 준비바람. [[BR]] Upload:DataStructure.7z ||
== ZeroPager들이 할수 있는 주제들 ==
* 이번에 세미나 및 프로젝트를 할때는 과거에 비슷한 주제로 했던 문서들을 적극 활용하였으면 좋겠습니다. 지금까지 보통 세미나,스터디를 하면 뭐든 새로 만들었는데 그것보다 과거에 했던 것중에서 좋은것들을 잘 모아 편집하고 추가로 필요한 내용들을 넣는것입니다. 그렇게 하여 한가지 주제에 대한 완성도 높고 양질의 문서들을 만들어 나가서, 세미나, 프로젝트가 그 순간에만 활용되고 끝나기 보다는 과거의 것을 정제 하고 과거 했던 비슷한것들을 할 시간에 더 양질의 내용을 채워 나가서 계속 활용하였으면 합니다. -[상협]
* 저도 동감합니다. 세미나 했던 자료는 자료실이나 위키 업로드를 통해 계속 축척해서 제로페이지의 자산으로 남겼으면 합니다. --재동
* 그리고 지금까지 프로젝트 진행 프로세스를 잘 살펴 보아서 어떤식의 진행이 파국(?)으로 치달았는지 분석해보면서 제로페이지식의 제대로된 스터디 프로세스, 프로젝트 프로세스를 만들어 나가보았으면 합니다. -[상협]
어떤식으로 진행할지 이야기 해봅시다.
XP를 할 때 몇명의 Python 하는 사람이 있으면 좋겠습니다. PairProgramming을 위해서요. --재동
우선 처음 세미나는 신입생 대상으로 위키 세미나가 다시 이루어져야 할 것 같습니다. 예전 위키 세미나에 신입생이 많이 참여하지 못했다고 들었습니다. 전에 위키 세미나 했던 사람이나 아니면 새로운 사람을 정해서 했으면 합니다. 그리고 첫 세미나는 다음주 월요일부터 시작하는 건가요? 그렇다면 급한 다음주 월요일 세미나 강사를 정하는 게 중요할 듯 합니다. --재동
지금 따로 메뉴얼을 제작하고 있습니다. 세미나 없이 메뉴얼만 있으면 쉽게 사용가능할 정도로 만들 예정이고요, 이번 [위키설명회2005]에서 다룬 내용도 담을 예정입니다. 그리고 첫 세미나(C프로그래밍)는 제가 할 의향이 있고 준비 중입니다. -[강희경]
[데블스캠프]같은 행사에서 하루 정도는 신입생이 재학생을 대상으로 세미나를 해보는것도 좋을것 같다. 준비의 주체는 신입생 모두이고 주제는 어떤 것이 되든 상관없다. 신입생들은 준비하는 과정에서 이것저것 얻게 되는 부분이 무언가 한가지는 반드시 있을 것이다. - [임인택]
7피의 프로젝터는 재학생이 이용할수 없습니다. 교수님만 이용할수 있다고 합니다. 피치못할경우 빌릴수는 있긴 합니다. - [톱아보다]
DeleteMe) 4월 5일 ZP새싹배움터2005 를 이름을 바꾸어 구조정을 했습니다. 지금까지 이해하지 못했었는데 [위키정원사]가 생각나네요.
재동이 다음으로 제가 한번 해볼까 하는데... 무엇을 하는게 좋을까요? --[상규]
음 어떤게 좋을까요?? 많아 보였는데 실제로 하려고 생각하면 몇가지 없기도 하네요. 가능한 주제를 먼저 골라보면... [Python], [ExtremeProgramming] 이 대표적인데... - [톱아보다]
리눅스라면.. [임인택]이 할 생각 있음.
- MFC/DynamicLinkLibrary . . . . 45 matches
기존의 C/C++ 프로그래에서는 라이브러리를 LIB라는 확장자를 가진 형태로 제공하여 코드를 컴파일한후 링커가 프로그램에 필요한 부분을 라이브러리 파일에서 추출해서 만들어진 프로그램에 붙여넣는 방식으로 만들어졌다. 이런 구조가 윈도우 프로그램으로 오면서, 바뀌어야했는데..
종전의 방식처럼 정적으로 링크를 하게되면 윈도우 프로그램의 특성상 굉장히 메모리를 많이 차지하는 프로그램이 동시에 실행이 되면서 쓸데없이 동일한 코드영역이 중복적으로 메모리 공간안에 차지하게 되는 현상이 발생하였다. 여기서 착안하여 생겨난 것이 DLL이다. 이는 실제 프로그램의 수행부분을 한개로 두고서 여러개의 프로그램에서 그 부분을 공유하여 사용하는 것이다.
확장자가 반드시 DLL이어야 하는 것은 아니지만, DLL 이 아닌경우에는 프로그래머가 이를 로드하는 부분을 따로 만들어야 한다. .vbx .ocx같은 것은 특정한 종류의 컨트롤들을 포함하는 DLL 들이다.
Win32API역시도 DLL을 통해서 구현이 되어있다.
Library.DLL을 3개의 프로그램 A,B,C가 동시에 공유한다고 하면 각각의 프로그램이 실행될때마다 각 프로그램에서는 DLL파일의 함수로의 링크가 일어난다. 이런 과정은 윈도우 운영체제에 의해서 자동으로 이루어지고, 한개의 프로그램이라도 실행이 종료되지 않으면 윈도우는 DLL을 메모리에서 제거하지 않고 남겨준다.
단점은 DLL 파일이 변경이 되었을때 올바른 동작을 보장하기 힘들다는 점을 들 수 있다.
프로그램과 DLL이 메모리 안으로 로드되자마자 사용되는 함수들에 대한 링크가 성립된다.
프로그램이 먼저실행되데 DLL은 프로그램의 요청이 발생한 시점에서 메모리에 로드된다. 그때가 되서야 프로그램은 DLL로부터 함수의 어드레스를 얻고 그것을 사용해서 함수를 호출한다.
프로그램에서 필요한 메모리의 양을 최대한 줄이는 것이 가능하다.
runtime dynmaic linking 의 중요한 점은, 런타임 상에서 해당 모듈을 교체할 수 있다는 점이다. winamp 의 나 KMP 등와 같은 플러그인을 제공해주는 프로그램의 경우 대부분 이러한 runtime-dynamic linking 방법을 이용한다.
DLL은 함수에 대한 코드만을 저장는데 국한되는 것이 아니다. 비트맵, 폰트와 같은 리소스들을 DLL 안에 위치시킬 수도 있다. 예를 들자면 카드놀이에 사용되는 Cards.dll 에서 카드들에 대한 비트맵 이미지와 그 것들을 다루는데 필요한 함수들을 포함하고 있다.
DLL 에 있는 요소들은 export 된 것들만을 접근 할 수 있다. export 는 함수, 클래스, 글로벌 정적 변수, 리소스들이 가능하다.
독립적 실행은 불가능하지만 main함수의 변형된 형태를 포함한다. 이 곳에서는 dll이 사용되기 전에 초기화되는 내용들이 포함되게 된다. DLL초기 로드시 운영체제가 호출한다.
DLL 에서 동적으로 메모리를 생성하는 경우, 해당 DLL 을 이용하는 프로세스의 힙에 해당 메모리 공간이 잡히게 된다. DLL 이 하나만 올라간다고 메모리가 공유되진 않는다.
만일 프로세스-global 한 메모리를 쓰고 싶다면, 메모리 맵을 이용하거나 DLL 공유 영역을 선언하는 방법 등을 써야 한다.
- ZeroPageHistory . . . . 45 matches
이 문서는 [[ZeroPage성년식/거의모든ZP의역사]] 에서 내용을 옳겨와 정리 하는 문서입니다.
||여름방학 ||Computer Architecture, Assembly, Pascal 등의 스터디/강좌. 현대 경진대회 준비반 개설(15일간 오전 9시-오후 5시까지 전산 커리를 모두 다룸, 기출문제 풀이 등) ||
||1학기 ||7기 회원모집. 3D Graphic Programming. (긁어 놓은 게시물: Protect Mode, Functions Pointer, Compression Algorithm, About 3D, PSP의 구조, DMA, 3D Display, Tcl/Tk, C++Builder와 델파이, Lisp 강좌) ||
||여름방학 ||C++, HTML, Object Pascal 세미나 개최.(목적 불문 게시물: 비선점형/선점형 멀티태스킹, Win32의 프로세스와 스레드.)(긁어놓은 게시물: 타이머, 마우스) ||
||2학기 ||C++(긁어놓은 게시물: 데이터 베이스, Turbo Pascal) ||
* C/C++ 스터디 (당시에 1학년 1학기 이수 기본 과목이 파스칼이어서 C/C++은 신세계)
||2학기 ||제로페이지 서버 조성 ( ZeroPageServer/set2001) ||
* 99년 말에 태어나서 운영되고 있는 당시 웹페이지의 모습
* SeeAlso [http://web.archive.org/web/20010428085542/http://zeropage.org/old.html|웹 아카이브]
FixMe 임베팅한 사이즈 조절 할줄 모르겠음. 오리지날 파일은 아래 참고. 스크린샷 상의 오르지오 메일은 망해서 모자이크 처리 안했음 --NeoCoin
||1학기 ||회장 이창섭, 12기 회원 모집. ZeroWiki 시스템 도입. Devils 통합. Internet Problem Solving Contest 참여, 서강대 MentorOfArts 팀과 프로그래밍파티 개최 ||
* ACM문제 샘플풀이, 3D
||여름방학 ||데블스 캠프 진행, 우이동 MT ||
||겨울방학 ||ZeroPage 홈페이지 디자인 개편, 로고 및 마스코트 공모 ||
||1학기 ||회장 이승한, 15기 회원 모집, 지금 그때 진행, 새싹배움터 진행, ZeroWiki 서비스 재개 및 설명회 개최 ||
||겨울방학 ||코드레이스 진행, ZeroWiki 업그레이드, 송년회 개최, 나를만든책장 탄생, 우이동 MT ||
||1학기 ||회장 허아영, 16기 회원 모집, 위키 설명회 개최, 지금 그때 진행, 새싹스터디 진행, 여의도 소풍, 코드레이스 진행 ||
* [wiki:데블스캠프2006 DevilsCamp]을 진행하였으나 이 때 정회원이 된 회원보다 물음표 회원이었던 회원들이 나중에 더 많이 남았다.
||여름방학 ||데블스캠프, 하이트 래프팅 MT, 롯데월드 소풍, ZeroPage 홈페이지 새롭게 개설 ||
* 07년은 서버 날라갔던거 때문에 위키 및 홈피에 흔적이 없고 스터디들이 생각나지 않는다ㅠ 기억나시는 분들 채워주시길.. - [지원]
- VMWare/OSImplementationTest . . . . 44 matches
= 작성한 이유 =
OS를 만들어보고 싶은 마음에 무작정 뛰어 들었는데 대부분 환경은 리눅스상이
에디팅 환경이 맘에 들어서 디버깅까지는 힘들겠지만 (어차피 커널 디버깅하려면
그리고 링커를 vc6를 사용하고 싶었고 그래서 이를 사용할 수 있는 방법을 소개하려
= 참고하면 좋은 사이트들 =
어려운 영문 OS개발방법을 한글화 해주는 고마운 사이트
무척 좋은 Protected mode에 대한 설명과 소스를 담고 있는 사이트
Bona Fide OS 개발 튜토리얼 사이트
혼자서 GUI OS를 만드시고 책도 출판하신 분의 사이트
80586 (또는 P5 그러나 숫자는 저작권 보호를 받지 못한다길래 이후에 Pentium으로
바뀌었습니다 ). 이렇게 긴 역사를 갖고 있는 보편적인 cpu 8080 또는 8086 통틀어
이 하위호환 때문에 아무리 최신 컴퓨터도 처음 부팅시에는 빠른 x86 처럼
수행되도록 설계되었습니다. 부트섹터에서 이 빠른 x86에서 최신의 기능을 사용하는
ORG 0x7C00 - PC가 리셋되면 부팅될 디바이스의 첫번째 섹터(512바이트)를
읽어 메모리 0x7C00에 올려 놓은 후 이 코드로 점프하게 됩니다. 따라서 부트섹터
A20 enable - 예전에는 실제 메모리크기가 크지 않아 1M 이하만 접근하도록
설계되었는데 이젠 메모리가 1M이상 되는 것이 많아 1M 이상을 실제 접근 하기 위해서
지정 방식으로 수행되지만 80286이상에서는 보호모드가 지원되었고 (최대16M가능)
커널로드 - 부트섹터 코드는 C로된 바이너리 커널을 여러 섹터에서
- 우리는 디스켓도 사용하지 않고 바로 컴파일해서 이미지로 뜬 후 VMWare로
- 데블스캠프2009/금요일/SPECIALSeminar . . . . 43 matches
1. 개발 실력을 높이는 수련법?
== 개발 실력을 높이는 수련법 ==
=== 개발 실력이란 무엇인가? ===
* 개발 실력이란 무엇이라 생각하는가?
* 기능이 다 있는 간단한 코드를 만들 수 있는 능력 - 민관
* 민관 : 간단한 코드 -> 다른 사람이 이해하기 쉽게
1. 전문가와 비전문가의 차이 연구.
1. 어떤 전문가를 연구하는 것이 좋은가?
* 그 사람이 전문가인지 아닌지 객관적인 판단기준이 있는 직업. (프로그래머도 이에 속함)
* 하지만 안그러신 분이 있다 - 계속 상승곡선, outlier
* time interval이 일정 시간 이상 되면 학습이 어렵다.
* SI 업체의 경우 분석, 설계 후 Test가 다른 팀에 넘어가기도 하는 등 Feedback이 어렵다.
* 왜 이 요소들이 효력을 발휘하는가?
* 수동적이 아니라 능동적으로 신경써야(뇌가 활동해야) 학습이 잘 되기 때문. - myelin
* 민관이의 질문 - 선배님께서 생각하시는 개발 실력에서 가장 중요한 것
* 나무 판자 여러 개를 대어 만든 컵처럼 몇 가지 능력이 어우러져야 한다.
* 하지만 나무 판자와는 달리, 한 가지 특출한 능력이 있다면 컵이 담을 수 있는 물의 높이가 높아진다.
* 굉장히 중요한것 중 하나는 커뮤니케이션
* 내가 못보는걸 타인이 볼 수 있다.
* 하지만 타인에게 많이 나눠주는 것도 필요하다. - 그것을 잘한다면 자신이 타인에게 물었을 때 도움받을 수 있을 것이다.
- Basic알고리즘/63빌딩 . . . . 42 matches
{{| 문제 : 64층 (옥상포함) 중에서 사람이 떨어져 죽을 수 있는 층이 정해져 있다.
* 찾을 수 있나..;; 일단 코딩은 했는데 6번 죽어야 하던데... 알고리즘을 개선해야 하나..T.T 그런데 2의 6승이니까.. 6번죽어야 할꺼 같기도 한데..- [조현태]
* 떨어졌을때... 뭔가 떨어진 거에 대한.. 답이 나오는건가? 더 높은 층으로 가라던지, 더 낮은 층으로 가라던지.? --[(snowflower)]
* 떨어졌을 때 죽었으면 더 아래층,또는 그 층이고, 안죽었다면 더 윗층에서 죽겠죠? -아영
이 문제는 이진검색으로 풀 수 있습니다.
이진검색 이란 순서대로 (이진트리안에) 보관되어 있는 데이터를 검색하기 위해서 중간에 있는 (혹은 이진 트리의 루트에 해당하는) 값을 고른다음, 찾는 값이 그보다 크면 오른쪽으로 (값이 더 큰 쪽으로 ) 이동하고, 작으면 왼쪽으로 (값이 더 작은 쪽으로) 이동하는 방법을 의미한다. 유명한 알고리즘이므로 모르는 사람이 없으리라고 생각한다. -저자^_^
임의의 층을 17층이라고 보자.
* 16층에서 떨어져 본다. 죽지않는다. 따라서 문제의 층은 16층 보다 위에 있다. 32와 16사이에 존재하는 중앙값은 24이다.
* 24층에서 떨어져 본다. 죽는다. 따라서 24층보다 아래에 있다. 24층과 16층 중앙은 20층이다.
* 20층에서 떨어져 본다. 또 죽는다. 20층과 16층 사이에 있는 중앙은 18층이다.
그러므로 16층과 18층의 중간인 17층이 정답이다.
(이 이진검색은 2의 배수일 수록 더 쉽게 찾아진다는 말이 있네요^_^ )
Upload:이진검색.gif
18층일때는?? 18층에서 떨어져 본다. 역시 죽는다(죽기 시작하는 층이므로..). 그러나 17층에서 떨어지면 안죽는다. 그러므로 18층이 정답이다.... 이러니까 6번탐색인게 아닌가요? - [조현태]
그러고 보니, 그렇네 - 17층에서 죽느냐 안죽느냐에 따라서 그 층이 달라지는거잖아. 임의의 층이 17층이므로 17층에서는 죽어야겠네? -허아영
그렇지. 단순 바이너리 서치는 2의 n승개일때 n번의 탐색을 필요로 하니까... 이건 바이너리로는 안되.T.T - [조현태]
|| 이름 || 사용언어 || 코딩 ||
- CppStudy_2002_1 . . . . 42 matches
= 이페이지는 =
* C++의 클래스 부분을 미리 여러가지 과제들과 함께 같이 공부하는 공간입니다.
* 참여자 - 김기웅["기웅"], 신진영["AstroAngel"], 이대근["CherryBoy"], 임영동["Yggdrasil"], 홍진영
* 기간이 널럴한 만큼 과제랑 예습 해와랑~
* 시간은 칼같이 엄수 10분도 늦으면 안됨(정모가 목요일 5시에 있기 때문에..)
* 스터디할 부분의 책에 있는 소스들은 한번씩 쳐보기를 강력히 권장함. 소스칠때 생각하면서 치기, 또 만약 가능만 하다면 결과만 보고나후 책 소스 안보고 소스 스스로 짜내기(이렇게 안해도 상관 없고, 단지 하나의 방법론..)
* 먼저 매주 몇개씩의 과제가 나가면 각자 그 과제를 해오고(도우미도 해올 것임) 서로 소스를 보면서 분석이나, 비판 해보고 나서 각자 일주일 동안 공부하면서 느낀점을 구체적으로(앞으로 도움이 되도록 발전적인 방향에서, 즉 어떤 점이 잘못되어서 앞으로 어떻게 하면 잘될것 이라든가 어떤점은 잘되었는데 그이유는 어쨌다는 둥, 공부한 내용이나 학습 방법적인 면에서) 토론하기
* 그리고 도우미는 EffectiveC++ 이라는 책도 참고하면서 세미나 해줄만한거 있으면 해주거나, 특별한 부분에 대한 요청이 있을시에 해줄것임
* 그리고 뭐 사정이 허락하면 ICPC 문제나 ACM 문제 같은것도 같이 풀어 볼 수 있으면 풀어 볼지도 모릅니다.(시간이 허락하면.. ㅡㅡ;)
* 스케줄, 과제는 모이는 날짜 전까지 해야하는 것입니다. 그리고 아까 언급했듯이 이번주부터 시작입니다.
|| 다섯번째 주 || ["LinkedList/StackQueue/영동"][[BR]] ["STL/vector/CookBook"] 참고로 끝에 과제 해오기 ||영동 ||
* 참고 사이트
* 버스 시물레이션 [http://www.sbc.pe.kr/cgi-bin/board/read.cgi?board=life&y_number=17&nnew=2]
* 2번이상 도우미에게 사전 연락없이 안오면 아무런 의지도 열정도 없는걸로 간주하고 팀에서 빼겠음.
|| 7.18 || 임영동, 이대근 || 신진영(사전 연락없음), 홍진영(사전 연락 없음) ||
|| 7.25 || 임영동, 이대근, 신진영 || 홍진영(개인적 사정..) ||
|| 7.30 || 임영동, 신진영 || 이대근(집에 내려간 관계로), 홍진영, 김기웅(개인적 사정..) ||
|| 8.9 || 임영동, 이대근, 김기웅 || 신진영(아.. 까먹었다.. 뭐라고 했지.. -_-;;) ||
|| 8.19 || 임영동, 김기웅 || 이대근, 신진영 ||
* 스터디 진행하면서, 또는 과제 하면서 각자 느낀점 같은것을 적어 주세요. 느낀점을 적을때는 전에도 말했듯이 나중에 보았을때 도움이 되게 구체적으로 적어 주세요
- VonNeumannAirport . . . . 42 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) 의 문제가 있었음을 느낀다.
* load 를 발생시키는 예를 Passenger 뿐만 아니라 다른 여러가지를 둔다. ex) 여행객 가방, 컨테이너의 경우 traffic load 2, 4 를 발생시킨다.
-> 이 경우 PassengerSet 이 따로 빠져있지 않은 경우 고생하지 않을까. PassengerSet 이 빠져있다면, 가방, 컨테이너 부분들에 대해서 case 문이 복잡해질듯.
-> 이에 따라 Input 부분이 바뀌고, Input 부분이 클래스와 합쳐진 코드의 경우 더더욱 골치.
* PassengerSet Case가 여러개이고 Configuration 은 1개인 경우에 대해서. Configuration 1 : 여러 Case 에 대해 각각 출력하는 경우.
-> 역시 PassengerSet 이 따로 있어서 Configuration 과 같이 협동할 경우엔 쉽게 구현 가능. 그렇지 않은 경우 고생 예상.
* 가장 트래픽이 많이 발생하는 길을 알아낸다. - 복도에 대해서 InformationHiding.
* 복도중에서 일자형 에스컬레이터를 두어본다. - 상동.
* 지금 만든 모듈의 소스 수정없이 GUI 버전으로 재작성하기 - Input / Output 먼저 작성하는 사람들은 가장 고생.
-> Output 쪽이 따로 나누어진 경우 금방.
- ZeroPagers . . . . 42 matches
ZeroWiki 에 활동중인 ZeroPage 회원들의 개인 페이지 모음입니다. 기본 양식은 ["HomepageTemplate"] 입니다.
학부생들은 자신의 개인페이지를 현재의 계획, 관심사를 적는 등의 용도로 사용해 주세요.[[BR]]
* [이은서]
* [이민욱]
* [이승찬]
* [이길상]
* [이정재]
* [15이원준]
* [이원준]
* [이태균]
* [이승현]
* [이지수]
* [이재형]
* [이선로]
* [이민규]
* [이진규]
* [이충현]
* [이병윤]
* [이윤석]
* 이차형
- STL . . . . 40 matches
C++ 의 '표준 템플릿 라이브러리'(C++ 의 표준이다;)
C++ 의 [GenericProgramming] 기법인 Template 을 이용, container (["DataStructure"] class. 다른 언어에서의 Collection class 들에 해당) 와 [Algorithm|algorithm] 에 대해 구축해놓은 라이브러리.
=== 관련 페이지 ===
* ["STL/VectorCapacityAndReserve"] : Vector 의 Capacity 변화 추이
* ["STL/Miscellaneous"] : 특별히 위치할 곳이 없는 정보들의 페이지. 쌓여서 분리됩니다.
* ["STL/vector/CookBook"] : vector 요리책(Tutorial)
* ["STL/참고사이트"]
* [http://oopsla.snu.ac.kr/~sjjung/stl/ptr_0001.htm 컨테이너에 포인터 저장하기(문제점과 해결책)]
=== 관련 프로젝트 페이지 ===
* ["UseSTL"] : ["neocoin"] 의 프로젝트 페이지
앞으로 C++ 을 이용하는 사람중 STL 을 접해본 사람과 STL을 접해보지 않은 사람들의 차이가 어떻게 될까 한번 상상해보며. (Collection class 를 기본내장한 C++ 의 개념 이상.. 특히 STL 를 접하면서 사람들이 [GenericProgramming] 기법에 대해 익숙하게 이용할 것이라는 생각을 해본다면 더더욱.) --["1002"]
이제 컴퓨터의 속도가 빨라진 지금, C++을 느낄려면 STL을 써서 프로그래밍 해야 Compiled language 라는 느낌을 받을수 있다. --["상민"]
한 차레의 피바람이 불어 이 페이지가 태어나다.. --["neocoin"]
DeleteMe) 인수가 가진 모든 STL 페이지 ["Refactoring"] (예제가 그 자체로만으로 돌아가나 컴파일. 이모티콘과 잡담 모두 빼서, Document Mode로 만들기, 쉬운말, 쉬운 예제로 고치기) 결과 ["인수"]의 모든 STL 페이지 사라짐(피바람);;
[STL]과 같은 라이브러리를 직접 만들어보는것도 (프로젝트 형식으로 해서) 좋을 것 같네요. [GenericProgramming] 의 철학을 이해하는 데에 도움이 될 것 같고 그 안에 녹아있는 자료구조와 알고리즘을 체득할 수 있을 것 같습니다. - [임인택]
"[STL] 컨테이너는 포인터를 염두에 둬두고 설계된 것이 아니라, 객체를 담을 목적으로 설계된 자료 구조이다." 이 말을 너무 늦게 봤네요ㅠ_ㅠ 기본 데이터 타입 이외에 사용자 정의 데이터 타입(분류_[class])의 포인터를 사용하기 위해서는 상당한 노력이 필요 할것 같습니다. 혹시 쉬운 방법은 없나요? - [이승한]
"사용자 정의 데이터 타입의 포인터를 사용하기 위해서는 상당한 노력이 필요할 것 같습니다" - 어떤 뜻인지? 힘들었던 예를 코드로 써주면 더 명확할 듯.~ --[1002]
- 데블스캠프2003/다루어볼문제와관련세미나 . . . . 40 matches
* 그럼 STL 내가 할래.--; 다른 사람보다 조금이나마 잘한다고 생각하는게 이것밖에 없어서..--; --[인수]
입장을 바꿔서 생각해보세요. 과연 1학년때 큰 프로그램을 짜라고 하면 짤 수 있을지... 선배들과 짠다고 하면 선배들이 대부분 짜버리는 부정적인 결과가 나올지도 모를것 같습니다. 페어를 통해 배우는게 많기는 하겠지만 이제 막 ToyProblems 에 재미를 붙일 사람들인데 너무 목표를 크게 잡고 있는 것은 아닌지요... 아마도 제가 큰프로그램에 대해 잘 몰라서 이런 말을 하는 것 같습니다. 큰 프로그램에 대한 명확한 설명을 바랍니다. --[창섭]
큰 프로그램이라고 말은 해 봤자 선배님들이 풀면 4~5시간이면 풀어버릴 문제가 될꺼 같습니다. 휴대폰 메뉴 만들기나 PDA기능 만들기 등 이런 조그만 프로그램을 묶어놓는 프로그램을 하면서 OOP를 조금이나마 느껴보라는 차원에서 하는 것입니다. 물론 같이 페어를 하는 선배님들은 정말 기초적인 것만 알려주는 식이고요 그 팀을 이끌어 가서는 안되겠죠? ^^; -[상욱]
* ToyProblems 와같은 식이면 좋을것 같은데요. 1학년 텀프로젝트가 있는데 그것 하나만 가지고도 SP, OOP 등의 프로그래밍철학과, STL 등을 다루기에 좋을것 같습니다. ([http://zeropage.org/pds/200361434244/2003C++TrmPrjSpec.ppt spec]) SP 와 OOP 는.. 누가할지.. 맡게되면 고생을할수도 있겠군요. 아래 JuNe 선배님의 CSP 나.. Tuple Space (전에 P2P 관련 문서에서 본것같은 기억이..-_-a ) 등과는 약간 맞지 않을수도 있겠지만요. (그것은 다른 도메인의 문제와 다루는게 좋을듯합니다) - [임인택]
* 지나가다 잠시 말씀 드릴까 합니다. 아직 oop개념이나 프로그램 모듈화에 대해서 개념이 없는 분들에게 STL같은 것을 가르친다는 것은 약간 문제가 있지 않을까요? oop개념을 가르쳐도 구현 같이 base적인 경험이 없이 단지 가져다 쓰는것을 먼저 배우면 좋지 않을 것 같습니다. 1학년 분들 숙제 하는 것을 보니 모듈화 같은것을 가르쳐도 좋을 것 같은데. 많은 것을 가르치려고 하시는 것은 좋으나 능력에 적절하게 가르치는 것도 맞는 것 같군요. STL 같은 걸 가르치는 건 그 다음이 되었으면 좋겠구요.. 내부사정을 잘 모르니 틀리다 싶은 말이면 걍 흘려보내세요. 지우셔도 상관 없구요. ^^ - 00 나현철
* 네. 현철이형 그래서 제가 생각한게 일단 동적 배열의 확실한 이해와, 링크드 리스트를 구현해보게 한다음에, 이들 지식의 선행으로 STL을 가르치려 하려구 그랬거든요. 위 두가지만 확실히 이해할 수 있다면 STL의 기본적인 (vector나 list같은) 것은 가르쳐도 무방하다고 생각합니다. --[인수]
* 저는 STL 같은 것은 그냥 할수 있을 만큼 사용할줄만 알면 되다고 생각합니다. Library 가 제공하는 것은 우리에게 좀더 고차원적인 사고에 전념할수 있는 것이 겠지요. 배열의 길이에 신경쓰지 않는 것만으로, C++에서 얼마나 무한한 사고가 가능할까요? 학교 교제는 C++을 가르치는 것이 아니라, C에다 어떻게 충돌을 일으키지 않고 문법을 추가시켜 C++이 되었는가를 가르치기 때문에 이런 기회는 필요 할것 같습니다. 아마 궁금한 사람은 STL의 소스를 보겠지요. 사족으로 STL은 OOP보다 Generic Programming의 관점에서 구현되 었습니다. --NeoCoin
* 도큐먼트나 튜토리얼을 이용하는 방법을 알려주는 것도 괜찮은 것 같습니다. 새내기들에게 MSDN 에서 검색을 하는 것을 알려줬더니 단지 영어라는 이유로 겁부터 먹고 사용을 못하더군요. 어떠한 주제를 던져주고 이러한 것들을 스스로 찾아서 사용하는 방법을 알려주는 것도 스스로 공부를 해 나가는데 있어서 좋은 경험이 되지 않을까 합니다. -- [상욱]
* 세미나 기간 중에 하루 "Parellel/Distributed Computing for Dummies"를 해드릴 수 있습니다. CSP와 Tuple Space 등을 다루게 될 것 같습니다. 학생들은 서너명씩 팀을 이루어 수십대의 컴퓨터를 동원 어떤 문제를 해결하는 경이적인 체험을 하게 될 것입니다. --JuNe
- 정확히 언제 해주실수 있는지 알려주실수 있을까요? 일정변경이 필요할것 같아서요. - [임인택]
시간이 촉박하지만 준비 열심히 해 놓겠습니다. 좋은 경험이 되거 같군요^^; -[상욱]
- 정모/2012.2.24 . . . . 40 matches
* 참가자 : [이승한], [김준석], [변형진], [송지원], [김수경], [서지혜], [강성현], [권순의], [정종록], [서민관], [황현], [고한종], [김태진], [이민규], [이진규]
* JCO에 다녀온 사람들의 이런 저런 후기
== 송지원 학우의 '나는 신입사원이다' ==
* 요즘 뭐 하고 사는지 + 필드는 이렇다
== 이승한 선배의 GUI ==
* GUI란 대략 이런 겁니다. -ㅅ-
* 프린터 1대 이상, 2대 토너 필요
* 컴퓨터 본체넣는 케이스 바퀴 수리 - 15개가량
* 오랜만에 지원이누나를 다시 보는데다 승한선배가 오신다기에 급하게나마 2월 회고를 위한 정리를 진행했어요. 는 지원이누나가 정모가 잘 진행되고 있는거 같아서 좋다고 하기에 안도. ㅎㅎㅎㅎ 회고에서는 아무래도 단추공장 조가 가장 큰 인기를 끌었던거 같네요. Agile Korea가서 제대로 건져와서 써먹네요. ㅋㅋ GUI는 요새 제가 동네 리뉴얼하면서 (실제로 난 별로 안하는거같기도..) MVC패턴이나 View부분에 신경을 많이 쓰다보니 와닿는점이 참 많았어요. 승한선배가 좀 더 깊이 설명해주셨다면 좋았을텐데...라는 생각이 좀 들긴했지만요. 성현이형의 OMS도 엄청나서 (도쿄라니!) 전반적으로 정말 즐거운 정모였던거 같아요 - [김태진]
* 신입생들 대상으로 하는 얘기 맞지? 새싹 OT 하는 날 합쳐서 간단한 소개는 필요하지 않을까? 따로 하는 건 좀 오버인거 같구 ㅋㅋ 주로 새싹 소개하면서 ZeroPage 설명부터 하고 시작했던 것 같아. 그리고 간단한 세미나(혹은 새내기에게 하고싶은 말 세션) 같은 것도 함께 했던 적이 많고. - [김수경]
* 작은 OMS 이야기라는 드립으로 시작한 OMS.. 준비한다고 시간 좀 끌었는데 들어보니 시간 끌 만 했다는 생각이 들었습니다. 재미있었어요! 여행을 거의 다녀본 적이 없어 간접경험삼아 열심히 들었네요ㅋㅋㅋㅋ ''그나저나 오늘 인터넷하다가 도쿄 역 방사능 수치가 4.88 마이크로 시버트라는 글을 어디서 봤는데..............''
* 오랜만에 사회인 ZeroPager 두 분을 만나 즐거웠습니다! 치킨 감사합니다... 덕분에 ~~또~~ 폭식을 했습니다.....^_T 지원언니의 신입사원 연수 이야기 재미있었어요. 아직 취직을 하지 않았지만 가까운 미래에 취직을 해야할 상황이라 제겐 특히 더 와닿는 이야기가 아니었나 싶습니다. 승한선배의 GUI 세미나도 잘 들었습니다. 유행하는 것과 유행하지 않는 것에 대한 이야기가 가장 인상깊었어요. 작년에 [:DesignPatterns/2011년스터디 DP 스터디]를 시작하며 읽었던 FocusOnFundamentals 페이지가 생각납니다.
* 정모 이야기는 아니지만 PC실 정비 도와주고 싶었는데 그 날 Google Hackathon 본 행사가 있는 날이라 참석을 못했습니다ㅠㅠ
* 아, 그리고 회고 진행될 때 느낀 건데 올해 회장 태진이가 확실히 세심하게 준비하는 면이 있어 좋아요. 지난 일년간 정모를 준비할 때 (후반에는 사실 뭔가 잘 준비를 못한 적이 많았고....) 초반에 열심히 준비할 때에도 세세한 부분은 신경쓰지 못한 게 많았거든요. 완벽한 ZeroPage보다는 항상 더 나아가는 ZeroPage가 바람직하다고 생각하는데 올해 ZeroPage가 작년보다 더 나은 ZeroPage가 될 수 있겠다는 생각이 들어 기뻤습니다. 회장 태진이도 그렇고, 방학인데도 열심히 정모에 참석하고 또 회고를 손 들어 이야기하는 방식으로 진행했는데도 적극적으로 참여하는 ZeroPager의 모습이 정말 보기 좋았습니다 :) - [김수경]
* 개강 앞두고 피시실 관리와 새내기등 신경쓸일 많은 와중에도 정모 열심히 준비하는 회장님 존경. 이전 ZeroPage가 했던 고민을 다시 하고 계신듯 하여 (훌륭한 세미나나 일용할 양식같은 물질적 도움은 못하지만) 도움을 드리고 싶네요. 그렇다고 결과가 특별히 좋았던건 아니라 망설여지기도 하고.. 커피나 한잔 할까요 회장님- - [서지혜]
* 언제쯤 시간되시나요? 젠장 내일모레가 개강이네요. - [서지혜]
* 근데 개강날은 새터가는 날이지요...ㅜㅠ -[김태진]
- 2006신입생/방명록 . . . . 39 matches
여기를 다녀가시는 분은 간단한 메모와 학번, 이름 남겨주세요~
- 06 이강희 입니다; 이거 뭐 어떻게 하는거예요-ㅁ- 가입시켜줘요 ㅠ0ㅠ
- 06학번 안택수입니다. 아직 가입을 받는 기간이 아닌 듯 하네요 -ㅜ-;;
-06학번 이경록 입니다~^^;;오늘 설명회 잘 봤구요~ 저녘 감사했어요~ ㅎㅎ
- 용욱이 ㅎㅎ 그래그래^^ 누나 위키페이지에도 놀러와~ - [허아영]
-이자리 월세20원에 팝니다 잠만 자고 가실분만..
- 06학번 김준석입니다~~ 제로페이지 가입신청해써요~
- 옹~ 준석이 ~ 잘 지내보자그~~ - [허아영]
-어제 분명 가입신청하고 잤는데.. 오늘 일어나서 보니.. 내이름이 지워졌네.. 헐..~ -준영-
- 준영아--;; 누가 지웠나봐 ㅋㅋ 다시 신청해 줄래요? 아영이가 할까?^^;; - [허아영]
내위에 준영이 저주하겟다. 뼈 빠지게 10분동안 적을걸 단 10글자로 동시수정을 일으켜 날려버리다니 ㅠㅠ
-에효 ㅋㅋ이제 가입하게 되네ㅋ 설명회 많이 가고 싶었는데 ㅠ_ㅠ 갑자기 일이 꼬이다니..
어쨌든 가입!! ㅋ그런데 위키는 하나도 모르겠다.. ㅠ_ㅠ 선배들한테 배워야 될게 넘 많은거 같은 기분이.. ㅋ_ㅋ - 차형 -
- 오 차형아!! 다음에 제로페이지 선배님들께 첨삭 받으렴~ 쉽고 재밌단다! ㅎ - [허아영]
안녕하세요^^ 이제야 여기에 글을 남긴다는...ㅎ테러하는 경록이따라 오겠ㅤㄷㅚㅆ다는...;;쿨럭 에고.. 괜히 튈려고 옆에다(Specialist) 써놓으려고 했지만.....
시선이 따가우므로..ㅎㅎ
-06학번 송지원입니다.사정이 있어 설명회는 듣지 못했지만 위에 이름과 연락처 남기고 갑니다. 잘 부탁드립니다.
-아발이 돈 좀 뿌렸나보네^^ㅋㅋ - [http://165.194.17.5/zero/?url=celfin&sessionId=celfin&sessionName=하기웅 하기웅]
-누가 방명록좀 정리해 주세요-_-...;; 이 페이지의 분류는 어떻게 해야 할까요??
-정리 한다고 제가 좀 정리를 했지만 그래도 지저분한 모양이..ㅡㅡ;; 그러고 임의로 제가 정리 한거 기분 나쁘신 분들 죄송합니다^^; - [송수생]
- GameProgrammingGems . . . . 39 matches
위의 Game Programming Gems는 게임에 쓰이는 전반적인 알고리즘(2D, 3D, AI(길찾기 포함))들을 전반적으로 대부분 다루어 놓고 얼마나 효율적인 프로그래밍을 할 수 있고 어떻게 해야 가능한 가를 보여주는 책이 되겠다. [[BR]]
이 책은 원서도 있고 한서도 있다. 번역 수준은 탁 봤을 때 괜찮은 수준.... 책값이 없는 관계로(솔직히 영어 수준이 떨어지므로) 한서를 선택해서 읽고 있다 [[BR]]
이 책의 저자는 수십 명이다. 10명 정도는 알고 있어도 수십 명이 지은 책은 처음 일 것이다.... 나도 그렇다 ^_^; 이 책은 수십 명의 게임 프로그래머들이 자신의 노하우를 적어놓은 책이라고 하는 편이 정확하다. 즉 정보의 공유를 주장하면서 만든 책이 된다. 물론 자신이 열심히 만든 소스를 그냥 공개하자~ 라는 것은 아니다(그래주면 고맙겠다 -.-) 허나 자신은 어떤 알고리즘으로 구현했다던가, 혹은 VC++과 다이렉트 엑스를 사용할 때는 어떻게 하면 어떤 환경에서 구현하면 좋다던가 하는 건 알려주면 고맙겠지? 이 책은 그런 목적으로 쓰여진 책이 되겠다.
== 왜 이런 짓을 하는가? ==
솔직히 이렇게 장황하게 써 놨지만 언제 책을 다 볼 수 있을 지 미지수다(.... 너무 어렵다 T_T) 일단 6개월동안 책 2권 다 보기다 -_-; 그리고 이렇게라도 선언해 놓지 않으면 영영 책 사놓고 끝까지 안보게 될 듯 싶어서 ZP 위키에 이렇게 글을 올리게 되었다. =_=; 간간히 요약하여 게임을 제작하려는 자들(.... 필자도 포함 -_-V)에게 조금이나마 도움이 되면 좋겠다는 생각이 든다....
물론 책 다보기다 -.- 그러나 그걸로는 조금 부족하고.... 상걸고 게임 대 잔치(.... 이미 한게임에서 하고 있다 -_-)등에 출전하여 당당하게 상 따보자.... 라는 것이다.... -_-; 현재 필자는 직업을 가져서 조금 힘들지 모르지만 .... 필자가 이르노니 해보고 후회하는 게 낫기 때문에.... 이런 미친 프로젝트를 계획하고 있다. -_-V
일단 책 순서대로 할 것이다.... 만 필자의 주특기중 하나는 모르는 부분 술렁술렁 넘기기가 있다 --V 그러니 필자가 잘 모르는 부분은 대충대충 설명하고 끝낼 것이다. 우헤우헤 .... 이것이 바로 주체측의 농간이라는 것이다 -_-; 그리고 업데도 그렇게 기대하지 말자 --; 필자는 직업인데다가 바쁘다 -.-
["데이터주도적기법의마법"]
1. 권국이 형이에요? --상민 [[BR]]
- AsemblC++ . . . . 38 matches
C 프로젝트로 빌드로 생성된 .exe파일에서 어셈블 코드를 찾아내고 그 효율성과 다른 각 IDE들의 차이점을 찾아보려는 의도로 만들어진 페이지.
MASM의 어셈블 코드를 [VisualStudio]에서 들여다 보는것 처럼 드래그하면 되는걸로 쉽게 생각했지만 그게 아니었다. VS를 너무 호락호락하게 본것 같다. 불가능 한것은 아니어 보이는데 쉬워보이지는 않는다.
그렇다면 [i++VS++i]에서 최적화된 i++ 어셈블 코드에 관한 이야기, 연산자 오버로딩에 있어서 후치연산자++ 의 용도에 관한 이야기들은 어떻게 해서 나오게 된것인지 궁금합니다.
[i++VS++i]를 시작한 사람이 접니다^^ 그걸 보고 관심을 갖는 사람이 있다니 반갑군요~ 혹시 누구신지요? --[상규]
이해를 돕기 위해 [i++VS++i]에서 i++ 등의 어셈블리 코드를 어떻게 얻었는지를 설명해 드리겠습니다.
결론부터 말을 하자면 .exe 파일에서 어셈블리 코드를 얻어낸 것이 아닙니다. 물론 그것도 가능하지만 매우 어렵죠.
그렇다면 다른 방법이 있다는 건데... 바로 컴파일러에 어셈블리 코드를 얻어내는 기능이 있습니다.
요즘 컴파일러들은 컴파일을 하면 오브젝트 파일(.obj)을 생성합니다. 이것은 소스를 해석해서 만들어낸 기계어 코드입니다.
어셈블리 코드는 기계어와 거의 같다고 봐도 무방하기 때문에 컴파일러의 출력 형식의 차이 정도라고 보시면 되겠습니다.
(생성된 어셈블리 코드를 어셈블러에 넣으면 오브젝트 파일이 나오게 됩니다.)
이렇게 얻은 어셈블리 코드는 모든 최적화 과정이 끝난 상태이기 때문에 .exe 파일로 만들어질 때 까지 변형되지 않습니다.
그렇기 때문에 굳이 어려운 방법을 통해 .exe 파일에서 어셈블리 코드를 얻어낼 필요가 없는 것이죠. --[상규]
MS의 C/C++ 컴파일러에서 어셈블리 코드를 얻는 옵션은 /FA 입니다.
이 옵션을 붙여 컴파일을 하면 .obj 파일 뿐 아니라 .asm 파일도 만들어집니다.
C/C++ 코드와 해당되는 어셈블리 코드를 비교하며 보고 싶다면 /FAs 옵션을 붙여보세요.
차이점은 설명하기가 귀찮네요-_-; 직접 해보시고 차이점을 알아보시길... --[상규]
== 어셈블을 이용한 [고급언어디버깅] ==
어셈블 코드들을 쉽게 보여준다면 프로그램의 보안 문제에도 직접적으로 연관이 되는 군요. 수정에 관한 보안장치도 있을 것이고요. 패리티 같은 단순한 보안장치일지라도 코드의 무결성을 지키면서 어셈블을 수정하기란 쉬워 보이지 않네요. - 톱아보다
.exe 파일에 대한 어셈블리 코드는 역어셈블러(아래 상협이가 말한 softice와 같은 프로그램)만 있으면 쉽게 얻을 수 있습니다. 수정에 관한 보안장치도 전혀 없구요. 하지만 .exe 파일에 대한 어셈블리 코드는 분석하거나 수정하는것 자체가 거의 불가능할 정도로 어렵습니다. 이유는... 시간이 없어서 나중에 쓰도록 하죠-_-; --[상규]
처음에는 그냥 얼마나, 어떤식으로 컴파일러에 의해서 코드가 최적화되고 [IDE]의 버전과 종류에 따라서 어떤 차이가 존재할까 라는 단순한 물음이었지만, 지금 보니 그렇게 코드를 파해치고 분석하는게 해킹이고 크래킹 인것 같기도 합니다;; - [톱아보다]
- VendingMachine/재니 . . . . 38 matches
= 작성자의 페이지 =
* 먼저 자판기(VendingMachine)이 필요할 것이고,
* 주문하는 사람(Man)도 있어야 할 것이다..
* 자판기는 사용자 인터페이스를 구현하는데 사용하고, 사람이 주문할 음료(Drink)를 따로 분류하자..
* 그러면 주문을 할 때 돈이 필요하니까 돈을 세는 계수기 비슷한 것(CoinCounter)도 필요할 것 같다..^^
이정도면 클래스를 나누는 것은 끝난 것 같으니깐 각각의 객체(클래스)에 필요한 역할을 나누어보자..^^
* 그리고 사람은 메뉴를 보고 각 메뉴에 알맞은 명령을 내릴 수 있어야 할것이고...
그리고 사람이 주문을 했을 때 주문받은 상품의 가격에 비해 잔액이 충분한지 확인 하는 것 하구..... / 계수기[[BR]]
또 주문받은 상품이 남아있는지도 체크해야 될꺼야!!^^[[BR]]
이 두가지 조건에 만족할 때에는 주문한 상품을 내줄 수 있어야 하겠고, 이 때 상품의 수량을 갱신해야겠지!^^[[BR]]
* 흠.. 그리고 계수기의 역할을 한번 볼까? 이녀석은 먼저 잔액을 기억해서 보여주어야 할 것이고..[[BR]]
사람이 투입한 돈이 형식에 맞는지(10,50,100,500,1000원) 확인해서 잔액을 늘려주어야 할 것이고,[[BR]]
사람이 돈의 반환을 요구하면 돈을 꺼내주고 잔액을 초기화 할 수 있어야 하겠지?^^[[BR]]
가만있자.. 이거면 역할 분담은 대충 끝난 셈인가?^^ 그럼 한번 코딩을 해볼까?^^*
strcpy(detail[0].name, "사이다");
cout << "잔액이 부족합니다.n";
* 클래스를 너무 많이 만들어서 괜히 복잡해졌다는 재동이 형의 지적을 받았습니다.[[BR]]
아직 클래스 사용법도 제대로 모르는지라 서툴기도 하고.. 결론은 역시 공부해야할 것이 많다는 것...^^
배우는 게 많아질수록 코드가 조금씩 복잡해져서 나중에는 못 알아볼지도 모르는 생각이 드는군요..^^
* 이번엔 프로그램 설계를 한글로 했지만 영어로 해보고 싶은 욕심이 생기네엽..^^[[BR]]
- ProgrammingPearls/Column1 . . . . 37 matches
대부분의 언어에는 소트가 이미 구현되어 있다. 그런데 꼭 새로운 나만의 소트를 만들어야 될때가 있다. 레코드가 한 천만개쯤 된다고 하자.이것을 우리가 알고 있는 버블소트, 퀵소트 같은 것으로 하기에는 메모리가 많이 든다. 32bit(4byte)의 정수라고 한다면, 40메가바이트가 필요하다. 하지만 어떤 작업을 할때에, 우리가 소트에 할당할 수 있는 공간은 1메가 남짓이라고 가정하자. 시간이 많이 걸려서도 안된다. 어떻게 해야 할 것인가? 이 레코드들은 7자리 전화번호이기 때문에 같은 것이 없다고 한다.
* 입력 : 많아 봐야 n개의 정수. 각각의 n은 천만보다 작다. 똑같은 숫자가 두번이상 나오면 안된다. 그 숫자랑 관련된 데이터가 없다.
* 제한 : 메모리를 1메가 정도밖에 사용할 수 없음. 디스크 공간 넉넉함. 수행시간이 수분을 넘으면 안됨. 10초 정도면 괜찮음.
첨에는 머지 소트를 했었는데 버렸다. 다른 방법으로는, 각각의 숫자를 4byte로 표현하면 현재 메모리에 250,000개를 담을 수 있다. 250000개를 소트하고, 또 250,000개 읽고... 이걸 40번 하는 거다. 머지 소트는 중간 작업 파일에의 엑세스가 자주 일어나고, 두번째 방법은 입력을 40번을 받아야 한다는게 문제다. 이것 두가지의 장점을 잘 조합해서 입력은 한번, 중간 작업 파일이 없게는 할 수 없을까?
비트맵, 혹은 비트 벡터라 불리우는 방법이 유용할듯 싶다. 예를 들어 맥시멈 10미만의 숫자라 할때에, {1,2,3,5,8}을 표현해 보면, (0 1 1 1 0 1 0 0 1 1)이 된다. 있으면 1, 없으면 0인 것이다. 한 숫자당 1비트만 할당을 해서, 그것의 인덱스로 처리를 하는 것이다. 앞에서도 말했듯이, 미니멈과 맥시멈의 너비가 작고, 같은 숫자가 없으며, 관련된 데이터가 없다는 측면에서 이 방법을 쓸 수 있는 것이다. 대강의 코드는 다음과 같다.
이것의 수행시간은 Θ(n)이다. 이 챕터는 문제를 주의 깊게 분석하다 보면, 가끔 엄청난 이득을 가져다 줄때가 있다는 교훈을 주고 있다. 문제 정의는 문제 풀이의 90프로다. 일반적으로 많은 공간을 사용하면 적은 시간이 소요된다고 한다. 그런데 비트맵 소트는 시간도 줄고, 공간도 줄어들었따. 적은 데이터를 다루는 것은, 그것을 수행하는 데에 더 적은 시간이 든다는 것이다. 그리고 데이터를 디스크에 두기 보다는 메모리 상에 두는 것이 디스크 액세스 같은 시간 걸리는 일을 줄일 수가 있는 것이다. 프로그램을 간단하게 짜자. 유지보수도 쉽고, 견고할 것이다.
- 문자반대출력/허아영 . . . . 37 matches
*(pCh+lenstr-i-1) = temp[i]; 이 부분에서 자꾸
*(pCh+lenstr-i) = temp[i]; 이렇게 코딩해서, 컴파일은 되는데, 결과물이 안나와서 답답했었다.
그리고 char 함수를 처음 사용해서. 처음에 에러도 많이 났다.
한글문자열을 반대로 출력하는 알고리즘이 떠오르지 않는다.
많이 고민중... +_+
리펙토링이 필요하다.
단점: 한글과 영어를 섞어서 사용 못한다는 점. 영어와 한글을 섞을 수 있는 ver.3 만드는 것이 문제.
//cpp1.cpp
//cpp2.cpp
//cpp.h
한글로된 문자열을 입력 했을 때 다른 결과가 나온다. 예를들어 최경현 이란 문자를 입력하면 置麗零 이렇게 나와 .... 내가 만든거도 이렇게 나온다 마찬가지 ..ㅠ.ㅠ --[최경현]
좋은 발견입니다. 한글 한 글자는 알파벳(1바이트)과 달리 2바이트입니다. 따라서 위 코드와 같이 해주면 영어와 같은 알파벳은 거꾸로 출력되지만 한글은 아예 문자열이 바뀌게 됩니다. 한글같은 2바이트 확장문자도 반대로 출력되게 구현을 한번 해보세요. - 보창
비베에서는 한글이나 일본어처럼 2바이트를 사용하는 글자의 경우 알아서-_- 판단하고 한 글자 단위로 읽는 함수가 있긴 한데 씨에서는 알파벳과 같은 1바이트 문자인지 아니면 2바이트 문자인지를 어떻게 구분해야 할까요? -태훈 [zyint]
ascii code를 봐서 MSB ( most significant bit)가 1 이면 아마.. 2바이트문자일 겁니다.. - 임인택
한글로 해봤었는데, 이 프로그램은 영어만 되나, 하고 생각했었습니다. MSB를 이용하면 되겠군요. MSB에 대한 자세한 설명이 필요합니다. --아영
MSB는 비트로 표현된 값에서 가장 중요한 요인이 되는 값을 말합니다. 가령 10001000 이라는 값이 있을때 가장 왼쪽에 있는 1이 MSB입니다. 마찬가지로 가장 왼쪽에 있는 0을 LSB (Least Significant Bit)라고 합니다. 지금 설명드린 내용은 BigEndian Machine 의 경우, 즉, 비트를 왼쪽에서 오른쪽으로 읽는 아키텍처에서의 MSB, LSB를 설명드린 것이고, LittleEndian (비트를 오른쪽에서 왼쪽으로 읽는) 아키텍처에서는 LSB와 MSB가 바뀌어야겠죠. 현대의 거의 모든 아키텍처에서 영문은 ascii 코드로 표현합니다. ascii코드의 값은 0~127인데 이를 8비트 2의 보수를 사용해서 표현하면 MSB가 모두 0 이 됩니다. 이 경우에는 해당 문자가 1바이트의 문자란 것을 뜻하고, MSB가 1인 경우에는 뒤에 부가적인 정보가 더 온다 (죽, 이 문자는 2바이트 문자이다)라는 것을 말합니다.
- OurMajorLangIsCAndCPlusPlus/float.h . . . . 36 matches
||FLT_EPSILON ||1.0과 더했을 때 float형으로 1.0이 되지 않을 최소의 값 ||1.192092896e–07F ||
||DBL_EPSILON ||1.0과 더했을 때 double형으로 1.0이 되지 않을 최소의 값 ||2.2204460492503131e–016 ||
||LDBL_EPSILON ||1.0과 더했을 때 long double형으로 1.0이 되지 않을 최소의 값 ||2.2204460492503131e–016 ||
float형에서 유효숫자의 최소개수. 이 매크로의 값은 ANSI C에서, 적어도 6으로 지원되고 있다.
1. 0 + FLT_EPSILON != 1. 0이 참인 float형의 플로팅 포인트 수의 최소 양의 수이다. 1E-5보다 크지 않다.
float형에서 가수부를 표현하는데 사용되는 비트수. 다음 표현식은 가수부 숫자들의 제한된 수 때문에 1. 0이 나온다(수학적으로는 그것이 될 수 없을 지라도):
이 매크로의 값은 float형이 표현할 수 있는 최대 수를 의미한다. 이것은 적어도 1E+37이 된다. 값 자체도 float형을 갖는다. 표현 가능한 가장 작은 수는 -FLT_MAX가 된다.
이 매크로의 값은 float형이 표현할 수 있는 표준화된 양의 플로팅 포인트 수의 최소값. 그 값은 1E-37보다 크지 않다.
이것은 float형을 위해서 가능한 지수값으로 가장 작은 값이다. 더 자세하게는, FLT_RADIX에서 1을 뺀 값이 float형으로써 일반화된 플로팅 포인트 수로써 표현될 수 있는 최소 음의 정수이다.
지수부의 최소범위. -37이거나 그보다 적다.
float이 표현할 수 있는 지수의 최대값.
float형에서 베이스가 10일 때 표현할 수 있는 지수의 최대값. 이것은 적어도 37이다.
이것은 지수부의 베이스(base) 또는 기수(radix)의 값이다. 이것은 이 절에 설명된 다른 매크로와는 달리 상수 표현식임이 보장된다. IBM 360과 그곳에서 파생된 제품을 제외하고는 모든 기계에서 2로 되어있다.
이 값은 반올림 형식을 지정하는 값이다. 다음 값은 표준 반올림 모드를 나타낸다.
이 이외의 값은 기계_의존적인 비표준 반올림 모드를 나타낸다. 대부분의 기계에서, 그 값은 IEEE 표준에 따라서 1로 되어있다. 다음은 FLT_ROUNDS의 값에 따라서 값들이 어떻게 변하는지를 보여주는 테이블이다,
- 새싹교실/2011/Pixar/4월 . . . . 36 matches
* 차도선이군요 - [서지혜]
=== 이승열 ===
* ㅠㅠㅠ별찍기를 배웠습니다. 감자칩은 맛있었습니다. 하지만 별찍기는 어려웠습니다. ㅠㅠ 숙제도 있지만 해올 자신이 없습니다. 1, 2, 3 개 순서대로 찍는거, 5개 다찍는거는 그럭저럭 할만했는데 휴............ 너무어려웠어요. 승열이랑 둘이배워서 진짜 과외같이배웠어요. 사실 C를 빨리빨리 배우고싶어서 매일매일 새싹으로 1달만에 C를 자유자재로 다루고싶어요 누낰ㅋㅋㅋㅋㅋㅋ 진도따위버리고 엄청빨리배우고싶어요 사실 ㅎㅎㅎ 제가 머리가 좀 나빠서 많이 틀리고 늦게늦게 이해했는데 이해해주셔서 감사해요 누낰ㅋㅋㅋ 창설만아니면 더 오래해도 되니까 누나 오래하는거 누나만 안힘드시다면.........ㅋㅋㅋㅋㅋㅋㅋㅋ 빨리빨리배우고싶어요 ㅋㅋㅋ 승열이가 프링글스먹고싶대요 옆에서 저는 절대 아무말 안했습니다 B)
상준이 잘 다녀와
=== 이승열 ===
* 오늘은 목요일에 안해서 좀 많이했다! if제어문과 for 제어문에 대해서 배웠다. 별찍기도 배웠다 흑흑 너무어려워요 문제내시면 마추어보고 서로 고쳐보는등 실습위주로 재밌게 수업했다. 많은것을 배울수 있어서 좋았다..ㅋㅋㅋ.. 숙제도 있으니 복습하는겸 열심히 해야겠다. 누나 프링글스 먹구싶어요. ..
두번이나빠지다니.. 광운이실망이야
* 수경이 쓴거야?;; - [서지혜]
1. 별찍기를 처음엔 혼자 짜보게 했다가 짝으로 함께 짜보도록 했습니다. 코딩에 참여한 새내기들은 어떻게 생각할 지 모르겠는데 관찰하는 제가 보기엔 짝으로 구현하게 하니 혼자 짤 때보다 더 나은 점이 많아보였습니다. ''컴퓨터가 꺼지려고 해서 일단 저장해요ㅜㅜ''
=== 이승열 ===
* 누나 숙제를 안해와서 정말정말정말정말정말죄송합니다 ㅠㅠ 우으어 C는 넘어려워요........ 구구단이랑 n*n개 짜는건 잘 했는데 그다음에 빈칸남기는건 잘안되네요 ㅠㅠ while문하구 switch 배우고 C숙제 다시점검했는데 배우는건 되게 잘한거같아요 ㅋㅎㅋㅎ 누나 내일도 많이배웠으면 좋겠어요~~~~~~~~~~~~~~~~~~ [김연석]
* 누나 솔찍히 어제 시험끝났다고 늦게자고와서 오늘 너무 피곤한상태에서 했어서 집중도못하고 죄송해요 ㅠㅠ. 레몬에이드 제가젤좋아하는건데 누나 짱맛있었어요. 오늘 함수를 배웠는데 시험전에 혼자 공부해놨던게있었는데 그거때매 우쭐해서 솔직히 오늘 좀 건방졌던거같아요 죄송해요 ㅠ-ㅠ . 전역변수 지역변수 그게 솔직히 아직도 엄청 잘은 이해가 안되요 누나. 더많이배우고싶어요 누나 ㅋㅋㅋ . 누나 저 마에스트로 그거 어떻게쓸지 감이안와요..ㅠ.ㅠ.ㅠ.ㅠ.ㅠ
시험을다본 다음날이라서 피곤하고 집중이덜되는 날이었습니다.
오늘은 함수를 배웟고 재귀를 쓰는법을 배웟는데 재귀는 쫌 많이 어려웠어요
아직씨를 반도배우지 않았는데 가면갈수록 어려워져 걱정이 많습니다.
=== 이승열 ===
저번에 빠져서 처음에 좀 이해못하기도했는데 오늘도 잘이해했다. 복습 열심히 해야겠다. ㅋㅋㅋ 시험 못봐서 죄송합니당 ㅋㅋㅋㅋㅋㅋㅋㅋ
재귀는 듣는 순간은 이해했는데 지금 생각해보니 잘 모르겟다.
변수는 이렇게 많은 기능이 있는지는 몰랏다. 헷갈리긴 하지만 유용할거같다.
- 제로페이지는 . . . . 36 matches
'''제로페이지는 ... 이다.'''
* 제로페이지를 설명해보자. 제로페이지(ZeroPage)페이지에 기록된 소개글은 소수의 머리에서 나온것일 뿐이다. 공통의 합의를 도출해 보고 싶다. 도대체 제로페이지의 정체는 무엇인가.
* 제로페이지는.. 학회..를 가장한.. 친목모임?? 은 아닌것 같구요 혼자서 하면 의지가 무너질것 같은 일들을 같이 해줄수 있는곳... --선호
* ["제로페이지는"] 중앙대학교 컴퓨터공학과의 정학회가 되면 좋겠고, 학생들간 컴퓨터공학에 관련한 학술적 정보를 효율적인 동시에 자유롭게 교류할 수 있는 시스템이 되면 좋겠다. --류상민
* ''현재로써의 제로페이지는(개인적 바램을 제외하고 말한다면) 중앙대학교 컴퓨터공학과 내의 전공 관련 학술모임으로 과내 활동단체 중 하나이다.'' 맞을까요? ^^;; 제로페이지의 역할보다는 무엇인지라는 것에 입각했습니다.--창섭
* ["즐거운공부"] 를 하고 싶어하는 사람들이 모일 수 있는 자리였으면 하네요 --["1002"][[BR]][[BR]]
* ["제로페이지는"] 우선 중대 컴공이라는 이름하에 지원을 받으며 지도 교수가 먼저 생겨야 한다. 좀 주제와는 떨어진 얘기 였지만 나로선 이게 우선시 되어야 할것 같다. 이름은 있되. 실체가 없는 듯 하다란 느낌이다. --["erunc0"]
* 제로페이지는 중대 컴공이라는 이름하에 지원을 받으며 지도 교수님(이찬근 교수님)이 함께 하고 계십니다. -[김태진]
* ["제로페이지는"] ["제로페이지의장점"] 때문에 제로페이지이다. 그 장점을 살려나가야 한다.
* ["제로페이지는"] 같이 공부하는 사람들의 모임이다. 서로 가르쳐주고 배우면서 학과 공부로 모자란 지식을 얻을 수 있는 문화가 전해 내려온다. --[Leonardong]
* [제로페이지는] 자신의 장점을 발산하고 타인의 장점을 흡수하는 유기적인 개체들의 집합이다. - [임인택]
["제로페이지분류"], ["토론분류"]
- ComputerNetworkClass/Exam2006_2 . . . . 35 matches
보안 기법에서 알고리즘과 자세한 구현법에 대한 내용은 교수님이 지양하신듯. (난이도 낮추려고 한듯함)
개별적인 기술의 상세 내용을 묻기보다는 전체 기술에 대한 비교과 차이점에 대한 이해를 중심으로 출제.
인터넷 보안 관련된 문제에서 문제로 출제 될 만하다고 생각했던 부분인 Authencation Protocol (3-way-handshake, keberos, using RSA)에 대한 내용역시 미출제되었음. 덕분에 시험 난이도는 낮아졌지만, PEM 의 구조에 대한 설명이 들어갔기 때문에 따로 관심을 가지고 공부한 사람이 아니면 약간 어려웠을지도 모르겠음.
TCP의 흐름제어 부분은 워낙에 중요하다고 설명했기 때문에 SLOWSTART, FAST RETRANSMIT, VEGAS 에 대한 이해를 해야했을듯.
2.1 playback time 에 대한 책에 제시된 그래프를 그리고 그 설명을 하는 문제. (2.1 문제에서는 MPEG 과 같은 압축 기법이 이용되지 않는다고 가정)
2.4 play back 은 무엇이고 언제 어떻게 사용되나
playback point, playback time 에 대한 이해를 묻는 문제임. adaptive playback 에대한 문제도 출제되었음.
멀티미디어 스트리밍 서비스와 TCP의 궁합이 잘 맞지않는 이유를 기술하라는 문제. 수업시간에 몇번 말했기 때문에 난이도 평이. (UDP 위에 RTP 를 올리게 된 이유와 일맥상통함)
3. PEM 으로 이메일 보낼경우, 보내지는 내용들 구조와 함께 설명. 같이 보내지는 첨부 파일은 a.jpg
일반적인 메일 전송 프로토콜의 이해와 MIME 프로토콜에 대한 간단한 이해. 그리고 E(MD(5), PrivateKeyOfSnd) 의 해석 방법과 계층적 인증에 대한 이해를 묻는 문제였음.
문제의 내용에 메일의 헤더와 구조를 나타내라는 말이 있기 떄문에 책을 참조하거나 일반적으로 받는 이메일의 구조를 한번 본뒤 시험을 보면 좋음.
SLOWSTART 사용시기와 해당 기법의 사용이유에 대한 해설
FR이용시 그래프의 변화 추이와 그 이유를 설명. 중복 ACK 전송에 대한 이야기와 VEGAS에서 이요하는 faster retransmit 설명했음.
5. 통합 서비스와, 차별 서비스의 접근법의 차이를 쓰고 (Qos에 따른 서비스를 제공해주는 대표적인 기법) 각 서비스에서 WFQ를 어떻게 구현했는지
Integrated Service(flow-based), Differentiated Service(service-based) 에대한 전반적인 이해를 하는 문제. 해당 기법에 WFQ를 적용하는 방법에 대한 이해를 묻는 문제로 약간 응용해서 적으란 것으로 보임. 책에 DS에 대한 설명은 WRED, RIO에 대한 설명만 되어있었고, 이 방식은 Queuing 에 의한 WFQ의 사후 처리가 아닌 사전 체리에 관련된 내용이었음. 솔직히 WFQ 왜 냈는지 모르겠음. -_-;;
- HelpOnUserPreferences . . . . 35 matches
위키위키를 여행하시는데에 사용자 등록을 하시면 편리합니다. 사용자 등록을 마친 후에는 우상단의 아이콘에 [[Icon(home)]]이 보이게 되며, 자신만의 [위키홈페이지]를 만들어 보실 수도 있습니다.
User``Preferences에서 설정하실 수 있는 것으로는 다음과 같은 것이 있습니다.:
* '''[[GetText(Name)]]''': 사용자의 실제 이름 혹은 별명. WikiName 형식으로 만들면 편리합니다.
* '''[[GetText(Password)]]''': 비밀번호는 다른사람이 쉽게 알거나 추측할 수 없는 것을 사용하시기 바랍니다.
* 웹상의 비번은 쉽게 노출될 가능성이 많으므로 가능한 노출되어도 큰 문제가 되지 않을 비밀번호를 사용하시기 바랍니다.
* '''[[GetText(Email)]]''': 자주 쓸 이메일 주소. 이메일 주소를 넣어주면 원하는 위키페이지에 대하여 그 변경점을 구독신청하거나 취소하실 수 있습니다. 비밀번호를 잊으셨을 경우에도 이 이메일 주소를 사용해 새로운 비밀번호를 등록하실 수 있습니다.
* 이메일 주소는 반드시 고유해야 하며, ACL 설정에 따라서는 이메일 주소를 반드시 필요로 하는 경우도 있습니다.
* '''[[GetText(User CSS URL)]]''': 자신이 원하는 CSS로 변경하고 싶을 경우에 사용합니다.
* '''[[GetText(Your time is)]]''': 원하는 시간대를 설정하면 자신이 원하는 시간대로 시간이 표시됩니다.
* '''[[GetText(Preferred language)]]''': 기본 언어 바꾸기 ( <!> 모니위키에서 미지원) 기본 값은 브라우져 세팅에서 가져오며, 이 설정을 바꾸면 위키위키의 여러 메시지가 언어 설정에 맞게 보여집니다. 이 설정을 바꾸면 메일로 날아오는 알림 메일의 언어도 언어설정에 맞게끔 날아오게 됩니다.
* '''[[GetText(Quick links)]]''': 최상단에 있는 메뉴에 자신이 원하는 링크를 추가하거나 원하는 위키페이지에 대한 링크를 넣을 수 있습니다. QuickLinks 페이지를 참조해주세요.
* '''[[GetText(Subscribed wiki pages (one regex per line))]]''': 모든 페이지의 변경알림을 받아보고 싶은 경우에 '''`.*`''' 를 집어넣으시면 됩니다. (위키위키가 많은 변경이 있는 경우 권장하지 않습니다.) 각 페이지를 보고싶은 경우에는 각각의 페이지 이름을 줄 단위로 넣으시면 됩니다. 정규식에 익숙하신 사용자의 경우에 정규식을 사용하실 수도 있습니다. 설정에 따라서 상단의 아이콘 툴바에 [[Icon(email)]]이 나타날 수 있으며, 이메일 아이콘을 누르면 해당 페이지를 구독하는 폼이 뜨게 됩니다.
/!\ 이메일 구독은 `config.php`에서 설정을 해야 합니다. 자세한 내용은 SubscribePlugin을 참조하세요.
- HowToStudyXp . . . . 35 matches
XP를 이해하려면 다음 기본 자료에 대한 이해가 우선되어야 합니다.
* The Timeless Way of Building : 패턴 운동을 일으킨 Christopher Alexander의 저작. On-site Customer, Piecemeal Growth, Communication 등의 아이디어가 여기서 왔다.
이 중에서 XPI나 XPX를 먼저 권합니다. XPE는 좀 추상적인 서술이 많아서 봐도 느낌이 별로 없을 수 있습니다. (작년 마소 11월호에 제가 쓴 리뷰 참고)
* XP in Practice (Robert C. Martin et al) : 두 세 사람이 짧은 기간 동안 간단한 프로젝트를 XP로 진행한 것을 기록. Java 사용. (중요한 문헌은 아님)
* Adaptive Software Development (Jim Highsmith) : 복잡계 이론을 개발에 적용. 졸트상 수상.
* Surviving Object-Oriented Projects (Alistair Cockburn) : 얇고 포괄적인 OO 프로젝트 가이드라인
* The Psychology of Computer Programming (Gerald M. Weinberg) : 프로그래밍에 심리학을 적용한 고전. Egoless Programming이 여기서 나왔다.
* IEEE Software/Computer, CACM, ["SoftwareDevelopmentMagazine"] 등에 실린 기사
* http://c2.com/cgi/wiki?ExtremeProgrammingRoadmap
특히 다음의 것들은 늘 가까이 하고 있어야 합니다.
위 세 곳을 살필 때, 특히 다음 인물들의 글은 꼭 읽어보고 항상 레이다를 열어둘 것:
KentBeck 스스로가 XP Explained를 만약 다시 쓴다면 뜯어 고치고 싶은 부분이 상당히 된다고 말하는 것을 보아도 알 수 있듯이, 초기 XP 이후 바뀐 점, 보완된 점이 상당수 있습니다. 따라서, 책만으로 XP를 공부하기는 힘듭니다. 지금은 책 속의 XP가 사람들의 머리 속 XP에 한참 뒤쳐져 있습니다.
어찌되었건, XP에는 무술이나 춤, 혹은 악기 연주 등과 유사한 면이 많습니다. 따라서, 글을 보고 그것을 익히기는 쉽지 않습니다. 그나마 메일링 리스트 같은 "대화"를 보면 훨씬 더 많은 것을 얻을 수 있기는 하지만, 태권도 정권 찌르기를 말로 설명해 내는 것이 불가능에 가깝듯이 XP를 언어를 통해 익히기는 정말 어렵습니다. 우리의 언어는 너무도 성글은 미디어입니다. (XP는 매 초, 매 순간 벌어지는 "일상적" 장면 장면의 연속들이 매우 중요합니다.)
기회가 되신다면 주변에서 XP를 직접 사용하는 곳을 방문해서 하루만 같이 생활해 보시기를 권합니다. 반년 공부를 앞당겨 줄 수 있습니다.
이게 힘들면 같이 스터디를 하는 방법이 있습니다(스터디 그룹에 관한 패턴 KH도 참고하시길. http://www.industriallogic.com/papers/khdraft.pdf). 이 때 같이 책을 공부하거나 하는 것은 시간 낭비가 많습니다. 차라리 공부는 미리 다 해오고 만나서 토론을 하거나 아니면 직접 실험을 해보는 것이 훨씬 좋습니다 -- 두사람 당 한대의 컴퓨터와 커대란 화이트 보드를 옆에 두고 말이죠. 제 경우 스터디 팀과 함께 저녁 시간마다 가상 XP 프로젝트를 많이 진행했고, 짤막짤막하게 프로그래밍 세션도 많이 가졌습니다.
나중에 회사에서 직접 XP를 사용할 때 많은 도움이 되었습니다.
=== 2002년 이후의 근간 소개 ===
- ProjectPrometheus/CookBook . . . . 35 matches
ProjectPrometheus 중 나눌만한 Tip 들이나 기타 코드 이디엄들 등등.
regular expression 패턴을 정의하기 위해서 ["Komodo"] 를 이용할 수도 있다. 또는 Seminar:TddRegularExpression 을 시도해보는 것도 좋다. ["1002"] 는 Python Interpreter 를 이용, 표현식을 찾아냈다.
=== 쓰기 좋은 타이머 ===
* 멀티 타이머 http://www.programming.de/cpp/timer.zip
동시에 10개의 타이머 설정 가능. 카운트 다운, 카운트 업 가능. 멈췄다가 프로그램을 다시 시작할 때 지난 시간에서 resume 가능. 단, 메모리 누수 버그가 있다.
* 마이크로 에그 타이머 http://users.informatik.fh-hamburg.de/~rohde_i/eggtimer/mr-egg-z.zip
단순하지만 매우 편리한 타이머. 태스크 바에서 남은 시간을 확인 가능
=== ISBN 이란? ===
* http://www.kpa21.or.kr/chulpan/200106/200106_07.htm
Python 에서는 urllib 와 httplib 를 이용한다. Python document 의 httplib - examples 를 참조하면 GET 의 예와 POST 의 예가 나온다.
Java 에서는 HttpURLConnection 을 이용한다. 관련 코드는 http://www.javafaq.nu/tips/servlets/index.shtml 를 참조.
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 에서 홈 디렉토리를 변경하거나 resin 이 실행될때 기본적으로 생기는 디렉토리들(example 등)이 있다.
이는 <web-app> 라는 태그로 정의되어있다. 삭제하고 싶다면 '/' 외의 다른 web-app에 등록된 것들을 삭제해주면 된다.
<res-ref-name>jdbc/'reference 이름'</res-ref-name>
<init-param driver-name="org.gjt.mm.mysql.Driver 식으로 드라이버 이름"/>
<init-param url="jdbc:mysql://서버주소:서버IP/reference 이름"/>
resin 을 실행할 때 다음과 같이 실행
- 루프는0부터? . . . . 35 matches
[AcceleratedC++]의 [AcceleratedC++/Chapter2]에서 이야기 되더군요.
== 루프의 카운트의 초기값을 0으로 설정하는 이유 ==
대부분의 경험있는 C++프로그래머들은, 처음에는 이상하다고 생각할만한 프로그래밍 습관을 가지고 있습니다. 그것은 바로 번호를 매길 때에 언제나 1부터 시작하는 것이 아니라 0부터 시작한다는 것입니다.
첫번째 것은 0부터 번호를 매기고 !=를 사용하는데 반해, 두번째 것은 1부터 번호를 매기고 <=로 비교합니다. 반복횟수는 둘다 동일합니다. 두번째 것보다 첫 번재 것을 더 성호하는 이유가 있을까요?
=== 첫번째 이유 : 비대칭 적인 범위를 사용하기 때문에 범위를 설명하기 쉽기 때문이다. ===
첫번째 for문은 [0, rows)를 사용하는 것이 편하고, 두번째 for문은 [1, rows]를 사용하는것이 더 편하다.
보통 비대칭형 범위는 대칭형 범위보다 더 사용하기 쉽습니다. 왜냐하면 다음과 같은 중요한 속성이 있기 때문입니다. [m, n)과 같은 형식의 범위는 n-m개의 요소들을 가지며 [m,n]의 형식은 n-m+1의 요소들을 가집니다. 따라서 [0, rows)에서 요소들의 개수는 직관적인데 반해, [1, rows]에서 요소들의 개수는 덜 직관적 입니다. 이러한 속성차이는, 특히 빈 범위의 경우에 더 뚜렷합니다. 만약 비 대칭형 범위를 사용한다면, 빈 범위를 [m,n)으로 표현할수 있지만, 대칭형 범위에서는 [n, n-1]을 사용해야 합니다. 범위의 끝이 시작보다 더 작을수 있따는 가능성은 프로그램 설계시 끝이 정의되지 않아 버리는 문제를 야기 시킬수 있습니다.
=== 두번째 이유 : 루프 [불변식]을 더 쉽게 표현할 수 있기 때문이다. ===
0부터 번호를 매기면 불변식이 더 직관적입니다.
지금까지 r개의 행을 출력했따고 표현할 수 있기 때문입니다. 만약 1부터 번호를 매긴다면? 이제막 r번째 행을 출력하려는 찰나라고 정의할 수도 있겠지만, 그러한 구문은 불변식으로 정당치 않습니다. 왜냐하면, while이 조건식을 마지막으로 검사할때, rows+1이 되기 때문입니다. 이때 우리가 원하는 것은 rows행만을 출력하는 것 입니다. 따라서 우리는 r번째 행을 막 출력 하려던 것이 아닌 셈이 됩니다. 지금까지 r-1개의 행들을 출력했다고 불변식을 정의할 수도 있을 것입니다. 하지만 불변식을 그런식으로 정의 햇다면, r을 0부터 시작시켜 단순화 시키는 것이 더 낫지 않을까요?
=== 세번째 이유 : 비교를 위해 <=를 사용하는 대신 !=를 사용할수 있다는 것 입니다. ===
조건식이 r!=rows라면, 루프가 끝날 때 r==rows라는 사실을 알수 있습니다. 불변식은 r개의 행을 출력했따는 사실을 말해 주기 때문에, 정확히 rows개의 행을 출력했다는 것을 알 수 있습니다. 한편, 만약 조건식이 <=rows라면, 그로부터 알 수 있는 사실은 최소한 rows개의 행을 출력했다는 사실 뿐입니다. 따라서 그 이상을 출력했을 수도 있는 것입니다. 0부터 번호를 매기게 되면 정확히 rows번의 반복을 수행했는지 확실히 하고자 할 때, R!=rows를 조건식으로 사용할 수 있습니다. 또한, 반복횟수가 rows번 또는 그 이상이 되기만을 원한다면, r<rows를 사용할 수 있습니다. 만약 1부터 번호를 매기다면 최소 rows번의 반복만을 원할때 r<=rows를 사용할 수 있습니다. 하지만, rows가 정확한 숫자가 되도록 하려면 어떻게 해야 할까요? 그런 경우에는 좀더 복잡한 조건식인 r==rows+1과 같은 방법을 사용 할수 있습니다. 하지만 이렇게 복잡하게 해서 얻을수 있는 이득은 거의 없습니다.
일찍이 다익스트라가 그 이유를 밝혀놓았습니다. Seminar:WhyNumberingShouldStartAtZero
- 상협/감상 . . . . 35 matches
* 난 정말 기억력이 나쁘다. 방금 예전에 썼던 감상문을 다시 읽어보니 정말 새로웠다. ㅡㅡ; 앞으로는 책을 읽고나서 꼭 감상문을 써야 겠다. 안그러면 금방 까먹엇 읽은 효과가 없는거 같다. 또한 예전에 썼던 감상문을 다시 읽어 보면 예전의 그 생생한 감동이나 느낌이 다시 느껴진다. 이러한 느낌이 너무 좋은거 같다.
|| ["로마인이아기"] || 시오노나나미 || 고등학교때 || 1 || ★★★★ ||
|| ["화성남자금성여자"] || 존 그레이 || 2002또는2001 || 1 || ★★★ ||
|| 젊은 엄마를 위하여 || 이원영 || 2002/4월 || 1 || ★★ ||
|| 아이를 사랑으로 꾸짖는 방법 || 아코 아키라 || 2002/5/8 || 1 || -_- ||
|| ["이기적인유전자"] || 리처드 도킨스 || 2002/5/22 || 1 || ★★★★★ ||
|| ["상협/학문의즐거움"] || 히로나카헤이스케 || 2002/8/26 || 1 || ★★★ ||
|| ["상협/너만의명작을그려라"] ||마이클 린버그 || 2002/12/18 || 1 || ★★★★ ||
|| ["우주변화의원리"] || 한동석 || 군대 || 1 || 이해를 못함 -_- ||
|| ["탈무드"] || 역-마빈토케이어 || 군대 || 2 || ★★★★★ ||
|| ["삶은가장큰웃음이다"] || B.S 오쇼 라즈니쉬 || 군대 || 1 || ★★★★★ ||
|| [마이포지셔닝] || 잭 트라우트, 알 리스 || 4월 2 ~ 6 || 1 || ★★★★ ||
|| [여섯색깔모자] || 에드워드 드 보노 || 1 ||4/24 ~ 5/1 || 이책은 PowerReading 처럼 활용정도에 따라서 가치가 엄청 달라질거 같다. ||
|| 사귐에 능한 사람이 성공을 잡는다 || 손형석 || 1 || 5/1 ~ 6/16 ||★★★ ||
|| [PatternOrientedSoftwareArchitecture]|| || 1권(1) || - || 뭣도 모르고 보니깐 별로 감이 안온다 -_-; ||
|| [MythicalManMonth] || - || 1 || 굿 || 옛날 영어라 그런지 좀 해석하기 어렵다 ||
|| [Refactoring] || 마틴파울러 || 1 || 굿 || 괜찮은 책이다. 아직 내가 이해와 적용을 제대로 못해서 아쉽다 ||
|| [OperatingSystem] || H.M.Deitel || 1 || 굿 || 운영체제공부를 처음으로 시작한다면 이책이 적당하다고 생각한다 ||
|| [TestDrivenDevelopmentByExample] || 켄트벡 || 1 || 굿 || 아직 제대로 이해와 적용은 못하겠다. 그래도 좋은책~ ||
|| 이타적유전자 || MattRidley ||
- 정모/2013.9.4 . . . . 35 matches
* [고한종], [김민재], [안혁준], [고한종], [김남규], [김해천], [조영준], [이봉규], [서민관], [최다인], [송정규], [김도형], [임지훈], [장혁재], [김윤환], [권영기], [조광희]
* 홈페이지나 위키에 도서 기자재를 신청받을 것입니다. 필요한 도서가 있다면 신청해주세요.
* 제로페이지에서는 회원들의 학술활동 지원을 위해, 참가비가 있는 행사(컨퍼런스 등)에 대해 입장료를 지원하고 있습니다.
* 회장 -> 학술행사에 참여하는 금액에 대해 지원금 제한 10만원정도 하려고합니다. 이것에 대해서 의견을 묻고자합니다.
* 한종 -> 지원금 제한이 필요없다. 왜냐하면 1년에 많이가도 얼마 들지 않으므로 제한을 안걸어도 그렇게 많은 돈이 나가지 않는다.
* 본인 입으로 정확히 말하자면 :) 제한이 없어도 잘 안가는데, 제한이 생기면 더욱더 안 갈게 뻔하고, 지원금을 받는 대신 회원에게 공유할것을 전제로 주는 것이기 때문에, 한 사람이 집중적으로 많이 받아가도 별 반발이 없을거라 생각합니다. 받은만큼 토해(?)낼태니까요 :) 대신 세미나 같은 곳 다녀와서 건성으로 공유하지 않고 제대로 공유해줘야겠죠. 일단은 회장이 만족할정도면 된다고 생각합니다만. - [고한종]
* 덧붙여서, 지원금을 왜 주는지에 대해서 진지하게 생각했으면 좋겠어요. 저는 이게 학술 활동 지원이라 생각하는데, 지원 받는데 세세한 조건같은거 있으면 귀찮아서 학술활동을 포기해 버리겠죠?
* 정규 -> 참여를 많이 유도할 수 있도록 해서 인원을 어느정도 모아(최소 3명정도) 지원을 해주는게 좋을 것같다.
* 해천 -> 1명만 가는 경우 지원은 당연히 안되는 것이고, 영기말처럼 하는게 더 맞는것같다.
* 제가 할법한 잔소리는 이미 한종이가 위에서 했으니 제끼고 궁금한 게 있어서 이쪽에 붙습니다. 한명만 가는 경우 지원하지 말아야 할 당연한 이유가 있나요? 학술활동이 꼭 단체활동이어야 한다는 법도 없고.. 같이 갈 사람 못 구하면 지원도 못 받는 건 어쩐지 이상하게 느껴집니다. - [김수경]
* 9/25에 KGC가 개최합니다. 관심 있는 학우들이 있으니([김윤환], [장혁재]) 같이 가실 분은 말해주세요
* 소모임방식으로 진행이 될수도 있다.
* 대학생 프로그래밍 동아리에서 하는 제 2회 문제중 못푼문제 풀고 슬라이딩 윈도우 알고리즘을 공부했습니다.
* 클린 코드 : SRP(Single Responsibility Principle), DIP(Dependency Inversion Principle) 방식을 공부하였고 디자인패턴 중 템플릿 메소드에 대해서 공부하였습니다.그리고 스레드에 대해서 공부 하였습니다. trello와 github연동하는 방법이 있습니다.상당히 유용할 것같으므로 관심있으신분들은 조금만 찿아보시면 쉽게 하실수있습니다.
* 오랜만에 돌아왔는데, 회장이 이제 정모 진행하는데 불필요한 긴장감을 가지지는 않는것 같아 마음이 살짝 놓이네요. 하지만 여전히 뭔가 진행되는 느낌은 받지 못해 아쉬웠습니다. 휴학러니 앞으로 시간날때마다 짬짬히 들려서 지원해 드릴테니 힘내시길 : ) -[고한종]
- 1thPCinCAUCSE/ProblemA . . . . 34 matches
아날로그 시계는 12시간 단위로 동작하며 시침과 분침이 있다. 주어진 시간 동안 시침과 분침이 몇 번 겹치는가를 알고 싶다. 예를 들어, 시작 시각이 11시 1분이고 끝 시각이 3시 20분이면, 이 시간 동안 시침과 분침은 4번 정확하게 일치한다. 각자 자기 시계로 확인 해 보세요. 시작 시각이나 끝 시각에 시침과 분침이 일치하더라도 회수에 포함한다.
이렇게 시작 시각과 끝 시각이 주어질 때, 그 시간 구간 동안 시침과 분침이 몇 번 일치하는가를 계산하는 프로그램을 작성하시오. 시간 구간은 12 시간 미만이라 가정한다.
입력은 표준 입력이다. 입력의 첫줄에 테스트 케이스의 개수를 나타내는 정수 T (10 이하) 가 주어진다. 다음 T줄의 각 줄마다 테스트 케이스가 주어진다. 테스트 케이스는 정수 네개로 이뤄진다. 이들 정수 사이에는 빈칸이 있다. 앞 두개의 정수는 시작 시각의 시와 분을 나타내고 뒤 두 개의 정수는 끝 시각의 시와 분을 나타낸다. 시는 1 이상 12 이하의 정수이고, 분은 0 이상 59 이하의 정수이다.
출력은 표준 출력이다. 출력은 T줄로 이뤄진다. 각 테스트 케이스에 대해서 자기가 계산한 회수를 한 줄에 하나씩 출력한다. T개의 테스트 케이스를 모두 맞춰야 이 문제를 맞춘 것이다.
- NamedPipe . . . . 34 matches
Pipe란 두 프로세스간의 통신을 위해 만들어진 것으로 Named Pipe는 말 그대로 이름이 있는 파이프라는 것이다. 이는 다른 컴퓨터와도 네트워크를
통해 Server / Client 통신이 가능하게 만들어 주는 역할을 한다.
LPTSTR lpszPipename = "\\.\pipe\mynamedpipe"; // 파이프 이름
// Wait for the client to connect; if it succeeds, // 클라이언트를 연결을 기다린다.
// the function returns a nonzero value. If the function returns // 접속이 될 경우 0 아닌 값이 리턴 되며
// zero, GetLastError returns ERROR_PIPE_CONNECTED. // 만약 0 값이 리턴이 될 경우 ERROR_PIPE_CONNECTED를 리턴한다.
// 연결이 되서 fConnected값이 TRUE가 되었으므로
// Create a thread for this client. // 연결된 클라이언트를 위한 쓰레드를 생성시킨다.
(LPVOID) hPipe, // thread parameter // 쓰레드 Parameter로 hPipe 핸들값이 들어간다.
// 쓰레드가 생성이 되면 hThread 값이 NULL 이고 그렇지 않으면 열어 놓은 Handle값을 닫아준다.
// 파이프가 연결이 되면 파이프를 읽기용으로 바꾼다.
// 여기서 잠깐 PIPE_READMODE_MESSAGE는 읽기용이라고 나와있지만 MSDN에는 이 모드가 새로운 모드로
// Default는 PIPE_READMODE_DATA 이고 PIPE_READMODE_MESSAGE가 실패할 경우 default로 정해진다.
// 파이프로 메세지를 보낸다.
// 파이프로 부터 메세지를 읽어온다.
// 파이프로부터 읽기
실제 예제 파일 NamedPipe를 이용한 Chat Program [http://www.zeropage.org/pds/20031103027/NamedPipe.zip]
|| {{{~cpp CallNamedPipe}}} || 메세지 형식의 Named Pipe를 Connect할 때 쓰이는 함수 ||
|| {{{~cpp ConnectNamedPipe}}} || Named Pipe 에 Connect할 때 쓰이는 함수||
|| {{{~cpp TransactNamedPipe}}} || Single Operation으로 Read & Write를 할 수 있는 function 이다.||
- ZeroPageServer/set2002_815 . . . . 34 matches
2002.8.15 일에 이루어진 ZeroPageServer 세팅에 에 관련 내용 기록
* mm.mysql -> MySQL Connector/J -- for connecting to MySQL from Java (공식 JDBC드라이버)
* PDS 의 Upload 시 한글이 깨지는 문제에 대한 해결책 필요. 단순히 한글 인코딩 설정말고 다른게 또 있는가?
* httpd/WEB-INF/classes/woodpage, home/httpd/html/woodpage 삭제
* Admin 툴은 누가 만들었고, 정확한 용도는 무엇인가? 모든 게시판이 표시되지는 않는다, 이유는 무엇인가?
''게시판 Admin 툴을 이야기하는건지? 맞다면.. '''만든이는''' ["sun"]이고 '''용도'''는 게시판 생성/삭제를 쉽게 하려는 의도에서 였으며, '''모든''' 게시판이 표시되지는 않는것은 툴을 만들었던 시점이, 자게,질/답 등 이미 몇몇 게시판이 만들어진 이후였기 때문(변경을 게을러서 안했음). --["sun"]''
* 커널 컴파일 후에 텔넷에서 반응하는 속도가 다르다. (마운트 속도에서) 확실히 커널 업그레이드가 가장 선행되어야 했었다.
* 커널 컴파일시 필요없는 거의 모든 옵션을 뺐다. ISA지원이라던지, 구형 cd-rom, usb, ieee, agp 등 전부 제거 했다. 앞으로의 성능 차이가 기대된다.
* ["CVS"] 이용가능 (["neocoin"] 에게 신청)
* 완료된 날짜가 공교롭게도 8.15 일 이다. Redhat과 구버전의 족쇄에서 벗어나는 것에 의의에 둔다.
* 이번 세팅의 목적은 '''좀더 편한 패키지 관리, 안정된 환경'''을 위해서이다. 그래서 상민이의 물망에 오른 것이 Zentoo Linux와 Debian, FreeBSD 정도 인데, 기본적으로 Linux를 택해서, FreeBSD와 Zentoo Linux와 Debian 비교에서 사용자 층과 편이성면에서 Debian이 더 우수하게 느껴져 선택하였다.
* 설치는 한달여 즈음 전에 릴리즈된 woody를 기본으로, 일본의 미러 소스 리스트를 이용해서 네트웍 설치를 하였다. Redhat측에서 시작부터 rpm에 대한 체계적 통합적 관리가 되었다면, 현재의 deb 패키지 처럼 완전 네트웍 설치를 할수 있었을텐데 안타까운 점이다.
* PC실 음식물 반입금지이고, 서버는 지켜야 겠고, 복도에서 짜장면 & 짬뽕을 pc실 의자와 책상 내놓고 차려 먹다가 다시 pc실로 들어가서 상차려 먹었다.
* JVM 설치시 추가 라이브러리
==== cgi권한 설정에 과정 (해결책을 찾아보자 무엇이 해결책이었을까?) ====
* mini cd에 있는 2.2 커널에 세팅에 부족한 점이 있는것 같다. 혹은 수행이 안되거나
* hosts 에서 zp.zeropage 가 되어 있는 것이 문제 일듯. 서버 까지 왔다가 다른 곳으로?
* {{{~cpp /home/jspVirtualPath}}} 에 해당 아이디의 symbolic 링크를 걸면 됨. resin.conf에서 path-mapping 사용
- 데블스캠프2005/RUR-PLE/정수민 . . . . 34 matches
완성이드래요~
재귀호출이 되면 이렇게 해보려 했으나, 재귀호출이 안되길래 (정확히는 되는데 시작지점이 바뀐다는..) 재귀호출이 지원이 안되는줄 알았다오.
음.. 아주 훌륭하오. 노벨상 감이오. >ㅁ<;; 그런데 버그가 있다오. sort1에서 작동하지 않소!! 벽에 부딛힌다오.
꽤나 강하게 부딪히는걸 보니 힘이 좋은 녀석인가보오. 이부분을 시급히 해결해주길 바라오.
추신: 궁금한 점이 있소.muggi함수의 제일 아래 ()는 무엇을 뜻하는 것이오? 없어도 실행이 잘 되오.
난 돼는데 ;; sort1이 sort.wld 이맵 말하는거아냐?
먹기함수 제일밑에 ()는 수정중에 실수로 남아있던거 =0=;; 근데 저게있어두 실행이 돼긴돼는군;;;
그리고 여기서 재귀함수는 선을 그어서 그밑에있는건 무조건 실행해 더 낮은 줄에있어도 if이있으면 실행이 돼는 =0=;;
... 승한이형이 보셨으면 이렇게 말씀하셨을꺼닷.. 지긋지긋한년.. 자다가 일어나서 고치다닝; @0@~
뭐..나도 밤새 놀고있긴 하지만 말야..ㅎㅎ (대신 난 낮에 잔다우.. 이놈의 데블스..;;)
sort1이거 나만 있는 맵인가..;;ㅎㅎ 그러니까 이거 sort할곳 바로 옆에 벽이 있는 맵에서는 안된다우..ㅎㅎ
//추신: 러플이녀석 재귀호출이 이상한 방식으로 이루어 지는것 같다오. C를 써온 사람의 입장에서 볼때 불편하다는..
나도 이녀석 제귀호출이 C랑 똑같았어도 이렇게 오래걸리진않았다고 ;ㅡ;
뭔가 더 좋은 방법이 생각이났는데 =0= 코드가 길어질꺼같은니 패스 -_-;;
- 상협/Diary/8월 . . . . 34 matches
= 이번달 목표 =
* Designing Object-Oriented Software 이책 다보기 Failure (집에 내려가서 해야징.)
* 많이도 말고, 일주일에 책 1권씩만 읽자 ㅠㅜ Failure
* 이번주는 모든 프로젝트를 마무리 지어야 겠다
* 이타적 유전자
* 오늘이 수요일인지 목요일인지 순간적으로 헷갈렸다. -_-;;
* 오늘 과외 하나 더 들어 왔다. 아싸~ 근뎅 이번에는 정석으로 못 가르칠거 같당..-_-, 내 밥벌이인 정석으로..ㅠㅜ 또 고3이당. 쩝.. ㅡㅡ;;
|| 3D || 프랙탈 지형 생성 || 100% || 이젠 재귀가 생활화 -_-;; ||
* 오후에 학교에서 해주는 공짜 영어회화반 가구, 그거 끝나고 나서 기숙사에 좀 있다가 우리 누나가 불러서 누나랑 좀 놀구 저녁잠좀 자고 이것저것 하다가 시간 다 갔다. -_-;
* 정말 자주 느끼는 거지만, 난 사람보는 눈이 절대적으로 부족하다.
* 오늘은 몸이 너무 너무 피곤했었다. 죽는줄 알았다. ㅠㅜ 잠도 많이 잤는데~
* 오늘 갑자기 아주 조금씩의 미학이 떠올랐다. 하루에 어떤것을 아주 조금씩 하는것은 그것을 아예 안하는것보다 낮다고나 할까.. 뭐 당연한 말인데 갑자기 퍼뜩 몸으로 느꼈다. 그런 의미해서 사놓은 책이랑 제본해놓은 책을 앞으로 하루에 조금씩 봐야 겠다.
||["비행기게임"] || 애니메이션 효과, 적1개 추가(이제 2개) || 이것만 함 || 쩝. ||
* ["비행기게임"] 이것좀 하다가 놀았음..
||["비행기게임"] || 거의 끝내기 || 한 70~80%정도 || 아자 화이링~ ||
* 뭘했는지 잘 기억이.. -_-;; WinSock 좀 보고, ["비행기게임"] 이것도 좀 하궁..
||["비행기게임"] || 적기마다 미사일 다양하게 및 여러개 나가게 함 || 이거함 || 아자 화이링~ ||
* 오늘이 첫날이닷..^_^
|| ["3DAlca"] || WinSock봐서 만들 준비 다하기 || 10% || 이룬.. -_-; ||
|| ["3DAlca"] || WinSock봐서 만들 준비 다하기 || 15% || 이룬.. -_-; ||
- 겨울과프로젝트 . . . . 33 matches
일정이나 기간에대해서 회의에서 동의를 얻어야 할 부분이 많이 있었네요;; 준비가 부족했습니다. 죄송합니다. 혹시 문제가 될만한 부분은 지적해 주십시요 - [이승한]
* 제로페이지 회칙에따라 2주에 한번씩 모이는 정모를 기준으로 겨울방학 12월 조금과 2개월을 5개의 마당으로 나눈다.
* 마당을 굳이 나누는 이유는 너무 방만한 시간관리가 이루어지는 경우도 있기 때문이다.
* 각 마당 끝에서 한번씩 모이며 마지막 2월 말에는 모이지 않는다.
* 지나치게 모이지 않는다면 프로젝트에 대한 커뮤니케이션에 지장이 생길지도 모르니 단위별로 적어도 일주에 한번씩은 모임이 있었으면 좋겠습니다. 참고해 주십시요. ( 정기적인 모임은 정모와 겹쳐도 상관없습니다. )
* 아마 실제적으로 프로젝트가 진행되는 마당은 3번의 마당 한달반 가량 될듯 싶습니다. 연말, 설, 오티, 크리스마스 까지 있어 지장이 많을듯.
* 12월 27일(월) 프로젝트 구성에 대해서 이야기하려 합니다.
* 9일에 설이 있습니다.
* 게다가 실제적으로는 이 정모 때에 마무리를 해야 될듯 싶습니다.
* 이 이후에는 신학기 준비, 이사, OT후유증 기타등등으로 약간은 스터디 진행이 어려워 지지 않을까 생각합니다.
* 제대로 된다면 뒷풀이도 있지 않을까요??
[스네이크바이트] ([강희경]) : MFC를 공부하는 모임.
[JavaStudy2004] ([노수민]) : JAVA언어를 익히면서 OOP에 대한 이해.
참가자 : [이승한], [이재환], 임영동 [Yggdrasil], [강희경], [이용재], [윤성만]
참가자 : [이승한], [황재선], [김회영], [문보창], 오승균
생각나는대로 써놓았습니다. 프로젝트 명과 내용 수정해 주세요~ >__<ㅋ - [이승한]
- 새회원을받으면 . . . . 33 matches
AnswerMe 5월 10일 위키설명회를 하면서 새회원을 받기로 하였는데...여러가지 생각이 떠오릅니다. ZeroPagers 여러분의 의견을 듣고 싶습니다.
SeeAlso [회원자격], [ZeroPage회칙], [정모/2003.3.5], [열린제로페이지]
* 그들은 제로페이지에서 무엇을 할 수 있을까?
* 제로페이지에서 새회원의 위치는 어디일까?
* 새회원이 들어오면 기존회원은 어떤 역할을 할까?
* 공부 가이드 라인 제시
* 성공한 스터디 사례, 실패한 스터디 사례. 그리고 그 이유.
새회원이 무슨 의미인지? 처음 들어온 준회원? 아니면 처음 들어온 정회원? --재동
저도 새회원이 어떤 사람을 말하는지 알고 싶습니다. 제가 생각하는 새회원은
* 제로페이지에서 활동하지 않았던 사람
* 앞으로 제로페이지에서 활동을 하려는 의사를 밝히는 사람
* 04학번에게 이상한(?) 소문을 들었습니다. 그대로 적어봅니다. ' ''제로페이지는 들어가면 졸라 빡시다. 열심히 활동 안 하면 준회원되고, 제로페이지에서 짤린다.'' '라고 하더군요. --[Leonardong]
* 그게 이상한 소문인가? 어떤 스터디에 얼만큼 참여하느냐에 따라 다르겠지만 어느 정도는 빡신게 맞고, 열심히 활동 안하면 당연히 회원 정리 대상이 된다. 휘동, 모든 사람을 만족시키려고 하지 말게나. ZP에는 다수의 어중이 보다 소수라도 정말 실력있는 사람들이 더 좋단다. --재동
* 왜냐면, 열심히 하는 사람과 열심히 하지 않을 사람이 같이 섞여 있으면 서로 피곤하기 때문이지. 유유상종을 잊지 말게나! --[zennith]
* 왠지 이번 학년은... 시끌벅적 할 것 같은 예감이 ...[김홍선]
현재 위키 실험 중인가 보군요. 그런데 왜 이리 체계 없이 느껴지는지, 지금 일련의 행사에 대한 계획이나 기록 어디 없나요? --NeoCoin
- [http://netory.org 네토리]처럼 정기적(또는 비정기적)인 무언가가 있었으면 좋겠습니다. 굳이 그것이 모임의 형태가 아니더라도 ''새내기들이 자신이 제로페이지에 지원하였다는 사실을 잊어버리지 않게''해 주는게 필요하지 않을까요? 예를 들면, 숙제를 내준다던지, ProgrammingParty 같은 것들이요. - [임인택]
[제로페이지분류]
- 속죄 . . . . 33 matches
* Author : 이언메큐언 // 한정아
* [이승한]: 40점 B) B)
* 무더운 어느 여름날, 열세살의 브리오니 탈리스는 우연히 창 밖을 내다보다가 언니 세실리아가 옷을 벗어던지고 정원의 분수대에 뛰어드는 것을 목격한다. 자매의 어릴적 친구이자 케임브리지에서 얼마 전에 돌아온 의사 지망생 로비 터너가 그런 세실리아를 지켜보고 서 있다. 그날 하루가 끝날 무렵, 탈리스 저택의 영지에서는 또다른 한 소녀가 강간을 당하고, 이때부터 세 사람의 운명은 생각지도 못했던 엇갈림을 겪게 되는데...
* 60개국의 독자들이 읽고 있는 책
* 무슨 이상한 상을 받았음(작은 날개에 써있었는데 잃어 버렸음)
* 참고로 역자 소개 ( 번역이 워낙 쓰레기이다 보니까 역자 소개도 들춰 보았음)
* 서강대학교 영문학과 한국외국어대학교를 통역번역대학원 한영과를 졸업했으며, 현재 한양대학교 국제어학원 조교수로 재직중이다. "잔의 첫사랑" "우울한 생활 극복하기" "이잔을 들겠느냐"외 다수의 책을 번역했다.
=== 이승한 ===
* 2차 세계대전 발발 직전. 공장을 경영하는 현대적 인물과 과거 군주주의 귀족풍습을 그대로 지니고 있는 사람이 공존하는 시간. 영국의 탈리스가라는 귀족집안이 배경이다.
* 공상하기 좋아하고 이야기 하기 좋아하는 여자아이, 세실리아라는 신식 여자, 하인 집안의 아들로 케임브리지를 우수한 성적으로 졸업하고 다시 케임브리지 의대에 합격한 로비. (위의 소개말과 다르지 않다.)
* 이 세명에게 같이 일어난 한가지 사건을 서로 다른 시각으로 한사람씩 차례로 돌아가며 의식의 흐름기법을 이용해 서술한다. 제길. 500페이지중 약 절반이상은 이렇게 의식의 흐름으로 때워버린다. 해가 어쨋네 땅이 어쨋네~ 뭐. 외국인이 자기네 말로 보면 재미있고 멋질지 모르지만, 기본적인 우리말 문법도 틀리는 이상한 번역작가의 글을 보면서 멋지다고 하긴 정말 너무 힘들고 짜증난다. 이부분 끝나는 곳까지 보는데 3달 걸렸다. 제길.
* 변태적인 내용의 편지를 실수로 보내게된 남자. 그리고 그걸보고 갑자기 사랑에 빠지는 여자. 제길. 분위기가 어쨋네 저쨋네 하면서 설득하려 하긴 하지만...아무리 봐도 설득력이 없다;; 무슨소리인지도 잘 모르겠따. 이것도 번역작가의 탓인듯.(여자의 의식부분에서 서술이 부족했던것 같다.)
* ''번역이 이상한 부분을 일일이 들춰보고 여기에 써보고 싶지만 이 책을 다시보긴 더 싫다.''
- 정모/2002.5.2 . . . . 33 matches
* 01 : 강인수, 남상협, 이창섭, 하기웅, 이현철, 김철민, 이상규, 이영서
* 00 : 박혜영, 박세연, 최광식, 이정직, 김남훈
* 99 : 정해성, 류상민, 강석천, 이광민, 윤정수, 이덕준, 장은지
* 위키 FrontPage 관련 - 학기중에는 Project 단위에 대해 일의 처리가 어렵습니다. 이에 따른 FrontPage 학기모드용으로 전환을 할까 합니다. 그리고 그에 따른 위키 정리 관련. -- 석천
* 신재동 : 과외하는 얘가 낼 당장 시험이라 봐 달라는데 거절할 수 없었습니다... 담에 신입생 모집은 필히 가겠습니당
* 이병희 : 수업 끝나고 잠시 눈을 붙였는데..일어나보니 10시 가까이..ㅠㅠ 죄송합니다~
* 이선호 : 죄송해요 정말 눈물나게 급한 숙제가 있어서 (지금도 하는중..) 죄송합니다 ㅠ.ㅠ
* 이상목 :
* 이봐라 :
=== 홈페이지의 칼럼 게시판 문제 ===
처음에 컬럼 게시판을 개설한 목적은, 여러 사람들이 다시 볼 수 있었으면 하는 글이
하지만 새로 사용하게된 위키가 기존의 컬럼 게시판이 하던 일을 더 멋지게 해내고 있습니다.
이에, 옮길만한 글은 옮기고 컬럼 게시판을 삭제했으면 합니다. --이선우
저도 찬성합니다. 단, 분류를 하는 것이 좋을 것 같네요.
현재 위키 내의 다른 글과 연관성이 있는 글이라면 그 글과 같이 분류를 하되,
특별히 어느쪽에도 속하지 않은 글에 대해서는 컬럼 분류 (근데, 'Column' 과 'Article' 의 차이점은 뭐죠?)
정도로 해 두는 것이 좋을 것 같다는 생각. 다른 분들은? --석천
-> 컬럼게시판을 위키 내의 페이지들로 이동시킴. 처리 완료.
=== 위키 프론트 페이지 ===
* 학기중 모드로 바꾼다. 이는 ZP 회원이면 누구든지 편리한대로 수정하도록 한다.
- 5인용C++스터디/후기 . . . . 32 matches
우선 처음 시작했던 사람들 모두가 함께 끝낼 수 있어서 이번 스터디는 그럭저럭 잘 끝난것 같습니다. 스터디 내용이 좀 많았지만 발표 준비도 잘 해 주었고, 숙제도 잘 하며 잘 따라와준것 같습니다. 이번 스터디가 얼마나 도움이 되었는지는 모르겠지만 지금까지 배운것 보다 좀 더 풍부한 경험이 되었다면 충분히 얻은것이라 생각합니다~ 앞으로는 관심분야를 잘 찾아서 스스로 스터디를 열고 열심히 공부하는 모습을 볼 수 있기를 바랍니다~^^ 다들 수고하셨습니다!
수업뒤 복습을 많이 해야하는데 처음에는 잘 하다가 나중에는 많이 부족했던것이 좀 아쉽네요. 개인적으로 좀 준비미흡이 안타깝습니다.
그래도 꾸준히 진도를 나가면서 전반적인 부분을 알게된 것 같네요. 많이 도움이 되었구요. 그리고 시스템체계에대해서도 약간 알았는데 앞으로도 공부하면서 더 많이 알아야 겠다는 의욕도 생기네요. 앞으로도 친구들과 스터디그룹을 만들어서 서로 공부하면서 선배님들께 물어보기도해야겠고^^; 글구 이번에 MFC를 배운것이 MFC를 공부하는데 이젠는 책을 보면 어느정도 할 수 있을 꺼 같아 좋은 것 같습니다.
문법이 복잡하고 어려워서 정말 힘들었지만 그에 대한 두려움을 조금이나마 극복하게 된것 같습니다. MSDN 찾아보면서 숙제를 완성시키는 과정이 나름대로 만족스러웠습니다. MFC의 메시징 시스템 등의 체계, 윈도우 메시지의 작동 원리 등을 완벽히 이해하고 싶다는 생각이 듭니다. 스터디를 어떤 식으로 준비하고 발표해야될지 알게 되었고 윈도우 프로그램을 보면 어떤 식으로 만들었는지 대략 알 수 있는 능력이 생긴 것 같습니다. 다음 스터디부터 더욱 열심히 하고 싶습니다.
처음에는 의욕적으로(하핫) 스터디 나오면서 MFC를 알아가게 되었는데요.. 나중에는 몇번 빠지다 보니 저도 모르게 흐트러지고 있었네요. 그래도 모두들 꾸준히 나오는 것을 보고 저도 끝까지 나올수 있었습니다 ^^. 무엇보다 개인별로 발표 준비를 하면서 스스로 알아갈 수 있었다는 점이 좋았구요, 그 덕분에 스터디를 집까지 연장할 수 있었습니다.
공부하면서 아 내가 많이 부족하구나 하는 것을 알게 되었어요.. 끝까지 문법과 메시지 처리의 압박에 시달렸는데 내가 발표한것은 그나마(!!) 나은데 다른사람이 발표한 내용은 잘 알지 못하는 것 같아요 ㅎㅎ ^^; 친구들과 같이 공부하면서 나름대로의 경쟁심? 이랄까 의욕이란 것도 생기고 저만 빼고 다들 너무 잘 한 것 같아 앞으로도 열심히 노력해야겠다는 생각도 들엇구요 어떻게 공부해야 하나 대충 가닥을 잡을 수 있던 시간이었습니다
중간에 빠졌던 날이 좀 부담됐지만 ! 결국 끝까지 4번 결석 압박을 견뎌내며 스터디를 마무리해서 기쁘네요.ㅋㅋ MFC를 했으니 이제 부담은 많이 줄었고요. 더불어 새 언어를 배우는데도 부담스럽지 않을 거라는 생각도 드네요. 자. 다음 스터디를 향해 전진~!
- AdventuresInMoving:PartIV . . . . 32 matches
=== 이 문제는 ===
워털루에서 대도시로 이사를 가려고 하는데, 이삿짐 트럭을 빌려서 갈까 생각 중이다. 그런데 요즘 기름 값이 하도 비싸서 가는데 기름 값이 얼마 정도 들지 미리 계산해보고자 한다.
이 트럭은 1킬로미터를 가는 데 1리터의 기름이 필요하다. 기름통은 200리터다. 워털루에서 트럭을 빌릴 때는 기름통이 절반만큼 차 있다. 나중에 대도시에서 차를 반납할 때도 기름은 절반 이상 채워 놓아야 한다. 그렇게 하지 않으면 렌탈 회사에 훨씬 비싼 비용을 지불해야 한다. 기름 값은 최대한 아끼고 싶지만, 그렇다고 해서 길 위에서 기름이 바닥나서 멈춰서는 일은 없도록 해야 한다.
첫 줄에는 테스트 케이스의 개수를 나타내는 양의 정수가 입력되며, 그 다음 줄은 빈 줄이다. 각 테스트 케이스는 정수만으로 구성된다. 첫번째 정수는 워털루에서 대도시까지의 거리를 킬로미터 단위로 표시한 것으로, 최대 10,000이다. 그 밑으로는 출발지로부터 거리가 가까운 것부터 먼 것 순서로, 주유소에 대한 정보가 입력되며, 최대 100개까지 입력될 수 있다. 각 주유소에 대해 워털루로부터의 거리(킬로미터 단위)와 휘발유 1리터당 가격(0.1센트 단위)이 입력된다. 리터당 휘발유 값은 최대 2,000(즉 200센트 = 2달러)이다. 서로 다른 테스트 케이스 사이에는 빈 줄이 입력된다.
각 테스트 케이스에 대해 워털루에서 대도시까지 가는 데 드는 연료비의 최소 값을 출력한다. 문제의 제약조건에 따를 때 워털루에서 대도시까지 갈 수 없으면 "Impossible"이라고 출력한다. 서로 다른 테스트 케이스에 대한 결과 사이에는 빈 줄을 출력한다.
=== 풀이 ===
음. 나중에 대도시에서 차를 반납할 때도 기름은 절반 이상 채워 놓아야 한다. 여기서 절반 이상이라는 조건에 주의를 하지 않으면 안됩니다. -- 보창
=== Greedy한 선택이 안되는 반례 ===
위의 테스트 케이스를 보면 처음에는 거리가 100인 주유소에 무조건 가야합니다. 그러면 기름은 0이 되고, 스터디때 말한 방법으로 하면 앞의 200까지를 살피고, 가장 작은 가격이 있는 곳인 (200, 777) 까지 갈 수 있는 기름 100을 넣고 출발합니다. 그러나 여기서 살펴보면 최적의 해는 여기서 50만큼의 기름만 넣고, 150의 지점에서 또 50의 기름을 넣어서 (200,777)에 가는 경우입니다. -- 보창
- Boost . . . . 32 matches
Boost 는 자유롭게 사용할수 있는 C++ 라이브러리 이다.
1997년, C++의 국제 표준화 작업의 마지막을 알리는 종이 울리던 그 때, 자신들의 표준으로 올리자고 주장했던 표준 라이브러리의 기능이 삭제된 것에 불만을 품은 몇 명의 엔지니어들이 있었습니다. 이들 중 몇 명은 표준화 위원회 내부 임원이었는데, 이들은 결국 2차 표준화 작업 중에 표준 라이브러리의 기능을 보완하고 추가하기 위한 기구를 만들기 시작합니다. 그 결과가 바로 Boost(부스트)로서, '''여러 사람들에 의해 검토되고 보완된 C++ 라이브러리를 무료'''로 제공하는 웹 사이트입니다. C++ 표준 라이브러리와 잘 조화되어 동작하며 이식이 가능한 라이브러리를 만드는 데에 중점을 두고 있는데, 이런 취지에는 다음과 같은 동기가 있었다고 합니다.
'''라이브러리를 확장한 결과는 그 자체가 현재의 기술이 되며, 언젠가는 차후의 표준으로 제안될 수 있을 것입니다. http://boost.org 를 통해 라이브러리를 공개하는 일은 그러한 방법 중에 하나입니다...'''
쉽게 말해서, Boost는 미래의 표준 C++ 라이브러리의 일부가 될 수 있는 구성 요소들의 옥석을 가려주는 역할을 한다고 볼 수 있네요. 참으로 가치 있는 서비스이고, 이러 일을 하는 분들이 있다는 데에 고개 숙여 감사해야겠습니다.
* http://boost.org : 공식 사이트
* [http://boost.org/status/cs-win32.html 컴파일러 테스트] 페이지를 보면 알 수 있듯이 가장 많은 테스트를 통과하는 것은 gcc. VC++ 6 은 테스트도 안한다.
전에 ["JuNe"] 형이 말씀하시던게 이거였구나. --["neocoin"]
Boost Graph(Graph 관련 자료구조 & 알고리즘) library 는 아에 책이 있던데 ; --["1002"]
정헌이 이거가지고 프로그램 짰잖아. --["neocoin"]
- C++Study_2003 . . . . 32 matches
2003 년도 C++ 스터디 페이지입니다.
* 여러가지 방법이 있겠지만... 이번엔 담임이 주로 가르치는 방법이 아닌 학생이 중심이 되어 공부하고 발표하는식은 어떨까요? 처음 몇번은 담임이 세미나를 하는 식으로 하고.. 다음부터는 학생이 주제별로 준비를 해서 발표하고.. 부족한 부분은 담임에 채워주는 방식.. --[상규]
* 한다고 해놓고 알바 때문에 못 할 가능성이 크네요 ㅡㅡㅋ
일단 이름 적어놓겠습니다.... --[강희경]
- 다음주(7/14 이후부터) 시작하지 않을까 생각합니다. --[선호]
* 새로 담임으로 참가했습니다! 많이 부족할 거 같지만 열심히 하겠습니다... --영동["Yggdrasil"]
* 언제모이나요? ^^;; --[방선희]
* 이거 스터디 안하나요? 그냥 위에서부터 3명씩 해서 팀짜서 하죠.
(손동일,변준원,강희경) - 선호형이 담임.
(임민수,곽세환,장창재) - 인수형이 담임.
(방선희,김아영,이진훈) - 영동이형이 담임.
더이상 시간 끌다가는 그냥 흐지부지 될것 같네요. -- [장창재]
원래 회의때 스터디에 대한 이야기를 하려 했으나 스터디 희망자중 5명만 회의에 참석하여 이 5명으로 구성된 [5인용C++스터디]가 우선적으로 만들어진 것입니다. 나머지 분들도 스터디를 하시려면 두 그룹 정도로 나누어 스터디를 진행하시면 되겠습니다. 전부 한꺼번에 스터디를 하기에는 좀 인원이 많습니다. --[상규]
* 음.. -_-죄송합니다.. 영동이랑 연락을 하려다가 점점 늦어지네요.. 팀은 인수군과 협의한 대로 나눠볼께요 ^_^;;;
(손동일, 강희경, 곽세환, 이진훈) -> 선호가 담임
(변준원, 임민수, 장창재, 김아영) -> 영동이가 담임
* 이거 보신 분들은 저에게 메신저질을 하시든, 위키에 답장을 하시든 글을 남겨주세요 ㅠ.ㅠ 죄송합니다. --[선호]
* 죄송 전 결국 스터디를 못하겠네요. 시간이 안나요,,,,역시 혼자 자습해야겠군요....
* 헉.. 선호형~ 제가 언제 오후 1시에 하자구 했어요^^;; 3시이후가 좋은데... 그래두 이왕 그렇게 정한거 오늘은 나가구바꿔요^^ㅋ 글구.. 011-763-5032 이건 제 연락처니까.. 형 연락처두 좀^^ -[손동일]
- ModelingSimulationClass_Exam2006_1 . . . . 32 matches
(a) (5 points) 스케쥴 표 주고..(이번에는 Single Queue, Single Server) 이 시뮬레이션에서 사용되는 상태와 이벤트에 대해 쓰시오.
Step 1) 필기 시험. AM9, PM1 시 경에 이루어지며, 시험시간은 50분 평가 시간을 10분 갖는다. 한번의 시험에 최대 응시인원은 50명이며, 합격률은 80%이다.
Step 2) 실기 시험. 필기 시험 합격자에 한해서 치루게 된다. 시험은 차 2대를 가지고 이루어지며, 시험을 준비하는데 1분의 시간이 소요되며, 보통 6분 가량의 시간이 소요된다. 단, 시험 도중에 결격 사유가 발견될시 6분이 안되어도 시험이 종료되게 된다.
해당 운전면허 시험은 전체 과정이 PM5시에 종료된다.
(b) 구성된 모델이 안정적인지 명확한 이유를 대고 설명하라. (3 points)
(a) (5 points) Peak Value 구하기 - '''그래프의 가장 높은 지점의 높이를 구하라는 문제로 파악했음. pdf 전체의 넓이가 1이라는 사실을 이용하는 문제'''
(b) (5 points) Expectation 구하기 - (계산이 굉장히 지저분함. 소수점 난무)
(b) (5 points) Continuous Probability Function에서 X = x0 일때의 확률이 왜 0인가? Discrete Probability Function에서의 X = x0일때와 비교하시오.
1) 나의 경우 해당 문제를 간단한 확률 모델 + Single Queue, Multi Server 의 문제로 파악했다. 확률모델은 1차 합격자를 가리는데 쓰이고, SQMS모델은 실기 시험을 가리는데 사용하고, 가정으로 실기 시험은 7분을 최고 점으로갖는 Triangle Distribution 이라고 가정하고 풀이했음.
2) 부족한 시간, 랜덤함수를 사용할 수 없는 상황이라는 점을 말하고, TD 의 기대치를 구했다. 대충 구해보니 7.55 분가량이 소요된다는 사실을 알았다. (좌우 대칭형으로 가정했기 때문에... -_-) 따라서 한 패거리의 실기 시험합격자의 최대 인원은 40명 소요되는 시간은 총 5시간이지만 SQMS 모델이 큐잉에서 최대의 효율을 발휘 할 수 있으므로, 양쪽의 서버에 반씩을 나누어서 시험을 보면 2시간 반가량이 필요하다고 판단. 필기가 종료되는 시간은 10:00 + 2:30. 14:00 + 2:30 따라서 당일의 시험이 완전히 종료되는 17:00 분 안에 시험을 끝낼 수 있기 때문에 해당 모델은 안정하다고 적긴적었다. -_-;;
단 문제는 서버 처리 시간이 편차가 분명히 클텐데 이를 고려못해서 좀 안습인답. 솔직히 나도 3번 계산하다가 시간을 다 보내서 -_-;; - [박영창]
- ProjectVirush/Rule . . . . 32 matches
* 명령을 수행하는데는 현실 세계의 시간이 필요하다. 따라서 플레이어는 게임에 접속해서 명령이 수행될 시간을 예약한다. 그리고 예약한 시간에 자신의 명령이 수행되었는지를 다음 번에 확인하고 새로운 전략을 세운다.
* 생명체가 숙주이며 이차원 공간(지구표면)에 넓게 분포한다.
= 바이러스 =
* 숙주 안에서 잠복한다. 이 때는 숙주의 면역 반응을 일으키지 않는다.
* 기본적으로 일정한 방향성 없이 움직인다.
* 나이를 먹는다. 나이가 많을 수록 죽을 확률이 높아진다.
* 숙주는 기본적으로 모든 바이러스를 잡을 수 있는 항체를 어느 정도 갖는다. (이를 '''기본 항체'''라고 한다.)
* 새로운 바이러스가 숙주에 침입했을 때 기본 항체가 바이러스를 잡는다.
* 기본 항체가 새로운 바이러스를 잡기에 모자라는 경우(바이러스 사살 속도<바이러스 증식 속도), 숙주는 새로운 바이러스임을 알아차리고 이에 특화된 항체를 생산한다. 특화된 항체는 기본 항체보다 바이러스 사살 속도가 빠르다.
* 한 번 특화된 항체를 생산한 경우 이를 '''습득 항체'''라고 하고, 특화된 항체를 생산하는 과정이 빨리 일어난다.
* 플레이어끼리 암투 - 상대 약점을 이용해서 경쟁한다. 자기 바이러스에 유리하도록 숙주를 조종하거나 상대 바이러스에 대한 면역이 생기도록 일종의 예방접종용 바이러스(백신)을 퍼트린다.
* 외부의 도움 - 새 바이러스를 외계인 본부에서 지원받는다.
* 지령 - 외계인 본부에서 처음 시작하는 사람에게는 게임을 시작하는 방법을 알려주는 도움말으로써 지령을 내린다. 모든 플레이어어에게 지령을 내려서 경쟁을 시킬 수도 있다.
- zyint . . . . 32 matches
= 진트의 아스트랄 페이지입니다 =
http://cyworld.nate.com/zyint/
MSN : {{{zyint 앳 zyint닷컴}}} >> 앳을 @로 닷컴을 .com으로 공백을 지운후 이메일 주소를 재구성 하세요.
|| 이름 || 가격 || 지른날짜 || 지름평가 || 썰 ||
|| 이름 || 가격 || 평가 || 썰 ||
|| 다빈치코드(일러스트레이티드 버젼;;) || . || ★★★★ || 음.. 다빈치코드는 상하권으로 나뉜거랑 이책이랑 두번봤는데... 아무래도 사진을 직접 보면서 읽으니 [[BR]] 이해가 잘갔다-_-(사실 글로만 읽다보면 이해가 전혀 안되는 부분도 있었고;; [[BR]]최후의 만찬 그림을 책을 읽으면서 바로 바로 [[BR]] 보고싶었엇는데 사진이 포함된 이책은 좋았던거 같다.ㅋ [[BR]]음.. 전체적인 줄거리와 책 속에 있는 지식은 나름대로 만족스러웠다. ||
|| 이름 || 가격 || 평가 || 썰 ||
|| 피아3집 || 11,000원 || ★★★★★ || 보컬 목소리도 마음에들고 기타랑 드럼, 키보드, 베이스 모두모두 러브리 -_-; ||
|| LPU4.0 Limited Edition || . || ★★★★·|| 라이브앨범 -ㅅ- with랑 it's goin' down, step up 좋다 +ㅁ+ [[BR]]아무래도 팬클럽회원 전용 앨범이라; 노래 수가 많지 않아 아쉽긴 하다.||
|| 이름 || 평가 || 썰 ||
|| Mr. & Mrs. Smith || ★★★★· || 재밌다-_-; 막 싸우다가 갑자기 키스씬은 당황스러웠음; 툼레이더 나왔던 여주인공 다른사람인줄 알았다-_-; ||
|| 우주전쟁 || ★★··· || 기대가 크면 실망도 큰법 -_-;;;;;; 문어들의 공격이 압박이었지만 결말이 너무 허무하다. ||
|| 웰컴투동막골 || ★★★★★ || 대박작품-_-; 제목이나 포스터에서 풍겨오는 찌질함은 영화를 보면 바로 사라진다. [[BR]]감독 특유의(이 영화에서 처음보는것인듯) 아웃포커싱 기술로-_-; 감독의 쏀쓰가 물씬 풍겼다! 정말 최고의 영화! ||
|| 로봇 || ★★★ || 가족끼리 보면 좋을거같다. 뭐 내용이야 뻔하지만 그래도 해피엔딩이라 그런지 재밌다.. [[BR]]으흐흐흐.. 로봇이 3D그래픽으로 만들어졌는데 흠 어색한점은 전혀 없었던거 같다.. ||
|| 스텔스 || ★ || 폭탄 터지고 비행기 터지고 -ㄱ- 이런거 좋아하는 사람이면 좋아할거같은 영화지만................ 그다지 -ㅅ-[[BR]]내용도 엉성하고..........궁금증은.. 무인전투기에 왜 좌석이 있는것일까 -_-...[[BR]]별 반개도 아까운 영화. 시각적인 즐거움뿐, 스토리구성은 0점||
- 우음 일단 보류 ㅠㅠ 갑자기 일이 생겨서;; 으윽 쏘리 ㅠㅠ - 태훈
- 흐흐 오랜만에 ZP홈피 와서;; 이제 답변 다네요.. 전 만오천원짜리 닷컴도메인 쓰고 있는데 .... 조만간 닷넷 도메인 등록비용 오른다는 소문이 ㅇㅅㅇ;; - 태훈
[홈페이지분류], [ZeroPagers]
- 위대한게츠비 . . . . 32 matches
== 상협이의 감상 ==
이책은 정말 빌려놓고.. 오래동안 조금씩 조금씩 읽다가 (주로
남는 시간이 많아서 오늘에서야 다 읽고 이렇게 글을 쓸 수 있게
이책에는 위대한 게츠비라는 소설 과 짤막한 몇개의 단편소설도
그리고 이책의 시점이 좀 특이하다.. 주인공의 주변에 있는
어떤 인물이 주인공과의 있었던 일들이나 주인공에 대한 느낌등을 쓰는 형식이다.
솔직히 이책을 그냥 딱 다읽고 나서 느낀점은 이책의 여주인공이라고 할수
있는 데이지 같은 여자(외모만 반반하고, 허영심 많고, 물질적인것을 갈구하고, 이기적인...ㅡㅡ;;)
를 좋아해서는 안된다는걸 느꼈다. 그러한 데이지 이지만 그 데이지를 사랑하는
저렇게 사랑을 하고 있는 게츠비는 그 순간 만은 행복하긴 하겠다는 생각이 들었다.
또한 게츠비가 부자였을때 그렇게 많이 모여들던 사람들이 게츠비가 죽자 장례식에
단 한명만 참석하는것을 보고, 쉽게 이루어지는 인간관계는 쉽게 허물어지는 구나
하고 생각하게 되었다. 또 물질적인인것(돈)이 바탕이 되어서 이루어진 인간관계는
진정한 인간관계를 이룰수 없다는것을 다시 한번 실감했다. 돈이라는 동기로
인해서 이루어진 인간관계인 만큼 그 동기가 사라지면 더 이상 지속되기 어려운
이것 말고도 많은 생각을 할 수 있었지만 여기까지만 적었다.
이책은 그렇게 재밌지는 않다..(ㅡㅡ;;;) 내가 보기에는..
- TAOCP/InformationStructures . . . . 31 matches
한 노드에 들어있는 WORD의 수가 c개라면 다음과 같이 쓸 수 있다.
상수 L0를 base address라고 한다면 다음과 같이도 쓸 수 있다.
하지만 공간낭비가 무한할 수 있다.( F, R이 계속증가하기 때문이다.) 따라서 이런 문제(the problem of the queue overrunning memory)를 해결하려면, M개의 노드(X[1]...X[M])가 순환하도록 한다.
여태까지는 문제(더 넣을 공간이 없거나, 더 지울 것이 없는 경우)가 없다고 가정했다. 이 문제까지 고려한 과정이 다음과 같다.
(6a),(7a)에서는 초기 조건이 F = R = 1이다. 만약 F = 0이라면 오버플로우가 생기지 않기 때문이다.
오버플로우와 언더플로우가 일어났을 때 어떻게 해야 할까? 언더플로우는 하나의 의미있는 조건 - 에러 상황이 아니라 - 이다. 하지만 오버플로우는 더 들어갈 공간이 없는데 들어갈 정보가 남아있어서 에러이다. 따라서 오버플로우가 생기면 용량한계를 넘어서서 프로그램이 종료한다.
가능한 공간에 리스트가 두 개 있다면 (고정된)bottom을 같이 쓸 수 있다. (p.246 그림 참고) 이런 경우 두 리스트가 메모리를 모두 써버릴 때까지 오버플로우는 생기지 않는다. 이런 형태는 매우 자주 쓰인다.
하지만 리스트가 더 많으면 bottom이 움직일 수 있어야 한다.(we must allow the "bottom" elements of the lists to change therir positions.) MIX에서 I번째 한 WORD를 rA에 가져오는 코드는 다음과 같다.
STA *+1(0:2) ;그 주소를 다음 메모리(LDA *,1이 있는)에 넣는다.
n개의 스택이 있는 경우 i번째(1≤i≤n) 스택에 원소를 넣고 빼는 과정을 다음과 같이 적을 수 있다.
여기서 i번째 스택에서 오버플로우가 생기면 메모리 재배치(repack memory)를 할 수 있다. 몇가지 방법이 있는데 지금부터 자세히 알아보자.
(p.248에 (12)와 그림 4는 예제이다. 근데 어렵다. 3번을 해보았으나 제대로 나오질 않았다.)
초기값으로 효율적인 시작 위치를 주는 것이 가능하다. (p.248 (13), 평균적으로 BASE를 분포시킨다.)
한 번 메모리 재배치를 할 때마다 공간을 적당히 마련하는 방법도 가능하다.( 그러나 이해하지 못했다.p.250에 중간에 보면 위 알고리즘(Algorithm G나 R)과 비슷한 동적 메모리 할당 알고리즘의 수학적 분석은 매우 어렵다고 나와있다. )
- 마이포지셔닝 . . . . 31 matches
= 마이포지셔닝 =
* 이책은 글로벌CEO 특강에서 스파이렉스 사코사의 박인순 사장님이 아주 아주 강력하게 추천해서 정현이와 공동 구매 해서 샀다. 아직 도서관에는 안 들어 왔는데 지금 우선 신청은 해놓은 상태다. 우선 전체적인 느낌은 보통의 성공학, 자기계발서는 어찌 좀 뜬구름 잡는듯한 내용도 많았는데 이책은 아주 현실적으로 접근하고 있다. 처세서, 성공학 같은 책중에서 이책이 가장 솔직하고 정확하게 그 길을 제시해주는거 같다. 저런 책에 관심이 있다면 이 책을 꼭 읽어 보는게 좋다. 누군가와 협력하고, 누군가의 장점을 알아볼수 있고, 좋은 아이디어를 알아볼수 있는 능력이 정말 핵심인거 같다. 그리고 혼자 잘나서 다 할수 있다는 생각을 가지면 절대 안되고, 자신이 올라탈 말이 있어야 한다. 그리고 2막은 없다는 이야기가 있는데 1막에서 성공하였다고 해서, 그 똑같은 일을 그 회사 나와서 다시 다른 회사 차려서 해서 성공하는 경우는 거의 없다. 그것은 자기 자신이 시기를 잘 만나서 성공한게 아니라 자기가 잘나서 성공한거라는것을 대중에게 보여주고자 하는 자아 때문인데, 그런 자아를 가지고서 다시 성공할 수도 없다. '수로부여'라고 자신이 한번 잘되었던 일이 있으면 계속 그런식으로 일을 하는것을 말하는 특성이 있는데, 두번째로 할때도 첫번째것이 성공하였다고 그런식으로 똑같이 해서 어떤 경쟁력도 생길수 없다.
* 이책에서는 자기 혼자서는 아무것도 할수 없다고 한다. 그리고 우리가 보통 믿고 있는것과 같이 아주 죽으라고 공부하고 일만해서 성공할 확률은 1%정도밖에 안된다고 한다. 확실히 맞는말 같다. 우리는 무조건 공부만 열심히 하면 될꺼라는 생각을 주입받았지만 그렇게 해서 성공하는건 정말 1%도 안될 정도로 힘들다고 본다. 뭐 어느정도 안정된 생활은 가능할지도 모르겠다.
* 그리고 '일하는 능력'보다 '눈에 띄는 능력'이 더 중요하다고 한다. 그래서 최대한 CEO 근처에 있으라고 한다.
* 다른이의 장점을 알아보는 능력이 정말 중요하다.
* 성공에 너무 이른나이, 늦은 나이란 없다.
* 좋은 아이디어를 알아보는 능력은 성공의 자산이다.
- 블로그2007 . . . . 31 matches
* 블로그, 위키, 게시판 세가지의 장점을 모으고[[BR]]단점을 보완한 새로운 개념의 사이트를 생각해본다.
== 개인페이지 ==
*새벽에 책 보다가 불연득 떠오른 생각이 있어서 그대로 해보니까 잘 되는거 같아요~ㅋㅋㅋ[[BR]] 수생이형 신경써줘서 고마워요~ㅎ[[BR]]아 그리고 이클립스 쓰니까 저장만 하면 내장 브라우져로 바로바로 확인 가능해서[[BR]]웹 브라우져 따로 안열어도 되고 참 편해요!! 다만 아직 잘 쓸줄 몰라서...ㅎ[[BR]]근데 정말 상협이형 말대로 더 편하긴 편하네요~ㅋㅋㅋㅋ 남박사님 감사요~ㅎ
* 책에서 하라는 데로 다 설치하긴 했는데 코딩할 때는 어케 해요?[[BR]]C++처럼 따로 프로그램이 있는건가?... 아님 그냥 편집기로?... -송지훈 '''[답변 및 의견 1]'''
* 구글에서 이클립스 찾아서 설치하긴 했는데 코딩하고 Run 돌리니까[[BR]]interpretor 를 정하고 하라고 나오네요. 여기서 어케 해야 하나요?... -송지훈 '''[답변 및 의견 2]'''
* 제목 형식이 잘못됐어.;;그냥 답변 및 의견 이면 제목보고 먼지 알사람이 없지.여기 페이지에다가 정리 하는게 좋을 터인뎅.ㅋㅋ -[송수생]
* PHPEclipse ~ Zend팀이 Swing의 방향으로 Zend Studio를 내놨을때 Java 개발툴 시장을 뒤엎은 Eclipse를 위해 PHP공식 팀이 아니라 다른 개발팀이 만든 환경입니다.
* PDT - PHP Development Tool PHP 스크립트 엔진을 개발하는 Zend 팀이 Eclipse 진영에 합류후에 PHP개발 툴을 만들기 시작했는데 아직 1.0 까지도 올라가지 않은 개발 중인 제품입니다. 좋기는 하지만, 적극적인 배포도 하지 않고 Ecilpse의 공식 배포 스케줄+환경인 Calisto에도 반영되려면 멀었습니다.
미래에는 PDT로 수렴되겠지만 아직은 정식 버전에 잘 결합이 되지 않을 만큼 불안합니다. 따라서 PHPEclipse를 추천하는데 Web개발을 위해서는 이뿐만이 아니라, HTML Coloring 지원 도구등 여러 도구들이 필요합니다. 귀찮은 작업입니다. Calisto가 나오기 전부터 Eclipse 도구를 분야별로 사용하기 쉽게 패키징 프로젝트가 등장했는데 [http://www.easyeclipse.org/ Easy Eclipse]가 가장 대표적인 곳입니다. 아직도 잘 유지보수되고 있고, Calisto가 수렴하지 못하는 Script 개발 환경 같은 것도 잘 패키징 되어 있습니다. [http://www.easyeclipse.org/site/distributions/index.html Easy Eclipse Distribution]에서 PHP개발 환경을 다운 받아서 쓰세요. more를 눌러서 무엇들이 같이 패키징 되었나 보세요.
여담으로 Easy Eclipse for PHP의 PHPUnit2는 정상 작동하지 않습니다. PHPUnit이 업그레이드 되면서 PHPUnit2가 전환되었는데 아직 개발도구들에는 반영되지 않았습니다.
PHP 인터프리터는 APM을 같이 생각해 설치해야 합니다. 국내에 유명한 APM패키지로는 [http://apmsetup.com/ APM Setup]이 많이 쓰입니다. 그러나 작년 말에 예정된 업그레이드 버전 이후 소식이 없습니다. (내부 사정이 있는 것 같아요.) 더 추천할 곳은 [http://www.apachefriends.org Apach Friends]라는 멋진 곳에 있는 XAMPP를 사용하세요. 천천히 RTFM해보면, 됩니다.
- 송지원 . . . . 31 matches
* '''이름''' : 송지원
* '''닉네임''' : Enoch, 에노크, 에녹 이라고도 불리어요..
* '''생년월일''' : 1988년 02월 20일생 ~~몇 년간 2년 20일이라고 써있었는데 몰랐다~~
* 농구 소모임 위디브 매니져 (에이스를 맡고 있단 소문이 있음)
* 어감이 좋아서 닉네임으로 정한것 뿐 성경 속 인물에 대한 개인적인 애착은 없다.
기록은 기록이라 남기긴 하겠는데 이거 왜 썼던거야.... - 20160924
* ~~1998년부터 2005년까지 명동교회에서 성가대를 했다. -이 때부터 노래와 화음에 미쳤던거 같다.~~
* ~~1999년부터 2004년까지 태권도를 했고, 지금은 3단이다. -아직 3품에서 갱신하지는 않았지만..~~
* ~~중학교 내내 선도부였고, 선도부장도 하고, 성적에 관계없이 특별모범상을 받았다.~~
* ~~2002년 만화동아리 O.A.P의 회장이였다. -만화도 잘 못그리는 주제에..~~
* 2008년 : 일본으로 도망갔다 일본어 기초만 배우고 옴 // '''이 해에 ZP 활동은 제일 열심히 했다.'''
* 2012년~2015년 : LG CNS 입사. 하이테크사업본부 엔지니어링솔루션부문 제조엔지니어링담당 생산최적화팀.
* 2017년 : ~~LG 탈출~~ eBay Korea로 이직. G마켓/옥션/G9하나 했는데 셋 다 아니고 물류 쪽을 하게 되었습니다. Fulfillment팀
* [2009새싹스터디] - 선생도 강사도 모두 여학우라 '아름이반'으로 활동.
새싹 학우들 : [강소현], 유미혜, 유지연, 이예슬
zeropage 신서버 설치, 세팅과 더불어 시작한 스터디. 08홍기,윤석,혁수와 승한오빠 이렇게 총 5명이 진행.
* 이맘때쯤 하드가 난리나서 위키자료가 일절 없습니다ㅠ_ㅠ
정현오빠, 대원오빠, 규현오빠, 지훈이 이렇게 넷이서 10월에 있을 공모전을 목표로 진행한 프로젝트.
그래도 이 mysql&Java 연동을 OOP 프로젝트에 잘 써먹었습니다.
* [JavaGUI] - 정현오빠, 장길이, 영동오빠와 진행
- 캠이랑놀자 . . . . 31 matches
* 가급적이면 라이브러리나 특정 프레임워크 관련하여 어려운 부분은 [1002] support 하에 진행 (뼈대가 되는 코드를 미리 제공해주고, 알고리즘과 관련된 부분에 대해서 사람들이 구현하는 식으로)
* 참여자들이 라이브러리 고생을 덜하고 해당 아이디어를 구현해보고 사고하는데 더 촛점을 잡을 수 있도록 하기.
|| 차수 || 날짜 || 페이지 || 계획 || 진행 ||
|| 1 || 05.9.15 || [캠이랑놀자/050915] || New Media Art 들에 대한 데모 구경. 비전 기반으로 할 수 있는 것들 구경. 추후 시간 정하기. || (v) ||
|| 2 || 05.9.25 || [캠이랑놀자/050925] || DirectShow 개관. 뼈대 코드 구경. 간단한 캠영상 플레이 프로그램 만들기 || . ||
|| 4 || 05.10.15 || 시험 전 주. 아이디어 논의 || . ||
|| 8 || 05.12.28 || [캠이랑놀자/051228] || 배열로서 표현되는 이미지, 데이터 조작으로서 행해지는 이미지 프로세싱, PythonLanguage & PIL & GrayScale Image 에 대한 필터 실습 || (v) ||
|| 9 || 05.12.29 || [캠이랑놀자/051229] 1시 || Color Image Filtering, Mosaic || (v) ||
|| 10 || 06.1.5 || [캠이랑놀자/060105] 1시 || 취소 || (v) ||
|| 11 || 06.1.6 || [캠이랑놀자/060106] 1시|| 취소 || (v) ||
|| 12 || 06.1.11 || [캠이랑놀자/060111] 1시 || Image Difference, Convolution Filter (Average, Sobel, ..~) || . ||
|| 13 || 06.1.13 || [캠이랑놀자/060113] 1시 || How to solve it using Image Processing (?) || . ||
[캠이랑놀자/아영]
[캠이랑놀자/보창]
* C++ & Python - 현재 라이브러리들 관계상 C++ 로 구현된 것들이 많은 관계로. 중간에 [1002] 가 Python Wrapper Class 만들기를 시도할 것이긴 함.~ Python 의 경우 이미지 처리에 대해서 prototyping 을 위해 중간에 이용할 예정.
* NewMediaArt 관련 여러 데모들. 해당 아이디어들을 구현하게 된 동기들과 기술적인 부분에 대한 관찰.
|| 숙제1 || [캠이랑놀자/아영/숙제1] || [캠이랑놀자/보창/숙제1] ||
= 관련 사이트 =
- Celfin's ACM training . . . . 30 matches
|| 1 || 1 || 110101/100 || The 3n+1 Problem || . || [3n 1/Celfin] ||
|| 2 || 1 || 110102/10189 || Minesweeper || . || [minesweeper/Celfin] ||
|| 3 || 1 || 110103/10137 || The Trip || . || [The Trip/Celfin] ||
|| 4 || 1 || 110104/706 || LCD Display || . || [LCD Display/Celfin] ||
|| 5 || 6 || 110603/10198 || Counting || . || [http://165.194.17.5/wiki/index.php?url=zeropage&no=4010&title=Counting/하기웅&login=processing&id=&redirect=yes Counting/Celfin] ||
|| 6 || 6 || 110606/10254 || The Priest Mathmatician || . || [http://165.194.17.5/wiki/index.php?url=zeropage&no=4132&title=ThePriestMathematician/하기웅&login=processing&id=&redirect=yes The Priest Mathmatician/Celfin] ||
|| 7 || 6 || 110608/846 || Steps || . || [http://165.194.17.5/wiki/index.php?url=zeropage&no=4130&title=Steps/하기웅&login=processing&id=&redirect=yes Steps/Celfin] ||
|| 8 || 9 || 110908/10276 || Hanoi Tower Troubles Again || . || [http://165.194.17.5/wiki/index.php?url=zeropage&no=4078&title=HanoiTowerTroublesAgain!/하기웅&login=processing&id=&redirect=yes Hanoi Tower Troubles Again/Celfin] ||
|| 9 || 6 || 110602/10213 || How Many Pieces Of Land? || 3 hours || [http://165.194.17.5/wiki/index.php?url=zeropage&no=4143&title=HowManyPiecesOfLand?/하기웅&login=processing&id=celfin&redirect=yes How Many Pieces Of Land?/Celfin] ||
|| 10 || 6 || 110601/10183 || How Many Fibs? || 2 hours || [http://165.194.17.5/wiki/index.php?url=zeropage&no=4172&title=HowManyFibs?/하기웅&login=processing&id=celfin&redirect=yes How Many Fibs?/Celfin] ||
|| 11 || 10 || 111007/10249 || The Grand Dinner || 1 hour || [http://165.194.17.5/wiki/index.php?url=zeropage&no=4188&title=TheGrandDinner/하기웅&login=processing&id=celfin&redirect=yes The Grand Dinner/Celfin] ||
|| 12 || 12 || 111201/10161 || Ant on a Chessboard || 40 mins || [http://165.194.17.5/wiki/index.php?url=zeropage&no=4209&title=AntOnAChessboard/하기웅&login=processing&id=&redirect=yes Ant on a Chessboard/Celfin] ||
|| 13 || 12 || 111204/10182 || Bee Maja || 30 mins || [http://165.194.17.5/wiki/index.php?url=zeropage&no=4235&title=BeeMaja/하기웅&login=processing&id=&redirect=yes Bee Maja/Celfin] ||
|| 14 || 12 || 111207/10233 || Dermuba Triangle || 3 hours || [http://165.194.17.5/wiki/index.php?url=zeropage&no=4238&title=DermubaTriangle/하기웅&login=processing&id=&redirect=yes Dermuba Triangle/Celfin] ||
|| 15 || 11 || 111105/10003 || Cutting Sticks || 3 days || [http://165.194.17.5/wiki/index.php?url=zeropage&no=4198&title=CuttingSticks/하기웅&login=processing&id=&redirect=yes CuttingSticks/Celfin] ||
|| 16 || 13 || 111303/10195 || The Knights of the Round Table || 1 hour || [http://165.194.17.5/wiki/index.php?url=zeropage&no=4263&title=TheKnightsOfTheRoundTable/하기웅&login=processing&id=&redirect=yes TheKnightsOfTheRoundTable/Celfin] ||
|| 17 || 13 || 111306/10215 || The Largest/Smallest Box || 40 mins || [http://165.194.17.5/wiki/index.php?url=zeropage&no=4264&title=TheLagestSmallestBox/하기웅&login=processing&id=&redirect=yes TheLargestSmallestBox/Celfin] ||
|| 18 || 13 || 111307/10209 || Is This Integration? || 2 hours || [http://165.194.17.5/wiki/index.php?url=zeropage&no=4265&title=IsThisIntegration?/하기웅&login=processing&id=&redirect=yes IsThisIntegration/Celfin] ||
|| 19 || 1 || 110106/10033 || Interpreter || much || [Interpreter/Celfin] ||
|| 20 || 1 || 110107/10196 || Check the Check || 4 hours || [CheckTheCheck/Celfin] ||
- FifteenSecondsRule . . . . 30 matches
어떤 시스템/프로그램이 있을 때, 모든 개념적 단위(예컨대 패키지, 모듈, 클래스, 메쏘드 등)를 개발자 자신이 15초 이내에 설명할 수 있어야 한다는 "15초 룰"의 확장판이 꽤 유용할 때가 많습니다. 이런 식으로 설명을 모두 마쳤을 때는 소스 코드 전부를 설명한 셈이어야 합니다.
여기서 청자가 그 설명을 이해할 수 있냐 없냐는 것은 크게 중요하지 않습니다. 15초 이내에 개발자 자신이 스스로 설명할 수 있어야 합니다.
예를 들어, 경매 시스템이 있을 때, "이 시스템은 무얼 하는 것이냐?"라는 질문에 15초 이내에 깔끔하지만 '''완전한'''(complete) 대답을 할 수 있어야 하며, "그럼, 이 시스템에서 {{{~cpp Authentify}}} 서브 시스템은 뭘 하는 것이냐?"라는 질문에 역시 15초 이내에 완전한 대답이 가능해야 하고, "이 {{{~cpp FooBar}}} 객체는 무엇을 하는가?"라는 질문에 또 15초 이내의 대답이 나와야 합니다. 이런 식의 설명이 모두 끝났을 때, 소스 코드 '''전체'''를 훑은 셈이여야 합니다 -- 이게 용이하려면 프로그램의 구조가 이런 설명의 구조와 유사해야 합니다.
만약 이것이 불가능하다면 왜 그렇고, 어떻게 해야 그것이 가능할지(예컨대, 특정 개념을 표상하는 새로운 어휘를 고안한다든지, 추상 수준이 다른 것을 한 곳에 섞지 않는 것 등) 고민해 보면 많은 것을 배우게 됩니다.
- HowToStudyRefactoring . . . . 30 matches
OOP를 하든 안하든 프로그래밍이란 업을 하는 사람이라면 이 책은 자신의 공력을 서너 단계 레벨업시켜 줄 수 있다. 자질구레한 기술을 익히는 것이 아니고 기감과 내공을 증강하는 것이다. 혹자는 DesignPatterns 이전에 ["Refactoring"]을 봐야 한다고도 한다. 이 말이 어느 정도 일리가 있는 것이, 효과적인 학습은 문제 의식이 선행되어야 하기 때문이다. DesignPatterns는 거시적 차원에서 해결안들을 모아놓은 것이다. ["Refactoring"]을 보고 나쁜 냄새(Bad Smell)를 맡을 수 있는 후각을 발달시켜야 한다. ["Refactoring"]의 목록을 모두 외우는 것은 큰 의미가 없다. 그것보다 냄새나는 코드를 느낄 수 있는 감수성을 키우는 것이 더 중요하다. 본인은 일주일에 한 가지씩 나쁜 냄새를 정해놓고 그 기간 동안에는 자신이 접하는 모든 코드에서 그 냄새만이라도 확실히 맡도록 집중하는 방법을 권한다. 일명 ["일취집중후각법"]. 패턴 개념을 만든 건축가 크리스토퍼 알렉산더나 GoF의 랄프 존슨은 좋은 디자인이란 나쁜 것이 없는 상태라고 한다. 무색 무미 무취의 無爲적 自然 코드가 되는 그날을 위해 오늘도 우리는 리팩토링이라는 有爲를 익힌다. -- 김창준, ''마이크로소프트웨어 2001년 11월호''
기학으로 우리 사상사에 큰 획을 그은 철학자요, "서울서 책만 사다 망한 사람"으로 이름을 날릴 정도로 엄청난 지식욕을 과시하던 사상가 혜강 최한기는 그의 저술 <神氣通>에서 눈에 통하는 법(目通), 귀에 통하는 법(耳通), 코에 통하는 법(鼻通) 등을 이야기하고 있다. 어떻게 하면 우리는 코에 도통할 수 있을까? 리팩토링을 공부하거나 혹은 했던 사람들에게 많은 영감과 메타포를 주는 책이다. 일독을 권한다. --김창준
* Minimize Comments : 코드의 가독성을 떨어뜨리지 않거나 혹은 오히려 올리면서 주석을 최소화하도록 노력한다. 이렇게 하면, 자동으로 리팩토링이 이뤄지는 경우가 많다.
* Follow OAOO : OAOO 법칙을 가능하면 최대한 따르려고 한다. 리팩토링 자발공이 터진다.
* Follow ["LawOfDemeter"] : 디미터 법칙을 가능하면 지키려고 한다. 어떤 리팩토링이 저절로 이뤄지거나 필요 없어지는가?
* Pair Refactoring : 함께 리팩토링한다. 혼자 하는 것 보다 훨씬 빨리 훨씬 더 많은 것을 배울 수 있다. 특히, 각자 작성했던 코드를 함께 리팩토링하고, 제삼자의 코드를 또 함께 리팩토링해 보라. 사람이 많다면 다른 페어가 리팩토링한 것과 서로 비교하고 토론해보라.
* Separate The What From The How : "어떻게"와 "무엇을"을 분리하도록 하라. 어떤 리팩토링이 창발하는가?
- 이영호/시스템프로그래밍과어셈블리어 . . . . 30 matches
API Hooking을 통해 Application 이하의 차원에서 프로그램을 자유 자재로 다룰 수 있다는 것을 배웠다.
몇몇 게임(카트라이더, 워록, 대항해시대 등등)의 프로그래머들이 Application 층만을 다룰줄 아는 무식한 프로그래머라는 것을 알았다. (특히, 워록의 프로그래머는 프로그래머라기 보다 코더에 가깝고 배운 것만 쓸 줄 아는 무식한 바보이다. 그 프로그래머는 개발자로서의 수명이 매우 짧을 것이다. 3년도 못가 짤리거나 혹은 워록이라는 게임이 사라질걸?) - (이 게임들은 코드를 숨기지 못하게 하는 방법도 모르는 모양이다. 이런식으로 게임들을 건들여 패치를 만들 수 있다. KartRider는 요즘에와서 debug를 불가능하게 해두고 실행 파일을 packing 한 모양이다. 뭐 그래도 많은 코드들을 따라가지 않고 ntdll.ZwTerminateProcess에 BreakPoint를 걸어 앞 함수를 건들이면 그만이지만.)
System Programming을 통해 Application층 프로그래밍의 본질을 깨닫기 시작했으며, 가장 중요한 것이 Assembly란 것을 다시 한번 깨달았다.
Assembly를 자유자재로 다루지 못하는 프로그래머는 그 수명이 매우 짧다. 아니라고? 100에 80~90%는 그럴걸? 나머지 10~20%의 프로그래머도 디버그 능력은 현저히 떨어질 것이다. 디버그 능력이 좋다고 해도 Assembly를 자유자재로 다루는 프로그래머를 결코 능가 할 수 없지.
프로그래머라면 Code의 본질을 알아야한다. 그것을 이루는 것이 Assembly이다. 이것을 수행하지 않은 프로그래머는 프로그래머가 아니라 Coder이다. Assembly로 특정 함수를 따라다니며 실제로 익히는 방법은 MSDN에서 나와있는 것을 그대로 베끼는 것보다 현명할지 모른다. 프로그래밍은 배우는것이 아니라 직접 Code를 짜보는 것이다. MSDN을 보는 것과 debug로 따라 가보는 것은 그 차이가 크다.
프로그래밍을 처음 접하는 사람으로서는 Assembly어는 무리가 있을지도 모르나, 약간의 지식을 갖춘 사람은 Assembly어를 꼭 배워야한다. Assembly어는 결코 사라질 수 없는 언어이다. 이것은 매우 중요하며, 이 때문에 대학에서도 정규 과정속에 포함되어 사라지지 않는 것이다.
- 일정잡기 . . . . 30 matches
* 단체/개인의 일정을 잡을 때 다른 일정과 겹치지 않도록 잡는 사람이 있고, 일정을 잡고나면 꼭 다른 일정과 겹치게되는 사람이 있다. 이 차이는 어디서 나는걸까.
* 어떤 일정의 날짜를 잘 잡는데 중요~~한~~(하다고 생각되는) 요소는 3가지이다.
1. 다른 사람/단체의 일정이 언제인지 잘 알 수 있어야 한다.
1. 운이 좋아야 한다.
* 예를들어 3학년 동기엠티를 추진하는 K군이 있다고 하자. K군은 5월 중에 MT를 가고싶어한다. K군은 일정을 잘 잡는데 필요한 요소를 고려해서 1달 전에 MT를 갈 계획을 세우기 시작한다. 이 때 1달전이라는데서 얻을 수 있는 이점은 1번과 2번이다. 1번의 경우, MT참가 인원에 영향을 미치는 요소들을 미리 파악할 수 있게 된다는 장점이 생기게 되는데, 예를들어 농활(5/3~5/6) 해오름제(5/16) 축제(5/22~5/24)와 같이 일정을 잡는 사람이 바꿀 수 없는 요소를 미리 파악해 이를 피하도록 유도할 수 있다. 2번의 경우, MT참가자들의 일정을 1달전에 고정시킴으로 인해서 자신의 다른 일정들을 다른 날짜로 보내도록 만들고, 해당 날짜에 MT가 있음을 주지시켜 이 날 다른 집단이 일정을 잡는 것을 피하도록 할 수 있었다.
* 역시 가장 좋은 방법은 위에서 말한대로 일정을 미리 잡는 것인데, 이외에 3번이 필요한 경우도 발생한다. 예를들어 3학년의 특정 한 과목을 재시험쳐야하는 상황이 왔는데, 일정이 있는 당일 오후 6시에 시험을 칠 뻔 하였으나 강의실 사정 등으로 수업시간에 치게되는 운에 의해서 일정에 영향을 받지 않는다던가 말이다.
* 반면에 1,2,3번이 모두 결여된 경우도 있는데, C집단의 회장 L군은 2012년 C집단의 정모가 매번 다른 일정과 겹치게되는 불운을 맞이하게된다. 정보 수집을 하지 못해 학교 행사와 일정이 겹쳤음은 물론이고, 그 때문에 직전에 날짜를 바꿈으로 인해서 다른 사람들의 다른 일정과 모조리 겹쳐지게 되기도 한다. 게다가 운도 없어 그 날짜에 자신이 참석하지 못하는 불운을 맞이하였고, 일정 파토라는 최악의 사태를 낳기도 했다.
* 올해 ZP회장은 효과적으로 일정을 계획하여 많은 사람들이 참석하도록 할 수 있을까.
- ProjectAR/CollisionCheck . . . . 29 matches
* 기본적으로는 비트맵을 읽어서 텍스쳐르 변환할것이므로, 기본적인 Object는 사각형이다.
* 하지만 십자가 모양의 몹(예)과 충돌처리를 하자니, 십자가 모양의 몹의 사각형 영역에는 맞았지만 십자가 부분에는 안 맞았는데도, 충돌이 된다.
* 일단 두 오브젝트의 사각형이 충돌이 났을때, 그 충돌된 부분의 사각형 영역을 얻어와서, 각각의 오브젝트에 그 사각형 영역이 1이면 충돌, 아니면 안충돌
* 그러자니 오브젝트마다 그림 크기에 맞는 2차원 배열을 가져야 한다. 어쩌면 비트맵을 읽어오면서, 그 비트맵이 메모리에 있을테니, 그걸 참조하는 방법도 있을듯 하다. 안된다 하더라도, 요즘 컴퓨터 메모리 남아도니까 별로 문제가 되지는 않을듯 싶다.
일단 히트 판정이 날려면 주인공이 공격을 하게 됩니다. 그 때 발생하는 무기의 범위는 부채꼴이 되겠죠? 그렇게 때문에 오브젝트가 주인공의 위치와 무기의 거리사이에(각도는 제한된 상태) 들어온다면 히트 판정이 나게 되겠죠? 그러므로 정교한 히트 판정이 나기 위해서는 사각형 영역보다 부채꼴 형태가 더 적합하다고 생각합니다. 그리고 적의 충돌을 판정하기 위해서는 적은 최대한 둥근 모습으로 만든다면 해결이 어느정도 가능하다고 생각합니다. 둥그스름한 물체가 땅에 닿는 곳은 원형이 되겠죠? 그 원형을 판단하면 되지 않을까요? 어짜피 그려지는 곳의 머리가 주인공의 무기와 겹치는 동시에 친다면 더 부자연스러울꺼 같네요...
* 그런데 왜 부채꼴이야? 창이라면 푹 찌르니까 사각형 + 사각형이 될테고.. 검도 찌르면 사각형 + 사각형. 베면 사각형 + 부채꼴이 되겠구나. 생각외로 복잡하군.
* 완성. 일단 오브젝트 사각형 + 무기 리치 사각형 이런식으로 했음
타일식으로 간다면... -_- 적도 나도 모두가 타일위에 서 있는 꼴이 된다.
결국 거리를 따질 필요 없이 나와 적 사이가 몇 타일인지를 계산할 수 있게 된다.
-_- 굳이 충돌처리를 할 필요가 없다. 검의 리치(당연히 타일단위) 적과 나의 거리(타일단위)를 계산하여
이내면 히트 아니면 미스다.
(현존하는 게임의 90%가 이 방식이다. 대전격투가 아닌이상 크리티컬한 충돌체크는 역시 무의미함을 깨달았다.)
- 강희경/도서관 . . . . 29 matches
|| 식별 번호 || 서명(관련페이지1) || 저자 || 루트 || 관련페이지2 ||
|| 3 || [달라이라마와도올의만남] || 김용옥 || [강희경] || ||
* 이성의 기능 (화이트 헤드)
* 인체 드로잉 바이블
|| 식별 번호 || 서명(관련페이지1) || 저자 || 루트 || 관련페이지2 ||
|| 3 || [달라이라마와도올의만남] || 김용옥 || [강희경] || ||
|| 5 || 동양철학에세이 || 김교빈, 이현구 || [강희경] || ||
|| 6 || 19단의비밀 || 이장규, 김준술 || 중도 || [책거꾸로읽기] ||
|| 8 || 전략적 공부기술 || 베레나 슈타이너 || 중도 || ||
|| 9 || NoSmoke:학문의즐거움 || 히로나카 헤이스케 || [임인택] || [학문의즐거움] ||
|| 12 || 이제는 절대로 심리전에서 밀리지 않는다 || 이토 아키라, 나이토 요시히토 || [강희경] || ||
|| 식별 번호 || 서명(관련페이지1) || 저자 || 루트 || 관련페이지2 ||
|| 3 || 수학.아직 이러한 것을 모른다 || 요시나가 요시마사 || 최원석 || ||
''어떤한 이유로든 다시 읽어볼 책''
|| 식별 번호 || 서명(관련페이지1) || 저자 || 루트 || 관련페이지2 ||
|| 3 || 전략적 공부기술 || 베레나 슈타이너 || 중도 || ||
|| 5 || 이제는 절대로 심리전에서 밀리지 않는다 || 이토 아키라, 나이토 요시히토 || [강희경] || ||
역사에 대해서는 문명의 충돌도 한 번 읽어보길 추천~나는 역사학입문을 들으면서 봤던 책이야. --[Leonardong]
* 역사 : [로마인이야기](1권은 지루하지만 2권부터 재밌음), [http://zeropage.org/~namsangboy/wiki/wiki.php/%EB%8B%A8%EC%88%A8%EC%97%90%EC%9D%BD%EB%8A%94%EC%A1%B0%EC%84%A0%EC%99%95%EC%A1%B0%EC%98%A4%EB%B0%B1%EB%85%84 단숨에읽는조선왕조오백년], 학생부군과 백수건달
- 새페이지만들기 . . . . 29 matches
페이지를 편집하는 중 새 페이지를 여는 방법.
'''방법 1'''. 또 다른 방법으로는 위의 Go 에 있는 에디트박스에 새 페이지 이름을 적는다. 해당 페이지가 없으면 새 페이지 편집모드가 된다.
페이지를 만들기 전에 페이지의 양식이 될만한 템플릿들이 제시된다.
'''방법 2(권장)'''. EditText를 한뒤 편집하는 장소에 {{{[["페이지이름"]]}}} 을 쓴다. 그리고 나서 그 페이지를 보면 해당 페이지이름이 붉은색으로 링크가 걸릴 것이다. 해당 페이지이름을 클릭하면 새 페이지를 편집할 수 있으며, 해당 페이지가 만들어지고 난 뒤부터는 일반링크가 걸린다.
<!> '''필독사항'''. 페이지를 만들기에 앞서 [["페이지이름"]] 에 대한 안내를 읽어 본다.
'''방법2''' 의 방식은 일종의 TopDown 방식이 된다. 해당 주제를 Parent로 하여 계속 주제와 연관된 글들을 뻗어나가는 방식이다. 반면 '''방법 1'''전자의 방법은 BottomUp의 방식으로 사용할 수 있다. 새 주제들을 모아서 나중에 페이지분류 & 조정작업을 통해 Parent를 잡을 수 있을 것이다.
개인적으로 Zeropage에서는 후자의 방식('''방법 2''')이 일단은 주제를 흐트러트리지 않는다는 점에서 권장한다. - 강석천
- 위시리스트 . . . . 29 matches
* 제로페이지 회원들이 학술 활동 중 필요하다고 생각되는 물품에 대해서 신청하면 제로페이지에서 지원해 주는 제도입니다.
* 이 제도는 학회 회원들의 활발한 스터디 및 프로젝트 진행을 돕기 위함입니다.
* 신청하는 물품은 도서, 기자재 중심으로 신청 받습니다. 그 외에 신청하는 물품은 형체가 있는 것이어야 합니다.
* 정기적으로 결제해야 하는 상품이 아닌, 1회 결제로 사용할 수 있는 상품이어야 합니다.
* 타인이 신청한 항목을 임의로 수정하거나 삭제하면 안됩니다.
* 형식: {{{물품 이름 : 필요한 이유 - [신청인 이름]}}}
* 물품 이름 : 책 제목, 상품의 모델명, 상품 종류 등
* 가급적이면 상품의 종류 (예: 모니터, 선풍기)가 아닌 구체적인 모델명 기재
* 필요한 이유 : 짧게 적어주시면 됩니다.
* 1: 돈이 남는데 살게 없다면 이거 삽시다.
* 2: 나는 쓸거같긴한데 다른 사람들이 쓸지는 몰르겠고..
* 3: 이건 무조건 꼭 사야됨!
* 크롬북 [http://www.google.com/intl/en/chrome/devices/ 링크 - [:안혁준 안혁준]]
* 비싸지 않은 안드로이드(iOS) 공기계 : 폰 잃어버릴때 대용으로 쓰라는건 아니고..(하루이틀은 그럴수도있겠지만) 개발용 - [김태진]
* 킨들파이어 HD : 다양한 태블릿 구비...? - [김태진]
* 소파 및 1인용 의자(쿠션감있는 등받이없는 것) : 뭐.. 돈이 된다면 - [김태진]
* 에어스프레이
DirectX11을 이용한 3D 게임 프로그래밍 입문
100% 실습! 리얼 아두이노
무한상상 DIY 아두이노와 안드로이드로 45개 프로젝트 만들기
- 2ndPCinCAUCSE/ProblemB . . . . 28 matches
B 번 문제 : 촌수 계산. 소스파일 이름 : bbb.c or bbb.cpp
우리 나라는 가족 혹은 친척들 사이의 관계를 촌수라는 단위로 표현하는 문화를 가지고 있다. 이러한 촌수는 다음과 같은 방식으로 계산된다. 기본적으로 부모와 자식 사이를 1촌으로 정의하고 이로부터 사람들 간의 촌수를 계산한다. 예를 들면 나와 아버지, 아버지와 할아버지는 각각 1촌이므로 나와 할아버지는 2촌이 되고, 아버지 형제들과 할아버지는 1촌이므로 나와 아버지 형제들과는 3촌이 된다. 여러 사람들에 대한 부모 자식들 간의 관계가 주어졌을 때, 주어진 두 사람의 촌수를 계산하는 프로그램을 작성하시오.
입력은 표준 입력이다. 입력의 첫줄에 테스트 케이스의 개수를 나타내는 정수 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명
- 2학기파이선스터디/모듈 . . . . 28 matches
== 모듈이란? ==
* 파이썬 프로그램 파일 혹은 C 확장 파일
* 프로그램(함수, 클래스... )과 데이터를 정의
* 사용자가 모듈에 정의된 함수나 변수의 이름을 사용하도록 허용하는것 ( = 라이브러리)
* 모든것이 모듈단위로 분리되어 있다.
* 별도의 이름공간이 있어서 다른 모듈과 겹치지 않기 때문에 독립적인 작업이 가능하다.
= 이름공간 =
* 이름공간 = 이름이 저장되는 공간
* 자격변수 = ddd.sss 같이 이름공간이 명확히 나타나 있는 변수.
* 무자격변수 = ktf 같이 공간이 명확하지 않은 변수.
== 모듈 공간의 이름 알아보기 ==
== 모듈의 이름 공간얻기 ==
== 이름공간을 갖는것들 ==
* 외부에서 값 설정이 가능함..
* from 모듈명 import 이름 (이름.. 사용)
* import 모듈명 as 새이름 (바꾸기..)
* from 모듈명 import 이름 as 새이름 (바꾸기.. )
[2학기파이선스터디]
- ProjectAR/ThinkAbout . . . . 28 matches
엑션 RPG의 충돌 처리가 미숙하면 하는 사람에게 짜증을 불러 일으킬 수 있다. 이 게임의 주가 될
요소중의 하나이기 때문에 잘 생각해야 할 문제이다.
=== 이미지 출력의 속도 ===
엑션 RPG는 리얼타임(실시간)으로 진행이 되고, 임펙트의 화려함이 있어야 게임의 재미가 높아지기에
이미지 출력의 속도는 느려질 수 밖에 없다. 하지만 속도가 느리다면 게임의 재미가 그만큼 반감되기
때문에 속도를 얼만큼 올릴 수 있을지도 큰 문제이다.
- 속도는 많이 걱정하지 않아도 될것이다. 해상도가 낮고 텍스쳐의 크기가 작다면 생각보다 높은 속도를 얻을 수 있다. --선호
=== 이벤트가 가져올 버그 문제 ===
층을 자유자제로 움직이기 때문에 이벤트가 진행되는 경우의 수는 굉장히 많을 것이다. 이것들이 버그
를 일으키지 않고 잘 진행이 되게끔 하는 것도 생각해 보아야 한다.
몬스터가 그냥 다가와서 때리기만 한다면 말이 되지 않는다.) 이 문제도 많이 생각을 해 봐야 할 것이다
=== 아이템 시스템의 안정화 ===
아이템에 정령이 깃드는 시스템을 하기로 했다. 그 과정에서 발생하는 버그가 있을 수 있다. (정령 두개
를 넣었는데 하나가 날라간다든지 하는 버그가 대부분의 게임에서 노출이 되는 경향이 있다.) 이런 문제
들을 많이 고민 할 필요가 있겠다.
- 새싹교실/2011/쉬운것같지만쉬운반/2011.3.29 . . . . 28 matches
1. 특수 문자 중 \n을 사용하는 이유가 무엇인지 쓰세요.
(x와 y는 다음과 같이 선언되어 있다., int x = 31; int y = 9;)
3. 연산자 우선순위가 같은 연산자끼리의 연산 방향을 결정하는 것을 무엇이라고 하는가?
(고친 부분에 대해서는 하이라이트 표시해주세요~ 하이라이트는 따옴표세개로 양 옆을 감싸주면 됩니다~)
* 관련 페이지 : ThreeFs, [http://no-smok.net/nsmk/ThreeFs ThreeFs(노스모크)], [http://no-smok.net/nsmk/FiveFs FiveFs(노스모크)]
* 예를 들어 지난주에 돈가스를 먹은 것에 대해 후기를 쓴다면 : "지난주에 강남에 가서 하나에 5만원하는 돈가스를 먹었다.(사실) 기대를 잔뜩 했는데 별로 맛이 없었다.(느낌) 강남은 땅값이 비싸서 값만 보고 엄청 맛있을거라 기대하면 안된다는 것을 알았다.(깨달은점) 다음에는 미리 인터넷에서 평을 찾아보고 별점이 높은 돈가스집을 찾아서 가봐야겠다.(앞으로의 계획)"
* 오늘은 표준 입출력 함수, 상수&변수의 의미와 각종 연산자들에 대해서 배웠다. 역시 배우면 배울수록 흥미롭다. 그런데 용운이는 다 알고있고 형준이는 안오고 뭔가 나만 배우고 있는 듯한 느낌이...... ㅜㅜ. 아무튼 지금은 무식해도 올해가 끝나갈 쯤엔 나도 C언어 마스터가 되야지. - 송치완
* 오늘 배운 것은 printf의 사용법과 각종 연산자에 대한 것이었다. 예전에 배운 적이 있지만 다시 배우니 더 깊이 알게 된 것 같다. 프로그래밍은 배울 수록 느는 것 같다. 앞으로도 복습은 소홀히 하지 않아야겠다. - [장용운]
* 오늘 가르치면서 느낀건 내가 준비가 좀 부족했다는 것이다. 시나리오가 제대로 준비되지 않아, 말에 두서가 없었다. Flexible하게 해보려고 하는 것도 좋지만, 일단 최소한의 시나리오는 그리고 해야 할 것 같다. 그리고 컴퓨터로 실습을 하려고 했는데, 다음부터는 일단 개념적으로 익히고 실습을 해야겠다. 손에 익숙해지는 것도 중요하지만, 우선적으로 머리가 추측을 할 수 있도록 하는게 더 중요한 것 같다. 그 사이의 갭은 점점 실습을 통해 줄여나가면 될 것 같다. - [박성현]
* 내가 새싹할 때 설명을 안했던 부분이 있어서 발견을 못했구나 ! scanf함수 라인의 의미는 "10진수 정수형을 입력받아 x 변수에 저장하겠다."인데, 이때 x 앞에 &를 붙여줘야 돼. "x -> &x" 이렇게 바꿔줘야 돼~ - [박성현]
1. 개행 문자(\n)는 printf 함수에서 줄을 넘길 때 사용합니다. 이것에 캐리지 리턴(\r)을 직접 타이핑하지 않는 이유는 printf 함수가 텍스트 모드로 출력하기 때문에 자동으로 캐리지 리턴이 앞에 붙게 되기 때문입니다.
printf('''"'''3 + 4 = 7'''"'''); '''//잘 보면 문자열을 감싸는 두 개의 큰따옴표에 하이라이트 되어있습니다'''
- 정모/2011.7.11 . . . . 28 matches
* 이번주에는 제가 OMS를 하고, 회고는 시간이 없어서 하지 못했지요. OMS를 원래는 제 노트북을 연결해서 하려고 했으나.... 제대로 작동하지 않는다는 사실을 깨닫고 급 바꿔야만 했죠 -,.- 결국 keynote도 쓰지 못하고 ppt로 전환하는바람에 ppt효과도 사망.. 아무튼 한참동안 고민한 주제중에는 나름 잘 골랐던거 같아요. 오늘은 제 후기가 뭐 이런지...;; -[김태진]
* 태진이의 OMS로 첫 스타트를 했네요. 애플에 대해 이야기 하는 것이 주변 친구들을 생각나게 하더군요 -ㅅ-; 지금도 쓰고 있는 MDplayer를 팔고 IPod Classic을 살까 말까 고민중인데다 애플 제품은 잠깐씩만 만져봐서 잘 모르는 상황이었는데, 재미있었습니다. 그래도 고민은 되네요 -ㅅ-a 그러고 나서 뭔가 금방 끝난 것 같네요; - [권순의]
* DP 세미나 참여 때문에 일찍 끝나서 뭔가 약간 아쉬웠습니다. 데블스캠프도 마치고 새로운 스터디/프로젝트도 시작되어서 사실 공유할 수 있는 것들이 많았을텐데 (저 같은 경우 DB2 Certi Program에 대해 좀 공유하고 싶었고..) 다음주를 기약 해야겠어요. 태진이의 OMS는 MacBook의 디스플레이가 원활했다면 keynote로 더 좋은 presentation이 될 수 있었을텐데 아쉬웠을 것 같아요. 본의 아니게 (주제가 Apple이다 보니) 선배님들이 많이 (농담조로) 디스했는데 발표는 좋았답니다. 역시 태진이는 기대치를 높여주는 친구에요. - [지원]
* 태진이가 내가 필요하데서 나왔는데... 아 뭐야 영상통화였냐.. 그건 집에서도 되는거잖앜!! 게다가 맥북 연결이 안 되서 그나마도 안함. 방학중에도 정모는 계속된다는걸 알았음. 와우 애드온 얘기 재밌었어요. 나와서 후회되는거라곤 아 안나왔으면 OMS 안걸리는건데.. 뿐이고 OMS 끝낸 지금은 아무래도 상관없는일! ㅎㅎ! 재밌었음당 앞으로는 자주 참가할께요. - [고한종]
* DP 일정이 급하게 잡혀서 짧게 진행했네요. keynote로 진행되는 OMS를 보나 했더니 케이블때문에 못 봐서 아쉽습니다. Apple사 제품은 조금씩 만져만보고 직접 써본적이 거의 없어서 OMS 재미있게 들었습니다. - [김수경]
* Joseph yodder와의 번개모임이 급잡혀서 정모를 일찍 끝내게 되었습니당 죄송.. 정모에 회장의 역할이 중요하지만 너무 수경이에게 의존적인 것 같아 아쉽습니다. 저도 명색이 부회장인데 제역할을 못하고 있어요..(으 반성) 수경이 혼자 정모를 다 준비하는데 저도 그렇고 다른 임원들도 함께 준비하면 회장이 바쁠 때 대신 진행할 수 있을텐데. 임원이 아니라도 회의 진행자가 필요하다고 생각합니다. 다른분들의 의견은 어떠신지 궁금해요. - [서지혜]
- 지금그때2003/토론20030310 . . . . 28 matches
날짜 : 21일. 단, 학생회에 미리 연락, 집부나 교양학교 관련 행사들과 시간조정이 가능하도록 한다.
* 토론이 PositiveCycle? 을 탈수 있도록 하는 SimpleRule 를 생각하자.
* 소모적인 토론이 되는 일을 방지할만한, 간단한 룰에 대해서(SimpleRule)
* Opening Questions - 대화를 할때 다른 사람들에게 의미를 줄 수 있는, 또는 다른 사람의 말문을 여는데 도움이 될 질문들. 또는, 주제에 가까운 질문들에 대해.
* 어떻게 하면, 이러한 행사(또는 다른 생산적인 행사들)를 '관습'으로 남길 수 있을 것인가. '관습'으로 유지시켜주기 위해, 더 나아가 이러한 관습을 발전시켜주고 키워주기 위해선 어떠한 시스템이 필요할까.
== 나온 이야기들 ==
* 사람들 간 지식을 서로 전수해주는 문화. 보다 생산적이고 발전적인 토론.(피시실이건 어디건)
* 꼭 '대학선배' 가 아닌 '인생선배'로서 이야기할 수 있는 자유로운 이야기들. 간단하면서 실용적인 질문들 등등 자유.
* 교재를 볼때, '실제 학생들의 경험'들이 표현되어있지 않다. 형식적이다는 느낌.
* Why? - 교양학교에서의 지식들이 누적되어지지 못하였다.
* 강사가 2학년들 주도 진행. 경험이 적다.
* '대화' 가 적다. 본격적인 대화가 뒷풀이에 이루어진다.
* 학기 초 들떠있을때보단, 사람들이 어느정도 차분해지고, 자신의 미래를 관찰할 수 있을때 행사를 가지는 것이 좋지 않을까?
* 오히려 그러한 때에 이러한 행사를 하면 그 의미와 효과가 크지 않을까?
* 직장인 선배들이 다음날 작업에 무리가 가지 않는 날짜인가.
ex) 금요일 : 토요일 업무가 평일에 비해 상대적으로 가벼우므로 평일에 비해 부담이 적다.
* 기타 - 금요일인 경우 학교선배가 아닌 다른모임사람들을 같이 참석시킬 수 있다. ex) RenaissanceClub
ex) 토요일 : 학부생들 수업이 없어서 학교에 오지 않을 가능성 높으므로 참여도가 적다.
|| 14 || 화이트데이. 교양학교와 겹침. || X || X || 신입생들의 들뜬 분위기. 가급적 짧은시간 내 빨리 행사를 진행하여 쉽게 진행할 수 있는 행사라는 선례를 남길 수 있다.||
|| 28 || || ○ || ○ || 너무 늦다. 사람들의 분위기 쇄신을 하기 어렵다. ||
- DPSCChapter2 . . . . 27 matches
(중간중간 구라에 가까운 의역이라는. --;;;)
디자인 패턴에 대한 구체적인 설명에 들어가기 전에 우리는 다양한 패턴들이 포함된 것들에 대한 예시들을 보여준다. 디자인 패턴 서문에서 GoF는 디자인 패턴을 이해하게 되면서 "Huh?" 에서 "Aha!" 로 바뀌는 경험에 대해 이야기한다. 우리는 여기 작은 단막극을 보여줄 것이다. 그것은 3개의 작은 이야기로 구성되어있다 : MegaCorp라는 보험회사에서 일하는 두명의 Smalltalk 프로그래머의 3일의 이야기이다. 우리는 Don 과(OOP에 대해서는 초보지만 경험있는 사업분석가) Jane (OOP와 Pattern 전문가)의 대화내용을 듣고 있다. Don 은 그의 문제를 Jane에게 가져오고, 그들은 같이 그 문제를 해결한다. 비록 여기의 인물들의 허구의 것이지만, design 은 실제의 것이고, Smalltalk로 쓰여진 실제의 시스템중 일부이다. 우리의 목표는 어떻게 design pattern이 실제세계의 문제들에 대한 해결책을 가져다 주는가에 대해 설명하는 것이다.
우리의 이야기는 지친표정을 지으며 제인의 cubicle (음.. 사무실에서의 파티클로 구분된 곳 정도인듯. a small room that is made by separating off part of a larger room)로 가는 Don 과 함께 시작한다. 제인은 자신의 cubicle에서 조용히 타이핑하며 앉아있다.
Jane~ 이 문제좀 해결해주실래요? 오늘 하루종일 이 요구문서를 쳐다봤지만, 도무지 아이디어가 안떠오르네요.
제가 디자인부탁하는 것은 바로 이 요구-진행 작업흐름시스템 입니다. (그냥 영어 그대로 써도 될것 같은데.. 대체할 용어가 생각안난다. 아, 어휘 딸려라. --;) 이 개체들이 어떻게 같지 작용해야 할지 모르겠어요. 제가 생각하기론, 이 시스템에서의 기본적인 개체들은 찾은 것 같은데, 각 개체들의 행위들을 어떻게 이해해야 할지 모르겠어요.
Data Entry. 이것은 다양한 form으로부터 health claims 를 받는 다양한 시스템으로 구성된다. 모두 고유 id 가 할당되어 기록되며, Paper claims OCR (광학문자인식) 로 캡쳐된 데이터는 각 form field 들에 연관되어있다.
Validation. 스캔되고 입력되어진 form들은 각 필드들에 대해 일관성보증과 모든 폼이 완전히 채워졌는지에 대한 보증을 위해 검증작업을 거친다. 불완전하거나 적절치 못한 입력은 시스템에 의해 reject되고, 재확인을 위해 요구자에게 도로 보내진다.
- KnowledgeManagement . . . . 27 matches
* 기술에 초점을 맞춘 것으로서 이상적으로 지식 공유와 성장 및 기술을 향상 시킨다.
* 사람들이 서로 지식 교환을 돕는것에 초점을 맞춘다.
* 지식 프로세스를 용이하게 하기 위해서 조직에게 필요한 것은? 어떠한 조직이 어떠한 프로세스에서 가장 잘 지식 관리를 할수 있나? 에 초첨.
* 무언의 지식은 잠재 의식에 있거나 내면화된 지식 그리고 각 개인이 스스로 알고 있다고 인지할 수 없거나 스스로 어떠한 특정한 결과를 성취했다고 알지 못하는 지식이다.
* 명시적인 지식은 개인이 명시적으로 알고 있고, 의식적으로 내면에 지니고 있는 지식으로서 다른 사람과 교류할 수 있다.
* 무언의 지식을 구분하는 대중적인 방법은 그것이 우리의 두뇌에 있는지 여부이고, 명시적인 지식을 구분하는 방법은 우리가 그것을 체계화 한 지식인지 여부이다.
* Nonaka 와 Takeuchi 는 성공적인 KM program 은 지식의 공유를 위해서 내면화된 무언의 지식을 명시적으로 체계화된 지식으로 바꿀 필요가 있다고 얘기한다. 그리고 또한 반대의 경우도 개인이나 그룹에게 있어서 KM 시스템에서 한번 추출한 지식을 내면화 하고 의미있게 체계화 하기 위해서 필요하다고 이야기 한다.
* 세번째 지식의 종류는 embedded knowledge 이다. 이것은 물리적인 사물에 비 명시적인 방법으로 내재되어 있는 지식이다. 예를 들어서 알려지지 않은 장치의 모양과 특성은 그 기계가 어떻게 사용되어지는지 이해하는지에 대한 핵심 요소를 포함하고 있다.
* 지식은 지식 관련된 활동에 대해서 이전, 진행, 완료후등 3가지 상태로 접근 할 수 있다.
* 예를 들어서 조직을 위해서 새로운 프로젝트에 착수하는 개인은 이전에 비슷한 프로젝트에서 배웠던 교훈이나 지식에 접근하려고 할 것이다. 현재 처리하고 있는 문제에 관련된 정보를 얻기 위해서 프로젝트 중에 관련된 정보에 접근하고, 프로젝트를 마치고 추후 프로젝트에서도 필요하게 될 정보를 남기기 위해서 관련된 정보에 접근하게 될 것이다. 지식 관리를 행하는 사람은 시스템, 저장소, 협동 프로세스를 제공하여 이러한 활동을 촉직 한다.
* 지식 저장소에서 지식을 넣고 가져오는 한가지 대체적인 전략은 각 개인이 자신의 지식 요구에 따라 ad hoc 기반으로 접근 하는 것이다. 이 방법의 장점은 각 개인에게서 오는 응답의 내용과 제시된 문제에 대한 해결책이 풍부하고 그것을 제시하는 개인에게 특화될 수 있다는 점이다.
- QuestionsAboutMultiProcessAndThread . . . . 27 matches
1. Single CPU System에서 프로세서 A 가 Run 중일 때, I/O 작업을 해야 돼서 다른 프로세서 B로 스위칭을 하는 상황이다.
* 만약 그것이 아니라면, I/O 작업을 CPU가 담당하지 않는 것인가? CPU 내부 ALU와 I/O 작업 회로가 따로 있는 Independent 상황이기 때문에 그런 것인가?
2. Single CPU & Single-processor & Multi-thread 환경이다.
* A) processor라고 쓰신 것이 아마도 process를 의미하는 것 같군요? scheduling 기법이나, time slice 정책, preemption 여부 등은 아키텍처와 운영체제 커널 구현 등 시스템에 따라 서로 다르게 최적화되어 설계합니다. thread 등의 개념도 운영체제와 개발 언어 런타임 등 플랫폼에 따라 다를 수 있습니다. 일반적으로 process의 context switching은 PCB 등 복잡한 context의 전환을 다루므로 단순한 thread 스케줄링보다 좀더 복잡할 수는 있으나 반드시 그런 것은 아닙니다. - [변형진]
- 학교 내에 건물이 하나 밖에 없다고 가정
- 그 건물엔 화장실이 하나 있네. 그리고 한 명 들어가면 더는 못 들어가네.
- 역시 화장실이 하나 있네. 그런데 여러 명 동시에 들어갈 수 있네.
- 화장실이 여러 개 있네. 각 화장실에는 한 명만 들어갈 수 있네.
- 화장실이 여러 개 있네. 각 화장실에는 여러 명이 동시에 들어갈 수 있네.
* … 이 비유에 CPU Scheduler도 추가한다면 어떤 비유를 들 수 있을까?
* Single CPU 환경이라면
* Multi CPU 환경이라면
* 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) 동시에 할 수도 있습니다. - [변형진]
* 오오.. 이렇게 비유를 할 수 있다니 예술스럽네 - [서지혜]
* 음식점 비유 재미있네요. 표절해야지 ㅋㅋ 저는 픽사빠니까 라따뚜이로 바꿀거예요. - [김수경]
- Self-describingSequence/1002 . . . . 27 matches
대략 연습장에 수열이 만들어질 모습을 생각하면서 디자인, 20분 정도 코딩.
문제는, 1000000000 의 경우에 대해서 답이 나오는 시간이 엄청나게 걸린다는 점이다. 이에 대해서 어떻게 할 것인가 고민,
* 수열에 대한 일반식이 있을까?
* k 값 대비 f(k) 값을 훨씬더 많이 알아낼 수 있을텐데, 이를 이용할 방법이 있을까?
어제에 이어서 고민하던 중, 문제점에 대해서 다시 생각. 결국은 f(k) 를 위한 table 생성에서 메모리를 많이 쓴다는 점이 문제.
이에 대해서 다르게 representation 할 방법을 생각하다가 다음과 같이 representation 할 방법을 떠올리게 됨.
이에 대해서 다음과 같이 구현
# 해당 숫자 범위를 조사하여 어떤 값이 나올지를 return
풀고 나니, 그래도 역시 1000000000 에 대해서는 굉장히 느림. 느릴 부분을 생각하던 중 findGroupIdx 부분이
문제임을 생각. 이를 binary search 구현으로 바꿈.
수열의 값이 늘 증가한다 할때 다음번에 검색하는 경우 앞에서 검색했던 그룹 아니면 그 다음 그룹임을 생각하게 됨.
* 지속적으로 퍼포먼스 튜닝을 위해 다른 알고리즘으로 접근을 해본 점이 좋았음.
너무 직관에만 의존하여 푼 점이 아쉽긴 함.
* 다시금 '이 문제에서 요구한 방법이 이 방법이였을까?' 에 대해서 고민하게 됨. 비록 원하는 성능은 나오긴 했지만.
- 도덕경 . . . . 27 matches
"... 성스러운 사람은 함이 없음의 일에 처하고 말이 없음의 가르침을 행한다.
... 공이 다 이루어지고 일이 다 되어도 백 가지 성의 사람들이 한결같이 일컬어 나 스스로 그러할 뿐이라고 하는도다!
... 내가 함이 없으니 백성이 스스로 질서를 찾고, 내가 고요하기를 좋아하니 백성이 스스로 바르게 되고, 내게 일이 없으니 백성들이 스스로 부유하게 된다. 나는 바램을 가지지 않는다. 그러니 백성들은 스스로 통나무가 될 뿐이다.
... 사람을 잘 쓰는 자는 자기를 낮춘다. 이것을 일컬어 싸우지 않음의 덕이라 한다. 이것을 일컬어 사람을 쓰는 힘이라고 한다.
... 알면서도 아는것 같지 않은 것이 가장 좋은 것이다.
하늘의 길은 잘 이롭게 하면서도 해치지 아니하고, 성스러운 사람의 길은 잘하면서도 다투지 아니한다."
상민이를 상민이라함은 더이상 상민이가 아니다. -_-;
땡푼이라 부르자 --; --선우
이부분 읽고 감상문 쓸 때 따로 옮겨놔야지..라고 생각했었는데[[BR]]
- ReverseAndAdd . . . . 26 matches
일단 어떤 수를 받아서 그 수를 뒤집은 다음 뒤집어진 수를 원래의 수에 더하는 과정을 뒤집어서 더하기라고 부르자. 그 합이 회문(palindrome, 앞뒤 어느 쪽에서 읽어도 같은 말이 되는 어구. 예:eye, madam, 소주만병만주소)이 아니면 회문이 될 때까지 이 과정을 반복한다.
예를 들어 처음에 195에서 시작해서 다음과 같이 네 번 뒤집어서 더하기를 반복하면 9339라는 회문이 만들어진다.
대부분의 정수는 이 방법을 몇 단계만 반복하면 회문이 된다. 하지만 예외도 있다. 회문을 찾을 수 없는 것으로 밝혀진 첫번째 수는 196이다. 하지만 회문이 없다는 것이 증명된 적은 없다.
어떤 수가 주어졌을 때 회문이 있으면 출력하고, 그 회문을 찾기까지 뒤집어서 더하기를 반복한 횟수를 출력하는 프로그램을 만들어야 한다.
테스트 데이터로 쓴이는 수는 모두 뒤집어서 더하기를 1,000번 미만 반복해서 회문을 찾을 수 있는 수고, 그렇게 만들어진 회문을 4,294,967,295보다 크지 않다고 가정해도 된다.
첫번째 줄에는 테스트 케이스를 나타내는 정수 N(0<N<=100)이 들어있고, 그 아래로 N개의 줄에 걸쳐서 회문을 구해야 하는 정수가 한 줄에 하나씩 들어있다.
N개의 각 정수에 대해 회문을 발견하는 데 필요한 최소한의 반복 횟수를 출력하고, 스페이스를 한 칸 출력한 다음, 그 회문을 출력한다.
=== 풀이 ===
|| 이승한 || C++ || 1시간 40분 || [ReverseAndAdd/이승한] ||
* 처음 주어진 수가 회문이면 ReverseAndAdd연산을 하는건가요 안하는건가요? --[iruril]
* 안 하죠. 입력이 {{{~cpp 191}}}이면 출력은 {{{~cpp 0 191}}} -- 재선
* 개인적인 사정도 있었고, 스러피에서 슬럼프에 빠졌었습니다. 다시 열심히 할께요~ - [이승한]
* 정수 N(0<N<=100) 제한을 프로그램 상에서 걸어놓으면 로봇이 틀린 답으로 판단하는군요. 왜 그럴까요? -- 보창
- TCP/IP . . . . 26 matches
|| 애플리케이션 ||
이런 그림을 그릴 수가 있다. 그림에 대한 설명은 하지 않는다.
위 그림중 전송 계층 부분과 애플리케이션 계층 사이에서 애플리케이션
개발자를 위해서 제공되는 API(Application Programming Interface)의 가장 대표적인 형태가 TCP/IP 이다.
위에 나왔던 그림중 전송 계층부분에 해당하는 프로토콜들이다.
간단하게 설명해서 TCP 는 신뢰성있는 전송, UDP 는 '난 보냈으니 잘 가던지 말던지' 라고 하는 프로토콜이다.
애플리케이션이 데이터를 보내고 받을수 있는 추상적 계념이다. 라고 하면 '먼소리여?' 할지 모른다.
쉽게 말해서 데이터를 파일에 쓰고 읽는 것처럼 소켓을 사용해서 데이터를 쓰고 읽을 수 있단 소리다.
이렇게 하면 다른 애플리케이션 역시 쓰여진 소켓을 읽을 수 있고 그 역도 성립한다.
* 인제 TCP/IP 소켓 프로그래밍에 들어가 볼까? 근데 사전지식이 많이 부족하겠군
* http://cs.ecs.baylor.edu/~donahoo/practical/CSockets/textcode.html <Socket Programming for C>
* Richard Stevens와 Douglas Comer의 저작들: 이 쪽에서는 바이블로 통함.
* TCP/IP Sockets (Java/C 버젼) : 가장 짧은 TCP/IP 서적. 짧은 시간 동안 개론적 이해를 얻는데 최고.
* Interactive Shell이 지원되는 언어(e.g. Python, Ruby, ...)를 사용하면 TCP/IP의 개념을 아주 빠른 시간 안에 배울 수 있음. (Python은 내부적으로 C 라이브러리를 그대로 사용) 또, 현재 개발된/개발중인 시스템을 테스트 하는 데에도 매우 편리함. 예컨대, 리코에서는 XMLRPC 서버 접속을 파이썬 쉘에서 하고(import xmlrpc 한 다음에...), 거기서 사용자 등록 등의 서비스를 직접 사용하게 한다.
- 데블스캠프2003/둘째날/후기 . . . . 26 matches
== 이곳은? ==
* 배반이다..4시간동안 머리짠게 다 허탕이었다.. 집에갈래.. - 선희
* 오늘 한거 정말 장난이 아니다. 앞으로 도전은 계속된다. 모두들 열심하는 모습 보기 좋았네... 모두들 방학이 끝난다음에는 모두들 프로그램짜는데 자신감을 가질 수 있길 노력하자~~["조재화"]
* 오늘 잘해보리라는 나의 다짐은 저멀리 날아가 버렸다.. '''8명의 여왕'''이 내머리속에서 '''미로'''를 헤매며 '''랜덤워크'''를 하고 있다;;머리가 터지려 한다. 아니 아직 안 터진게 신기할 따름이다.. 아으.. 쓰댕앤 큐;; 당구나 치러 갈까;; 암튼 파이팅이다!! -- ps 나르동~ 또 김치 싸갖고 와라..ㅋㅋ --[변준원]
* 으... 결국 EightQueenProblem의 해결에 실패했습니다. 2학년이나 되가지고 쪽팔리게스리... 대각선 처리가 문제군요. 어쨌든 반드시 해결해야겠군요... -영동
* 문제에 하염없이 매달려있다는...졸려..ㅜㅜ 한계를 뛰어 넘어야 하는데 그게 쉽지가 않네요...-[Leonardong]
* TDD와 페어프로그래밍으로 상욱이랑 미로찾기를 만들면서 많은걸 깨달았다. 가장 중요한건 네이밍의 중요성! 이름을 이상하게 지어놓고 이상한걸 호출하다가 자꾸 이상하게 나와서, 나중에는 '미로를 무시하고 이동한다.' 라는 말까지 나왔었다.--; 그러면서 중간에 TDD를 잘못했구나 아직 멀었구나 덜 테스트했구나하면서 좌절을 했지만 이름을 고치고 나니 바로 해결이 되는걸 보면서.. 아.. 더불어 CSP는 아직도 이해가 잘 안간다. --인수
* 8퀸 문제를 실패하면서, 프로그램을 짤 때에는 먼저 확실한 알고리즘을 구축해 놓아야 한다고 생각했어요.. 알고리즘부터 틀리게 되면 나중에는 디버깅도 소용이 없다는 사실.. --[문원명]
* 너무 힘들다..제길..ㅠ_ㅠ 한문제도 못풀고..머리에 녹이 슬었..(콜록) [이진훈]
* 역시... 나와 같이 페어를 하면 다들 말리는 느낌이...ㅡ.ㅡ; - [상욱]
- 삼총사CppStudy/Inheritance . . . . 26 matches
당신은 지금 StarCraft라는 게임의 제작자를 맡게 되었다.(가정입니다.-_-유치하더라도 들어주세요.) 먼저 마린과 파이어뱃이라는 유니트가 기획되었다.
class CFirebat // 파이어뱃을 정의한 클래스
void Attack() { // 파이어뱃 공격!! }
일단 완성이다. 기쁜마음으로 제출을 했다.
다음날 문제점이 발견되었다. 마린과 파이어뱃으로 부대를 구성하여 배열에 저장하려고 하였는데 두개의 클래스가 틀리기 때문에 한개의 배열로는 포함할 수가 없었다.
CMarine Force[12]; // 이렇게 하면 부대안에는 마린밖에 넣지 못한다.
CFirebat Force[12]; // 이렇게 하면 부대안에는 파이어뱃밖에 넣지 못한다.
아.. 이 문제를 어떻게 하면 좋을까~? 이럴때 사용할 수 있는 스킬이 바로 '''상속(Inheritance)'''이다.
일단 파이어뱃도 아니고 마린도 아닌 유니트를 만들어보자
protected: // protected를 사용한 이유는 상속받은 클래스에서도 이 멤버들을 사용할 수 있게 하기 위함이다.
마린과 파이어뱃은 이 유니트라는 클래스를 상속 받으면 된다.
class CMarine : public CUnit // 이렇게 상속받는다.
void Attack() { // 파이어뱃 공격! }
이렇게 한 후 부대를 만들어보자
CUnit Force1[12]; // 이렇게 하면 마린도, 파이어뱃도 부대안에 들어갈 수 있다.
이렇게 첫번째 임무를 완성하였다.
- 상협/모순 . . . . 26 matches
* 양귀자씨의 장편 소설로서 삶에 대한 예리한 관찰력이 돋보이는 작품이다.
* 인생은 탐구하면서 살아 가는게 아니라 살아 가면서 탐구하는 것이다.
* 나는 이말에 대해서 이 소설을 읽기 전까지는 그렇게 크게 느껴지는게 없었는데.. 소설을 읽고 나서는 이말에 대해서 느껴지는게 많아 졌다. 인생을.. 미리 짜여진 계획대로.. 마음대로.. 된다고 한다면 행복할까? 자기가 하고 싶은것은 다 할수 있고, 못하는게 없다면?? 과연 행복할까~?? 어떠한 불행도 없는 행복을 행복이라고 할수 있을까? 하는 생각을 해본다. 인생이 그렇게 만만하지는 않을거 같고, 그렇게 만만하게 사는게 좋을거 같지는 않다. 나의 인생도 내 계획대로 된것도 아닌고.. 지금 생각하면 그게 더 재밌는 삶을 살 수 있게 만든건 아닌지 하는 생각이 든다.
* 이책을 읽으면서 행복과 불행에 대해서 생각해 보았다. 그리고 사랑에 대해서도 생각해 본다. 진정한 행복은 불행이 있기에 존재할 수 있는거 같다. 불행이 없는 삶은 행복또한 없는 삶이다. 행복이라는 것도 어떠한 기준이 필요할텐데 그 기준으로서 불행이 적합하기 때문이다. 모......순..... 그렇다면 어떤 방패도 뚫을 수 있는 창이 있기에 어떤 창도 막을 수 있는 방패도 존재 한다고 말할 수 있는 건가?..어떤 창도 막을 수 있다는 말에서 어떠한 창이라는 말이 어떠한 방패도 뚫을 수 있을 만한 창이라는 가정이 숨어 있다. 즉 어떠한 창도 막을 수있다는 말은 필연적으로 어떤한 방패도 뚫을 수 있는 창이라는 존재의 기반 위에서 존재 할 수 있는 것이다. 그 말의 성립 여부를 떠나서 그 말의 존재라는 기반위에서 생각하면 두 말은 서로의 불가분의 관계에 있는 것이다. 세상사의 모든 관계가 그런건 아닐까?..
- 여섯색깔모자 . . . . 26 matches
* Title : 생각이 솔솔 여섯 색깔 모자 ( Wiki:SixThinkingHats )
어떻게 하면 생각을 잘 모을 수 있을까? 어떻게 하면 신속한 회의를 할 수 있을까? 라는 고민에 내려놓은 제 결론이 얼마나 부족한가를 일깨워 주었습니다. 두께가 그리 두껍지 않으니, 가볍게 들고 다니면서 볼수 있습니다. --NeoCoin
White - 하양은 중립적이고 객관적입니다. 따라서 하얀 모자는 객관적인 사실과 숫자들을 나타냅니다.
Yellow - 노랑은 밝고 긍정적입니다. 따라서 노란 모자는 희망적이고 긍정적인 사고를 의미합니다.
Green - 초록은 풀, 채소의 색으로 풍성하고 풍부한 성장을 나타냅니다. 따라서 녹색 모자는 창조성과 새로운 아이디어를 의미합니다.
Blue - 파랑은 냉철합니다. 또 모든 만물의 위에 있는 하늘의 색깔이기도 하죠. 따라서 파란 모자는 생각하는 순서를 조직하는 일, 그리고 다른 모자들의 사용을 통제하는 일과 관련이 있습니다.
수민형에게 이야기 듣고 빌리게 된 책. 예전과 다르게 요즘은 이런책에도 손이 가지더 군요. 이것과 비슷한 다른 책들은 없나요?? '토론'이라는 키워드로 접근하면 무리가 없을까요?? - [이승한]
평소에 의견을 교환 하다가 보면 어느새 자신의 자존심을 지키려는 논쟁 으로 변하게 되는 경우가 많다. 이 논쟁이란게 시간은 시간대로 잡아 먹고, 각자에게 한가지 생각에만 편향되게 하고(자신이 주장하는 의견), 그 편향된 생각을 뒷받침 하고자 하는 생각들만 하게 만드는 아주 좋지 못한 결과에 이르게 되는 경우가 많다. 시간은 시간대로 엄청 잡아 먹고... 이에 대해서 여섯 색깔 모자의 방법은 굉장히 괜찮을거 같다. 나중에 함 써먹어 봐야 겠다. 인상 깊은 부분은 회의를 통해서 지도를 만들어 나간후 나중에 선택한다는 내용이다. 보통 회의가 흐르기 쉬운 방향은 각자 주장을 하고 그에 뒷받침 되는것을 말하는 식인데, 이것보다 회의를 통해서 같이 머리를 맞대서 지도를 만든후 나중에 그 지도를 보고 같이 올바른 길로 가는 이책의 방식이 여러사람의 지혜를 모을수 있는 더 좋은 방법이라고 생각한다. 이 책도 PowerReading 처럼 잘 활용 해보느냐 해보지 않느냐에 따라서 엄청난 가치를 자신에게 줄 수 도 있고, 아무런 가치도 주지 않을 수 있다고 생각한다. - [상협]
- 음계연습하기 . . . . 26 matches
피터 드러커의 '''이노베이터의 조건''' 에서
세상에 음계(etude-연습곡)를 연습하는 것보다 더 지루한 일은 없다. 그러나 [[HTML(<FONT COLOR=BLUE>위대한 연주자일수록 하루도 빠짐없이 성실하게 음계를 연습한다.</FONT>)]] 마찬가지로 [[HTML(<FONT COLOR=BLUE>유능한 외과 의사일수록 한층 더 성실하게 봉합술을 연마한다.</FONT>)]]
피아니스트는 연주 능력 향상에 크게 도움이 될 것 같지 않은 음계를 여러 달 동안 계속 연습하기도 한다. 그러나 그 연습이 피아니스트로 하여금 원하는 음악적 성취를 이룰 수 있도록 해준다. 외과 의사는 능숙한 수술 실력 향상에 크게 도움이 될 것 같지 않은 작은 손놀림을 익히기 위해 여러달 동안 계속해서 봉합용 실과 씨름을 한다. 외과 의사는 그 꾸준한 연습 덕분에 수술을 빠르고 정확하게 하게 되고, 그 결과 소중한 인명을 구하기도 한다. [[HTML(<FONT COLOR=RED>무언가를 성취하는 것은 반복적인 연습에 의해서만 가능하다. </FONT>)]]
프로그래밍도 이러한 음계(etude-연습곡)연습을 꾸준히 해서 장인(Craftsman)으로 발전해 나가는 길이 있지 않을까?
단순한 음계 연습은 무엇도 이루어 주지 않습니다.
에릭슨(Ericsson)의 전문성(expertise)연구가 이쪽 방면에 유명합니다(see also http://www.vocationalpsychology.com/expertise.htm 및 각종 인지심리학 서적). 바이올린 전문가들에 대해 막대한 추적조사를 해보았는데, 그들의 실력은 자신이 바이올린 연습(정확히 말하면 deliberate practice)에 투자한 시간과 거의 비례했습니다. 하지만 에릭슨은 여기에 전제를 답니다. 단순한 반복 연습은 아무 도움이 안된다고 강조합니다. 자기 자신을 관찰하는 것, 그리고 피드백을 통해 재조정하는 것이 중요합니다.
피아노 배울 때는 '하농'과 '체르니' 연습이 음계연습이었습니다. 프로그래밍에 있어 음계연습이 어떤 것이 될 수 있을지 전혀 감이 안 잡힙니다. 누구 자신만의 음계연습 알려주실 분 없나요? :) --[창섭]
[강규영]도 클래식 기타를 배울 때 선생님께서 매우 강조하신 두 가지가 있는데, 하나는 가능하면 거울 앞에서 연습할 것, 또 하나는 자신의 연주를 녹음한 후 들어볼 것 이었습니다. --[강규영]
맞습니다. 제가 통기타 동아리에서 연습할 때도 선후배간에 내려오는 연습법이 바로 거울을 보며 연습하는 것과 녹음하는 것이었습니다. 이는 기타, 노래 모두에게 해당하는 것으로 자신을 객관적으로 살펴볼 수 있는 방법이었습니다. --[창섭]
- 프로그래밍십계명 . . . . 26 matches
도스시절 한글라이브러리인 한라 프로를 만드신 임인건님께서 쓰신 글입니다.
프로그래밍을 공부하시는 분들께 큰 도움이 되리라 생각합니다.
*오늘 필요 없는 정보는 내일 필요하리라. 가장 가치 있고도 저렴한 지식은 책 속에 있느니라. 서점과 동료의 책꽂이에 무엇이 꽂혀 있는지 때때로 살피어라. 무심코 흘렸던 종이 한 장이 너의 근심을 풀어 주었으리라. 설명서는 충분히, 꼼꼼히 읽을지어다. 모든 의문은 설명서를 안 보는 데서 생기니라. 그렇더라도 모두 다 읽을 필요는 없느니라.
*5분 후에 정전이 되고 내일 너의 하드가 맛이 가리라. 그러하니 너의 소중한 소스 코드는 정기적으로 여러 군데에 단계별로 백업해 두어라.
*정수가 절대로 그 한계를 넘지 않으리라 가정하는 것은 어리석음이라. 127, -128, 255, 32767, -32768, 65535, 이 숫자들을 너의 골수에 새기어라. 0.0은 0이 아니니 실수는 원래부터 결코 정밀하지 않느니라. 부호 없는 것과 있는 것을 어울리거나 정수끼리 나눌 때에는 늘 조심하여라.
*절대로 일어나지 않을 일은 반드시 일어나고, 가장 드물게 일어날 일이 가장 너를괴롭히리라. 그러하니 언제나 논리에 구멍이 없는지 꼼꼼히 따져 보고, if를 쓸 때에는 else부터 생각하라.
*지금 그 매개 변수가 결코 가질 수 없다는 값을 내일부터는 가지리라. 그러하니 매개 변수값이 올바름을 항상 검사할지어다. 그렇더라도 처리 속도가 문제가 되는 경우는 예외이니라.
*컴파일러의 경고는 모두 켜 두어라. 경고는 곧 오류이니라. 오류를 알리는 함수의 결과를 확인하지 않는 우를 범하지 말지어다. 모든 파일 입출력과 모든 메모리 할당은 조만간 실패할 것이라.
8. 한 번의 수정과 재컴파일만으로 연관된 모든 것이 저절로, 강제로 바뀌도록 할지어다.
*어떠한 것을 수정했을 때에 연관된 것이 따라서 변하지 않는다면 그것이 곧 벌레이니라. 컴파일러로 하여금 매개 변수 리스트를 완전하게 검사하도록 하고, 언젠가 손대야 하거나 따라서 변해야 하는 수치는 전부 매크로로 치환하며, 형 정의를 적극 활용하여라.
*너의 프로그램은 항상 바보와 미친놈만이 쓰느니라. 사용 설명서를 쓸 때에는 결코 빠뜨리지 말아라. 빠뜨린 만큼 사용자는 너를 괴롭힐 것이니라.
*가장 완벽한 프로그램일수록 가장 완벽하게 숨은 벌레가 있느니라. 네가 이 세상 최고의 프로그래머라고 떠들며 자만할 때, 옆집 곳간에서는 훨씬 더 뛰어난 것을 묵묵히 만들고 있느니라. 아무렴 프로그래밍은 혼자 잘나서 할 게 아니니, 너로 인해 다른 사람들도 더불어 잘 되면 그얼마나 좋은 것이냐.
이 모든 것을 깨닫고 지키려 애쓰는 자는, 있어도 없어도 되어도 아니 되어도 늘 평온하리라.
- 화이트헤드과정철학의이해 . . . . 26 matches
계속 화이트헤드에 주목하는 이유라면 (김용옥씨 관점의 화이트헤드해석일지도 모르겠다. ["이성의기능"] 때문이지만.) 점진적 발전과 Refactoring 에서 뭔가 연결고리를 흘핏 봐서랄까나. 잘못하면 뜬구름 잡는 넘이 될지 모르겠지만. 이번에도 역시 접근방법은 '유용성' 과 관련해서. 또 어쩌면 용어 차용해서 써먹기가 될까봐 걱정되지만. 여유를 가지고 몇달 생각날때 틈틈히 읽으려는 책.
김용옥씨의 서문의 인상이 꽤 깊게 남는다. 일상적 경험으로부터 귀납적 관찰로 쌓아올리지 않고, 조급하게 하나를 통찰하는 연역의 원리를 먼저 찾으려는 모습에 대한 비판. 과연 나의 말은 나의 과정들, 경험들을 얼마나 담고 있는건가.
* '해체를 염두에 두지 않는 구성은 인간 지성의 오만한 독단이겠지만, 구성에 기생하는 단순 해체는 인간 지성의 무책임한 유희일 뿐이다' -- 문창옥씨 맺음말중.
철학책이고 형이상학을 그린 책이라지만, 읽을수록 예전에 내가 이야기했었던 학문론(뭐 '론' 을 붙이기도 뭐하지만)이 생각이 난다.
비유의 아이디어로서 ["NumericalAnalysisClass"] 때 배운 Interpoliation 기법들이였다. 수치해석시간의 Interpolication 기법들은, 몇몇개의 Control Point들을 근거로 Control Point 를 지나가는 곡선의 방정식을 구하는 법이다. 처음 Control Point 들의 갯수가 적으면 그만큼 오차도 많지만, Control Point 들을 늘려가면서 점차 본래의 곡선의 모양새를 수렴해간다.
Control Point 들은 일상의 경험들이다. 그 경험들이 삶의 방정식들을 만들어간다. 비록 그 방정식들이 오차가 많을지더라도, (라그랑주일지, Cubic Spline 일지. 어쩌면 결국 현실을 누가 더 잘 설명하느냐라는 유용성의 문제일까) 어느정도 유용하다. 공식이 완성된 선은 재계산과정없이 빨리 그릴 수 있다.
우리는 진리를 찾기 위해 오늘도 자신의 공식에 Control Point 를 하나더 추가하고 있는것일지도 모른다. (단, 라그랑주일경우엔 좀 더 정확해보이는 Cubic Spline 으로 페러다임 전환을 하자. ^^;)
- 2thPCinCAUCSE . . . . 25 matches
* 사용언어: C/C++ with Visual C++ 6.0
* 문제 성격: 국내 대학생 프로그램 경진 대회의 문제 출제 경향을 따른다. 2002년도 문제 샘플( http://cs.kaist.ac.kr/~acmicpc/problem.html see also ["2002년도ACM문제샘플풀이"] 참조)
* 팀원이 아닌 사람과 대화 금지
* 그 문제에 대해서 준비된 테스트 데이타( 보통 5-10개)에 대해서 모두 맞는 답을 내야 그 문제를 맞춘 것으로 한다.
* 프로그램의 실행시간이 일정시간(예: 10초)을 지나도 끝나지 않을 경우 틀린 문제가 됩니다.
* 컴파일 error, 실행 시간 error , 출력 포맷이 문제에서 정한 것과 다른 경우에도 틀림.
* 제출한 답안이 틀렸을 경우, 매번 일정한 penalty 점수 (10점)를 받게 된다.
* 맞춘 문제에 대해서는 경시 시작부터 문제를 제출한 시각까지 시간을 분으로 환산한 것이 점수로 주어진다. (따라서 점수가 적을수록 유리) 그리고 여기에 penalty 점수를 합산한 것이 그 문제의 최종 점수가 된다. 예를 들어, 어떤 한 문제에 대해서 다섯 번째 제출을 시작후 1시간 20분에 하여 맞추면, 지나간 시간이 80분이므로 80점, 네 번째까지는 틀렸으므로 4번*10점=40점이 penalty, 최종 점수는 120점이 된다.
* 각 팀의 최종 성적은 맞춘 문제 수와 점수 합이 된다.
* 순위는 맞춘 문제의 수가 많을수록 상위, 같은 수의 문제를 풀면 빨리 푼 팀 (즉, 점수 합이 적은 팀)이 순위에 유리합니다.
1. 각 문제는 데이터를 외부에서 입력받아서 프로그램으로 답을 계산한 후 반드시 출력을 한다. 이때, 입출력은 표준입출력만 사용한다. 파일 입출력문을 쓰면 안됨.
4. 채점은 자기 컴퓨터에서 하는 것이 아니라, 채점 팀의 컴퓨터에서 실행한다. 이점을 유의할 것. 즉, 자기 컴퓨터에만 있는 특수한 기능을 사용하게 되면, 채점 팀 컴퓨터에서는 안 돌아 갈 수 있음.
5. 채점 팀은 채점에 필요한 데이터를 파일로 만들어서 가지고 있다가 이를 학생의 수행파일에 파일 redirect를 통하여 수행파일에 입력시킨다.
=== 문제 풀이 ===
* 아래 링크를 클릭하여 자신의 문제 풀이를 올리면 됩니다. 자신의 이름을 밝혀 주세요~
- DevelopmentinWindows . . . . 25 matches
* Console 서브시스템 - 텍스트 모드 에플리케이션 운영
* '''Windows 서브시스템 - GUI 모드 에플리케이션 운영'''[[BR]]
(앞으로 Windows 서브시스템 기반의 프로그래밍을 윈도우즈 프로그래밍이라고 하겠다.)
* Native 서브시스템 - 디바이스 드라이버 운영
* Windows CE 서브시스템 - Windows CE 에플리케이션 운영
* POSIX 서브시스템 - POSIX 에플리케이션 운영
* 표준 사용자 인터페이스 제공 (["DevelopmentinWindows/UI"])
* 윈도우즈 데이터 타입
* 프로그램이 순차적으로 실행되지 않고 메시지 발생에 따라 실행이 되는 방식
* 세부적인 것들을 모두 다룰 수 있지만 너무 복잡해서 사용하기 어렵다.
* 윈도우즈 API를 클래스로 포장하여 제공하는 클래스 라이브러리
* 실행파일에 붙여지는 바이너리 데이터
* 아이콘, 커서, 메뉴, 다이얼로그 박스, 비트맵, 폰트, 엑셀레이터 테이블, 스트링 테이블, 버전 정보 등
* 윈도우즈 프로그래밍에서는 대부분의 라이브러리가 DLL로 제공된다.[[BR]]
=== 윈도우즈 데이터 타입 ===
||데이터 타입||의미||
=== 윈도우즈 API를 이용한 예제 프로그램 ===
=== MFC를 이용한 예제 프로그램 ===
- DispatchedInterpretation . . . . 25 matches
인코딩은 프로그래밍에 있어서 필수적이다. 데이터가 계산으로부터 분리되어 있던 과거에는, 인코딩 작업은 매우 중요했다. 삑사리 한번 내면 돈 겁나 많이 들었다. 하지만 객체지향 시대에는 좀 다르다. 인코딩은 두번째로 밀려나고 객체들 사이의 책임을 분배하는 것이 가장 중요하게 된 것이다. 잘짜여진 OO 프로그램에는, 어떠한 정보에 관심을 가지는 객체가 하나밖에 없어야 한다. 그 객체는 자신의 정보에 직접 접근하고, 은밀하게 인코딩과 디코딩을 수행한다.
그.러.나. 객체의 정보가 다른 객체에 영향을 미쳐야만 할때가 있다. 간단할때는, 그냥 인코딩된 오브젝트에 메세지를 보내면 수월하게 해결이 가능하다. 하지만 복잡한 경우에는 힘들다. 문제는 수백의 클라이언트들에게 모든 타입의 정보에 대해 명시적으로 case 형태의 구조를 만들기를 원하지 않는다는 것이다.(??)
역시 코드로 이해하는 것이 빠르다. Shape 객체는 line, curve, stroke, fill 커맨드들의 순차적인 조합으로 이루어져 있다. 이것은 commandAt(int)라는 n번째 커맨드를 리턴해주는 메세지와, argumentsAt(int)라는 커맨드에 넘겨줄 인자들의 배열을 리턴해주는 메세지를 제공해준다.
위의 코드를 보면 알겠지만, CURVE 다음에는 STROKE, FILL 등이 계속 나올 것이다. 즉, case 구조를 씀으로써, OAOO의 원칙을 위반하고 있다. 이에 우리는 case 구조가 인코딩된 객체 안에 숨겨지도록 하는 해결책이 필요하다.
또한, commantAt이나 argumentAt같은 메세지 말고, sendCommand(at,to) 같은 메세지를 제공하자. 위의 line,curve도 이꼴이므로 같이 다룰수 있다.
그러면 이렇게 간단해진다.
정리해놓고 보니... 무슨 말인지 모르겠다.--; 앞이랑 뒤의 연관관계가 상당히 떨어진다. 본인의 해석이 부족한 탓이다. 빠른 시일 내에 보강해서 올리겠다.
- PowerOfCryptography/조현태 . . . . 25 matches
숫자가 지대 크다. 감당이 안된다..ㅠ.ㅜ
하지만 지금은 일해야 하기때문에 시간이 부족한 관계로..
내일이나 모레 수정 및 보완해서 두개 다 풀수 있도록 만들겠다.
// 값을 입력받을때, 두 값의 입력순서를 바꿔 놓았는데, 그편이 좀더 안정적이라는 단순한 이유때문..
회사에서 이런짓 하면 짤리려나?ㅎㅎㅎ
두번째 소스.. 숫자가 커도 저장하고 연산할 수 있을...듯 하다..;;ㅁ;; ㅎㅎㅎ MAX_LONG의 값을 10으로 줄이고 테스트를 해서 2개 이상의 경우에도 돌아가는 것은 알겠는데... 3번째 4번째 예제의 수가 원체 커야지 말이다. 연산의 결과가 좀처럼 안나온다. 곱하기 루틴에서 계속 더하고 있는듯..;;ㅁ;;
cout << "결과값에 1을 입력할경우 프로그램이 끝납니다.\n";
cout << "이용해주셔서 감사합니다.\n";
cout << "이용해주셔서 감사합니다.\n";
int 형을 64비트로 했군. -_-. 생각해보자. 파이썬처럼 거의 무한대자리까지 연산하려면 어떻게 해야할까??? - [이영호]
└간단하게 파이썬이랑 결합하면 되요오오~~>ㅃ<;;; ㅎㅎㅎㅎ
필요할때마다 malloc으로 할당하고 포인터로 넘겨서 연산하는 방법이 있습니다만....(귀찮다...귀찮다..귀찮다..윽.. 이게 아니잖아!!) -[조현태]
└음... 그거 내가 고등학교때 짜다가 포기했던 방법이네 ㅋㅋㅋ 나중에 가니 꽤나 복잡해져서...
암튼 요즈음 방법으로는... __int64 를 만드는 방법으로... assembly를 이용하면 엄청 간단해지더군 -_-...
한번 공부하고 만들어봐... C언어에서 인라인 어셈 써서 함수 만들어두 좋구. 아래 참고. - [이영호]
;;ㅁ;; 음.. 영호선배는 넘흐 마니 알고이쩡..>ㅃ<;; C언어 소스 봐도 모르게떠용..ㅎㅎ 64비트형의 인트형의 변수를 두개 지정하고 a에다가 최대값을..(아마 부호가 있기 때문에 -1저장됬을듯한..)넣고 b에는 a-1을.. 그럼 -2가 저장..;; 음.. 이게 아니라 혹시 b가 포인터라서 메모리 한칸 앞쪽을 잡아주는 건가요? 음.. 그러면 할당되지않은 메모리를 건드는 사태가..;;ㅁ;; 이것도 아닌가.. 연구를..;;ㅁ;; - [조현태]
- ServiceQualityOfYongsanMarket . . . . 25 matches
용산 전자상가에 갈일이 많을 텐데, 이곳에 개개인이 평가한 상점의 서비스 평가나 가격등에 대한 정보를 모아두면 좋을 것 같아서 이 페이지를 만들었습니다. 상점이름은 ID로만 표현해두고 이 ID에 대한 정보는 ZP의 게시판에만 게시를 해서 외부인은 열람할 수 없게 해 두는 것이 좋을것 같네요. -- 임인택
* 홈페이지에서 주문&입금 후 전화로 찾아갈 테니 물건을 준비해 줄 수 있냐고 묻는 도중에 내 말을 자르며, '찾아가심 됩니다' 라며 전화거는 사람을 무안하게 만들었다. 여기서 약간 기분이 상함...
* 1시간 정도 후에 매장을 찾아가 아까 전화했던 사람이라고 설명을 해주니 물건을 챙겨줌(용산의 특성상 손님을 반갑게 맞거나 하는것은 애초에 바라지도 않음). 봉지에라도 좀 담아주지...; 영수증좀 받을 수 있냐고 물으니 눈도 마주치지 않으며, '홈페이지에서 출력하시면 됩니다'. 보통 손님이 이런 요구를 하면 직접 출력해주는게 기본적인 서비스 아닌가?
* 간이영수증을 요구했더니 서랍장에서 주섬주섬 꺼내 한장을 줬는데, 가다가보니 사업자번호, 상호, 등등이 하나도 적혀있지 않았음. -_-;
* 주문한 셋트에 대한 궁합(?)을 보고 이에 대한 대안을 전화로 알려줌.
DeleteMe) 용산에서 서비스를 바라는 자체가 이상 -_-;;; 싸기만 하면 장땡 ㅋㅋㅋ - [eternalbleu]
용산의 메인 고객은 소비자가 아니므로. 뭔가 핀트를 잘못맞춘건 아닐까; 그리고 용산의 영수증인 경우, 워낙에 이일저일(?) 하는 일들이 많아서 일부러 자유로이 빈 영수증 두었다가 필요할때 상호 도장찍는 경우 많음..--[1002]
보통 이런경우보다는 기분좋게 물건사는 경우가 더 많았는데, 이날은 정말 짜증이 밀려와, 개인적으로라도 이 가게는 안가려고 리스트업하는겁니다. 흐흐. - 임인택
- SwitchAndCaseAsBadSmell . . . . 25 matches
["가위바위보"] 구현 코드들을 보면 케이스 문을 많이 쓰거나 혹은 비슷한 구조의 if 문이 중복된 경우가 많습니다.
케이스문이 줄줄이 나오는 것이나 비슷한 구조가 반복되는 것이나 모두 "나쁜 냄새"(Moa:BadSmell )입니다. 조금이라도 나쁜 냄새가 나면 바로바로 냄새 제거를 해야 합니다. 예컨대, 반복되는 케이스문은 테이블 프로그래밍(Table/Data Driven Programming)으로 해결할 수 있습니다.
그리고, 사고의 도구들을 적극적으로 활용하기 바랍니다. 스테이트 다이어그램이나, 심지어는 x,y 좌표계를 사용하는 것, 혹은 서브루틴을 통해 문제를 소문제(subproblem)로 나누는 것도 아주 훌륭한 사고의 도구가 됩니다 -- 문제의 복잡도를 낮춰주기 때문이죠.
* 둘 중에 누가 이겼는지 판단하기
* 사람별로 이긴 횟수, 진 횟수 누적하기
이중에서 두번째 "판단하기"를 TDD와 리팩토링을 통해 다음과 같이 만들었습니다.
여기서 한단계 더 리팩토링이 가능할까요?
사실은 이런 종적 상태로서의 프로그램이 중요한 것이 아니고, 어떻게 이런 프로그램에 도달할 수 있었는지, 그 사고와 프로그래밍의 과정이 중요합니다.
- Yggdrasil/가속된씨플플/2장 . . . . 25 matches
* 루프불변식(loop invariant): while문이 그 조건식을 검사하는 매 경우에 대하여 참일 것이라고 가정하는 속성. 처음에 이걸 보고, 이런 개념도 있었냐고 생각했음. 루프불변식은 코드는 아니고 주석에 해당하며, while문이 진행되면서 while문의 제일 처음과 끝에서 루프의 내용이 의도한 대로 돌아간 건지를 정의한 문장이다.(말로 설명하기 애매한 듯...) 하여튼 이것을 쓰는 이유는 루프문을 제대로 설계하기 위해서. 아래의 코드는, 책에 있는 코드로, 불변식의 예이다.
//여기에서 불변식이 참이라고 가정할 수 있다
//한행을 출력하면 불변식이 거짓이 된다(바로 아랫줄)
//여기서 불변식이 참이라고 확신할 수 있다
* 단락평가(short-circuit): 그러니까 if(a==0||b==0){...}에서 왼쪽의 a==0이면 b==0인지는 보지도 않고 괄호 안을 실행한다는 뜻. 자바에선 ||기호와 |기호를 구분하던 것 같았다. 아마 전자는 전부 평가, 후자는 단락평가였던 것 같다.
* 복합대입연산자: 이름이 복잡해서 무슨 말인가 했는데, a+=b처럼, a=a+b를 요약해서 쓰는 형태.
* 반개범위: 루프의 범위를 설정할때, for(i=0;i<3;i++)처럼, 시작인 0은 포함하나 3은 포함하지 않고 2에서 끝난다. 이것을 [0,3)으로 표현하는데, 3은 루프 범위에 표현되지 않는 "끝을 벗어난 값"이다.
* 루프에서 1이 아닌 0부터 시작하는 이유
* 비대칭적 범위(반개범위)를 사용하므로, [0,5)이면 루프가 5번 돈다는 것을 쉽게 알 수 있다. [1,5]면 5번 돈다는 것을 파악하기 힘들다.
* 루프 불변식을 이해하기 쉽다.
- 바람의딸걸어서지구3바퀴반 . . . . 25 matches
= 이 책은 =
* 한비야의 세계여행을 쓴 책중 일부이다.
* 이책에서는 한비야의 세계여행을 재밌게 전해준다. 이책에서 인상깊은 구절은 킬리만자로 산을 올라갈때 천천히 자신의 속도로 꾸준히 올라간다면 누구나 올라갈 수 있다고 하는 구절이다. 인생도 마찬가지로 누가 어떤 속도로 가던지 자신의 속도를 알고 자신의 속도로 꾸준히 나간다면 못 이룰게 없다. 또 얻은 교훈은 세상은 사람이 만들어낸 각종 규칙, 규범들로 돌아가지만 말만 잘하면 얻고자 하는것을 얻을 수 있다. 결국 그런 규칙, 규범도 사람이 만든 것들이기에.. 그리고 반드시 환경이 편하고 몸도 편해야 행복한건 아니란것도 느꼈다. 오히려 더 행복을 방해하는 조건으로 작용할 수도 있다. 환경이 아주 불편하고 바빠도 사람은 아주 행복할 수 있고, 오히려 행복하기에 더 좋은 조건일 수 도 있다. 오지일 수록 더 행복해 보이는 이유도 이러한 이유 때문일지도 모르겠다. 행복은 내 안에 있다. 그리고 세계에는 지금의 나의 환경과는 비교할 수 없을 만큼 불편하고 좋지 못한 환경에서도 행복하게 사는 사람이 많다는걸 느끼고 지금의 생활에 감사하자는 생각을 했다. 그리고 한비야가 어떤 외국인과 만나서 같이 등산하는데 그 외국인 행동이 꼴볼견이고 싫어할 행동만 했다고 그런다. 그런데 알고보니 그 외국인은 마약에 중독되었다가 마약을 끊고 나서 지독한 우울증에 시달리고 있다고 한다. 그 말을 듣고 쉽게 다른 사람을 판단해서는 안되겠다는 생각이 들었다. 역시 사람 사는 일에는 원인이 있고 결과가 있다. 또 무슨일을 하던지 목표를 잡고 나서 세부적인 계획을 세워서 차근 차근 해 나간다면 아무리 큰 목표라도 이룰 수 있겠다는 생각도 들었다. 사람은 계획에 있어서는 치밀해야겠단 생각이 들었고, 꾸준한 계획들의 실천이 있어야만 원하는 성과를 이룰수 있다는걸 느꼈다.
- 정모/2007.3.27 . . . . 25 matches
김정현, 이장길, 유상욱, 문원명, 주소영, 이차형, 이원희, 윤영준, 남규현, 김동준...
- 현재 학회비가 제대로 들어오지 않고있따.(이유 : 타 학회의 인수인계 미숙, 과사의 실수)
- 현재 pc관리 비용이 나오는지도 불투명 하고 동아리 지원금 또한 불분명 하고 있다.
- PC관리 비용이 나오지 않을 경우 우리 또한 PC실을 관리할 이유가 없다(학교에 맡겨버리자)
- 거대자금( 동아리지원비 50, PC관리비)이 나오면 과사에서 중개하여 나눠주는 식이었다.
- 현재 문제가 되고 있는 부분이 다달이 PC관리비용이 14만원이 나오고 있어서 이 돈을 아마 4개의 학회가 골고루 나누어 질거 같다
- 회의가 끝난뒤 우리는 학회이니까 자신이 부족한 과목, 급한 숙제, 궁금한점 등등에 관해서 주제를 만들고 활용하는 방식으로 했으면 한다.
- 현재 회의가 너무 일방통행이라 회원 각각의 창의력있는 의견이 나오기 힘든점을 보안하기 위해 생각해 봤다.
- 각 회의마다 적당한 수의 ost주제가 나와야 하므로 홈페이지에 페이지를 만들어 주제를 미리 적어보는 방법도 고려해 보자.
- JTD 2007 Study=> 참가인원 : 유상욱, 이장길, 문원명
=> 개발툴 : 이클립스 3.2, jtk1.6
- 파이썬 세미나 => 진행자 : 조현태
=> 이번주 금요일 오후 5:00 시부터 2시간동안 진행할 예정
- Toeic Study => 진행자 : 이원희
- 지금그때2006/질문레스토랑 . . . . 25 matches
* Q: 이강희 -방학에는 뭘 하면 좋을까요?
* 이창섭 - 영어를 더 평소에 해두는 것도 좋고, 방학중에 못했던 것들을 해보는 것도 좋다.
* 김상섭 - 해외여행을 가는 것, 애인을 만드는것이 좋다.
* 이창섭 - 수학이 중요하다. 철학을 기호화 한것이기 때문..
* 이선호 - C프로그래밍, OP등등.. 만드는것이 재미있어서..
* 이창섭 - 구현하는 것은 컴퓨터엔지니어이기 때문에 재미있다. 그러나 교양에도 재미있는게 있다.
* Q: 이광영 - 자신의 멘토가 누구인가요?
* 이창섭 - 석천쳥, 상민형 등등.. 작은것에도 감동하기 때문에 많다.
* 설윤창 - '뉴턴의 일생'이라는 책. 데카르트의 책등.. 여러가지 고서.
* 이창섭 - 권투에서 한명은 다운되어야 하는점이 인생에 교훈이 되었다.
* Q: 이선호 - 자신의 친구의 장단점
* 이창섭 - 감정은 한순간이니까 휘둘리지 말라고 했던 친구..
* 이창섭 - 사람이 낮은게 아니라 계급이 낮을 뿐이라는 것.
* 이선호 - 모든지 긍정적으로 생각하는게 좋다.
* 이창섭 - 슬럼프를 받아들인다.
- ActiveXDataObjects . . . . 24 matches
마이크로소프트 ADO(ActiveX Data Objects)는 데이터 소스에 접근하려고 고안된 COM객체이다. 이것은 프로그래밍 언어와 데이터 베이스 사이의 층을 만들어준다. 이 층은 개발자들이 DB의 구현부에 신경쓰지 않고 데이터를 다루는 프로그램을 작성하도록 해준다. ADO 를 이용할 경우, 데이터베이스에 접근하기 위해서 SQL 을 알 필요는 없다. 물론, SQL 커맨드를 수행하기 위해 ADO 를 이용할 수 있다. 하지만, SQL 커맨드를 직접 이용하는 방법은 데이터베이스에 대한 의존성을 가져온다는 단점이 있다.
새로운 프로그래밍 프레임웍인 .NET에서 MS는 ADO의 업그레이드 버전인 ADO.NET을 만들었다. ADO.NET의 객체 구조는 기존의 ADO와는 꽤 다르다. 하지만 ADO.NET은 아직까지는 대중화되거나 성숙화되지 못했다.
ADO 는 ActiveX 이므로 C++ 이건 VB 이건 Python 이건 어디서든지 이용가능. 하지만, 역시나 VB 나 Python 등에서 쓰는게 편리. 개인적으로는 ODBC 연동을 안하고 바로 ADO 로 C++ Database Programming 을 했었는데, 큰 문제는 없었던 기억. (하긴, C++ 로 DB Programming 할 일 자체가 거의 안생겨서..) --[1002]
- GDG . . . . 24 matches
* ZeroPage 내 소모임 형태로 개설하는 것이 좋다는 의견을 수렴하여 공지. (9월 중)
* ZeroPage의 활동 모습과 Google이 주최하는 다양한 행사에 참여하는 모습을 보고 결정하겠다고 함.
* GDG Pre-DevFest Hackathon 2013 에 참여하고, GDG DevFest Korea 2013의 HackFair 안드로이드 애플리케이션 공모전에 작품 출품.
* 2014년 1월 25일 Std.IO 단체 결성과 Hello, World! 행사 진행으로 인해 가능성이 더 높아짐.
* 커뮤니케이션
* 고학년 분들이나 타과생들이 들어오기 편할 것
* 보고서를 좀 많이 써야 함
* 자율성이 저하 될 수도 있음
* OpenCamp가 별로 좋지 않다는 의견으로 보일 수 있어 부연합니다. ZeroPager가 원하는 활동이 있다면 그것을 하면 되지 굳이 OpenCamp와 같은 방식의 세미나를 고집할 필요는 없다는 의미입니다. - [김수경]
* 대학의 이름(중앙대)을 걸고 설립을 할 수는 있어도 동아리의 이름(ZeroPage)을 걸고 설립을 할 수는 없음 (확인 요망)
* GDG 명칭은 지역이나 학교만 가능 설립한다면 GDGCAU가 됩니다 - [조광희]
* 숭실대가 GDGSSU 이미 만들지 않은 상태면 GDG동작을 진지하게 밀었을텐데... 이미 GDG 따로 만들어서 안타깝네요. - [김수경]
* 별개의 조직으로 만들고 제로페이지 임원진과 GDGCAU 임원진은 안겹치도록. 회원은 자유.
* Chapter Status Requirements 활동이 제로페이지의 활동과 겹치는 부분이 많다고 생각함. 이 부분에 대해서 제로페이지 위주로 활동을 할 것인지, GDG 활동을 할 것인지에 따라 필요 유무가 확실하게 갈릴 것으로 보임 - [이봉규]
- Hartals . . . . 24 matches
방글라데시의 정당들은 자신의 세를 과시하기 위해 정기적인 동맹 휴업(파업)을 추진하는데, 이 동맹 휴업은 경제에 상당한 피해를 끼칠 수 있다. 이 문제에서는 각 당을 동맹 휴업 지수(hartal parameter)라고 부르는 h라는 양의 정수로 나타낼 수 있다고 하자. 이 동맹 휴업 지수는 한 동맹 휴업과 다음 동맹 휴업 사이의 기간을 날짜 수로 표시한 값이다.
세 개의 정당이 있다고 생각해보자. 그리고 i번째 당의 동맹 휴업 지수를 hi라고 할때 h1=3, h2=4, h3=8 이라고 가정하자. N일(N=14) 동안의 세 당의 행보를 시뮬레이션하면 다음과 같이 표시할 수 있다. 시뮬레이션은 항상 일요일에 시작하며 금요일이나 토요일에는 동맹 휴업이 없다.
이 결과를 보면 14일 동안 정확하게 다섯 번의 동맹 휴업(3, 4, 8, 9, 12일)이 있음을 알 수 있다. 6일은 금요일이기 때문에 동맹 휴업이 일어나지 않는다. 결국 2주 동안 근무 일수로 5일의 동맹 휴업이 실시된다.
몇 정당의 동맹 휴업 지수와, 어떤 정수 N이 주어졌을 때, N일 가운데 동맹 휴업으로 인해 일을 하지 않은 근무 일수를 계산하라.
입력의 첫번째 줄에는 입력될 테스트 케이스의 개수를 나타내는 하나의 정수 T가 들어있다. 각 테스트 케이스의 첫번째 줄에는 한 개의 정수 N(7≤N≤3,650)이 들어있으며 시뮬레이션을 돌릴 기간(날 수)을 나타낸다. 그 다음 줄에는 정당의 개수를 나타내는 정수 P(1≤P≤100)가 들어간다. 그 다음부터 시작하는 P개의 줄 가운데 i번째 줄(1≤i≤P)에는 i번째 정당의 동맹 휴업 지수를 나타내는 양의 정수 hi(7의 배수는 아님)가 들어있다.
각 테스트 케이스에 대해 손실된 근무 일수를 한 줄에 하나씩 출력한다.
=== 풀이 ===
- ThinkRon . . . . 24 matches
당신은 어떤 문제에 직면했다. 좀처럼 일이 풀리질 않는다. 이 때 스스로에게 묻는다. 만약 RonJeffries(혹은 당신이 존경하는 전문가)가 이 자리에 있었다면 어떻게 했을까?
일전에 XP 메일링 리스트에 조언을 바라는 글을 하나 올렸습니다. 회사에서 XP를 진행하다가 부딪힌 문제에 대한 것이었죠. 그걸 올리고 답장이 한장도 도착하기 전에 갑자기 이런 생각이 들었습니다. "만약 RonJeffries라면 어떤 답장을 쓸까" 신기하게도 저는 그걸 너무도 분명히 잘 알고 있었습니다. 그래서 그 답을 마치 RonJeffries가 직접 만들어준 마냥 귀하게 생각하고 요리조리 궁리해보고 또 실험해봤습니다. 그랬더니 아주 훌륭한 결과를 얻었습니다. 며칠 뒤 진짜 RonJeffries가 제가 예측한 것과 거의 비슷한 답을 해주더군요.
저는 이미 RonJeffries를 어느 정도 내재화(internalize)하고 있는 것은 아닌가 생각이 듭니다. 사실 RonJeffries나 KentBeck의 언변은 "누구나 생각할 수 있는 것"들이 많습니다. 상식적이죠. 하지만 그 말이 그들의 입에서 나온다는 점이 차이를 만들어 냅니다. 혹은, 그들과 평범한 프로그래머의 차이는 알기만 하는 것과 아는 걸 실행에 옮기는 것의 차이가 아닐까 합니다. KentBeck이 "''I'm not a great programmer; I'm just a good programmer with great habits.''"이라고 말한 것처럼 말이죠 -- 사실 훌륭한 습관을 갖는다는 것처럼 어려운 게 없죠. 저는 의식적으로 ThinkRon을 하면서, 일단 제가 가진 지식을 실제로 "써먹을 수" 있게 되었고, 동시에 아주 새로운 시각을 얻게 되었습니다.
전문가 비전문가 PairProgramming을 하다가 문제에 직면했습니까? 스스로에게 물어보십시오. 만약 KentBeck이나 WardCunningham, RonJeffries 같은 사람이 이 자리에 나 대신 있었다면 이 문제에 어떻게 대응했을런지. 그리고 거기서 얻은 해답을 꼭 실행에 옮겨 보세요. 자신은 물론 상대방도 놀라게 될 것입니다. 해답은 늘 안에 있습니다.
--NoSmok:HerbertSimon from http://civeng1.civ.pitt.edu/~fie97/simonspeech.html
- Yggdrasil/가속된씨플플/4장 . . . . 24 matches
* 장의 제목 그대로의 내용이다. 프로그램의 구조화(함수)와 데이터의 구조화(구조체) 등등을 설명하고 있다.
* 값에 의한 전달은 전달인자값을 다른 곳에 복사를 해줘서 전달하기에 실제 데이터는 변경되지 않는다. 복사에 시간, 메모리 소요.
* 참조에 의한 전달은 그 전달인자의 별명(?)을 넘겨준다. 즉 그 변수 자체를 넘겨주는 것이나 다름없다. 즉, 함수 내에서 그 전달인자로 전달된 변수가 바뀌면 원래의 값에도 변화가 온다. 그래서 적절히 const로 값이 바뀌지 않도록 제한해주는 것도 좋다. 복사를 안 하므로 오버헤드를 줄일 수 있음.
* 1학년 1학기 텀프로젝트를 할때, 성적정렬 프로그램에서 정렬로 순서가 전부 바뀌어버려서, 루프문의 끝에서 전부 다 초기화했던 기억이 난다. 이때 전달인자에 전달 방식을 제대로 이해하고 활용했다면 편했을 것을.
* 이렇게 사용하고, compare의 정의부는,
인데, compare는 함수인데 괄호는 쓰지 않는다. 괄호를 쓸 경우 그 인자까지 알아서 써줘야할 것 같은데, sort의 정확한 구조를 잘 모르는 나에겐 좀 벅찬 방법이다. 하여튼 괄호는 쓰지 않는다.
compare 함수 포인터를 넘겨주면 students vector(또는 list)내에서 값을 꺼낸다. Student_info 형이 나오겠지 그 것들을 compare 함수에 넘겨주는 거다. --[인수]
* try{}catch(a){}: try{} 블록을 실행하다가 예외상황이 발생하면 catch{} 블록을 실행한다.
* throw로 예외 상황이 발생되었다는 것을 알린다. 예외 클래스엔 여러개가 있으며, 생성자로 문자열을 집어 넣을 수 있고, 이건 일반적으로 출력이 안되지만, what()함수로 확인 가능.
* width(n) 메소드: 이전의 넓이를 리턴하며, n이 현재보다 클 경우 나머지 칸에 공백을 넣는다. n이 0이면 넓이 리셋.
* max()라는 함수가 의심스럽다. 분명 msdn에도 algorithm헤더에 있다고 했는데 컴파일하면 자꾸 정의되지 않은 이름이라 에러를 뱉어낸다. 이 함수의 정체는?
- ZeroPageServer/BlockingUninvitedGuests . . . . 24 matches
제로페이지 위키의 RecentChanges 를 보면 가끔 쓰레기 페이지가 생성이 되는 경우가 있는데, 매번 수작업으로 페이지를 삭제해야 하는 번거로움이 있다. 이를 서버 또는 위키위키 자체가 막아주는 방법에 대해서 토의해 보는 페이지.
=== 주로 생성되는 페이지 ===
=== 주로 접근하는 아이피들 ===
|| 아이피 || 빈도 ||
* '''위키위키단에서 페이지 생성 자체를 막는다'''
- 확실한 방법이기는 하지만, 위키철학에 어긋나는 방법이 될 수도 있다.
- 두가지 방법을 생각 해 볼 수가 있는데, 하나는 아이피 자체를 막는 방법과 특정 URL 의 접근을 막는 방법. (URL을 막는 방법이 가능한지는 모르겠다)
- 만약 해당 페이지를 생성하는 주체가 로봇이 아닌 검색엔진의 결과를 클릭한 사용자라면 이 방법은 적절하지 않다.
- [임인택]의 [http://purepond.cafe24.com/ 개인위키]도 ZeroPage 에서와 같은 문제점을 (그것도 더 심하게) 겪었는데 아파치의 보안기능 (.htaccess 파일 이용)을 적용해봐도 결과는 마찬가지였다. 누군가의 장난이거나 검색엔진(+사용자)의 무지에서 오는 문제인것이 확실하였는데. 결국 NoSmoke:노스모크모인모인 의 '''등록한 사용자만 글을 쓸수 있게 하는''' 기능을 이용하여 이 문제를 해결하였다. 여담으로.. 쓰레기 페이지를 손수 지우느라 엄청 고생함...-_-;;
- 수 . . . . 24 matches
||이름||MSN||한마디씩||
||[이영호]||nilath 골뱅이 hanmail 닷 net||=ㅂ=||
||[송수생]||xtimex 골뱅이 hotmail 닷 com|| ||
||[신혜지]||doiha86 골뱅이 hotmail 닷 com|| ||
||[joosama]||dlduswn05 골뱅이 hotmail 닷 com||진보된 정보의 공유화를!!!!!ㅎㅎㅎ||
||[임수연]||theeric 골뱅이 hotmail 닷 com|| ||
||[장이슬]||sting825 골뱅이 msn 닷 com|| ||
첫모임(2005.4.6) - 이중 for문 완벽이해
두번째모임(2005.4.11) - CampusC를 교재로 5명의 학생들이 한 단원씩 강의를 할 예정. ㅡ _-;;;
Campus C입니다. 1번부터 보시면 C를 이해하는데 정말 좋겠지만, 1번이 어려우시다면 2번 부터 보시면 되요~.
교재에 나오는 소스 중 아직 이해하기 힘든 부분은 굳이 이해 하려고 하실 필요는 없습니다.
똑같이 출력해오기
이름:
└스스로 이해될때까지 약간씩 힌트만 주시는게 괜찮았어요^^ㅎㅎㅎ-[joosama]
└근데 힌트 넘 안주시더라,ㅠ 욱사마가 이슬이 놀릴때 진짜 제 마음이 다 아팠3,ㅋㅋㅋ-[임수연]
└나도 같이 놀렸는데;; 미안하네;;- [톱아보다]
- DebuggingSeminar_2005/DebugCRT . . . . 23 matches
Debug C Runtime 클래스를 이용하면 라이브러리가 알아서 동적할당되는 메모리를 역추적하여 누수되는 메모리를 가늠하는 것이 가능하다.
자기가 짠 프로그램으로 돌려보고 누수 여부를 판단하기에 좋을 것이다.
|| _CRTDBG_CHECK_ALWAYS_DF || _CrtCheckMemory() 함수를 모든 new, delete 함수에 대해서 자동 호출 되도록 지정한다.[[BR]] 이 함수는 할당된 공간의 유효성을 지속적으로 체크한다. 즉 domainerror나 기타 메모리 access에 관한 부분을 검사한다. 대신 오버헤드가 상당하다. 그러나 그만큼 디버깅의 효율성을 높여줄 수 있다. ||
|| _CRTDBG_LEAK_CHECK_DF || 프로그램이 종료되는 시점에서 _CrtDumpMemoryLeaks()를 호출. 메모리 해제에 실패한 경우 그 정보를 얻을 수 있다. ||
''_CRTDBG_ALLOC_MEM_DF 는 기본적으로 on, 기타 플래그는 디폴트 off이므로 bitwise 연산자를 이용해서 적절하게 플래그를 설정해야한다.''
// 전처리 문장이 끝난뒤에 include
//DCRT의 오버헤드가 상당하기 때문에 기본옵션이 꺼져있다고 한다. 따라서 다음과 같이 옵션을 활성화 하는 작업이 필요
CRT의 기본 함수들의 출력은 디버그 메시지 윈도우이다. 이를 변경하기위해서는 _CrtSetReportMode()라는 함수를 이용해서 출력에대한 일반 목적지를 지정하고, _CrtSetReportFile()를 이용해서 특별한 스트림 목적지를 설정해야한다.
|| _CRT_ASSERT || assertion 출력(assert() 출력이 아니다) ||
''crtdbg.h는 ASSERT, ASSERTE라는 메크로 함수를 생성한다. 둘의 차이점은 ASSERTE는 assertion 표현을 보고하고, 다른 것은 하지 않는 다는 것이다.''
''두번째 인수는 파일 스트림의 _HFILE 형식의 포인터이거나 다음의 식별자들 중의 하나이다.''
대체로 클래스에서의 메모리 유출은 동적 멤버 변수들이 만들어졌을 때 해야하는 '삼의 법칙'을 지키지 않는데서 비롯되는 경우가 많다.
DCRT를 켜고 끄는 것에 따라서 프로그램의 수행속도의 차이가 상당하다. STL때문인지도 모르겠지만. - [eternalbleu]
- LoadBalancingProblem . . . . 23 matches
Load Balancing 이라는 개념은 앞으로 몇번 접하게 될 개념입니다. 컴퓨터분야에서뿐만 아니라 다른 분야 (예를 든다면 이삿짐 업체나, 택배업체, 우체국 등등..) 에서도 쓰입니다. Load Balancing은 역할분담을 가장 적당하고 고르게 하여 각각의 개체들이 부담을 적게 느끼고 전체 작업시간을 단축시킬수 있도록 해 줍니다. 간단한 LoadBalancingProblem 문제를 접하여보고 기회가 닿는다면 조금더 복잡한 종류의 문제를 풀어보는것도 좋을것 같습니다.
IPSC, ["임인택"]이 한글화하고 요구하는 입&출력 스펙을 변경함
SuperComputer 사는 N 개의 CPU 로 이루어진 슈퍼컴퓨터를 제작하였다. 각각의 CPU는 1에서 N 까지 번호가 새겨져 있으며 각각 독립적인 작업을 수행한다. 새로운 작업이 생기면 무작위로 한개의 CPU 에 그 작업이 할당된다. 이럴 경우 어떤 CPU 에는 작업이 엄청 많고 다른 CPU 에는 할당된 작업이 적거나 아예 없는 상황이 발생하게 된다. 이럴경우 각 CPU 에 작업을 적당하게 분배하여야 하는데 각각의 재분배 작업은 N번 CPU가 1-N, 1-N CPU 에 각각 하나씩의 작업을 전달하는 것이다. 차근차근 살펴보면,
1. 1번 CPU의 작업의수를 본다. 다른 CPU 에 비해 작업이 많으면 양옆의 CPU 중에 한곳으로한 작업을 전달해줄수 있는데 1번 CPU 의 왼쪽에는 CPU 가 없으므로 2번 CPU 에만 작업을 전달해 줄 수 있다.
(이 과정을 모든 CPU 가 최고-최저<=1 이 될때까지 반복한다)
1. 작업의 이동 후 각각의 CPU 에 적당하게 작업이 분배되었는가?
1. 작업의 이동 횟수는 얼마인가?
== 이 문제에 대한 의견이나 질문을 말해주세요 ==
IPSC 라고 해서 엄청 어려운 문제도, 그렇다고 한번에 풀수 있는 쉬운 문제도 아닙니다. 풀어본 문제 몇개 중에서 재미있다고 생각되는 문제들을 여러 사람들이 함께 풀어보았으면 하는 바람에서 페이지를 열어보았습니다. - 임인택
- NumberBaseballGame . . . . 23 matches
2. 이제 사용자에게 3 자리의 숫자를 입력받아 컴퓨터가 만든 수와 비교합니다.[[BR]]
2-1. 사용자에게 받은 수와 컴퓨터가 만든 수가 같은 수에 같은 위치면 '스트라이크'.[[BR]]
이때 사용자가 395라는 숫자를 입력하면 '1 스트라이크 1볼'이 됩니다.[[BR]]
(3이 스트라이크를. 9가 볼을 만들었습니다.)[[BR]]
사용자는 스트라이크와 볼수로 컴퓨터가 만든 수를 추리하여 찾는 것입니다.
조금 더 문제 정의를 명확히 할 필요가 있지 않을까 합니다. (여기에 올라온 몇 개의 코드들을 살펴볼 때 명확한 스펙이 잘 전달되지 않은듯 합니다)
만약 그렇다면, 다음의 경우에 스트라이크와 볼은 각각 얼마인가요? 혹은 어떤 에러 메시지를 출력하나요?
* 정답이 373이었는데, 사용자가 369를 불렀습니다.
* 정답이 373이었는데, 사용자가 132를 불렀습니다.
* 정답이 373이었는데, 사용자가 339를 불렀습니다.
* 정답이 373이었는데, 사용자가 333을 불렀습니다.
* 출력 : 스트라이크와 볼의 갯수 출력. 다 맞추었다면 "아웃" 출력.[[BR]]
* 아래와 같은 예제 식으로 소스를 만든 페이지에 넣어 주세요.
||이영록|| . || . ||C||["NumberBaseballGame/영록"]||
반대로, 사용자가 숫자를 부르면 컴퓨터가 맞추게 하는 방법도 있습니다. 두 가지를 합하면 컴퓨터와의 대결이 됩니다. ^^ (그런데 거의 이기기가 불가능합니다.) 소스는 [http://my.netian.com/~sshiskom/file/python/baseball.py 여기]에.
- PythonIDE . . . . 23 matches
= 파이선 통합 개발환경 =
파이선은 나온지 상당히 오래된 언어이며, 대안언어중에서 사용자가 가장 많은 상당히 비중이 높은 언어이다. 비록 어처구니 없는 상황하에서 발생하는 에러가 무시하지 못할 수준이기는 하지만 언어의 특징인 최대의 간격함과 빠른 개발을 위한 다양한 특징이 언어자체에 내포되어있다.
이런 파이선에 적당한 통합 개발환경이 갖춰진다면 더욱 빠른 속도의 개발이 가능하리라 생각된다.
현존 하는 파이선의 대표적인 개발환경은 상당한 수가 존재한다. 이중에 알려진 몇가지가 IDLE, SPE, Wing, PyDev 등이 있다.
* IDLE : 파이선 Official 에서 제공한는 기본 IDE
* PyScripter : 개중 가장 좋은 기능과 공개라는 장점을 가진 IDE. 가히 최고라 불릴만하다. 하지만 wxPython 과의 상성이 좋지 않아 wxPython 유저에게는 그림의 떡. 완벽한 디버깅 모드를 제공한다.
* PyDev : 이클립스 플러그인으로 제공된다. 설치가 용이하며, 이클립스 통합이기 때문에 굉장히 단순하며, 안정성이 높다.
* wingIDE : 디버깅이 지원되는 IDE, 유료로 판매한다.
* Visualwx : wxToolkit 의 WYSWIG 을 지원하는 디자인 중심의 IDE. 파이선 프로그래밍을 지원한다. GUI 개발시 wxWindow 를 공부하는 유저에게 상당히 좋은 학습자료가 될 수 있다.
- eXtensibleMarkupLanguage . . . . 23 matches
[SAX] : XML을 읽어가면서 발생하는 이벤트에 기반한 파서. 메모리의 사용량이 적다.
[DOM] : XML 전체를 읽어들여 파싱. 전체 데이터를 파싱 traversal 하기 편하다.
[XMLStudy_2002] : 이런자료도 있었군요.
[XML/Csharp]
* XML은 정말로 굉장히 강력하다. 덕분에 톰캣을 위시한 많은 애플리케이션이 셋업 파일로 XML을 활용하기 시작했다. BUT 크리티컬한 부분에 XML을 소통 데이터로 이용하게 될 경우 해당 부분이 그 프로그램의 performance critical path 가 되는 경우가 발생한다.
* XML은 데이터 표현 방식(data presentation)이기 때문에 문법에 하나라도 어긋나거나 코드셋이 맞지 않는 경우에는 100% 에러를 내뱉는다. HTML을 다루다가 XML을 공부할 경우 이런 점에 당황스럽기도함. (DB 에서 코드셋 잘못 다루면 삽질하는 거랑 비슷함;; -_-)
* 최근의 많은 Syndication 포맷이 XML에 기반을 두고 있다. (RSS, ATOM, OPML, Attention, Userlist etc) - [eternalbleu]
* DTD로 검색하다 여기로 왔네요ㅋㅋㅋ 예전에 쓰신 것 같아서 지금은 아시는 내용이겠지만 나중에 다른 분들이 이 페이지를 보실 수 있으니 시간을 건너뛰어 댓글 답니다~ DTD는 Document Type Definition의 약자로 XML 문서 작성을 위한 규칙을 기술하는 형식입니다. valid XML Document의 경우 well-formed XML Document이면서 XML에서 사용되는 원소 이름이 해당 문서에 대한 XML DTD나 XML Schema에 명세된 구조와 합치되어야 한다고 하네요. 이 내용에 대한 수업을 들으며 씁니다ㅋㅋㅋㅋㅋㅋㅋ - [김수경]
- nilath개인페이지처음화면 . . . . 23 matches
C(Master, 바보 찌질이들은 태클 걸지 말고.) -> Assembly(30% 진행, 일반적 프로그램 크래킹 수준)
Assembly를 모르는 놈은 C를 안다고 할 자격이 없으며(문법만이야 알겠지. 얕은 깊이로 뭔들 못할까. 언젠가 한계가 올것... ㅉㅉ), C++을 안다고 할 자격이 없다.
완전... 물리학과 가서 물리학 공식만 달달 외우고 공식 만드는 방법을 배우지 않는 격이잖아.
뭐... 그렇게 깊이 없이 공식만 쓰는 직장에 들어간다면야 뭐라 안하겠지만.
그렇다고 깊이 없이 있다가 언제 짤릴지 모르는 두려움은...?
회사에 들어가보면 알게 되겠지... 쓰이진 않지만 결코 사장되지 않는 언어...
어떠한 언어든지... 일주일... C언어는 쓰이는 언어가 아니라 언어의 기본을 가르치는 언어이다...
자바를 3일내에 떼고... C를 마스터 하는데 걸리는 시간이 7일... 주위 사람에게 들어왔지만... 이젠 인정한다...
언어의 세대 차이. C를 제대로 배운 사람(기계어 수준의, 컴퓨터의 기초, C언어의 매우 깊은 분야)이 다른 언어를 배우면 프로그래머가 될 수있고... 그것은 예술이고...
다른 생산성을 기초로한 차세대 언어만을 배운 사람이 될 수 있는 것은 기껏해야 코더뿐... 그것은 기술이다...
이젠 공부하는 방법 가지고 뭐라 안해야지. 뭐 난 깊이 있게 하는거고... 다른 놈들은 아닌거고...
것보다... 지금은 영어와 경영이 더 시급하군...
- 지금그때2004/패널토의질문지 . . . . 23 matches
질문하는 사람이 없을 경우 사회자가 패널에게 질문할 것들
도우미와 도우미 아닌 다른 분들도 많이 질문을 내주세요.--[Leonardong]
* 대학교를 다니면서 가장 기억에 남는 활동과 그것이 자기에게 미친 영향
* 자신이 참여한 행사중 가장 인상깊은(추천하는) 행사(세미나, 컨퍼런스등)는 무엇이고, 어떻게 참여하는가?
* 자신이 성장했다고 느낄때는?
* 대학을 다니면서 가장 많이 고민했던 것과 그 이유, 자신에게 끼친 영향?
"저의 경우 지금 자료구조 수업을 듣고 있는데 머릿속에 잘 안들어옵니다. 선배님들은 자료구조가 중요한 과목이니 열심히 공부하라고 하시지만 쉽지가 않네요. 선배님께서 수업을 들으셨을때는 어떻게 하셨습니까? 그리고, 보다 능동적으로 재밌게 공부할 방법이 없을까요?"
식으로 이전에 같은 컴공과 학생이라는 연결고리를 만들 수 있겠습니다. 또한, 방청객들도 이러한 질문을 들으면서 자기 경험대비 질문의 연결고리를 찾을 수도 있겠다는 생각이 듭니다. --[1002]
"선배님의 대학생활을 통틀어 가장 재미있게 공부한 과목은 어느 것이었나요? 무엇이 달라서 그렇게 재미있었다고 생각하시나요? 재미있었던 기억을 이야기해주실 수 있을까요?" --JuNe
"저희는 이제 막 고등학교를 졸업하고 대학에 들어왔습니다. 삶에 있어서는, 뭐랄까 일종의 180도 회전 같은 거죠. 그래서 그래 이제는 한번 마음껏 놀아보자, 그런 생각도 드는 것이 사실입니다. 하지만 아마도 선배님께서는 '내가 만약 그때로 돌아간다면 X나게 공부했을 것이다'라고 말씀하실지도 모르겠습니다. 그렇지만, 그것은 이미 과거의 경험을 전제로 '그랬었더라면'하는 후회의 형식이기 때문에 그런 말씀을 하실 수 있는 것 아닌가요? 지금 정말 열심히 놀고 설사 나중에 후회하더라도 나름의 가치가 있는 것은 아닌가요? 지금 우리에게 선배의 후회를 강요할 수는 없는 것 아닌가요?" --JuNe
- 컴퓨터고전스터디 . . . . 23 matches
요즘 전산학과 대학생들이 모여서 리눅스 해킹법이니, MFC API니 하는 걸 같이 스터디하는 것도 나름대로 의미가 있겠지만 컴퓨터계의 고전 하나를 제대로 스터디하는 것은 어떨까 합니다. ''군자무본 본립이도생. 군자는 근본에 힘을 쓰니, 근본이 서야 길이 생기기 때문이다.''라는 말이 논어에 나오죠. 나이가 아직 어리고, 시간적 여유가 있는 때에는 어떤 구체적인 "기술"보다 좀더 일반적이고 보편적이며 이론적인 사유를 훈련하는 것이 좋지 않을까요. 구체적 기술은 거기에 갖혀버리는(Lock-In) 경향이 있습니다. 2-3년 뒤에는 쓸모없어진다든가 하는 것이죠. 하지만 고전은 대부분 앞으로도 10년은 족히 유효한 것들입니다. 꾸준히 재해석될 가능성이 있는 것들이고, 무엇보다 문제의식과 함께 치밀한 사유를 배우는 겁니다. 생각하는 법 말이죠.
Dijkstra, David Parnas, C.A.R. Hoare, Donald Knuth, John von Neumann을 읽어본 대학생이 얼마나 있을까요.
왜 고전 읽기는 인문학에만 해당하는 것이라고 치부해 버리는 것인지 안타까울 때가 많습니다.
혹시 관심이 있다면 http://www.acm.org/classics/ 의 글들을 한번 읽어보길 권합니다. 튜링상을 받은 사람들의 "전설적인 논문" 모음입니다. 특히 David Parnas의 글은 감동의 눈물을 흘리면서 본 기억이 납니다.
* 2002년 MentorOfArts 위키에서 MythicalManMonth 로 Moa:컴퓨터고전스터디 그룹이 ZeroPagers 와 진행
- 프로그래밍잔치/첫째날 . . . . 23 matches
신재동, 강인수, 이덕준, 정진균, 남상협, 김남훈, 이상규, 이창섭, 임영동, 세연, 김기웅, 은지, 유상욱, 이정직
I. '''ZeroWiki Name Space 설명, 토론 앞으로의 발전 방향 토론 (["페이지이름"]) '''
* ZeroWiki 의 FeedBack 에 관하여 이야기 해보자.
* 페이지를 고칠수 있는 '''용기'''를 생각해 보자.
* 위키의 장점과, 써야만 하는 이유에 대하여 이야기 해 보자.
* 우리가 졸업을 하면서 접하는 언어의 수가 얼마나 되는가? 10손가락에 꼽을수 있지 않을까? 프로그래밍 경력이 짧은 사람이라면, 많은 경험을, 많은 사람이라면 색다른 경험을 접해 보자.
* 언어를 이용하면서 중간중간 해당언어의 특징, 개발환경 등에 대해 이야기 나누기.
* 언어를 이용하면서 문제 풀기. & 해당 언어에 대해서 위키에 Thread - Document 작성
=== Language Set (Resource 는 각 페이지들 참조) ===
* Haskell - 이덕준, 정진균, 남상협, 김남훈
* ["Scheme"] - 이상규, 이창섭
* H Ruby - 유상욱, 이정직
* Java 은 메소드(함수, 프로시저)의 길이가 7줄을 넘으면 안된다. ; 기준
* Python 은 메소드(함수, 프로시저)의 길이가 7줄을 넘으면 안된다. line 기준
- 10학번 c++ 프로젝트 . . . . 22 matches
0. 프로젝트의 이름은 10학번 c++ 프로젝트라 하고, 이는 프로젝트의 정기모임에서 변경될 수 있다.
1. 프로젝트의 정기모임(이하 모임이라 칭함)은 매주 일요일 오후 3시에 시작한다.
* 기타 의견이랄까.. 를 적어보는건 어떨까 ㅎ_____ㅎ
* 수능시계같이 간단하게 생긴놈 (지마켓에서 천원짜리로 팜 ㅇㅇ)
* 이름하여 DIGITAL MULTY CLOCK
* 수능시계같이 간단하게 생긴놈 (지마켓에서 천원짜리로 팜 ㅇㅇ)
* 이름하여 DIGITAL MULTY CLOCK
* 애들이 갖고 온걸 합쳐보고 있음
* 프로젝트 이름은 "내 컴은 소중하니까" 임
* 그래도 잉여 탈출하는 보람이 있다 ㅋㅋㅋ [김정혜]
* 수능시계같이 간단하게 생긴놈 (지마켓에서 천원짜리로 팜 ㅇㅇ)
* 이름하여 DIGITAL MULTY CLOCK
* 수능시계같이 간단하게 생긴놈 (지마켓에서 천원짜리로 팜 ㅇㅇ)
* 이름하여 DIGITAL MULTY CLOCK
* 참여한 구성원 : NULL 이라 치자. ㅋ_ㅋ
* 지각한 구성원 : NULL 이라 치자. ㅎ_ㅎ
* 불참한 구성원 : NULL 이라 치자. ^_^
* [김상호]는 대전에 왔습니다. 근데 내일이 일요일인데 얼마 안돼서
* 완벽하게 수능시계를 구현하진 못했지만.... 모든 기능이 제대로 제 위치에서 잘 돌아감.
* 이렇게 끝내버려도 상관 없지??? 양해를 구합니다 ㅠㅜ
- APlusProject/PMPL . . . . 22 matches
PM과 PL을 위한 페이지 입니다.
Upload:APP_DevelopmentPlan_0405-0524.zip - 버전 2.0 이전 문서들 압축
Upload:APP_BasicDesign_0512-0522.zip - 이전문서
Upload:APP_DetailedDesign_0520-0527.zip - 이전문서1
Upload:APP_DetailedDesign_0528-0529.zip - 이전문서2
Upload:APP_DetailedDesign_0608.zip -- QA에 의해 검토됨. 0530 최종문서 인덱스 이상해서 바꾸었습니다
Upload:APP_VersionManagementPlan_0609.zip -- 머릿말 꼬릿말 페이지 이상해서 수정했습니다 -- QA검토했음
이 문서는 형상 관리 계획서에 포함되었음 --재동
Upload:APP_JudgePlan_0606-0608.zip - 이전문서
Upload:APP_JudgePlan_0609.zip - 최종문서 - 인터뷰 스크립트에 중복되는 표들이 몇개 있다. 원래 있어야 되는건감?
보고 똑같이 만든다고 만들었는데... 흠; 반복되는게 있네요- 윤주
Upload:APP_OTFLCA_0608.zip - 수정본 -- 윤주 완전 멋진데요! 내일 화이팅!!!
=== 이야기 ===
기본 설계서 순서를 바꿔야 할 듯. 보통 유즈 케이스 -> 시퀀스 -> 클래스 식으로 발전. --재동
전에 올린 파일들 어디가서 지우더라????? 회의록이 잔뜩 쌓여있을듯...;;;;; -- 상준
우선은 그냥 올리고. 다음 주 프로젝트 끝나면 최종 자료 이외에는 다 지울거야. 그리고 최종 자료는 공개로. --재동
오케이. 기본 설계서 확인 끝. 병권이 형이 마무리만 하고 끝내면 됨. --재동
심사계획서 빼고 다 검토됐어요 위에 하나 그림이랑 인덱스 이상한거는 못고친거 고쳐달라고 글 적어놨구요
- Minesweeper/이도현 . . . . 22 matches
매우 평이한 문제이다.
최대 입력의 크기가 100 x 100이므로 모두 조사해보는 방법도 매우 빠른시간안에 해결할 수 있다.
매우 하드코딩이라서 코드 라인수가 매우 길다 -.-;;
이번에는 처음으로 Presentation Error를 여러번 받았다. 이것은 프로그램이 도출하는 답은 맞으나 출력형식이 잘못된 경우 발생한다.
이 문제는 출력세트별로 반드시 빈 줄을 추가하라고 했다. 이것이 매우 애매한 해석으로 이루어져서 코딩에 어려움을 겪었다.
결과적으로 이야기하면 하나의 출력세트가 있을 경우엔 밑에 빈 줄이 없어야하고 하나 이상일 때만 빈 줄이 있어야한다.
밑에 코드에서 if문으로 outputNumber > 1 인 부분이 Presentation Error를 벗어나게 하는 해결방법이었다.
// 2차원 배열에 데이터 입력은 (1,1) 부터 시작한다.
// 입력 (1,1)이 맨 처음이다.
// 출력 (출력이 하나인 경우는 밑에 빈칸을 두지 않는다!!)
- PyIde . . . . 22 matches
* 이름 : PyIde (PyIdea 로 하고 싶었으나.. 이미 sourceforge쪽에서 누군가가 같은 이름을 먹어버려서. -_-)
* 툴의 아주 작은 기능들이라도 구현해보면서 뭔가 배우는 것이 있지 않을까.
* 사람은 툴을 만들고 선택하고, 툴은 다시 사람을 지원하고 성장시킨다. 좋은 습관을 들이는데 도움을 주도록.
* Prototyping & 외부 공개소스 Review & Copy & Paste 하여 가능한한 빠른 시간내에 원하는 기능 구현법이나 라이브러리들을 연습하여 익힌뒤, Refactoring For Understanding 을 하고, 일부 부분에 대해 TDD 로 재작성.
* [Eclipse] - [wxPython] 과 PDE 중 어느쪽이 더 효율적일까.. CVS 관련 기능들등 프로젝트 관리면에서는 Eclipse 의 Plugin 으로 개발하는 것이 훨씬 이득이긴 한데.. Eclipse Plugin 도 [Jython] 으로 프로그래밍이 가능할까?
''가능하다. Jython 스크립트를 Java Class 파일로 간단하게 바꿀 수 있다. 나는 IE 오토메이션을 이렇게 해서 자바 FIT에서 통합으로 관리하게 했었다. --JuNe''
* http://www.die-offenbachs.de/detlev/eric3.html - 스크린샷만 두고 볼때 가장 잘만들어져보이는 IDE.
* Eclipse 이나 IntelliJ 에서 제공해주는 여러가지 View 들. 그리고 장단점들.
* http://codespeak.net/pypy/ - 순수 파이썬으로 구현하는 python 이라고 한다. 관심이 가는중.
* 인터프리터에서 타이핑한 내용 화일로 저장하기 ( 이거 되는거 있나? python 사용법을 몰라서 )
- 걸스패닉 . . . . 22 matches
*게임의 종류가 바뀌었습니다. 그러나 편의성을 위해 그대로 걸스패닉이라는 이름을 따르겠습니다.--[강희경]
따끈따끈 베이커리
* 프로젝트이름 바꾸자 너무 단순하다 좀더 엘레강스~하게
* 왜 진영이아이디로 만들어 --[iruril]
* 이게 그.... gals panic 이라면 제작에 제가 도움이 되줄수도 있습니다. 제 친구중에 이 게임의 神이 있었거든요. --[zennith]
저도 神은 아니더라도 동네 고수 였던 시절이...ㅋㅋ --[강희경]
음.. 난 잘 못해서 神들의 플레이를 열심히 구경했다는... --[구자겸]
* 이제 프로젝트 시작 할 시기가 아닌가? 언제 만나지? --[강희경]
* 어이, 회의 한번 해야하는거 아냐? --[구자겸]
* 파이팅~--[강희경]
* 오늘 프로그램에 이미지까지 연동시켜보자.--[강희경]
* 오늘(9월30일)은 안 모이는 건가? --[구자겸]
* 이런 말하긴 뭐하지만, 시일 내에 마치기는 힘들 것 같다. 밀린 숙제도 해야되고...전시회는 포기하고 좀 완급조절할까? 이러다가 흐지부지 될까봐 두렵다. --[강희경]
* 집에서 돌려봤는데 초반 깜박임 현상이 장난이 아니다. --[구자겸]
- 데블스캠프2011/다섯째날/HowToWriteCodeWell/강소현,구자경 . . . . 22 matches
goTo(i);//있는 장소로 이동
el.pressButten(5, 15);//현재 위치, 이동하고픈 위치
assertEquals(5, el.floor());//현재 위치 == 엘레베이터 층
assertEquals(20, el.floor());//현재 위치 == 엘레베이터 층
el.goTo(el.getHopeFloor());//이동하고픈 위치 이동
el.pressButten(5, 1, 15);//현재 위치, 1: up, 0: down, 이동하고픈 위치
//el.goTo(el.getCurrentFloor());//현재 층으로 이동
assertEquals(5, el.floor());//현재 위치 == 엘레베이터 층
el.pressButten(8, 1, 13);//현재 위치, 1: up, 0: down, 이동하고픈 위치
//if(el.checkSameDir()){//만약에 같은 방향으로 이동하고, 처음에 누른 사람이 이동하고픈 위치보다 미달인 곳에 있으면
//el.goTo(el.getCurrentFloor());//두번째 사람이 있는 층으로 이동
//for(int i=0; i<el.numOfPeople();i++)//사람 수만큼 엘레베이터 이동
//el.goTo(el.closerFloor());//가까운 위치 이동
el.goTo(el.getCurrentFloor());//현재 층으로 이동
assertEquals(20, el.floor());//현재 위치 == 엘레베이터 층
el.goTo(el.closerFloor());//이동하고픈 위치 이동
- 로고캐릭터공모 . . . . 22 matches
제로페이지에서는 홈페이지 개편과 더불어 대외적인 홍보 활동 및 각종 행사에 사용할 공식적인 로고와 캐릭터를 공모하고 있습니다. 본 공모에 작품이 채택되신 분께는 작은 상금도 준비되어 있습니다. 여러분의 많은 참여 부탁드립니다.
제로페이지 학회 성격을 잘 반영할 수 있는 참신하고 독창적인 이미지의
* 제출방법 : 이메일로 보내주세요~ (ysmgfcjh@paran.com)
* 제출시 기재 사항 : 작품(일러스트레이터파일 권장), email주소, 계좌번호, 수신가능전화번호
(개인별 2개 이상 작품 제출 가능)
* 1차심사 - 제로페이지 홈페이지개편프로젝트 참가자
* 2차심사 - 제로페이지 회원 투표
* 발표 - [[HTML(<strike>2/15일 홈페이지에 공지</strike>)]]
(심사기준에 미달시 당선작이 없을수도 있음)
* 홈페이지 http://zeropage.org/wiki/로고캐릭터공모
* 이메일 : ysmgfcjh@paran.com
응모된 작품은 반환하지 않으며 채택된 작품에 대한 소유권 및 권리는 제로페이지에 귀속됨
* 총 6개의 로고 작품. 2개의 캐릭터 작품이 접수되었으며
* 로고는 강희경의 작품이 선정(다양성과 미완결성을 표현한, ZP를 형상화한 도트이미지)
우와 좋은 아이디어다. [로고캐릭터공모/문의]로 따로 페이지 또는 게시판 링크가 걸리게 해도 좋을 것 같네. --[Leonardong]
[제로페이지분류]
- 정모/2007.1.6 . . . . 22 matches
Q.지금은 모든 일이 회장에게 집중되어 있는데, 일이 안될때 해결할 방법이 있는가?
김준석 - 이끌어 나가야 할 사람이 필요하기 때문에 회장 중심적으로 나가겠다.
이장길 - 일이 있을때 그 것을 맡아줄 사람을 그때그때 뽑겠다.
Q.신입생에게 '학회/제로페이지'라는 익숙하지 않은 개념을 어떻게 전달 하고 진입장벽을 어떻게 깨줄 것인가?
이장길 - 선배가 의무적으로 프로젝트를 배당하는 방향으로 가겠다.
Q.제로페이지에서 무엇을 얻었는가?
A.김정현 - 제로페이지의 세미나, 제로페이지내의 다른사람 관찰하기, 세미나 지켜보기.
이장길 - 데블스 캠프, 새싹스터디를 통해서 많은 것을 배웠다.
A.김정현 - 세미나에서 지식이 일방적으로 전달되는걸 막기위해 회의에서 서로 의견을 나눌 수 있는 것을 만들겠다.
이장길 - 선배가 먼저 나서서 참여하게 만드겠다.
이장길 - 후배의 경우에는 감정이 앞설것 같지만 잘 풀어서 관계를 유지하겠다. 선배가 강하게 나와도 어느정도는 자신의 기준을 지키겠다.
Q.제로페이지 하면 떠오르는 단어.
A.김정현 - '놀이터'->'유니크한 느낌'
이장길 - '열정'
- 이장길 3
- 이장길 8 당첨
- 후기 . . . . 22 matches
함수형 언어 Haskell을 배우는 시간을 많이 가졌는데 참 재미있었다. 더욱 재미있는 것은 함수형 언어의 좋은 점이 다른 언어에도 녹아들 수 있다는 것이다. 수학에서 출발하는 개념이 실제로 쓰이도록 중간에서 다리 역할을 하고 있다. 수학이 프로그램 언어에 미치는 영향력을 볼 때 학부 때 컴퓨터 공학 대신에 수학을 전공해도 좋을 것 같다. 그게 안 된다면 대안언어축제라도 참가하면서 [성장]할 수 있어야 한다.
대안언어가 보여준 많은 새로운 생각이 널리 퍼지지 않아 안타깝다. 혁신을 이루려면 많은 사람이 그 아이디어를 받아들여야 한다던데, 대안언어축제 이후에 어떠한 변화가 있을까? 새로운 아이디어를 적용한 코드를 작성할 수 있을까? 새로운 프로그램을 만드려고 할 때, 현재 사용하는 언어보다 더 적당한 언어를 선택할 수 있을까? 기존에 개발하던 프로그램이 있을 때는 새로운 언어로 갈아탈 수 있을까? 창의적인 아이디어와 실용성 사이 간격을 좁혀서 대안언어가 정말로 대안이 되길 꿈꿔본다.
더 대중적인 축제를 만들 생각도 해 보았다. 사람에게 감각적인 자극을 줄 수 있는 언어나 그 언어로 만들어진 프로그램, 혹은 다른 무언가가 있으면 어떨까? Mathmetica에서 프랙탈로 삼각형을 그리는 모습을 보고 사람들은 감탄했다. 패널토론 도중에 Squeak에서 보여준 시뮬레이션 역시 놀라웠다. 마이크로칩을 프로그램하여 모르스 부호를 불빛으로 깜박거리는 모습도 신기했다. 프로그램 언어에 익숙하지 않은 다른 분야를 공부하는 참가자들은 눈에 보이지 않는 동작 보다는, 감각적인 자극에 많은 호기심을 느낄 것이다. 시각 이외에 다른 감각을 자극하는 볼거리가 준비된다면 가족끼리 대안언어축제에 놀러 올 수 있을 것 같다. 마치 구경도 하고, 직접 체험해 볼 수도 있는 전시장에 온 것 같은 기분을 낼 수 있을 것이다.
- 3DGraphicsFoundation . . . . 21 matches
* [[HTML(<strike>'01 이창섭 ["창섭"]</strike>)]] 사정상 계속 못하게되었습니다. 여지껏 도와주신 해성이형과 같이 공부한 동기들께 고맙다는 말을 남기고 싶습니다.ㅡ.ㅜ
* 세컨드 바이블로 4, 5, 17장 진행(종료)
* 프랙탈을 이용한 지형 모델링 해오기(진행중)
= 모이는날 =
= 이번주 할 분량 =
* 프랙탈을 이용한 지형 모델링 해오기
* 수학함수 모듈 인터페이스 예제 - C style : ["3DGraphicsFoundation/MathLibraryTemplateExample"]
* 인수 ["3DGraphicsFoundation/INSU/SolarSystem"] : 아무 생각없이 도는 태양계 뭔가 좀 이상하다는--;
* 프랙탈을 이용한 지형 모델링 해오리
= 추천 사이트 =
* [http://dip2k.coco.st/] : 따라하기 좋은 튜토리얼이 있어서..., 혼자 보기 아까워서 올립니다~
DeleteMe)흠.. 나두 같이 하고 픈데.. 시간이 안맞네(알바때문에..) 쩝.. 3D 쬐끔하다 말고 하다말고해서 아는게 없다는.. ^^;;
안되면 혼자서 공부라도 해야할텐데.. OpenGL 책 좋은거 소개라도 좀 해줘~ DX 책뿐이라.. --; -- 정수 --
아웅.. 못가서 죄송해요 ㅠ.ㅠ 이번주엔 숙제 뭔가요?
''해성이형--; 지난주에도 못갔는데 이번주에도 못가겠네요 ㅠ.ㅠ'' --인수
이거 지금 끝난거야? --["상민"]
- GarbageCollection . . . . 21 matches
컴퓨터 환경에서 가비지 컬렉션은 자동화된 메모리 관리의 한가지 형태이다. 가비지 컬렉터는 애플리케이션이 다시는 접근하지 않는 객체가 사용한 메모르 공간을 회수하려고 한다. 가비지 컬렉션은 John McCarthy 가 1959년 Lisp 언어에서 수동적인 메모리 관리로 인한 문제를 해결하기 위해서 제안한 개념이다.
현재에는 기본적으로 Java, Dylan 과 같은 언어에서는 기본 명세로서 제공되는 기능이며, C++, C와 같이 수동적 메모리 할당으로 디자인되었지만 가비지 컬렉션 구현을 지원하는 언어들도 존재한다.
2번째 경우에 대한 힌트를 학교 자료구조 교재인 Fundamentals of data structure in c 의 Linked List 파트에서 힌트를 얻을 수 있고, 1번째의 내용은 원칙적으로 완벽한 예측이 불가능하기 때문에 시스템에서 객체 참조를 저장하는 식으로 해서 참조가 없으면 다시는 쓰지 않는 다는 식으로 해서 처리하는 듯함. (C++ 참조 변수를 통한 객체 자동 소멸 관련 내용과 관련한 부분인 듯, 추측이긴 한데 이게 맞는거 같음;;; 아닐지도 ㅋㅋㅋ)
특정 주기를 가지고 가비지 컬렉션을 하기 때문에 그 시점에서 상당한 시간상 성능의 저하가 생긴다. 이건 일반적 애플리케이션에서는 문제가 되지 않지만, time critical 애플리케이션에서는 상당한 문제가 될 부분임. (Incremental garbage collection? 를 이용하면 이 문제를 어느정도 해결하지만 리얼타임 동작을 완전하게 보장하기는 어렵다고 함.)
이거 말고도 문제가 상당하다고 하지만, 해석해야하는 관계로;;; 아래 링크에서 확인 바람.
자바를 처음 배울때 가장 신기했던 것인데.. -_-; 자료구조 시간(사실 정확히 뭘배우는지 모르겠음;;)에 가비지 컬렉션 이야기하면서 나오길래 찾아봄.
2번째의 것의 경우에는 자료구조 시간에 들은 바로는 전체 메모리 영역을 2개의 영역으로 구분(used, unused). 메모리를 할당하는 개념이 아니라 unused 영역에서 빌려오고, 사용이 끝나면 다시 unused 영역으로 돌려주는 식으로 만든다고함. ㅡㅡ;; 내가 생각하기에는 이건 OS(or VM), 나 컴파일러 수준(혹은 allocation 관련 라이브러리 수준)에서 지원하지 않으면 안되는 것 같음. 정확하게 아시는 분은 덧붙임좀..;;;
- ProjectPrometheus/LibraryCgiAnalysis . . . . 21 matches
파이썬에서 webdebug 를 이용, 브라우저가 전송하는 GET, POST 값을 분석했다.
또는 웹 필터 프로그램인 Proxomitron 을 이용할 수도 있다. (http://proxomitron.cjb.net/) 개인적으로는 webdebug 가 더 해당 폼 값/헤더 값만 보기엔 편했던걸로 기억.
Windows 2000 아파치 톰켓 조합에 Java JDK 가 1.3.1_01 이라. 약간 신기한 조합같다는 생각이.. --a
다른건 둘째치고, 제발 안정화되어서 검색 좀 제대로 되었으면 좋겠다. -_-; 젠장 검색이 되야 뭘 분석을 하던지 하지. -_-
* USERID 는 아무값이나 넣어줘도 상관이 없되, 내용이 없으면 안됨.
* 같은 POST 커맨드라 하더라도 IP가 다르면 결과값이 나오지 않는다. (이로 볼때 서버 내부에서 IP와 History 가 연관되어 저장된다.)
* 한번 검색 하고 다음 페이지가 넘어갈때는 HISNO 의 값이 유지되고, SEQNO 가 증가한다.
"Referer":"http://165.194.100.2/cgi-bin/mcu100?LIBRCODE=ATSL&USERID=*&SYSDB=R",
conn.request("POST", "/cgi-bin/mcu200", params, headers)
f = urllib.urlopen("http://165.194.100.2/cgi-bin/mcu200", params)
http://165.194.100.2/cgi-bin/mcu201?LIBRCODE=ATSL&USERID=abracadabra&SYSDB=R&HISNO=0010&SEQNO=21&MAXDISP=10
등록페이지 양식 정의
이름, ID, Password
마이페이지
책 정보 페이지 양식
서지번호 ( key 값이 된다.)
now=2 - 현재 페이지 번호
&iSNo=1 - 처음 보여주는 페이지 리스트에서의 첫번째 번호.
- TheWarOfGenesis2R/일지 . . . . 21 matches
* [[HTML(<STRIKE>)]] 아무런 장애물도 없는 맵에서 객체 이동시키기. [[HTML(</STRIKE>)]] - 20분
* [[HTML(<STRIKE>)]] 장애물이 있는 맵에서 객체 이동시키기. [[HTML(</STRIKE>)]] - 1시간
* [[HTML(<STRIKE>)]] DirectDraw 복습으로 알카노이드 만들기. [[HTML(</STRIKE>)]] - 1시간
* 이동(무한히--;), 공격(바로 옆에 있는 놈만) 가능
* 몇달만의 작업인지... 스크립트리더의 작성이 진행중
* 가드 직업의 구현 완료. 계속 이 템플릿으로 가면 될거 같다.
* 초기화 구문의 존재를 계속 잊고 있다가 오늘 번뜩 생각이 나버렸다.
* 따라서 전직이 쉽게 된다.
* 선호군이 인수군이 만든 전투 루틴을 그대로 갖다 쓸수 있을까 하는 의심을 품었다. 이에 발끈한 인수군, 조금 뚝딱거려서 mfc로 포팅해보았다. 잘된다. 고친거라곤 cout 이것과 명령어 파싱하는 그 부분밖에 없다. 잘된거 같다.
* GUI로 보이니까 버그가 보인다. 버그 수정
* Archer와 도끼병의 추가. 이로써, 직업의 추가는 매우 쉽다는 것이 판명됐다.
* 데이터들 파일로 빼는 작업
* 리팩토링의 위대함을 계속 느껴 버렸다. Extract Method는 기본이고, 상위 클래스로 올리기, 등등 이것저것 하니까 매우 간단해지는 것을 느꼈다.
* 스크립트 에디터 : 기본적인 맵 편집이 가능하다.
* 메인 프로그램 : 스크롤시 맵을 벗어나면 스크롤이 되지 않는다.
- html5/communicationAPI . . . . 21 matches
= 커뮤니케이션 API =
* 메세지 이벤트 : 자바스크립트 객체 ( data, origin, lastEventid, source, ports)
* 메세지 수신 : onmessage이벤트 핸들러, 이벤트 리스너 (MessageEvent객체 얻음)
* 메세지의 송수신을 통해 둘 이상의 웹 페이지가 서로 데이터 주고받음
* 도메인이 다른 웹페이지도 데이터 공유가능
* 수신 : onmessage() 이벤트 핸들러
* onMessage 이벤트 핸들러
* 이벤트 리스너
* start() : 포트를 이용할 수 있도록 한다. 채널 메세징 수행시 각각의 포트에 대해 start()를 호출
* onmessage : 메세지 도착시 이벤트 핸들러가 호출됨
* 채널을 이용한 메세지 송신
// 포트를 이용한 메세지 송신
* 주의 : 배열안에 null이 포함될 때, 이전에 postMessage()의 인수로 전달된 적이 있는 포트가 포함될 때, 한 채널의 포트1과 포트2가 동시에 포함될 때
= 관련 사이트 =
* [HTML5 스터디 카페] http://cafe.naver.com/webappdev.cafe
- stuck!! . . . . 21 matches
[새싹배움터05] 의 [새싹C스터디2005]의 [stuck!!]팀 페이지 입니다.
모두 담임 MSN을 추가해 주세요. silverfishlee골뱅이hotmail.com
[http://165.194.17.15/pub/upload/CampusC.zip CampusC] // 오래된 내용이라 구질구질 하기도.
'''[http://winapi.co.kr/clec/cpp1/cpp1.htm winapi.co.kr의 C기초강좌] 매우 자세하며 양이 많다. 이것이 교재 적당히씩 읽고 와주세요'''
....그 후의 모임은 꾸준히 있었지만...-_-ㅋ;; 기록이 되지는 않았습니다.
숙제는 담임선생님 메일 silverfishlee골뱅이hotmail.com으로 제출합니다.
email 제목에는 {stuck!!}을 접두어로 붙이고 이름과 찻수를 반드시 넣어서 제출해 주세요.
1차 : 입출력그리고 간단한 변수의 종류에 대해서 공부해보고, 이름과 학번 그리고 원하는 평점을 입력받고 그것을 그대로 출력하는 프로그램을 작성해 본다. 일요일 오후 3시까지 제출해 주세요. 미 제출시 가혹한 벌금이 있습니다ㅋㅋㅋ
아직 홍보와 위키에 대한 설명이 부족했나 보네요. 다음에 좀더 확실히 끌어보겠습니다.
3차 : 자신의 프로필 페이지를 만들고 이곳에 링크를 단다. [구구단]을 만들고 담임 메일로 보낸다. 이름필수. 14일 오전 12시까지. 14일 12시에 4차 숙제 나옴.
4차 : 오늘 배운 세개중에서 가장 큰 값을 찾는 방법을 복습해 보고. 5개의 값(코드에서 미리 입력이 된다.) 에서 가장 큰 값을 찾아 본다.
숙제는 실제로 검사된 내용이 없는듯... 담임의 불 성실함이 원인...;;
http://blog.naver.com/sgkao/100011807413 씨를 이렇게 공부하는 사람도 있네요~^ㅡ^ - 톱아보다
- 권영기 . . . . 21 matches
* 카이스트 전산학부 16학번 (석사과정)
* [정모/2014.8.27] - OMS : 아두이노를 이용한 화재정보 상황 수집
* [ann이요] -> [머신러닝스터디]
* [EffectiveC++] 처럼 개인페이지 작성(이제 2달 남았는데 뭘 한거지)
* 요즘은 공부하는 시간은 많이 늘었는데, 효율이 떨어지네. - [권영기] 2014/9/11
* 사실 개인 위키 페이지가 있었다는 사실을 까먹고 있었습니다. 이전에는 그래도 자주 보고 업데이트도 했었는데. 성적은 잘 받았고, 전공과 관련 없는 책도 많이 읽었네요. 작년에 몇 권 정도 책을 빌렸는지 보니까 전공 비전공 합쳐서 65권 빌렸네요. 그래도 39권 정도는 다 읽거나 어느정도 읽고 도움도 많이 받았어요. 읽은 것에 대한 내용 정리가 좀 더 되있었으면 좋았을텐데. 그래도 나름 나쁘지 않네요. 10권 정도는 빌려놓고 안봤고, 16권은 빌린책을 다시 빌려서(...) 그리고 영어 점수랑 한자 급수는 2015년으로 넘어갔습니다. - [권영기] 2015/01/05
* 위키를 페이지 작성하는 건 처음입니다. 재밌네요.
* ㅎㅎㅎ 이게 이런식으로 댓글다는것도 생각보다 재밌어요. 나중에 다시 보기도 편하고. 많이 써봐요~ -[김태진]
* 이런 식으로 쓰면 되는군요. ㅎㅎ -[권영기]
* 난 ACM공부를 좀 더 열심히 해야할거 같다.. 게을러 터져서 큰일이야.. 내년에도 우리 열심히하자! (사실 영기는 뭐든 열심히 잘 하니까 ^^) -[김태진]
* 심심해서 개인 페이지 갱신하다가 어떤 OMS 했었는지 찾아봤는데 주제가 한결같네.. 그래도 1학년 때에 비하면 많이 늘었겠...지? - [권영기]
- 대학원준비 . . . . 21 matches
[http://cafe.daum.net/goMS 대학원 준비 카페(다음)]
제출서류 도착확인 2006. 7. 28(금), 10:00 - 8. 4(금), 17:00 KAIST 입학본부 홈페이지
제1차합격자 발표 2006. 8. 22(화), 15:00 이후 KAIST 입학본부 홈페이지
최종합격자 발표 2006. 9. 7(목), 15:00 이후 KAIST 입학본부 홈페이지
2001년까지 학비가 30만원이었다. 입학본부에 따르면
3. 신입생 전원에게 정부 이공계 장학금 지급
* 토익 권장 점수 : 830 이상
* 권장 평점 : 4.0 이상
* 전공 공부 : 여름방학때부터 해도 됨. 시험 공부 하듯이 하면 된다고 함. 다음 카페에 올라온 후기 나왔던 문제 보고 미리 연습할 수 있음
* 서류 심사 내용이 간당 간당 한 사람의 경우 면접이 까다로움
- 발표방법 : 본교 인터넷홈페이지 게재
☞ 세부장소 및 일정은 본교 인터넷홈페이지 게재
- 발표방법 : 본교 인터넷홈페이지 게재
홈페이지를 기준으로 봄,가을에는 270만원(이하), 여름에는 180만원 수업료를 낸다. 장학금으로 매년 1000만원 정도를 받는다.
10. 19(목) 이후
10. 30(월) 이후
http://www.postech.ac.kr/department/cse/linus/home_kor/admission_06.htm
* 가끔 특차로 성적만으로 뽑는 경우 있음. 이렇게 특차로 뽑힌 사람의 경우 원하는 연구실로 가기 싶고, 추후 정시의 경우는 불리 할 수 있다고 함
= 관련 페이지 =
- 새싹교실/2011/Pixar . . . . 21 matches
* [김수경]이 가르치고 김연석, 이승열, 한광운, 오상준이 배우는 반입니다.
|| || 김연석 || 이승열 || 한광운 || 오상준 ||
1. 어떤 것이든 완벽한 것은 없죠. 그러니 새싹교실을 진행하고 나면 ''다음에는 이렇게 하면 더 좋을텐데''싶은 것들이 있을거예요. 그런 것들을 후기에 적으면 다같이 읽어보고 다음 시간은 더 나아진 새싹 교실을 진행할 수 있을거예요.
1. 수년간 경험해보아 알겠지만 사실 들은 것은 기억에 잘 남지 않습니다. 교수님께서 분명 지난주에 가르쳐주신 내용이 이번주엔 생각이 나지 않죠! 그런데 어떤 것을 배웠는지 끝나고 한번씩 되짚어보면 그냥 듣기만 했던 것보다 더 기억에 잘 남는답니다.
* 아직은 링크를 눌러보는 것이 어색한 그대들을 위한 간단 설명
* 위에 후기를 쓰는 이유가 새싹 교실을 더 잘 진행하고, 어떤 것을 배웠는지 돌아보기 위해서라고 써있습니다. 그런데 그냥 막연히 좋았어요. 재미있네요. 라고 쓰면 다음 새싹 교실에도 별로 도움이 안 되고, 배운 내용도 돌아볼 수 없답니다. 그러니 처음에는 조금 어색하더라도 FiveFs를 넣어 후기를 작성해주세요.
* 지난주에 돈가스를 먹은 것에 대해 후기를 쓴다면 : "지난주에 강남에 가서 하나에 5만원하는 돈가스를 먹었다.(사실) 기대를 잔뜩 했는데 별로 맛이 없었다.(느낌) 강남은 땅값이 비싸서 값만 보고 엄청 맛있을거라 기대하면 안된다는 것을 알았다.(깨달은점) 다음에는 미리 인터넷에서 평을 찾아보고 별점이 높은 돈가스집을 찾아서 가봐야겠다.(앞으로의 계획)"
* 그리고 Feedback은 ''앞으로의 계획''을 지켰는지 체크하는 부분입니다. 이 부분은 일단 적지 마세요~ 새싹 교실에서 설명하겠습니다.
== 진행 페이지 ==
* 나도 끊임없이 말해야지 이렇게 생각했는데 뒤돌아보니 사람들 적느라 바빴음ㅋㅋ 조금 기다려줘 - [서지혜]
- 새싹교실/2012/열반/120507 . . . . 21 matches
=== 왜 배열이 필요한가 ===
int A[10]; // 정수형 데이터 10개
=== 왜 정렬이 필요한가 ===
* 어떤 도서관의 서가에 책이 정렬되어 있지 않다고 가정해봅시다. 그 상황에서는 어떤 특정한 책을 찾기는 매우 힘듭니다. 우리가 도서관에서 책을 쉽게 찾을 수 있는 이유는 책들이 정렬 되어 있기 때문입니다. 단, 저런 편리함을 위해서는 어느 정도의 비용이 발생합니다. 기존의 데이터를 정렬할 때 드는 비용이 있고, 새로운 데이터가 삽입하려 할 때 정렬을 유지하기 위해 드는 비용이 발생합니다. 예를 들어 도서관의 서가에 책이 정렬되어 있으면 새로운 책이 들어왔을 때 제 자리에 찾아 꽂아야 하지만, 정렬되어 있지 않다면 아무 빈 공간에 꽂으면 됩니다. 이렇듯 비용이 발생하기 때문에, 어떤 자료를 항상 정렬할 필요는 없습니다. 찾는 일보다 추가하는 일이 훨씬 많다면 정렬하지 않는 것이 이득이 될 수도 있습니다.
* 원소 간의 비교가 가능한 데이터 N개가 주어졌을 때, 각각의 데이터에 순위를 부여하는 방법에 대해 생각해보세요.
- 정모/2005.12.15 . . . . 21 matches
참가자 : 남상협, 이상규, 김정현, 황재선, 문보창, 김상섭, 이도현, 이선호, 나휘동, 이승한, 유용안, 김민경, 김태훈, 이형노, 송수생, 조현태, 허아영
cam이랑 -> 방학 때 하기로 미룸.
MFC명강의 -> 방학 때 이어짐.
DP -> 방학 때 이어짐.
Blog -> 방학 때 이어짐.
- 방학동안 1주일에 한 번, 목요일 5시에 모이기.
- 회장이 없어도 꼭 한다. 변동없음.
* 모임이 길어지는 바람에 MT 장소나 정확한 날짜, 또 다음학기 학회비 어디에 쓸건지, PC실 관리에 대한 내용을 토의하지 못했는데요,
다음주 모임에는 꼭 결정 할 것이니 각자 생각해 보고 오시기 바랍니다.
- 다음주 모임에 고학번 선배님께서 1,2학년을 대상으로 이시기에는 어떤걸 보면 좋을거라는 "참고용"조언 해 해주셨으면 해요 ^^
- [나를만든책장] 을 채워보기 좋은 기회일 것 같아요. 묻어 버리기는 아까운 아이디어죠! (게다가 책장 대용으로 제로페이지 사물함도 마련되어 있답니다.) - [Leonardong]
- 그거 좋은 아이디어이네요. . 제로페이지 전용 사물함을 개방하여 필요한 사람이 쓸 수있도록 사용하는 것도 괜찮을 것 같네요 ^^ 계획을 잘해서 실행해볼까요? 다음주 회의안에 올리도록 합시다. - [허아영]
- 근데 이용안은 누구지?? -_-;; - 인택
- 정모/2013.9.11 . . . . 21 matches
* [김민재], [최다인], [박희정], [김현빈], [장혁재], [임지훈], [원준연], [김명규], [김상호], [고한종], [조영준], [김해천], [김윤환], [권영기], [신형준], [김태진], [백주협], [서민관], [안혁준], [이봉규], [송정규], [강성현], [송바위샘], [정의정], [김승태]
== OMS 진행에 대한 이야기 ==
* 다양한 주제로 진행했던 OMS를 이제 학술적인 내용으로 진행하려고 합니다.
* 행사 참여비용이 인당 10만원이 넘는 경우, 그리고 단체 지원금액이 20만원이 넘는 경우, 회의를 통해서 지원 여부를 결정.
* 학술 행사 지원금을 받는 회원은, 학술 행사에 참여하여 배운 점이나 느낀 점을 정기모임 때 공유해야 합니다. (ppt 발표라든지, 미니 세미나 형식으로)
* 정기모임이 끝난 후 개강파티 진행 예정입니다.
* 기존 정모 때 공유하는 방식이, 내용면에서 조금 부족하다고 판단됩니다.
* "제로페이지 회원이 좀 더 GDG에 행사에 참여하는 모습을 봐서 GDG 개설을 고려하겠다."라는 답변을 받았습니다.
* GDG에서 진행되는 다양한 행사에 회원들이 많이 참여 바랍니다.
* [고한종], [조영준], [장혁재], [김민재] 학우가 이번 9월 14일에 진행하는 Google 해커톤에 참여할 예정.
* 아직 한 팀, 총 엠티와 겹치는 것 때문에 신청이 적은 것 같다.
* 지금도 신청을 받고 있으므로 관심이 있으면 지원해보세요.
* 아두이노 : 아두이노 관련 서적도 보유중입니다. 아두이노를 이용한 스터디를 계획하고 있다.
- 지금그때2006/홍보 . . . . 21 matches
송수생이 눈에 띄게(컬러도 가능) 만들어 붙인다.
일부 제외하고 저학번이 주도하여 홍보한다.
== 학회 홈페이지 ==
문구를 정한 후 각 학회홈페이지에 홍보 글을 올린다.
[나휘동]이 독단으로 올리긴 했으나 미정이었다는 사실은 왜 아무도 몰랐는가?
기준없이 개인이 알아서 한다.
|| 이름 || 이메일 || 전화 || 문자 ||
- 제가 연락 드렸던 분들 중에 두분이 연락 주셨습니다. -- [허아영]
- 나머지는 수생이 담당인데, 답장이 하나도 안왔다고 알고 있습니다 -- 아영
== 이메일, 전화, 문자 세트 ==
이메일을 보낸 후 답장 받으면 전화하고 행사 전에 다시 문자를 보낸다.
이메일 문구 목요일 각자 작성한 문구중 가장 잘쓴 문구 택.
연락 일정 금요일 이메일로 1차 연락.
선배님의 의미를 굳이 우리과로 제한하지 않으려 했어요. 목록을 만들다 보니 거의 우리과 출신이긴 하네요. 인택이형도 아는 분들께 많이 알려주세요~ -- [나휘동]
- 1thPCinCAUCSE/ExtremePair전략 . . . . 20 matches
* ["컴공과프로그래밍경진대회"](1회 대회)에서 {{{~cpp Extreme Pair}}} 팀의 전략을 공유하는 페이지 입니다.
* {{{~cpp Extreme Pair}}} 팀: 이상규, 신재동
* 저희 {{{~cpp Extreme Pair}}} 팀은 어떤 문제든 우선 소스를 기본적으로 밑에 형태로 시작했습니다. 그래서 입력과 출력이나 진행에는 전혀 신경 쓰지 않고 문제를 푸는 알고리즘(process() 함수 부분)에만 집중할 수 있었습니다.
* 위에 시작이 끝나면 둘이 알고리즘을 생각했습니다.
* 문제당 따로 알고리즘을 생각하여 먼저 생각난 것이나 둘 중에 좋은 알고리즘을 선택했습니다.
* 이때 여러 문제를 동시에 푸는 게(예: 2명이서 2개의 문제를 동시에 푸는 것) 아니라 한 문제에 대해서만 생각했습니다. 왜냐하면 예를 들어 문제 1번을 생각하는 데 A가 12분 B가 8분이 걸리고 문제 2번을 생각하는데 A가 10분 B가 15분이 걸렸다고 하면 한문제를 둘이 동시에 풀면 8 + 10... 총 18분이 걸렸을 것을 문제를 각각 나누어 풀면 최악의 경우 A가 1번 B가 2번으로 나누어 풀면 12 + 15... 총 27분까지 시간이 걸리기 때문입니다. (대회 규칙상 컴퓨터는 각 팀당 무조건 1대입니다)
* 코딩은 기본적으로 ["PairProgramming"] 이였습니다. 드라이버가 코딩할때 파트너는 잘못된 코딩뿐만 아니라 이해안가는 부분에서는 계속적인 질문으로 드라이버 스스로 명확한 코드를 만들도록 했습니다.
* ["TestDrivenDevelopment"]를 사용했다고 말하기는 그렇지만 테스트 케이스를 입력으로 넣어놓고 프로그래밍 중간 중간에 제대로 돌아가는 지를 확인하기 위해 지금까지의 진행 상황을 출력했습니다.
* 문제 제출 후 틀렸을 때 심사단 컴퓨터의 틀린 케이스를 대충 외워와서 문제점을 빨리 찾아 해결하였습니다.
* 상규와 대회전 연습을 통해 코딩 스타일과 규칙을 미리 정했었던 게 중요했다고 생각합니다. 안그랬으면 알고리즘 이외의 것도 생각해서 속도가 느려졌을 것입니다. 그리고 미리 호흡을 맞춰봤으므로 하면서 딱딱 맞았습니다.
- 2006년4학년1학기수업 . . . . 20 matches
|| 3(11:00) || || 운영체제설계 4453 || 데이타베이스 4551 || 운영체제설계 4453 || ||
|| 4(12:00) || 데이타베이스 4551 || || 데이타베이스 4551 || 운영체제설계 4453 || ||
서울 31582 - 01 데이터베이스프로그래밍실습 컴퓨터공학부 전공 한상만 봅스트홀 컴퓨터공학과실습실3(목10,7,8,9)
난 왠지 그게 삘이 오는데... 응?
일단 신청해 놓으세요. 구피에서 수업하면 20명 정원이니 나중에 신청하기 힘들어요. 교수님이나 조교에 따라 스타일이 다르니 수업을 어떤 식으로 진행할지는 모르겠네요. 저는 고급(1)신청할래요~ -- 재선
|| 3(11:00) || || || 데이타베이스 4551 || || 공업수학 ||
|| 4(12:00) || 데이타베이스 4551 || 공업수학 || 데이타베이스 4551 || || 공업수학 ||
데이터베이스 : 05484-01
- 2ndPCinCAUCSE/ProblemA . . . . 20 matches
A 번 문제 : 삼각형 만들기. 소스파일 이름 : aaa.c or aaa.cpp
같은 길이의 성냥개비가 여러 개 주어져 있다. 이것들을 평면에 늘어놓아서 삼각형을 만들려고 한다. 삼각형의 한 변은 여러 개의 성냥개비를 직선으로 이어서 만들 수 있지만, 성냥개비를 꺾거나 잘라서 변의 한 부분을 만들 수는 없다. 성냥개비의 개수가 주어졌을 때, 이들 성냥개비를 사용하여 만들 수 있는 서로 다른 삼각형의 개수를 구하는 프로그램을 작성하시오. 예를 들어서 9개의 성냥개비로 만들 수 있는 서로 다른 삼각형은 3가지이다.
입력은 표준 입력이다. 입력의 첫줄에 테스트 케이스의 개수를 나타내는 정수 T(10 이하)가 주어진다. 다음 줄 부터 T개의 테스트 케이스가 주어진다. 각 테스트케이스에는 성냥개비의 개수를 나타내는 정수가 주어진다. 성냥개비의 개수는 1 이상 50,000 이하이다.
출력은 표준 출력이다. 출력은 T줄로 이뤄진다. 각 테스트 케이스에 대해서 삼각형의 개수를 출력한다. T개의 테스트 케이스를 모두 맞혀야 이 문제를 맞힌 것이다.
- 2학기파이선스터디/문자열 . . . . 20 matches
* 파이선의 여러 자료형중 시퀀스(sequence) 자료형에 속함.
3. 각 객체들을 참조 가능(첨자 이용)
* 굳이 C로 비유하자면 배열과 비슷하다. (비슷하다는 얘기는 다르다는 얘기)
2. 슬라이싱(Slicing) = [[ s : t ]
6. 길이정보 = len
* 작은 따옴표와 큰 따옴표 사이에 차이는 없는것 같음 :)
>>> p = ''' 내가 지금 이짓을 왜 하고 있는가??? 황재선은 못생겼다.
나휘동은 레오나르동이다. 장창재는 최고의 파일럿이다.
오늘 비행하는데 손이 시려웠다.
이게 다 뭔소리하는걸까, 나도 모르겠다.'''
* 쓰이는 기호중 중요한것 몇가지
|| \Enter || 행의 계속(이어짐) ||
* ''' 문자열은 그 자체 값을 변경할 수 없는, 변경 불가능(immutable) 자료형이다.'''
== 문자열 메쏘드(1.6버전 이상) ==
* 파이썬에서 주석을 추가하는 방법으로는
1. #을 이용하는 방법( C 에서 // 와 같음)
2. 문서 문자열(doucmentation string)을 이용하는 방법
[2학기파이선스터디]
- AM/AboutMFC . . . . 20 matches
보통 이 수준까지 알고, 짤 필요는 없습니다. 하지만, 차후에는 궁금해서 알수밖에 없죠. (예외는 있으니, 따지지 마세요.) 보통 책에서 원리 수준만 소개합니다. 지면을 할애하기에는 MFC가 매크로의 도배로 이루어 져서 설명하기가 귀찮거든요. 하지만 자료는 있죠.
MFC의 정확한 동작 원리를 알고 싶다면, 2000년 5~8월 사이의 프로그래밍세계의 MFC관련 기사를 추천합니다.(도서관에 있고, 복사할수 있습니다.) 재미있는 자료입니다. 저는 우연히 01년 상반기에 기사의 필자 곽용재씨에게 해당 내용에 대한 강의를 들은적이 있는데, 그때 그림 사용을 허락맡고 [MFCStudy_2001]를 위해 자료를 만들어서 세미나를 했습니다.
자료는 소스분석으로 만들어 졌기 때문에 철저히 MFC 6.0(mfc42.dll Visual C++ 버전 6.0)을 기반합니다. 지금이 7.1 (mfc71.dll Visual C++ .NET 2003) 까지 올라 왔지만, 메세지 핸들링을 다룬 이 내용의 변화는 언급이 없습니다. ( from MSDN 2003 )
그나저나 정말 유치하게 써놨군요. 이 자료는 제 이야기를 전제하고 있어서 전혀 친절하지 않습니다.위에 언급한 프세 기사도 내용이 내용이니 만큼 :) 친절한 편은 아니지만 한줄씩 확인하면서 읽으면 알수 있습니다. 처음의 흥미로운 부분과 머릿말들을 보고 MFC 소스를 따라가는 방법만을 보세요.
전세계에서 가장 유명한 사이트는 역시 http://codeguru.com 국내는 데브피아 겠죠. 데브피아가 상업화 되면서 어떻게 변했는지는 모르겠네요.
F12로 따라가는 것은 한계가 있습니다.(제가 F12 기능 자체를 몰랐기도 하지만, F12는 단순 검색에 의존하는 면이 강해서 검색 불가거나 Template을 도배한 7.0이후 부터 복수로 결과가 튀어 나올때가 많죠. ) 그래서 MFC프로그래밍을 할때 하나의 새로운 프로젝트를 열어 놓고 라이브러리 서치용으로 사용합니다. Include와 Library 디렉토리의 모든 MFC관련 자료를 통째로 복사해 소스와 헤더를 정리해 프로젝트에 넣어 버립니다. 그렇게 해놓으면 class 창에서 찾아가기 용이하게 바뀝니다. 모든 파일 전체 검색 역시 쉽게 할수 있습니다.
그런데요. C# 관련해서 프로그래밍 프로젝트는 없어요? Windows플랫폼이라면, 일반 어플리케이션은 C# 뿐만아니라, Embeded 까지 .NET 계열이 맡게 될텐데 말이죠 :) --NeoCoin
- Cracking/ReverseEngineering/개발자/Software/ . . . . 20 matches
Software 개발자가 알아야 하는 것은 Language, Algorithm만이 아니다. (이 것만 알면 Coder일 뿐이 잖는가?)
기존 배우고 있던 것들과는 별개로 Cracking에 대한 것들을 익혀야한다. (여기서 Cracking은 시스템 전반에 관한 지식을 익혀 그것을 악용 하는 것이다.)
개발자가 만들어 놓은 Software는 다른 사람들에 의해(물론 이런 사람들은 어느정도 컴퓨터에 대한 지식이 있는 사람들) 파괴 되고 분석된다.
이렇게 다른 사람들이 삽질 하는 것을 막기 위해서라도 우리는 이 삽질에 대해 어느 정도 알아야 하는 것이다.
이것이 과연 보안 개발자나 알아야하는 것들일까? 아니다.
개발자들이 Coding을 할 때 약간의 신경만 써주면 Cracker들에 의해 exploit이 Programming되는 것을 막을 수 있다.
Jeffrey Richter의 Programming Applications for Microsoft Windows란 책을 추천한다. 현재 4th edition까지 나온 상태이다. 물론 한글판은 없다.
(윈도우즈 시스템 커널이 하는 일등을 배울 수 있으며 그것을 이용해 나쁘게 사용하든 좋게 사용하든 도움이 많이 되는 책이다. Windows에 Base를 둔 Software 개발자로서는 꼭 읽어야할 책.)
- DataStructure/String . . . . 20 matches
int str_len=strlen(str); // 문자열의 길이
int ptn_len=strlen(ptn); // 패턴의 길이
if(ptn_count==ptn_len) // 패턴이 문자열 내에 있을때 그 시작 위치 리턴
else if(str_count==str_len) // 패턴이 문자열 내에 없을때 거짓(다 돌았는데 카운트가
* Time Complexity는 O(mn) 입니다.(m=문자열의 길이, n=패턴의 길이)
* 이것보다 더 낳은 방법으로 Failure Function을 쓰는 방법이 있져.(O(m+n))
* Failure Function 설명 좀 해주실 분? 대체 써 놓은 것을 보아도 개념이 잡히질 않는군요. f(j)값이 어떤 과정을 거쳐서 나오는건가요? -[Leonardong]
j = 5 일때, pattern = abcabc 여기서 [[HTML(<b><font color=red>)]]abc[[HTML(</font></b>)]][[HTML(<b><font color=blue>)]]abc[[HTML(</font></b>)]]이므로 i = 2이고 i < j이므로 f(5) = 2
j = 4 일때, pattern = abcab 여기서 [[HTML(<b><font color=red>)]]ab[[HTML(</font></b>)]]c[[HTML(<b><font color=blue>)]]ab[[HTML(</font></b>)]]이므로 i = 1이고 i < j 이므로 f(4) = 1
j = 3 일때, pattern = abca 여기서 [[HTML(<b><font color=red>)]]a[[HTML(</font></b>)]]bc[[HTML(<b><font color=blue>)]]a[[HTML(</font></b>)]]이므로 i = 0이고 i < j 이므로 f(3) = 0
같은 것이 없는 경우 - abcabcac f(j) = -1 -- [황재선]
- IDL . . . . 20 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 을 사용하도록 하자.
- ProjectTriunity . . . . 20 matches
파일 구조 팀 프로젝트를 위한 페이지...
참가자: 신재동, 이상규, 김철민
|| Upload:ExternalSort_FileIO_1.zip || 이상규 || File I/O 라이브러리 버전 1 ||
|| Upload:ExternalSort_FileIO_2.zip || 이상규 || File I/O 라이브러리 버전 2 ||
|| Upload:ExternalSort_FileIO_3.zip || 이상규 || File I/O 라이브러리 버전 3 ||
|| Upload:ExternalSort_FileIO_4.zip || 이상규 || File I/O 라이브러리 버전 4 ||
|| Upload:ExternalSort_FileIO_5.zip || 이상규 || File I/O 라이브러리 버전 5 ||
|| Upload:ProjectTriunity.zip || 이상규 || 최종 ||
|| Upload:파일구조팀프로젝트.hwp || 이상규 || Document ||
|| Upload:성능분석.ppt || 이상규 || 성능 분석 프레젠테이션 ||
|| Upload:성능분석.ppt || 이상규 || 성능 분석 프레젠테이션 ||
|| Upload:ProjectTriunity2.zip || 이상규 || 최종 ||
|| Upload:파일구조팀프로젝트2.hwp || 이상규 || Document ||
- TowerOfCubes . . . . 20 matches
서로 무게가 다른 N개의 색이 칠해진 정육면체가 주어졌다. 각 정육면체의 모든 면은 서로 다른 색으로 칠해져 있다. "무거운 정육면체를 가벼운 정육면체 위에 올려놓지 않는다"라는 첫번째 조건과 "모든 정육면체의 바닥면(맨 밑에 있는 것은 제외)의 색은 그 밑에 있는 정육면체의 윗면의 색과 같아야 한다"라는 두번째 조건이 주어졌을 때, 두 조건을 만족하면서 최대한 높은 탑을 쌓아야 한다.
여러 테스트 케이스가 입력될 수 있다. 각 테스트 케이스의 첫번째 줄에는 주어진 정육면체의 개수를 나타내는 정수 N(1≤N≤500)이 입력된다. 그 밑으로 N줄에 걸쳐 각 정육면체를 설명하는 내용이 입력된다. 각 정육면체를 설명하는 부분에서는 각 면의 색이 입력되는데, 각각 앞, 뒤, 왼쪽, 오른쪽, 위, 아래의 색을 나타내는 색이 순서대로 입력된다. 편의상 색은 1에서 100까지의 정수로 표현하자. 정육면체는 무게가 증가하는 순서대로 입력된다고 가정해도 좋다. 즉 첫번째 정육면체가 가장 가볍고 N번째 정육면체가 가장 무겁다고 가정할 수 있다.
N의 값으로 0이 들어오면 입력이 종료된다.
우선 각 케이스마다 출력 예에 나와있는 식으로 테스트 케이스 번호를 출력한다. 그 다음 줄에는 가장 높은 탑의 정육면체 개수를 출력한다. 그 다음 줄부터는 탑을 이루는 정육면체를, 맨 위에 있는 정육면체부터 아래로 내려가면서, 한 줄에 하나씩 출력한다. 정육면체를 출력할 때는 입력된 순서를 나타내는 번호를 출력하고 스페이스를 하나 출력한 다음, 어느 방향에 있던 면이 위로 올라가도록 쌓았는지를 나타내는 문자열(front, back, left, right, top, bottom, 앞, 뒤, 왼쪽, 오른쪽, 위, 아래를 나타냄)을 출력한다. 답이 여러개 있을 수 있는데, 그 중 아무 답이나 출력해도 된다.
서로 다른 테스트 케이스 사이에는 빈 줄을 출력한다.
=== 풀이 ===
- sakurats . . . . 20 matches
* 이번 정모에는 나갈수 있겠네요.
* 뒤늦은 공부에 제로위키는 정말 많은 도움이 되고 있습니다. 언제쯤 저도 도움이 되는 사람이 되면 좋겠네요.
장비를 사는데 꽤나 많은 돈이 들고..
우리과에서는 너한테 도움을 줄만한 사람이 없을듯하네..
이 페이지에 글을 남겨주실줄은 몰랐어요.
버스정류장이라면.. 꽤 예전 일인데. 하핫^^
음.. 나도 막연히 고민하는데.. 어느 길로 가든 충격이 크지 않게 준비를 해두면서 막연한 고민을 구체화시키는 게 현재 내가 할 수 있는 일 같아. ^^ --창섭
막연한 고민은 아무것도 고민하지 않는것 보다 오히려 좋지 않은걸지도 몰라.. 또 고민하기 전에 상대를 먼저 아는것이 더 도움이 될거 같고.. 그래서 지금 생각하는건.. 할수있는 만큼의 몇가지 도전들을 해보려고.. 헐헐. 이번에도 흐지부지하게 끝이 나지 않았으면 좋으련만. 노력해야지. -- 혜욘
앗~ 혜연선배님두 제로페이지였구나...^^ 몰랐는데..^^; --상욱
wiki:NoSmok:노스모크 에서 여기 링크되어 있는 것을 보고, 네가 전에 제로페이지 회원이라고 했던 것이 기억나서 와봤는데, 역시 있구나. 반갑다. 공부는 잘 되니? -- wiki:NoSmok:이응준
["홈페이지분류"],["ZeroWikian"]
- 공업수학2006 . . . . 20 matches
'''허준수''' , 김상섭, 유용안, 배성민, 나휘동, 하기웅, 문보창, 강인수, 이창섭, 박영창, 라범석, 이도현
|| 3 || 강인수(9n+3) 이창섭(9n+6) "박영창"(9n) || 3의배수 ||
* 전주 연습문제 풀이, 당일 수업중 이해되지 않는 부분 같이 생각하기, 설명부족한 부분 찾아오기
* 벌금제 : 기말고사후 뒷풀이~~
아~ 나도 할까.. -_-a - 이선호
둘이하까? -_-;; - 박영창
둘이할까.. -_-;;;;; - 이선호
이번 모임은 5시에 시작하면 어떨까요? [지금그때2006]때문에 6시에 시작한다면 저는 중간에 나가야 하거든요. 한 시간 당기면 모두 같이 [지금그때2006]에 갈 수도 있고요. -- 휘동
음.. 난 수업이 6시에 끝나는데... 날짜를 바꾸는건 어떨까? 목욜이나... -- 인수
저기에 추가해라... 스터디 중간에 화장실갔다가 문잠기면 5처넌이다. ㅋㅋㅋ - 영창
야 이번주엔 홀수만 풀자 너무 많다. --인수
도현이도 하는거야?? 고맙다 앞으로 많은 기부 바란다 ㅋㅋ - [eternalbleu]
회식 날짜 정해보아요.;; 이러다 그냥 지나가겠어요ㅠㅠ 7월 14일 금요일인데 어때요?
언제나 OK 못모이면 서버로 들어가는 거지 머 ㅋㅋㅋ - [eternalbleu]
- 정규표현식/스터디/문자집합으로찾기 . . . . 20 matches
문자집합은 메타문자 대괄호([])를 사용해 문자집합을 표현한다. 대괄호 안에 있는 문자는 모두 집합의 구성원이 되며, 집합에 속한 문자 가운데 하나가 일치한다. 집합에 속한 모든 문자가 모두 일치할 필요는 없다.
문자 집합 찾기. 정규 표현식의 모든 문자를 뜻하는 '.'가 있음을알것이다. 하지만 모든 문자말고 소문자만 찾고싶다
대문자만 찾고싶다. 숫자만 찾고싶다 할때는 어떻게 해야하는가? 이런 해당 '범위'를 지정해서 찾는 방법은 다음과 같다.
* {{{[ns]a[0123456789]\.xls}}}이나 {{{[ns]a[0-9]\.xls}}}
* {{{다음과 같이 [] 는 리스트를 나열해주는 것으로 .과 같이 한글자만을 지원한다 여러개의 []리스트를 사용하고싶다면 '*'(와일드카드)를 붙이거나 범위를 지정해주는 {}를 사용하여 []* 이나 []{4,4}(4개 찾기)로 이용할수 있다.}}}
* {{{또한 다음과 같이 [0-9] = [0123456789]와 같이 사용하며 문자 또한 지원한다. 축약법은 하이픈(-)을 붙이는 방법으로 [A-Z][a-z] 이방법은 아스키 코드 방식을 따르며 축약시킬 경우 [a-A]는 역순이므로 되지 않는다. 또한 리스트([])안에서는 또다른 리스트([])와 역슬래시(\), 하이픈(-)을 제외하고는 모두 일반 문자와 같이 인식하므로 특수문자 %&^*$ 를 단순히 리스트 안에 나열하는것으로 검색할수 있다 리스트 안에서 리스트([])를 검색하는 방법은 역슬래시를 붙여 이스케이프를 시켜야한다.}}}
* OR 연산이다. AND 가 아니다.
- 정규표현식/스터디/문자하나찾기/예제 . . . . 20 matches
== 문제 - 이승한 ==
=== 풀이 - 김준석 ===
1. t.*\.txt : t로 시작 .* 0개 이상의 문자 문자 \.txt '.'을 이스케이프 시켜 보통 문자로 만듬 그리고 txt랑 붙어있음
2. 140[0-9] : 140이 앞에 붙어있고 뒤에 마지막 한글자는 0에서 9밖에 못나온다
3. 13[0-9][0-9] : 13이 앞에 붙어있고 뒤에 두글자는 0~9밖에 못나옴
=== 풀이 - 이승한 ===
=== 풀이 - 김상호 ===
이 문자열에서 정규표현식
라고 입력하면 몇개의 항목이 나올까요? (-_-)?
=== 풀이 - 김준석 ===
=== 풀이 - 이승한 ===
=== 풀이 - 김상호 ===
=== 풀이 - 이승한 ===
=== 풀이 - 김준석 ===
=== 풀이 - 김상호 ===
- 정모/2013.4.8 . . . . 20 matches
[김현빈],[서민관],[송정규],[이봉규],[박상영],
[장혁재],[고한종],[이병윤],[정종록],[김남규],
* 지피 도서 참 많은데 다들 안써요 많이좀 써주세요.
= 아이스브레이킹 =
* 서로 어색어색 한것 같아서 [김태진]이 진행하자고 함.
* 이로써 오늘도 [김태진]의 진행욕구는 채워졌습니다.
= 소풍은 시험끝나고 놀이공원 =
* 근데 토요일에 시험인 사람이 있네. 어쩌지??
* 뭐 일요일이겠네.
* 놀이공원!
* Q: 거기서 사람이 올까? A: 교수님 입장에선 석사한명 시키면 되니까 오겠지...
* Q: 누가 모을거에요? A: 회장이여...
* 맨땅에 헤딩이란 거~
* 4명이함.
* 이더넷, 토큰링, FDDI 같은 LAN을 구성하는 방법에 대해 공부.
* 정모에서 뭔가 얘기가 나오긴 하는데, 처리되지 않는 느낌이 들었습니다. livelock 같은 느낌. - [고한종](13/04/08)
* 약속때문에 아이스 브레이킹하는 중에 왓네요. 개인적으로는 재미있었습니다. - [김윤환]
* JAVA,C++관련해 스터디 하고싶긴한데..(제가 가르치는게 아니고 다같이 공부하는 그런스터디요) 강사분 모집?! - [양아석]
- 지금그때2005 . . . . 20 matches
[Leonardong], [강희경], [이승한], [조동영], [윤성만], [황재선], [하욱주]
아직 안 읽으신 분은 리허설 전에 할 일이 하나 있습니다. [지금그때]에 링크가 걸린 페이지를 읽어보세요. 2단계 정도 링크 걸린 페이지까지 읽어보면 적당합니다. --[Leonardong]
* [지금그때2005/홍보], [http://zeropage.org/~dduk/memo/memo.php?id=nowthen2005 신청페이지]
지금그때의 의미를 담은 자료집과 질문릴레이에서 좋은 내용을 받아 적을 수 있는 종이. 그리고 OST를 간단하게 받아 적을수 있는 종이를 나눠준다면 좋지 않을까요?? - 이승한
[지금그때2005/자료집]이라는 페이지를 만든다면 어떨까요?? - 이승한
위키설명회에 이어 총엠티 자봉단 회의와 시일이 겹칩니다. 미리 22일에 한다고 했으니 자봉단이 그 날짜를 피해줬으면 좋겠다고 생각한 건 제 욕심이었나 봅니다. 오고 싶지만 못오는 사람이 있을지도 모른다는 생각에 안타까움을 감출 수가 없습니다. --[강희경]
오늘 오후에 그것 강력하게 요청해 보는건 어떨까요?? 자봉단 할일중 반이 마임인데. 자봉단장에게 미뤄진 수요일은 작정하고 마임을 배우게 하자고 말하는것도 좋을것 같아요. - 이승한
문과대의 강의실을 빌릴 생각은 하지 못했었네요. 제 친구를 통해서라면 문과대(서라벌홀)의 강의실도 빌릴수 있을것 같은데. - [이승한]
- 파스칼삼각형/조현태 . . . . 20 matches
가게일 돕다가 중요한 메일이 와서 확인차 잠시 겜방에 왔더닛..
// 변수명이 아름답지 않나요?^^*
if (yol==1) //행이 1일때를 하는게 옳으나, 그때는 열이 반드시 1이고 이렇게 하는것이 연산을 줄일 수 있어서... 가독성 없음;
* 변수명 이쁘구나 ㅋ 설정이구나~?
아참.. 다음부터는 주석 달아줘~~ ^^ 너의 코드 분석 해야지 이제 ㅎ --아영
* 어업;; 파스칼이 이런식으로도 돼는구나 -_-;; 신기하다 =0=;;; [정수민]
└ ㅎㅎㅎ 고등학교 수학이라우..ㅎㅎㅎ - [조현태]
└;; 네 소스랑 같은 알고리즘 이잖아..;; 뭐가 신기해. 너랑 똑같은데..ㅎㅎ 군데 변수명은 정말 이뽀..ㅎㅎ - [조현태]
└난 이런거 배운기억이 없어 =_=;; 고등학교어디서 이런걸 배워; 흠.... 이거 함번 짜볼려구했는데 영 안돼네 =0=
└엥? 우리는 배웠는데.. nCr x^n y^(n-r)이던가.. 맞는가 모르게땁..ㅎㅎ - [조현태]
- JAVAStudy_2002/진행상황 . . . . 19 matches
아.. stream 이 저금 어렵네.. ㅡㅡ;[[BR]]
core java에 나온 내용이 어렵구만.. [[BR]]
c같이 하믄 쉬울 텐데.. 무신 클래스들이 이렇게 많은지.. --;;[[BR]]
이제 슬슬 네트워크로 들어가도 될것 같다.[[BR]]
우선 network가 첫째, 두번째는 XML을 같이 공부하는것.
=== 이상목 ===
=== 이정직 ===
*대기실 UI이 만듬 UI만들기 진짜 싫다. --; (http://zeropage.org/~woodpage)
*아 열라 귀찮다 .. 잔처리가 귀찮구나.. 하루잡은것이.. -- 벌써 몇일째란 말인가 삽질 시러 --; 이번주안에 끝내자
*크나큰 삽질을 해결했다. 끝이 보인다. ^^;;
*Vector를 태워멀리멀리~~ 보낼떄는 반드시 복사를 ---> 이것떔에 2틀은 삽질했다 ..
* 2월 4일 : Core Java 책 Event Handling 부분 다보고 나서 이제 Swing 부분 보기 시작 했습니다.
* 2월 7일 : Core Java 책 보다가 질려서 다른책으로 바꿔서 공부하는중 무지 삽질 한 결과 대기실 UI 만듬. 제 홈페이지랑 연결해가지고 보여주고 싶지만 연결을 어떻게 해야 할줄 몰라서..^^;;
* 2월 14일 : 연휴동안에 짬짬이 자바 네트워크 부분 대충 봄..
=== 이선호 ===
현재 Java swing API중 버튼이나.. 텍스트 박스에 대한 것을 익혔습니다.(Application쪽..)[[BR]]
- LIB_3 . . . . 19 matches
이제는 스케줄링을 담당하는 소스를 살펴 보겠다.[[BR]]
SUSPEND는 인터럽트를 대기하던가? 아님 뭔가를 기다리기 위해 실행이 중지된 상태? 자원이겠찌?
음..이렇게 나누어지고 WAIT큐의 0번째 태스크가 지금 실행 중인 태스크를 지칭한다.[[BR]]
음..여하튼 이렇게 말했으니 그럼 소스를 설명해 볼까?
이 함수는 스케쥴링을 위한 준비 과정 TCB들을 다 초기화 해 준다.. 겁이 많아서 그냥 다 초기화 해줬다.[[BR]]
여기서는 FREE 큐중에서 쓸 수 있는 큐가 있나 알아본다?? 이건 왜 했찌???
<----- 사실상 우선순위 큐가 몇백번 돈 뒤에도 그 큐의 상태를 유지하는 것이 좀 어려웠다..
몇백번 큐에 넣었다 뺐따 할때는 크크 갑자기 뻗는 상황이 재현....
/// 태스크 서스팬드 하기......넌 이제 좀 쉬어라...
음..내가 교수도 아니고 스케쥴링이 오에스에서 가장 중요할 것이다.. 그럼에도 불구하고 허접하다.[[BR]]
사실 내가 만든 것과 U_C_OS 와의 실행 속도 차이는 무지하게 크다. 이유는 소스를 보면 알 것이다..[[BR]]
실행속도가 차이는 나지만 그래도 나름대로의 방식으로 만들려고 노력했다..그래서[[BR]]
이모양 이꼴인 오에스가 되었지만............[[BR]]
- LUA_2 . . . . 19 matches
이번에는 루아의 자료형에 대해서 글을 써 보겠습니다. 루아의 자료형은 많지 않습니다. 기본적인 자료형은 숫자, 문자열, nil(Null) , boolean 이 있습니다. 간단하게 예를 살펴보면 type 연산자로 자료형의 이름을 알 수 있습니다.
그리고 추가적으로 table이라는 자료형이 있습니다. table은 배열로 볼 수도 있지만 루아에서는 좀 더 다른 의미를 갖습니다. table은 나중에 따로 설명하도록 하겠습니다. 우선 오늘은 맛보기로 table을 만들어만 보겠습니다.
이제 각각의 자료형은 좀 더 자세히 살펴 보겠습니다. 우선 number 부터 살펴 보겠습니다.
number는 정수형, 실수형,지수형이 있을 수 있습니다.
boolean 논리 자료형은 true/false 와 같이 비교 연산자를 통해 얻은 값을 말합니다.
자료형을 배웠으니 이제 자료형을 연산하기 위한 연산자들을 살펴 보겠습니다.
루아는 특이하게 복수 대입을 사용할 수 있습니다. 예를 들면 첫번째 변수에는 '=' 이후 첫번째 값을 두번째 변수에는 두번째 값을 대입하는 방식으로 사용할 수 있습니다.
이제는 기본 사칙 연산과 비교 연산자를 사용하는 예제를 보겠습니다.
지금까지 수치 연산자를 살펴보았는데, 이제는 문자열 연산자를 살펴보겠습니다.
우선 루아에서는 .. (마침표 두개) 를 통해 문자열을 붙일 수 있습니다. 이 연산자는 좀 특이하죠.
문자열의 길이 알아보는 연산자
> print( -fake_two + 2 ) --- -fake_two는 앞에 '-'로 인해 음수가 되고 여기에 2를 더해서 0이 출력 됨
마지막으로 오늘 배운 것 이외에 추가로 주석처리 하는 방법을 살펴 보겠습니다. 앞서 예제에서 '--' 를 하고 코드를 설명했는데 '--' 가 주석을 시작하는 코드입니다. 한 줄 이상의 주석 처리는 "--[[" 와 "--]]"를 통해서 처리할 수 있습니다.
- MIB . . . . 19 matches
헐리우드의 오락판 X 파일이라고 할만한 영화이다.
* ["MIB"]들은 일반인들이 알수 없는 집단이며 검은 양복을 착용하고 다닌다.
* ["MIB"]들은 일반인들이 외계인을 의식하지 않고, 살수 있도록 하는 임무를 수행한다.
* 기타로 지구를 구하기도 한다. 물론 대통령도 모르는 기구라서, 훈장 같은것이나 업적을 전혀 인정 받지 않는다. (이점이 드라마 Star Gate와 차별되는 점이다.)
* 요즘 ["상민"]이는 "MIB들이 처리해 줄꺼야" 라는 말을 많이 쓴다. dcinside에서 "MIB들이 처리 했습니다." 라는 소리 한마디 듣고 전염이 되어 버렸다. 여기에서 MIB라면 일전에 창준 선배가 말씀하신 그린베레 프로그래머(Green Beret Programmer(Wiki:GreenBeretCoding) 정도의 의미가 될 것이다. 후에 MIB Programmer가 더 적당한 말이 될수 있겠다고 생각하곤 한다.
* MIB II에서는 거의 코메디 이지만 처음 도입부 약간에서 MIB일을 하다가 히스테리 현상을 일으키면서 포기하는 사람들의 이야기가 잠깐 나온다. 오락영화에서 오래 생각할수 있는 부분이였다.
- NeoZeropageWeb . . . . 19 matches
이번 방학에 소일거리로 대충 새로 ZP 홈을 만들어볼 계획인데...
기존의 DB를 마이그레이션 하는 방법
제로페이지의 루트를 트랙백 센터로 만들고
제로페이지 개인의 블로그를 이 트랙백 센터에 글을 던지는 형태로 운영하게 만듦
태터 1.0 출범과 함께 다중 사용자의 지원이 가능한 것을 이용함
모든 제로페이지 회워은 blog.zeropage.org/id 의 형태로 자신의 블로그를 운영하게됨
다른 블로그에서도 트랙백이 가능하다면 무조건 글을 남길 수 있음
(특이한 형태가 될 것 같은데.. -_-)
ZP의 핵심이라고 할 수 있는 위키를 메인으로 옮기고 다른 것들은 죽인다는 설정.
뭐가 좋을까? ㅡㅡ? 쉽기는 3번이 가장 쉽고... 재미있기에는 2번이 가장 재미있고 독특한 형태가 되지 않을까 생각하는데...
다른 형태라던가 독특한 구상이 있으면 의견좀 올려주세요~
흠 누가 블로그를 만든다고 했던거 같은데 --? [아잉블러그] 이건 어떻게 된건지... - [eternalbleu]
위에꺼 어떤 것을 하든 위키에 내장할 수있도록, 뭐 매크로로 지원할수 있게 하면 좋을듯,, 예를들어서 특정 문법을 쓰면 게시판이 하나 생기는거다. -_-;, 특정 문법을 쓰면 트랙이 지원되고,, 태터툴즈가 오픈소스면 그 부분만 가져다가 매크로로 제작하는것도 좋을듯... 매크로로 넣는것은 소스 이해 안해도 상관 없으니깐 ~ - [(namsang)]
- ProjectVirush/ProcotolBetweenServerAndClient . . . . 19 matches
|| 로그인 || login id pw || login true || 아이디, 비밀번호 || 예약된 명령의 처리 상황||
|| 회원 가입 || join id pw e-mail || join true || 아이디, 비밀번호, 이메일 || 가입 성공 | 아이디 중복 ||
|| 지역 선택 || 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 ||
- Randomwalk/조동영 . . . . 19 matches
//바퀴벌레를 8방향으로 이동하게 할 배열
int count = 0; // 총이동한 횟수를 계산하게될 integer 값
// 바퀴벌레를 이동시키고 모두 이동하면 종료하는 while문
int random = rand()%8; // 0~7 까지의 임의의 수 생성해서 random 이란 integer 값에 대입
// 바퀴벌레를 이동시키고 카운트를 하는 함수
//이동 횟수 출력
cout << "각 방에 이동한 횟수 : \n\n";
//총 이동횟수 출력
cout << "\n총 이동한 횟수 :" << count << endl;
초반에 알고리즘짜는데 어려움이 있었는데..
다른 레포트의 압박이 없어서 낮에 제정신에 짰으면 더 금방했을듯.. 지금시간 3시 정신이 몽롱하다.. ㅋ
지금 코드를 보면 한번 움직일 때마다 모든 타일을 돌아다니면 0이 남아있는 지를 검사하는 시간낭비가 있구나. 이런 낭비를 없애기 위해 내가 1년전에 썼던 알고리즘을 하나 알려줄께. m*n의 공간에서 값이 0인 타일을 밟게되면 카운트를 +1해주면 카운트의 값이 m*n이 되면 그 공간의 모든 타일을 적어도 한번씩은 밟았다는 얘기가 되지. 한번 움직일 때마다 그 카운트 값을 검사하면 되겠지? 이해 안되면 나중에 물어보고. -[강희경]
- 권영기/web crawler . . . . 19 matches
Python을 이용해서 Web Crawler를 제작하면서 Python의 사용법을 익히고, 원하는 웹 페이지를 긁기 위한 Web Crawler를 제작한다. (네이버웹툰(돌아온 럭키짱, 신의 탑...), 네이버 캐스트, 그 외의 각종 웹페이지..)
HTML, CSS, JavaScript - 웹 페이지 분석
=== 웹 페이지 소스 긁어오기 ===
* http://coreapython.hosting.paran.com/howto/HOWTO%20Fetch%20Internet%20Resources%20Using%20urllib2.htm
* http://docs.python.org/tutorial/controlflow.html
line = 'http://cfile23.uf.tistory.com/original/2001D2044C945F80495C6F'
=== 웹툰(네이버) 긁기 ===
url = 'http://comic.naver.com/webtoon/detail.nhn?titleId=449854&no=' + str(i) + '&weekday=wed'
* 'http://comic.naver.com/webtoon/detail.nhn?titleId=449854&no=***&weekday=wed'
no는 그 페이지가 몇 편인지
'http://comic.naver.com/webtoon/detail.nhn?titleId=449854&no=20&weekday=wed' 이면 럭키짱 20편이라는 소리.
* 사실 라이브러리 다 깔아놓고 Auto Config하면 됨..
* 파일을 저장할 떄 소스 파일에 저장이 되서 지저분하다. o
* 내가 인터넷에서 jpg 파일 긁어오려고 만든 파이썬 코드 있는데 혹시 필요함? - [서민관]
* http://www.crummy.com/software/BeautifulSoup/ - 웹분석 라이브러리 BeautifulSoup 이용해보기
* http://docs.python.org/tutorial/classes.html / 9.5까지.
* 로그인이 가능한 페이지를 긁고 싶은데 방법을 모르겠다.
* 굳이 Python으로 GUI를 구현해야 할 필요성을 모르겠다.
- 문제풀이/1회 . . . . 19 matches
= 문제풀이 첫번째 문제 =
흠..우리집 인터넷이 갑자기 먹통되는 바람에 지금에서야 올리네;;
1. 입력 3가지수를 받아서 if문을 이용하여 최대값 최소값을 출력하는 프로그램을 작성하세요. DeleteMe)스펙이 if문의 언급은 잘못된것 아닌가요?
== 풀이 ==
ref와 같이 input은 eval 을 받는거니까. 가능하게 되는 것. 그래서 이게 가능해집니다. --아무개
1. 다음과 같은 공백으로 구분되는 임의의 숫자 입력이 주어질때 최대, 최소값을 출력하세요.[[BR]](데이터 양은 [Python]과 머신이 처리할수 있는 범위내로 한정)
1. [Python]의 문자열 트릭(?)을 보이는 문제입니다. :)
=== 풀이 예 ===
- 제가 아는선(문법)에선 이방법이 가장 간단한듯; - [임인택]
이런 경우를 개선하기 위해서 map 함수가 있는것입니다. 이를 Haskell에서 차용해와 문법에 내장시키고 있는 것이 List Comprehension 이고 차후 [http://www.python.org/peps/pep-0289.html Genrator Expression]으로 확장될 예정입니다. 그리고 print 와 ,혼용은 그리 추천하지 않습니다. print를 여러번 호출하는것과 동일한 효과라서, 좋은 컴퓨터에서도 눈에 뜨일만큼 처리 속도가 늦습니다. --NeoCoin
[문제풀이]
- 사랑방 . . . . 19 matches
["사랑방"]은 이것저것 잡다한 이야기를 할수 있는 곳입니다.
{{{~cpp 사랑 (舍廊) 집의 안채와 떨어져, 바깥주인이 거처하며 손님을 접대하는 곳. 외당. 외실. }}}
사랑방이 그런 뜻이었군요. 전 사랑방이라길래, 愛방 인줄 알았죠. --["zennith"]
시험이 막바지에 이르자, 사람들이 글러쉬를 하고 있다. --["neocoin"]
음.. 편한건지 사기인건지 잘 구분이 안간다 -_- --["zennith"]
''약간은 사기라고 봐도 됩니다. 퀵소트에서 첫번째 원소를 피봇으로 잡는 경우가 헤스켈에서 아주 간단히 표현될 수 있다는 점을 이용한 것이죠 -- 첫번째가 피봇이 되면 문제가 생기는 상황들이 있죠. 보통 헤스켈의 "간결성"을 강조하기 위해 전형적으로 사용되는 예입니다. 뭔가 독특한 점을 강조하기 위해 쓰인다는 것 자체가 이미 약간의 과장을 암시하고 있습니다. see also Seminar:QuickSort --JuNe''
regular expression으로 다음이 표현가능한지.
* "&" 이고 "\d{1,3};" 은 아닌 것.
ex) &12;{ 의 경우 '''&'''12;{'''&'''#; (굵은 글씨가 매치된 케이스)
감사합니다.. zero-width positive lookahead assertion이 있었네요. (컴파일러시간에 배웠던거 다 잊어버렸어요 T_T).
- 새싹교실/2012/아우토반/앞반/5.10 . . . . 19 matches
2. 다음 소스 코드를 실행하고 결과를 확인, 이유를 분석해오시오
* 관련 페이지 : ThreeFs, [http://no-smok.net/nsmk/ThreeFs ThreeFs(노스모크)], [http://no-smok.net/nsmk/FiveFs FiveFs(노스모크)]
* 예를 들어 지난주에 돈가스를 먹은 것에 대해 후기를 쓴다면 : "지난주에 강남에 가서 하나에 5만원하는 돈가스를 먹었다.(사실) 기대를 잔뜩 했는데 별로 맛이 없었다.(느낌) 강남은 땅값이 비싸서 값만 보고 엄청 맛있을거라 기대하면 안된다는 것을 알았다.(깨달은점) 다음에는 미리 인터넷에서 평을 찾아보고 별점이 높은 돈가스집을 찾아서 가봐야겠다.(앞으로의 계획)"
네번째 printf함수에서 변수 *p의 값은 0 이고
다섯번째 printf함수에서 변수 &p는 위에서 p가 a의 주소와 값을 받았으므로 a의 주소값이 나타남
printf("%d\n",*p); --------->*연산자는 포인터변수가 저장하는 변수의 주소에 저장된 값을 출력하므로 &a에 있는 값은 0이므로
ㄴ-----> *pA는 변수a에있는 값이므로 크기가 4, pA는 변수a의 주소값이므로 크기가 4
ㄴ-----> *pB는 변수 b에 있는 값이므로 크기가 4, pA는 변수b의 주소값이므로 크기가 4
ㄴ-----> *pC는 변수c에있는 값이므로 크기가 1 , pC는 변수c의 주소값이므로 크기가 4
ㄴ-----> *pd는 변수d에있는 값이므로 크기가 8 , pd는 변수d의 주소값이므로 크기가 4
윤민욱은멍청이다. 바보다. 또라이다. 메롱이다. 캬캬캬캬
- 서지혜/2011 . . . . 19 matches
* 올해 계획이 시작부터 어긋나있습니다.
* 3월이 빨리 지나갔으면 좋겠습니다..
* 나와 같은 생각을 하는 사람들을 만났고, 이미 생각했던 사람들을 만났고, 전혀 다른 생각을 가진 사람들도 만났습니다. 그리고 이야기를 했습니다. 너무나 소중한 시간이었습니다. 사람들에게 전파하겠습니다. see also [PNA2011]
* 해야할 일이 생기면 바로 시작합시다. 나중에 잊지말고..
* 심신이 지쳐있었는데 새로운 사람들과 새로운 활동을 하니 개운?! 충전이 되었어요!
* 집에 오는길에 창준 선배님과 이야기를 나누었습니다. 대안언어 축제에서 만난걸 기억하시네요 //_//
* 농협이 갑자기 안돼요. 무슨 일일까요?
* [2011국제퍼실리테이터연합컨퍼런스공유회]
* 영어가 듣기 힘들었다. 단어를 많이 외우자
* 아 방학이이이이이이이~~
- C++Seminar03 . . . . 18 matches
* CS 에 등장하는 기본적인 개념이나, 프로그래밍을 하는데 기반이 되는 지식에 대해 간단한 세미나를 하기도 한다.
|| 01학번 || 이상규 || . ||
== 관련 페이지 ==
== 기타 이벤트 ==
1. 사회자 한명과 2인 1PC 또는 3인 1PC 로 PC 1대당 한조가 되어 PairProgramming 식으로 진행. 사회자는 간단한 개념을 설명하고 개념에 대한 실습(?) 또는 적용된 코드작성을 Pair 해본다. (이런식으로 진행할경우 장소에 문제가 될 수도 있을것 같네요. 실습실 하나를 제로페이지가 점령할수도 없는 일이고..-_- 강의실에서 간단한 설명 -> PC 실로 이동.. 정도가 대안이 될까요? ) --["임인택"]
* ZeroPage 홍보를 위한 수단중의 하나로 C++ Seminar 가 개최되었으면 합니다. 현재 회장님께서 생각하시는 바가 DevilsCamp 이전까지는 준회원체제로 운영되다가 DevilsCamp 이후로 정회원을 뽑는 방식이 좋다는 쪽인것 같은데 일단 입학실날의 강의실홍보 이후로 C++ Seminar 를 여는게 새내기들의 관심을 모으는데 좋을 것 같습니다. --["임인택"]
* 휴학한 01이 참여해도 되는건가요. -_-a --["snowflower"]
- 써놓고 보니 바보같은 질문이군요.. ^_^;;
* 도움이 필요하면.. 간간히 도움을 주도록 하겠습니다 --["상규"]
* 이건 ... 진행중인가요? -_-; --[Dantert]
- ChocolateChipCookies . . . . 18 matches
초코칩 쿠키를 만들기 위해 밀가루와 소금, 기름, 베이킹 소다, 초콜릿 칩을 섞어서 반죽을 만든 다음 가로, 세로 50cm의 정사각형 모양으로 밀어서 편다. 그리고 이 평평한 반죽을 원형으로 잘라서 쿠키판 위에 놓은 다음 약 20분 동안 오븐에서 굽는다. 쿠키가 다 되고 나면 오븐에서 꺼내서 식힌다.
반죽을 밀어서 편 다음에 첫번째 쿠키를 잘라내는 단계를 생각해보자. 반죽에 들어있는 초콜릿 칩은 모두 겉으로 드러나 있는데, 원 안에 칩이 최대한 많이 들어갈 수 있도록 자르는 방법을 찾아보자.
첫째 줄에는 테스트 케이스의 개수를 나타내는 양의 정수가 한 개 입력된다. 그 다음 줄은 빈 줄이며, 서로 다른 테스트 케이스는 빈 줄로 구분된다.
각 테스트 케이스마다 여러 줄이 입력되는데, 각 줄마다 쿠키 반죽의 정사각형 표면에 있는 칩의 위치인 (x,y) 좌표를 나타내는 부동소수점수가 두 개씩 입력된다. 각 좌표는 0.0 이상 50.0 이하다. (단위는 센티미터) 각 칩은 점으로 생각할 수 있다. 초콜릿 칩의 개수는 최대 200개며, 전부 서로 다른 위치에 있다.
각 테스트 케이스에 대해 지름 5cm인 쿠키 한 개에 들어갈 수 있는 초콜릿 칩의 최대 개수를 나타내는 정수를 하나씩 출력한다. 쿠키가 완전히 가로, 세로 50cm인 반죽 판 안에 들어가야 할 필요는 없다(즉 쿠키가 완전히 원 모양이 아니어도 괜찮다).
서로 다른 테스트 케이스의 결과 사이에는 빈 줄을 출력한다.
=== 풀이 ===
이거 좌표의 입력이 끝났음을 어떻게 알리지? - 준수
- DataStructure/Tree . . . . 18 matches
* Edge : 노드와 노드를 이어주는 선
* 깊이 k의 최대 노드수 = 2^k - 1
* n0을 잎사귀 노드의 갯수, n2를 Degree가 2인 노드의 갯수라고 하면 n0 = n2 + 1 이라는 공식이 성립한다.
* 노드에는 데이터와 왼쪽 자식을 가리키는 링크, 오른쪽 자식을 가리키는 링크로 구성된다.
= Binary Search Trees (우리말로 이진 탐색 트리) =
* 이진 탐색 : θ(log2 n) - 2는 밑입니다. 첨자 표현하는법 아시는분?--;
* n이 한 2048정도 된다고 하면 일반 탐색은 2048이 걸리는 반면 이진 탐색은 11밖에 안걸린다는 말이져
* but, 정렬되어 있지 않으면 이진 탐색 나무든 뭐든 안됩니다. 안나온단 말입니다. 중간에 꼬이는데 무슨..--;
* x의 Child가 1개 있을 경우 - 그 노드 지우고 그 자식들을 다 위로 올린다. 고로 할아버지의 자식이 된다는 것이다.(뭔가 좀 이상?--;)
* x의 Child가 2개 있을 경우 - 그 노드의 Left Subtree에서 가장 큰 값을 찾는다. 이값을 y라고 하면 y는 오른쪽 Child가 없다. y를 x자리에 갖다 놓고 여기서 다시
(*node)->Data = new char[strlen(ch) + 1]; // 문자열 길이만큼 할당
- OperatingSystemClass/Exam2006_2 . . . . 18 matches
족보도 필요없을 정도로 완벽히 새로운 유형의 문제들이 출제되었다. 1,2번 동기화 문제는 평소에 풀어보는 훈련을 하지 않으면 시험 시간 내에 풀기 정말 힘들다.
그 외에.. raid문제. 01학번 김모군이 "이거 내면 짐승이다"라고 했는 정말로 나왔음-_-; 그 말에 덧붙여 01학번 강모군이 "모니터 내면 짐승이다"라고 했는데 역시 나왔음. 말이 씨가 된다더니 옛말 틀린거 하나도 없다.
고민하는 M모군에게 P모군이 슬쩍 그래도 보는게 좋겠지 했는데 나와버렸음. ㅋㅋㅋ (M모군 열심히 외우고 갔다고 함. ㅋㅋㅋ)
1. Bounded Buffer문제를 세마포어로 푸시오.(코드 작성) 단 버퍼의 사이즈는 7개가 한계이다.
2. 유니크한 우선순위를 갖는 n개의 프로세스 p1, p2, ... pn이 있다. 프린터는 2대가 있다. 이 프로세서들이 각자의 우선순위에 맞게 프린트 작업을 할 수 있도록 프린터를 할당해주는 모니터를 작성하시오.
3. 데드락이 발생하는 원인과 해결책을 쓰시오.
5. Raid의 정의와, 사용하는 이유, 각 레벨 별 특징을 약술하시오.
6. Paging System에서 여러 가지 주소 맵핑 방법이 있는데 각각을 설명하시오.
7. Threshing 이 일어나는 원인과 시스템이 Threshing을 어떻게 발견하고 처리하는지 쓰시오.
- ZPHomePage/20050111 . . . . 18 matches
홈페이지개편 세번째회의
* 제로페이지 로고, 캐릭터 디자인 공모
* 상금결정(캐릭터-3만, 로고-2만) => 제로페이지회의에 입안
* 접수방법 - 이메일로(윤성만)
* 접수시기재사항 - 작품(일러스트레이터파일 권장), email주소, 계좌번호, 수신가능전화번호
* 심사 1차-홈페이지개편프로젝트참가자, 2차-제로페이지회원투표
싸이즈도 정해야 될텐데? --[강희경]
* 홈페이지 회원가입에 대한 사항 => 미결
* 제로페이지회원과 일반회원(외부인)을 어떻게 구분할것인가?
=> 일단 회원가입후 제로페이지회원을 따로 분리한다.
* 회원가입시 기입해야하는 내용? (제로페이지회원은 일반회원과 기입내용이 달라야하지 않나?)
* 이전에 쓰던 게시판(Q&A, 감상, 삽질) 그대로 보존해서 사용
* ZP소개페이지, 학회지페이지 나중에 메인디자인과 같이 제작 => 윤성만, 노수민
* 볼만한 위키페이지를 1주일 단위로 소개
- ZeroPage회칙토론 . . . . 18 matches
페이지를 어설프게 만들었으니 회칙 만들기 토론을 해봅시다
* 이제까지의 자유로운 제로페이지의 문제점
* 회칙이 될만한것들 & 안건들
이전 ZeroPage의 회칙이 있다고 알고 있습니다. 구해서 참고한다면 좋을텐데요. --이덕준
회칙을 정할 때 "'제2조 회원관리 제3항 회비'" 뭐 이런 식으로 하는 건가요? 그렇게 한다면 하드카피 문서로 만들어서 신입회원들에게도 줘야겠네요... ^^;; --["창섭"]
["neocoin"]:설마, 그렇게 까지는 필요 없겠지 회원 자격 상실 조건과, 정모 만 확실하게 정하면 더 이상 무슨 규칙이 있겠냐 --상민
각 항목에 몇조 몇항을 두는 이유는 index가 용이하라고 있는것이겠지만, 이 상황에 경우는 그리 필요없을것이라 생각함.--석천
엘레베이터에 붙였다가는 금방 떼어저 버리더군요. 1층 엘레베이터 옆이 낫겠지요? --[Leonardong]
- 숫자를한글로바꾸기/정수민 . . . . 18 matches
알고리즘은 문제가 없는데 자잘한 실수때문에 2시간이나 더걸려버렸다.
이런식으로 시간소모한게 하루이틀은 아니니 넘어가고;
그리고 코딩 스타일을 여러가지 건드려보는 중이다.
이러저러한 모양중에서 어떤게 제일보기 좋은지 생각하는중... 꾀나 . 어렵더라 -_-;;
이런건 만들시간있고 자바는 안건드리는거 승한이 형이 알면 화낼태지만 ㅡㅡ;;;
이런문제는 한번보면 다른일을 못하니 별수없이;;;
soos_ja[10][3] = {"","일","이","삼","사","오","육","칠","팔","구"},
// 숫자를 출력한다. 여기서 "input[ dummy_ja_ris_soo - ja_ris_soo ]"이조건은 시작을 //
// 제외한 부분에 1은 출력을 안한다는 것이다. //
// else if 부분은 시작부분은 무조건 숫자를 출력한다는 조건이다. /
// 이조건은 0인부분은 작은자리단위를 출력하지 않는다는 조건이다. /
// 큰 자리단위를 출력한다. "(ja_ris_soo-1)%4==0"이조건은 숫자의 뒤에서부터 4개단위로 //
// '만','억','조'를 출력하는 조건이다. /
- 프로그래밍은습관이다 . . . . 18 matches
= 프로그래밍은습관이다 =
* 대학원 다니는 아는 선배에게 디버깅 세미나 할건데 뭐 도움되는 말좀 해달라고 하니깐 '프로그래밍은 습관이다' 란 말을 해줬다. 공감이 가는 말이다. 프로그래머에게 프로그래밍은 습관인거 같다. 마치 자전거를 처음 탈때는 엎어지고 그러다가 한번 타기 시작하면 그 다음부터는 쉽게 타는것이랑 비슷한거 같다. 난 군대 가기전에 군대 갔다 오면 프로그래밍 하는것을 다 까먹을텐데 하고 걱정을 했었다. 그런데 군대 가서 프로그래밍에 더 발전은 없었지만 마치 자전거 타는 법을 배우고 한동안 안타다가 다시 타는것과 같았다. 세세한 문법같은것은 생각이 나지 않더라도, 그런것을 어디서 찾을지와, 어떤식으로 적용할지는 몸으로 체득했기 때문에(삽질ㅜㅡ ) 몸이 기억을 했다. - [상협]
* 공감 가네요. 저는 고등학교에서 대학입시를 준비하느라 한 2년 이상정도 쉬고나서 저런 느낌을 받았었습니다. 처음에는 죄다 까먹었을줄 알았는데 막상 키보드에 손가락을 올려놓고 나면 무언가 떠오르면서 자연스럽게 키보드가 나가더군요. // 저는 [손가락이기억한다] 라는 말로 군대가는 친구들 군대를 준비하는 친구들에게 이야기 하곤 합니다. - [톱아보다]
* 저번에 [상규]형이 for(i=0; i<MAX; i++){...}이런식의 아주 작은 패턴이라고 말할수 있는것을 무엇이라고 설명해 주셨었는데 정확하게 용어가 생각이 안나네요;; - [톱아보다]
이디엄(idiom) --[상규]
프로그래밍은 습관이다. 그래서 학습과 반(反)학습 모두 쉽지 않다. 특히 NoSmok:UnlearnTheLearned 가 어렵다. 세살 버릇 여든 가기에, 나쁜 프로그래밍 습관은 프로그래밍 언어가 바뀌어도 유지된다.
- AM/20040705두번째모임 . . . . 17 matches
* 참석자 : 곽세환 김회영 문보창 서영희 이슬이 조재화 황재선
* Source, PPT 등 설명하는 사람이 준비를 철저히 했다.
* 질답이 이루어짐
* 연락을 하지 않고 온 사람들로 인해 기존 정한 룰이 깨짐. 룰에 의한 효과도 저하됨.
* 사람들 준비적음. 미리 책을 읽어온 사람이 없었다. 이는 다시 준비자가 너무 많은 설명을 하게끔 하게 하였다.
* 스터디 중간에 가는 사람들이 발생.
* 설명에 대한 사람들의 피드백이 너무 없음
* 후기에 남은 사람들이 적다(3명뿐)
ex) 배우는 부분이 Windows Programming, Window Event Driven Programming, GDI, GUI Control 들이라 한다면
* 스터디 진행을 두 부분으로 나누는 방법. 앞부분에서는 이론적인 부분을 같이 정리하고, 뒷 부분에선 Pair로 실제 구현을 진행하기
* Spy++ 과 goto definition 을 통한 분석 & 설명을 중간중간 이용하기.
* 실습실을 이용할때는 반드시 전에 미리 와 있는 사람들에게 양해를 구하고 스터디를 진행하기.
- Class . . . . 17 matches
물 : '물'이라는 클래스.
- 민물 : '민물'이라는 객체.
- 빗물 : '빗물'이라는 객체.
지하수, 해수, 민물, 빗물 이라는 개념들은 모두 '물'이라는 하나의 개념으로 추상화할 수 있다.
해수의 염도가 더 진해진다고해도 빗물이나 민물, 지하수에는 아무런 영향도 끼치지 않는다. ->객체의 성질.
- 염분 : '염분' 이라는 클래스.
- 수분 : 해수에서 '염분'을 제외한 나머지 순수한 '수분'이라는 객체.
염분 : '염분'이라는 클래스
- Mg : '마그네슘'이라는 객체.
- Na : '나트륨'이라는 객체.
- S : '황'이라는 객체.
- Ca : '칼슘'이라는 객체.
- K : '칼륨'이라는 객체.
- 바닷물 속에는 다양한 원소들이 '염분'이라는 단어로 추상화된다. ->클래스.
화합물들은 서로간에 더이상 영향을 주지 않는 상태로 안정화하기 때문에
- CxxTest . . . . 17 matches
http://cxxtest.sourceforge.net
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 를 만들어 테스트하는 경우가 많은 만큼 귀찮다. (테스트의 중복으로 이어지므로) 어흑.
- HelpOnConfiguration . . . . 17 matches
MoniWiki는 `config.php`에 있는 설정을 입맛에 맛게 고칠 수 있다. config.php는 MoniWiki본체 프로그램에 의해 `include`되므로 PHP의 include_path변수로 설정된 어느 디렉토리에 위치할 수도 있다. 특별한 경우가 아니라면 MoniWiki가 설치된 디렉토리에 config.php가 있을것이다.
모니위키의 몇몇 플러그인중 외부 프로그램을 사용하는 프로그램은 환경변수 PATH를 참조하여 외부 프로그램을 호출하게 된다. 이때 PATH의 설정이 제대로 맞지 않아 외부 프로그램이 제대로 실행되지 않는 경우가 있다. 이 경우 config.php에서 `$path`를 고쳐보라.
{{{RCS}}}는 모니위키에서 버전관리를 {{{RCS}}}를 통해 제공하고 있다. [[MoniWikiRCS]] 페이지 참조.
만약 시스템 차원에서 rcs를 지원하지 않는다면 rcs를 컴파일해서 사용해보라. 예를 들어 모니위키가 설치된 디렉토리가 {{{moniwiki}}}이고
그 하위에 {{{bin}}} 디렉토리를 새롭게 만든 후에 {{{rcs}}}관련된 실행파일([[MoniWikiRCS]] 페이지 참조)을 {{{moniwiki/bin}}}아래에 복사하고
윈도우에서 gvim을 사용하여 작동된다. 이 경우 {{{$path}}}설정을 제대로 해주어야 하는데, 예를 들어 다음과 같은 식으로 `config.php`에 설정을 한다.
$path='./bin;c:/windows/command;c:/Program Files/gnuplot;c:/Program Files/vim/vim71'; # for win32
config.php에 `$security_class="needtologin";`를 추가하면 로그인 하지 않은 사람은 위키 페이지를 고칠 수 없게 된다. 로그인을 하지 않고 편집을 하려고 하면 경고 메시지와 함께, 가입을 종용하는 간단한 안내가 나온다.
메뉴의 대문(FrontPage)및 로고 그림이 연결하고 있는 페이지는 config.php의 다음 변수를 설정한다.
위의 값은 기본 값이며, 각각 다르게 설정할 수 있다.
/!\ wiki.php에 정의되어 있는 WikiDB 클래스를 보면, 우선 하드코딩된 기본 설정이 있고, config.php에서 읽은 설정 사항을 그 위에 덧씌우는 방식이다.
* $hr='';로 지정하면, 페이지 상단의 <hr />과 하단의 <hr />이 출력되지 않는다.
- RedThon/HelloWorld과제 . . . . 17 matches
* 주말에 남는 시간을 투자하면 충분히 할 수 있으리라 생각합니다. 꼭 3가지로 하지 않아도 여러가지 방법이 있을 테니 한 번 시도해 보세요. --[Leonardong]
왕초보 파이선 강의를 보고..이것 저것해보는데..
대충..결과만 나오면 되니깐.ㅋ windows 창이랑 python shell 이랑 둘이 열심히 번갈아 가면서..
이건..무효 아니죠?
다음..함수를 이용한...나름대로..함수이길..바라고 있음...;;
왕초보에서..예제 비스무리한거...C++숙제하듯이..변경해서...했어요.
* 참고 하세요. 그러나 이것도 무조건 공백이 들어가서 안되는군요.
* 결과는 위에것이랑.완전 같음..이유는 당연히 모르겠어요...난감...;;;;
사실 그 클래스때문에 오프모임을 하자는 거지. 클래스라는 문법도 생소할 뿐더러, 클래스를 가지고 객체 지향이라는 개념을 이야기할 수 있기 때문이야. --[Leonardong]
- VonNeumannAirport/Leonardong . . . . 17 matches
Traffic하고 Configuration을 각각 2차원 행렬로 표현했다. Traffic은 ( origin, destination )에 따른 traffic양이고, Configuration은 origin에서 destination 까지 떨어진 거리를 저장한 행렬이다. 전체 트래픽은 행렬에서 같은 위치에 있는 원소끼리 곱하도록 되어있다. 입출력 부분은 제외하고 전체 트래픽 구하는 기능까지만 구현했다.
매우 데이터에 의존적인 프로그램이라는 생각이 든다. 만약 석천이형 생각대로 요구사항이 바뀐다면 지금 프로그램은 감당해낼 수 있을까?
현재 요구사항에 맞추더라도 행렬에 해당하는 기능을 정리하고, 트래픽이나 거리 계산에는 행렬을 이용하는 식이 되어야 할 것이다. 지금처럼 상속받을 까닭이 없다.
행렬 곱셈 연산을 정의하면 이를 이용하기 위해서는 트래픽이나 거리 행렬 중 어느 한 쪽은 전치행렬이 되어야 한다. 그러려면 전치 행렬 연산도 있어야겠다.
거리를 계산하는 더 좋은 알고리즘이 있을까? 지금은 O(num of city^2).
- 새싹교실/2011/學高/4회차 . . . . 17 matches
* 오늘 수업시간에 짰던 "세 정수 x y z를 입력받아 x + y * z를 출력하라" 이 문제를 응용하면 쉽게 짤 수 있습니다. - [윤종하]
* 피자 넓이와 조각 당 가격 소스(한양대 과제ㅋ)
printf("넓이: %.2f\n",PI*diameter*diameter);
* 준비가 살짝 미흡해서 학생들이 잘 이해를 하지 못한 것 같았습니다.
printf,scanf에대해 배웠다. 지지난번시간에 배운거지만 확실히 기억이 나지 않았는데 이젠 확실히 알것같다.
%d : 정수 %.2f :소수점이하 두자리까지 반올림
배운내용을 복습하지 않아서 따라가는데 어려움이 있었습니다. 질문도 더 많아진것 같구요 앞으로는 열심히 복습하겠습니다~
getchar(), putchar()는 거의 쓸 일이 없다..
printf는 출력하는 거고 반대로 scanf는 입력값을 주는것? 이다..?
열심히 배운것 같은데 막상 feedback하려니까 잘 기억이 안난다.
아.. 썻는데, 망할 인터넷이.. 끊겨서
엄청 길게 썻었는데.. 아.. 이런.. 흑흑흑흑흑ㅎ그흐규흐귷ㄱ
float 와 double에 배웠는데, 더블이 좀더 정확한 수를 표현할때 쓰는 수이구여 .
혹 아시는분은 네이트온으로 알려주시길 바랍니다 -
- 수업평가 . . . . 17 matches
컴퓨터 공학과 전공(또는 타과 전공, 교양 등) 수업에 대한 무기명 평가. 유용성, 중요성, 수업 이후 자신에게 미친 영향, 수업의 질 등의 측면에서.
물론 해에 따라 교수가 바뀌고, 교재가 바뀌고 강의의 내용이 조금씩 다를 수 있다. 여기서는 특정 수업을 평가한다기보다, 중앙대학교 컴퓨터 공학과의 일반적 교육 수준과 학생들의 과목별 중요도에 대한 생각을 평균해 보는 데에서 의미를 찾고자 한다.
해당 수업을 직접 수강한 사람만 평가 가능. 기존의 숫자에 -2에서 +2 사이의 점수를 더하면 된다.
*중요도 : 이 과목이 '''컴공과 학생'''에게 얼마나 중요한가
*유용성 : 이 과목의 구체적 지식이 수강/졸업 이후 자신의 삶에서 '''실질적'''/'''직접적'''으로 얼마나 많은 도움이 되었나
*영향 : 이 과목이 나의 '''사고'''에 얼마나 많은 영향을 끼쳤나
*수업의 질 : 수업이 얼마나 알찼고, 교수법, 교재선택, 그룹활동 등에 대한 지도 등이 잘 이루어졌나
||심리학개론/심리학의이해 수업 || 1 || -1 || 1 || 0 || 1 || 1 ||1 ||
||댄스스포츠_이선애 || 1 || 1 || 2 || 2 || 5 || 1 ||5 ||
||[교육의이해] || 0 || 1 || 2 || 1 || 4 || 1 ||4 ||
- 숫자를한글로바꾸기/조현태 . . . . 17 matches
소스가 길어 보이지만 저기의 stack이라는 클래스.. 사실 저번에 [LittleAOI]에서 만들어서 2번이나 사용했던 클래스다.
소스가 프로그래머의 자산이라고나 할까..ㅎㅎㅎ
뭐.. 문제에서 적어놨으니까 '일만'이라고 읽지만.. 안이쁘닷..ㅠ.ㅜ 문제 고쳐주..ㅠ.ㅜ
const int MAX_LONG=5;//최대가 5자리 숫자이기때문.
const int MAX_NUMBER=10000;//최대가 10000이기때문.
const char NUMBER_TO_HAN[10][3]={"영","일","이","삼","사","오","육","칠","팔","구"};
모양만 객체고 malloc을 사용하다니 -_-;;; 하이브리드 소스다 -_-;;; 안좋아 -_-;;;
└음.. 죄송합니다.^^ 술을 마셔서..ㅎ 하이브리드 소스에 대해서 조금만 더 말씀해 주세요.^^ 제가 8월 1일부터 휴가인데, 그때, 좀더 연구해서 더 나은 소스를 만들겠습니다.^^ - [조현태]
음;; 그런게 존재하는건 아니구... C언어면 C언어답게 하는 것이 좋구 C++이면 C++답게 코딩하는게 좋은데.. malloc은 C언어에서 쓰이잖아. 물론 C++에서도 쓰이겠지만 C와의 호환성 때문이지 정말로 쓰이는것은 new니까 new를 쓰는게 좋다는거지. 클래스를 malloc으로는 할당 못하거든.
- 전철에서책읽기 . . . . 17 matches
[강희경]에게 전철에서 책을 것은 굉장히 좋은 습관이다.
시간을 헛되이 보내지 않는다는 것이 큰 장점이다. 전철에서만의 통학 시간이 40분인 나에겐 정말 좋은 습관 --[강희경]
전철이 아닌 다른 곳에서는 책이 읽혀지지 않는다. 전철에서 잠을 자지 않으니 잠이 부족해진다. 독서에 집중하다보면 가끔 목적지을 지나친다. --[강희경]
서서 책을 오래 보다 보니 나중엔 등이 아픈것 같다. 자세를 똑바로 하고 봐야 한다. --[인수]
하루에 편도 한시간반정도 지하철을 타는데. 부족한 잠과 너무 푹신한 쿠션으로 인해 앉으면 바로잔다. -- [이승한]
''지하철에서 잠이 드는 것은 일종의 버릇이라고 생각된다. 잠이 오면 서서 책을 읽어 보는 것이 좋을 것 같다. 단, rollback 이 안되니 주의! :)'' --[Passion]
작년 1월에 지하철을 타며 책읽기를 했는데 한 번쯤 이런 것도 좋을 듯. 나름대로 재미있는 경험. :) Moa:ChangeSituationReading0116 --재동
원서를 읽어봤는데 사람들의 시선이..ㅋ --[강희경]
- 포커솔리테어평가 . . . . 17 matches
입력은 한 줄 당 다섯 개의 카드씩 총 25개의 카드가 입력된다. 각 카드는 2개의 문자로 구성된다. 첫 번째 문자는 카드의 순서를 나타낸다. 카드 순서는 'A', '2', '3', '4', '5', '6', '7', '8', '9', 'X', 'J', 'Q', 'K'이다. 두번째 문자는 카드의 종류로서 'S', 'H', 'D', 'C'로 표시한다.
카드는 5x5 행렬에 나눠진다. 각 행과 열을 구성하는 5장의 카드에서 가장 높은 계급을 결정하는 것이다. 계급의 순서는 노 페어, 원 페어, 투 페어, 트리플, 스트레이트, 플러시, 풀 하우스, 포캉드, 스트레이트 플러시로 구성된다. 패는 가장 높은 계급으로 한 번만 사용된다. 예를 들어, 포카드는 투 페어나 트리플로 다시 사용되지 않는다.
3. 투 페어 : 아래 계급 중 어떠한 것도 해당되지 않으며, 다른 숫자의원 페어 2개로 이루어진 경우(예 : @C, 3H, 4H, 2H, 4D)
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개의 행에 대해서 평가하면 포카드, 풀 하우스, 투페어, 노 페어, 투 페어가 된다.
- CC2호 . . . . 16 matches
페이지를 고치려면 위에 '''고침'''을 눌러요.
포인터를 이해하는 것을 목표로 차근차근 진행할 거에요. 물론 숙제 나갑니다!
참가자는 나휘동, 이재경, 김유정 입니다.
[http://winapi.co.kr/clec/cpp1/cpp1.htm winapi.co.kr의 C기초강좌]는 매우 자세하며 양이 많다.
[http://cplus.about.com/od/beginnerctutoria1/l/blctut.htm Tutorial for Beginner]
[http://www.cs.cf.ac.uk/Dave/C/ Cardiff University CourseWare]
[http://myhome.hanafos.com/~kukdas/index.html C가 있는 홈페이지]
[http://www.zikimi.co.kr/new_zikimi/z002/002_01.htm?code=37 프로그래머 열린 공간 지킴이]
[http://www.its.strath.ac.uk/courses/c/ University of Strathclyde Computer Centre]
[PracticalC]를 정리하는 이런 페이지도 있네요. 모두 같이 정리해 보고 활용해 보았으면 좋겠습니다.
|| 숙제이름 || 김유정 || 이재경 ||
|| [반복문자열] || [반복문자열/김유정] || [반복문자열/이재경] ||
|| [최소정수의합] || [최소정수의합/김유정]|| [최소정수의합/이재경]||
|| [마름모출력] || [마름모출력/김유정] || [마름모출력/이재경] ||
|| [구구단] || [구구단/김유정] || [구구단/이재경] ||
- CompleteTreeLabeling . . . . 16 matches
모든 잎(leaf)의 깊이가 같고 모든 내부 노드의 차수(degree)가 k인(즉 분기계수(branching factor)가 k인) 트리를 k진 완전 트리(complete k-ary tree)라고 한다. 그런 트리에 대해서는 노드의 개수를 쉽게 결정할 수 있다.
k진 완전 트리의 깊이와 분기계수가 주어졌을 때 트리의 노드에 번호를 붙일 수 있는 모든 가능한 방법의 수를 결정해야 한다. 이때 각 노드의 레이블은 그 자손의 레이블보다 작아야 한다. 이진 힙 우선 순위 큐 자료 구조가 바로 이런 속성을 가진다(이진 트리이므로 k=2). N개의 노드가 있는 트리에 번호를 붙일 때, 1에서 N까지의 레이블을 붙일 수 있다고 가정하자.
입력 파일은 여러 줄로 구성된다. 각 줄에는 두 개의 정수 k와 d가 들어있다. k>0이며, 이 값은 k진 완전 트리의 분기계수를 나타낸다. d>0며, k진 완전 트리의 깊이를 나타낸다. k X d ≤21인 모든 k와 d에 대해 작동하는 프로그램을 만들어야 한다.
입력된 각 줄에 대해 한 줄의 결과를 출력한다. 그 줄에는 위에서 설명한 조건을 만족시키면서 k진 트리에 레이블을 붙이는 경우의 수를 출력한다.
=== 풀이 ===
- DirectVariableAccess . . . . 16 matches
초기화처럼 변수에 접근하는 방법도 큰 이슈 중 하나였다. 이것에도 두가지 방법이 있는데, 역시 패턴의 존재 이유처럼, 하나는 유연성, 또 다른 하나는 가독성이다. 첫번째 방법은 모든 변수를 직접 접근하는 것이다. 다른 하나는, 항상 메세지를 보내는 것이다.(setter,getter를 사용한다.)
아래는 '음. 그냥 x구나.' 할 수 있다는 것이다.
와드 아저씨의 말로는, '클래스에 아주 적은 양의 메소드만 존재한다면, getter/setter를 추가하는 것만으로도 메소드의 수가 두배가 되어버린다. 이는 전혀 사용되지 않을 유연성을 위해 쓸데없이 갯수를 늘린 것이다.' 라고 한다.
하지만 이 클래스가 상속이 될 가능성이 있다면, setter/getter를 오버라이딩 해서 사용할수 있으므로, IndirectVariableAccess를 쓰는 것이 괜찮다.
- HelpOnInstallation/SetGid . . . . 16 matches
보안상의 이유로 웹서버는 php 스크립트를 `nobody, www, apache` 혹은 `httpd`같은 특별히 제한된 계정으로 실행하게 됩니다. 이러한 이유로 [모니위키] 스크립트가 생성하게 되는 여러 파일 혹은 디렉토리는 이러한 특별한 계정의 소유가 되며 진짜 사용자가 소유하지 못하게 되는 일이 발생하고 어떤 경우는 이렇게 만들어진 파일을 읽을수도 지울 수도 없게 됩니다.
이런 경우를 막기 위해서 `chmod 2777` 대신에 `chmod 777`을 하는 경우도 있으나, 이로서 문제가 모두 해결되지는 않습니다.
이러한 것을 방지하기 위해서 [모니위키]가 특별한 파일을 생성하게 되는 몇몇 디렉토리에 대하여 그룹 아이디로 퍼미션을 가지게 할 수 있습니다. 이렇게 Setgid를 사용하도록 그룹 퍼미션을 주게되면 wiki.php에 의해 새롭게 만들어지는 모든 파일은 진짜 사용자의 그룹아이디와 같게 되며, 그룹 아이디가 가지는 퍼미션을 진짜 사용자도 누릴 수 있게되어 읽거나 고치거나 지울 수 있게 됩니다.
Setgid 퍼미션을 작동시키려면 간단히 "`chmod 2777 ''dir''` 명령을 내리면 되는데, 모니위키가 여러 파일들을 만들게되는 디렉토리에 대해 이 명령을 내려주면 됩니다. 모니위키를 최초 설치하는 과정에서 setgid를 사용하려면 우선 모니위키 최상위 디렉토리를 먼저 `chmod 2777`을 해 줍니다. 아마 wiki.php가 들어있는 디렉토리가 될것입니다.
그런 다음 monisetup.php를 웹상에서 실행시키면 monisetup.php는 필요한 여러 디렉토리를 만들게 되며 이 디렉토리들은 setgid에 적용을 받게 되고, 이렇게 최초 setgid 설정을 마친 후에는 최상위 디렉토리의 퍼미션을 원래의 퍼미션으로 되돌려야 합니다. (보통 `chmod 755`로)
- PowerReading . . . . 16 matches
읽기에 도움을 주는 4주간의 코스. 의외로 그 방법들이 복잡하지 않고 단순하고 간결하다.
이 책이 재미있는 것중 하나는, 다른 속독관련 서적과는 달리 '이해'를 가장 우선시 한다는 것이다. (Chapter 1 ~ 10 첫번째를 보면 일관되게 Speed 보다 Comprehension 을 더 강조한다.)
영어가 쉬우므로 영어원서에 익숙하지 않는 사람들도 쉽게 읽을 수 있다. 앞부분만 읽어보긴 했는데, 추천할만 한 것 같습니다. '더 복잡한 룰'은 직접 필요할때 만들어서 이용하시면 될듯.
- 휴가 나와서 글쓰기 귀찮음에도 불구하고, 아주 아주 많은 도움을 준 책이길래 이렇게 글을 씁니다. 뭐 이 한권 읽고 기억나는건 읽을때 손가락으로 가리키면서 읽는거 밖에 없지만, 이 조그마한 차이가 엄청난 변화를 가져왔죠. 예전보다 읽는 속도가 3~4배 정도는 빨라진거 같고(원래 무진장 천천히 읽긴 했죠 -_-;) 속도가 좀 빨라지다 보니깐 책 읽는 재미도 느끼게 되어서 더 많은 책을 읽게 되었죠. 결국 이책에서 익힌 기법으로 책을 많이 읽게 되었기에, 이 책은 저에게 가장 큰 영향을 준 책이 된 셈이네요. - 남상협
- ProjectPrometheus/UserStory . . . . 16 matches
||책 정보를 볼 때, 타 인터넷 사이트에 대한 (amazon, wowbook, yes24 등등) Link 를 제공받아 이용할 수 있다. ||
||로그인을 해야 서비스를 이용할 수 있다. ||
||자신이 최근 검색한 책 목록을 볼 수 있다. ||
||각 Page를 볼 때 지연시간이 10초 미만이여야 한다. ||
||동시 접속자 수가 25명 이상이여야 한다. ||
* 자신이 최근 검색한 책 목록을 볼 수 있다.
* 로그인을 해야 서비스를 이용할 수 있다.
* 책 정보를 볼 때, 타 인터넷 사이트에 대한 (amazon, wowbook, yes24 등등) Link 를 제공받아 이용할 수 있다.
* 각 Page를 볼 때 지연시간이 10초 미만이여야 한다.
* 동시 접속자 수가 25명 이상이여야 한다.
- Robbery/조현태 . . . . 16 matches
하루종일 루니아만 했다아아아..ㅠ.ㅜ 너무 게으른거아냐?? 이거 문제있는데.. '게으름 유전자' 가 들어있는건가..OTL..
.. 너무 놀았으니 자기전에 간단히 한개 풀어주고 자야지.. 해서 푼게 이것.
CSI를 많이 봐서 그런지 형사아저씨를 돕고싶었나보다.^^
주어진 예제와 그 이외의 몇몇 사항을 바탕으로 테스트를 하였다.
경우의 수가 여러가지 나오는 경우를 어떻게 처리할까 고민했는데.. 못찾은 걸로 할까? 아니면 답으로 간주해서 출력할까? 하다가, 이 경우는 못찾은 걸로 처리하였다. ( "Nothing known." 으로 출력된다. )
최적화를 아예 안할까 하다가.. 그럼 너무너무 간단해져서 약간이나마 최적화를 했다.
자전거 문제에 이 소스를 배껴넣다가.. 규칙을 일부 잘못 이해한것 같아서 수정했다.
이전의 경우 도둑이 특정시간에 존재할 수 없는경우 "The robber has escaped." 를 출력했으나, 지금은 모든 시간의 움직임을 고려해서 존재하지 않으면 "The robber has escaped."를 출력하도록 수정하였다. (사실 소스상에선 그다지 바뀐건 없다..^^)
//// 이동할 수 없는 곳일때 ////
//// 목표지점이 아닐때 ////
//// 더이상 지령받은 지점이 없을때 ////
//// 지령받은 지점이 있을때 ////
//// 움직이는 중일때 ////
- STL/map . . . . 16 matches
* dictionary 구조를 구현하였다. DataStructure 에서는 symbol table 이라고 말한다.
* dictionary 구조란 '''key''' 와 '''value'''가 존재하며, '''key'''를 이용하여 '''value'''를 찾는 자료구조이다.
* 이 구조는 각 언어마다 다양한 이름을 가진다.
* map 은 내부에 STL의 pair 를 이용하여 구현한다. 그래서, iterator 가 가리키는 것은 pair<key_type, value_type> 형이다.
// for 에서 반복자 이용 순회
cout << "이름:" << (*i).first
cout << "이름을 입력해 주세요.(종료:exit):";
cout << "죄송합니다. 그 이름이 전화 번호부에 없습니다." << name << "n";
아쉬운점 : VC++ 6.0 에서 map 한번 쓰면 warning 이 72개가 뜬다; STLPort 를 써야 할까..
warning 의 이유는 STL에서 나오는 디버그의 정보가 VC++ 디버그 정보를 위해 할당하는 공간(255byte)보다 많기 때문입니다. 보통 디버그 모드로 디버깅을 하지 않으면, Project setting에서 C/C++ 텝에서 Debug info 를 최소한 line number only 로 해놓으면 warning 는 없어 집니다. 그래도 warning 가 난다면 C/C++ 텝에서 Generate browse info 를 비활성(기본값)화 시키세요.
- SimpleDelegation . . . . 16 matches
위임을 사용할때, 당신이 필요한 위임의 묘미(?)를 분명하게 해주는 도와주는 두가지 이슈가 있다. 하나는, 위임하는 객체의 주체성이 중요한가? 이다. 위임된 객체는 자신의 존재를 알리고 싶지 않으므로 위임한 객체로의 접근이 필요하다.(?) 다른 하나는, 위임하는 객체의 상태가 위임된 객체에게 중요한것인가? 그렇다면 위임된 객체는 일을 수행하기 위해 위임한 객체의 상태가 필요하다.(너무 이상하다.) 이 두가지에 no라고 대답할 수 있으면 Simple Delegation을 쓸 수 있다.
좀 이상하긴 하지만 그냥 그런가 보다 하자. C++은 너무 제약이 심하다. 어쨌든 at, at: put: 같은 메세지도 위처럼 위임이 가능하다.
객체의 주체성(?)에 대한 예를 들면(제대로 이해했는지는 잘모르겠지만... ^^;)
이런 식으로 서버에게 참조를 전달하고 서버는 누가 보낸 메시지인지를 알기 때문에 처리 결과를 해당 클라이언트에게 보냅니다. 클라이언트는 서버가 보낸 처리 결과가 성공이면 UI를 업데이트하고 실패하면 메시지를 보여준다거나 하시는 식으로 처리할 수 있을꺼 같네요.--[Benghun]
- pragma . . . . 16 matches
C 와 C++ 을 구현한 각각의 컴파일러에는 포팅된 하드웨어나 OS 에 의존적인 몇몇가지들의 기능을 가지고 있다. 일례로 몇몇의 프로그램들은 메모리에 데이터가 어떠한 방식으로 자리잡을 것인지 에 관한 문제나 함수가 파라미터들을 조작하는 방법들에 대한 세밀한 조작이 요구된다. #pragma 지시어들은 C 와 C++ 언어 안에서 최소한의 호환성을 유지시키며 그러한 시스템 의존적인 명령어들을 언어의 기능으로서 포함시키는 일을 한다. Pragma 지시어들은 일반적으로 '''컴파일러들 마다 서로 다르다'''.
[snowflower]는 Accelerated C++ 에 있는 map예제를 Visual C++에서 치면서 엄청난 양의 경고를 경험했다. 이것을 어떻게 할 수 있을까 자료를 찾던 중 다음과 같은 방법을 찾았다.
NeoCoin 은 Debug 모드에서, 값을 추적할 것을 포기하고, Project Setting -> C/C++ tab -> Debug info -> Line Numbers Only 로 놓고 쓴다.
하지만, 이러한 경고는 Visual C++ 6.0 에서만 유효한것이고, VS.NET 부터 추가 세팅이 필요 없다. VC++ 6.0 에서는 map은 물론 STLPort 나, [Boost] 사용하는 것을 권장하지 않는다. 더 이상 MS 측의 컴파일러 기술 지원이 없으므로, VS.NET 이상 버전을 사용해야 한다.
뿐만 아니라 lib의 추가등이라던지 이 파일이 단 한번만 열리게 할 수도 있다.
#pragma once // 이 파일은 한번만 열리게 한다.
혹시라도.. 저 #pragma warning(disable: n ... m) 을 써서 언제나 문제를 해결 할 수 있을거라고 생각하시면 안됩니다. 저 위의 설명에도 씌여있듯이, pragma directive 는 지극히.. 시스템에 의존적입니다. 그러므로, VC 에서는 먹힌다는 저 명령어가 GCC 에서는 안될수도 있고.. 뭐 그런겁니다. 확실하게 쓰고싶으시다면.. 그 컴파일러의 문서를 참조하는것이 도움될겁니다.
- 데블스캠프2010/다섯째날/ObjectCraft/미션3/김상호 . . . . 16 matches
printf("저글링 %d이 저글링 %d에게 데미지 %d를 입혀 HP가 %d가 되었다.\n", a.name, b.name, a.gong, b.hp);
printf("저글링 %d이 전사했습니다.\n", b.name);
while(!((a[0].hp<=0 && a[1].hp<=0) || (a[2].hp<=0 && a[3].hp<=0))) //0과 1이 죽으면 끝or 2와 3이 죽으면 끝
printf("뒷 팀이 이겼습니다!!\n");
printf("앞 팀이 이겼습니다!!\n");
while(!((a[0].is_dead() && a[1].is_dead()) || (a[2].is_dead() && a[3].is_dead()))) //0과 1이 죽으면 끝or 2와 3이 죽으면 끝
printf("뒷 팀이 이겼습니다!!\n");
printf("앞 팀이 이겼습니다!!\n");
printf("저글링 %d이 저글링 %d에게 데미지 %d를 입혀 HP가 %d가 되었다.\n", this->name, b.name, this->gong, b.hp);
printf("저글링 %d이 전사했습니다.\n", b.name);
- 새싹교실/2012/새싹교실강사교육 . . . . 16 matches
* 이항록
* 이민규
1. 학생과 소통이 잘되는반은(잘노는 반으로도 표현 가능하다) 새싹 이후에도 교류가 일어날 가능성이 높아진다.
1. 기본 커리큘럼으로 만들은 강의자료와 교육시간은 강사들에게 약간의 준비됬다는 자신감(자신이 뭘 가르쳐야될지에 대한 확신감으로 표현 가능)을 부여한다.
1. 일주일에 2시간강의를 진행할때 나누어서 자주 만나는것이 더 관계, 대화를 진척시켜 빠른 피드백에 의한 지식 전달에 도움이 된다(출석률이 좋을경우).
1. 학생이 적으면 당연히 좋다.(4명이서 하는 반을 2명씩으로 나누었을때)
1. 현재 이 프로세스는 현장의 학습에 도움이 되는것 보다는 장기적으로 계속 새싹교실이 진행하게 하는데 도움이 된다(학습에는 강사, 학생의 역량이 더 많은 영향을 미친다.)
- 새싹교실/2012/주먹밥/이소라때리기게임 . . . . 16 matches
//이소라 초기값
int printplayerstate(PLAYER *, PLAYER *); //스테이터스 출력
int playersave(PLAYER *); //플레이어 세이브
int playerload(PLAYER *); //플레이어 로드
//이소라 체력 , 내 체력 정하기.
PLAYER sora = {"이소라",{100000,SORAHEAL,SORAKICK,SORAPUNCH}};
//printf("제작자 : 06 김준석 Target : 11 이소라\n");
printf("\n소라를 이겼습니다!!! \\(* ^ * )/ \n");
printf("세상을 구할 용사여 이름을 입력하세요(주의! 오타내도 그게 이름됨)\n");
printf("이소라 체력 : %d\n",sora->skill.health);
//스테이터스 출력
}//플레이어 세이브
}//플레이어 로드
- 새싹교실/2012/햇반 . . . . 16 matches
강사: 이성진
|| 학번 || 이름 ||
매주목요일 6시 이후~
하지만 학기초 공식적인 일정들이 많아서 따로 보강을 해야만 할 실정
민형이와 상영이가 총엠티 자봉단인 관계로 금요일 1시반으로 새싹반 변경
당시 6층 피씨실에서 없었던 관계로 VS를 이용하여 수업
민형이의 지각, 상영이에게 집중적으로 여러 예제를 스스로 구현하게함
1. 구구단 예제 (이중 for문 연습)
상영:: 전 아무것도 모르고 이 전공을 택했고 물론 c프로그래밍에 관해서도 아무것도 몰랐지만 별찍기나 구구단만들기 같은 것을 하다보니 C프로그래밍에 흥미가 붙었고 더 많은 것을 해보고 싶다는 생각이 들었습니다
2) prefix, postfix의 차이점
상영:: c수업때 수업안듣고 딴짓해서 중간고사 망할듯했는데 이젠 걱정없습니다 전 성진스쿨의 학생이니까요! 자신있습니다!!
민형:: 성진이형을 믿습니다
- 지금그때2005/회의20050308 . . . . 16 matches
이번에도 [여섯색깔모자]를 이용한 회의를 하였습니다.
참가자 : [이승한] [강희경] [Leonardong]
동문서버를 이용한다.
저번 송년회 경험을 돌이켜보면 평일 오후에 전화하는 것은 조금 피해야 한다. 회의하시는 분, 핸드폰 꺼놓으신 분들도 많았다.
질문릴레이
노란모자 : 동적이다. 좋은 질문이 나온다면 재미 있을 것이다.
초록모자 : 질문이중모션, pass벌칙
검은모자 : 보는입장에서는 재미가 떨어진다. 소외. 잘된 질문이 희소하다.
=== 질문릴레이의 단점을 극복할 방안. ===
=== 질문릴레이 보안 게임 구체사항 ===
시작점 : 굴리는 사람이 결정하는 방식, '''사회자에 의해 정해진 시작점'''
질문리스트. YesNoWhy후렴 (이유에 대한 우리의 평가?) <- 맞는건가요??
패널토의는 안하는 건가요? - [이승한]
- 질문레스토랑 . . . . 16 matches
[질문의힘]에 나오는 ''질문 게임''을 좀더 게임과 같은 분위기로. [지금그때2005]를 준비하는 이들이 창안.
주사위를 굴려서 걸린 사람이 질문을 던지고, 나머지 사람들이 대답하는 게임이다.
* 웨이터 : 질문을 거둔 후 공지하기를 담당
* 처음 나누어 주는 메뉴판에는 어느정도 [지금그때/OpeningQuestion]이 적혀있는 상태
* 자신이 원하는 질문을 추가할 수 있음
=== 개인 질문권(아이템) ===
* 메뉴판에 없는 질문이 하고 싶은 경우 포스트 잇에 적음
* 질문이 적힌 포스트 잇은 웨이터가 수거
* 새로운 질문이 등록된 경우 주사위를 굴리기 전 웨이터가 모두에게 질문을 알려줌
* 한 질문에 대해 7분이 넘는 대답을 하는 경우 매니저가 아이템으로 중지시킴
- 튜터링/2013/Assembly . . . . 16 matches
* 튜티 : [김민재],[양아석],[장지희],[이승준],[김수연]
* 이 과목에서 가장 주로 다루는 어셈블리 언어를 사용하는 이유와 현재 어떤 곳에 사용되는지, 특징은 무엇이며 장단점은 무엇인지 알아보자.
* 어셈블리 과목의 특성상 하드웨어와 소프트웨어의 이해가 동시에 필요한데, 이 부분에 관해 알아보기 위해 하드웨어가 어떤 식으로 명령을 처리하는지 알아보자.
* 어셈블리 언어란 무엇이며, 왜 쓰고 장단점은 무엇인지 써보자.(서술식으로 자신이 아는 내용/책에서 찾아본 내용을 써내려가보자.)
* 컴퓨터 구조가 어떤 식으로 되어있는지 써보고, CPU에는 어떤 것이 있으며 각각 무슨 일을 하는지 써보자.
* 승준이를 위한 과제
* 0과 1000 사이의 정수를 입력받아 모든 자릿수를 더하여 출력하는 프로그램을 짜보자.
* /10, %10 등을 이용해서 해 보세요.
* 어셈블리언어의 기본문법을 보고, 어떤 프로그램이든 컴파일시키고 실행시켜보자.
1. Directive와 instruction의 차이점에 대해 설명하시오.
b) 다음 코드를 데이터에 따라 완성하세요.
* 중간고사 이전 범위 Review
- 05학번만의C++Study/숙제제출/2 . . . . 15 matches
* 이번 숙제는 반에따라 각자 '''27일''', '''28일'''까지 '''제출'''해 주시면 됩니다.
* 숙제1/허아영 <<- 글쓰기를 눌러서 이런 식으로 페이지를 만드시고 거기에 자신의 소스를 올리시면 됩니다.
* 평상시에는 문자열의 주소를 하나의 전달인자로 취하여, 그 문자열을 한 번 출력하는 함수를 작성하라. 그러다가 0이아닌 int형 값을 두 번째 전달인자로 제공하면, 그 시점에 도달할 때까지 그 함수가 호출되었던 횟수만큼 그 문자열을 반복해서 출력한다. (문자열이 출력되는 횟수는 두 번째 전달인자의 값이 아니라 그 함수가 호출되었던 횟수와 같다.)물론 이 함수는 거의 쓸모가 없다. 하지만 이것은 이 장에서 설명한 몇 가지 프로그래밍 기술을 사용할 것을 요구한다. 이들 함수를 사용하여 함수의 작동을 보여 주는 간단한 프로그램을 작성하라
|| 이름 || 날짜 || 소스 ||
* 여기서 질문!! 전달인자가 1개인 함수와 2개인 함수만들어 오버 로딩 하라는 것인가? 그게 아니라면... cin을 라인별로 입력 받아햐겠는데.. 어떤때는 변수를 하나만 받고 어떤때는 변수를 두개 받아야하니.. 라인별로 처리 해야할듯.. 하지만 라인별로 처리해도....;;;; 음... 생각이 떠오르지 않음..;;; 쳇..;;[[BR]] 어제 교수가 defalte 에 대해 설명했던거 같은데.. 전달인자를 취하지 않으면 이미 입력된 변수의 값으로 처리한다. 라고...;; 음..;;;이렇게 해야하나?
- 근데, 문자랑 숫자를 입력받은 후 출력받은담에 프로그램이 끝나게 만들어야 해? -아영
- 5인용C++스터디 . . . . 15 matches
* Player 5 ( X-( X-( X-( X-( :D ) : [나휘동] - 타자게임 만들기, 보드게임 만들기, 타이머 만들기
* 결석할 때 마다 노란 얼굴이 빨개집니다. X-( '''5번 결석한 Player는 Game Over!!'''
=== 관련 페이지 ===
* [5인용C++스터디/타이머보충]
* [5인용C++스터디/다이얼로그박스] - 노수민
* [5인용C++스터디/타이머] - 조재화
* [5인용C++스터디/움직이는공]
* [5인용C++스터디/떨림없이움직이는공]
|| 이름 || 계획서 다운로드 || 프로그램 다운로드 ||
2003년 8월 27일로 공식적인 스터디가 종료되었습니다. 하지만 비공식적으로 최종 결과물이 만들어질때까지 계속 하는거 아시죠?^^ 강요하는건 아니지만 최종 결과물을 만들어서 목표를 달성해보면 많은 도움이 될 것입니다. 도움이 필요하면 언제는 연락주세요~ 그리고 다들 [5인용C++스터디/후기]에 스터디를 끝내고 난 후기를 적어주세요~ --[상규]
최종 결과물을 다들 만들면 한번 모여서 밥이나 먹어요!ㅋㅋ --[상규]
'''다들 만들면'''이라니..ㅜㅜ-[Leonardong]
- ClearType . . . . 15 matches
Microsoft 에서 주도한 폰트 보정 기법의 하나로 기존의 안티얼라이징 기법과 최근에 나오고 있는 LCD Display 의 표현적 특성을 조합하여 폰트 이미지의 외관을 가히 극대화하여 표현하는 방식.
LCD 디스플레이는 RGB의 색상체를 각 픽셀당 하나씩. 즉, 1개의 픽셀에 3개의 색상 표현 요소를 가지고 있다. 기존의 방식은 해당 픽셀을 하나의 요소로만 판단하여 폰트를 보정하여 출력해왔던 반면 ClearType 은 해당 픽셀의 3가지 요소를 개별적으로 컨트롤해서 표현하는 방식을 취한다.
그림을 보면 잘 이해할 듯. 4번째의 경우가 클리어 타입이 사용하는 방식이다.
* [http://www.microsoft.com/typography/ClearTypeInfo.mspx ClearType기술 홈페이지] - 윈도우 적용 방법이나 기술에대한 자세한 소개.
* 컴퓨터 Display 에서 bitmap으로 표현되는 글자들의 가독률이 나빠, 종이에 인쇄되는 것과 같은 수준의 글자 가독률 얻기 위해서 만들어 졌다.
* 영문은 거의 완벽하게 구현이 되었으나 한글은 한 글자의 선 밀도가 영문보다 높아 구현에 어려움을 겪고있다.
* 억지로 적용을 할수는 있지만 '를' 과 같은 글자는 '■' 처럼 보이기도 한다고 한다.
* 특허문제로 Adove, Linux, Apple 들이 각 다른 방식의 벡터 드로잉 방법을 가지고 있다고 한다.
* [http://www.microsoft.com/typography/cleartype/tuner/Step1.aspx ClearType Tuner]라는 프로그램으로 세부적인 클리어타입 셋팅을 할 수 있다.
확실히 영문은 훨씬 더 잘보인다. - [이승한]
- CollectionParameter . . . . 15 matches
ComposedMethod의 단점중 하나는, 작은 메소드들 사이의 연관때문이다. 큰 메소드 하나에서 공유되었던 임시 변수들이, 이제는 작은 메소드들 사이에 공유된다. 가장 해결하기 쉬운 방법은 ComposedMethod를 없애고 다시 하나의 큰 메소드에 다 때려넣는 것이지만, 안좋다. 또 다른 해결책으로는 이 작은 메소드들 사이에서 공유되는 임시 변수를 멤버변수에 넣는 것이다. 이것은 객체의 생명기간 동안 유효한게 아니라, 저 메소드들이 실행될때에만 유효하다. 역시 안좋다.
우리의 해결책은, 메소드들마다 필요한 파라메터들을 넘겨주는 것이다. 이것도 좀 망설여지는 방법이긴 하나, 다른 것들보단 낫다.
즉, 두 메소드의 결과를 모으는 경우인데, 그리 흔한 경우는 아니였던걸로 기억. 약간은 다르긴 하지만 나의 경우 CollectionParameter 의 성격으로 필요한 경우가 read/write 등 I/O 가 내부적으로 필요할때 또는 Serialization 등의 일이 필요할때. 그 경우 I/O 부분은 Stream 클래스로 만들고(C++ 의 Stream 을 쓰던지 또는 직접 Stream 클래스 만들어 쓰던지) parameter 로 넘겨주고 그 파라메터의 메소드를 사용하는 형태였음. --[1002]
- CppStudy_2002_1/과제1/Yggdrasil . . . . 15 matches
cout<<"\n회사 이름?";
int ct; //문자열의 길이('\0'은 세지 않음)
//set(), show()의 원형이며 show()가 여기에 옴
set(beany, testing);//첫째 인수는 참조이며
//함수는 사용자에게 이름과 핸디캡을 요구한다
//이름이 입력되면 1을 리턴하고, 이름이 빈 문자열이면 0을 리턴한다
//golf 구조체를 제공된 이름과 핸디캡으로 설정한다
//함수는 golf 구조체의 이름을 표시한다
cout<<"\n이름은 무엇인가?";
n=setgolf(golfer1);//1이면 계속
cout<<"\n바꾸고 싶은 이름을 입력하시오: ";
- Devils . . . . 15 matches
Devils ( Developers' Idols ) 란, 과거에 [제로페이지]가 한해 70명~80명의 인원을 넘어서 너도나도 [제로페이지] 시절(19xx년~?)에 엘리트 주의를 표방하며 등장한 두개의 소모임([데블스],[폴리곤]) 중 하나이다.
두 단체의 차이점은, [데블스]는 다수 회원이 겹쳤지만, [제로페이지]와 완전한 독립 단체를 선언하고 활동하였으며, [폴리곤]은 [제로페이지]내의 작은 소모임으로 존재한다.
이 두 단체는 [제로페이지]의 규모가 작아지고, 과거의 시작 멤버 이후로 모임의 강도가 약해지면서 [제로페이지]와 통합하였는데, [데블스캠프]는 [데블스]의 정신을 이어 받은 신입생을 위한 밤새기 세미나로 남아 있다.
[Devils]의 발음에 대한 토론은 굉장히 많았으며, 창립멤버들이 '''[데블스]'''로 읽기로 결정해서 의견을 존중한다.
그냥 [제로페이지]다. :)
[제로페이지분류]
- HaskellLanguage . . . . 15 matches
이전 [프로그래밍잔치] 때 사용했었던 [FunctionalLanguage].
* [http://haskell.org 홈페이지]
* [http://pub.hal3.name/daume02yaht.pdf Yet another haskell tutorial] : Haskell 입문시에 도움이 된다.
* 보통 [http://www.haskell.org/hugs/ hugs]와 [http://www.haskell.org/ghc/ ghci]를 많이 쓴다.
* 저 위에보면, featuring static typing, higher-order functions, polymorphism, type classes and modadic effects 라고 있는데, 이것들이 아마 haskell language의 큰 특징들이 아닐까 한다. 각각에 대해서 알아두는게 도움이 될듯. ([http://www.nomaware.com/monads/html/ monad관련자료])- 임인택
* 오늘 굉장한 사실 하나를 알아버렸다. Haskell에서 값인줄로 알았던 3도.. 함수였던 것이다... 덜덜덜;; - 임인택
* (Num t)는 t의 자료형이 Num이라고 알려주는 것이에요. 함수는 화살표가 -> 로 나오네요.^^
함수를 정의할 때 한 곳에 모아두어야 한다. 따라서 다음은 오류이다.
연산자 처럼 보이는 녀석들도 함수이다.
- HelpOnNavigation . . . . 15 matches
각 페이지의 좌측 상단 (혹은 임의의 위치)에는 대문(FrontPage 혹은 home), 최근 바뀐 글(RecentChanges), 목록(모든 페이지의 가나다순 알파벳순 목록), 찾기(FindPage), 도움말(HelpContents) 등등의 메뉴가 있습니다.
우측 상단 (혹은 다른 위치)에는 자주 쓰이는 기능을 아이콘 형태로 모아놓은 것이 있습니다:
* [[Icon(show)]] 현재 페이지를 다시 읽기
* [[Icon(edit)]] 페이지 고치기
* [[Icon(info)]] 페이지에 관한 정보 보기 (페이지의 모든 고친 정보 등)
* [[Icon(diff)]] 페이지의 바뀐 부분 보기
* [[Icon(search)]] 다른 페이지 찾아보기
* [[Icon(help)]] 도움말 페이지 보기
상단의 페이지 제목 링크를 클릭하면 현재 보고있는 페이지를 가리키고 있는 모든 페이지 목록(역링크)을 보여줍니다.
- Hessian . . . . 15 matches
http://caucho.com/hessian/
Resin 을 이용하는 경우라면 Hessian 이용해서 간단하게 RPC 를 구현할 수 있다.
hessian simple tutorial (홈페이지의 Servlet 예제) - 이는 Resin Servlet Container 가 동작해야 함.
RPC 를 위해서는 서버-클라이언트의 대화를 위한 interface 의 정의가 필요하다. 간단하게 정의해본다.
그리고 RPC Test 를 구현해보자. (여기선 Hessian Servlet 을 이용)
이를 컴파일 하기 위해서는 hessian-2.1.3.jar 화일과 jsdk23.jar, resin.jar 화일이 classpath 에 맞춰줘야 한다. (이는 resin 의 lib 폴더에 있다. hessian jar 화일은 [http://caucho.com/hessian/download/hessian-2.1.3.jar hessian] 를 다운받는다)
그리고 class 화일을 Servlet 이 돌아가는 디렉토리에 복사한다. 이로서 RPC Publish 기본준비는 ok.
Java 와 Python 둘 다 구현이 가능하다. 여기서는 간단하게 Python Interpreter 를 이용해보자.
Python 모듈은 http://caucho.com/hessian/download/hessianlib.py 를 다운받는다.
Java 의 경우는 다음과 같다. 위에서 정의한 interface 인 Basic 이 있어야 한다.
["Hessian/Counter"]
- MFC/Control . . . . 15 matches
하나의 컨트롤은 클래스와 연계될 수도, 안될 수도 있다. 정적 컨트롤의 경우 클래스가 필요없을 것 같지만 CStatic 이라는 클래스를 통해서 모양을 변경하는 것이 가능하다. 마찬가지로 버튼 컨트롤들의 경우도 대부분 Dialog 객체를 통해서 처리가 된다. CButton 클래스의 경우에는 컨트롤을 관리하는데있어서 객체가 필요할 경우에 이용하게 된다. 이러한 모든 컨트롤들은 모두 윈도우의 일종이기 때문에 CWnd 에서 상속된 클래스를 이용한다.
|| 버튼 컨트롤 || 한번의 마우스 클릭으로 응용프로그램과 통신. 라디오 버튼은 다른 버튼과 그룹으로 묶여서 다중 선택이 불가능하도록 한다.[[BR]]반면 체크박스는 개별적인 선택이 가능하다. [[BR]]푸시 버튼은 일반적으로 대화상자를 닫는데 사용된다. ||
|| 스크롤바 || 스크롤바는 독립적이며, 대화상자의 안에서 사용됨 ||
|| 리스트 박스 || 기정의된 항목에서 선택을 할 수 있도록 한다. 텍스트 이외에도 아이콘을 표현하는 것이 가능하다. ||
이외에도 common control 로서 애니메이트 컨트롤, tree 컨트롤, spin button 등의 컨트롤 들이 존재한다.
- ProjectPrometheus/MappingObjectToRDB . . . . 15 matches
대강 예측 데이터
사용자 데이터
책 데이터
* 고민할 필요 없다; 상당히 귀찮아 보이지만, 실제 전체 작업에서 차지 하는 양은 얼마 되지 않는다. 괜히 라이브러리 만들려고 하면 더 복잡해질것이다. O/R 맵핑 라이브러리로 포커스를 맞추게 되지 않도록 조심.
* 패턴의 오/남용 문제가 발생할 수 있다. - 어설프게 아는것은 모르느니만 못한 경우가 있다. 그리고 제대로 안다고 해서 "많이" 하는 것은 정말 잘 아는게 아닐 수 있다.
단, 이 논문을 보면 약간은 의문이 드는게
1. 13개월 프로젝트인데 2만라인짜리라는점 - 뭐.. 꼭 소스 라인수로 세는건 무리가 있긴 하지만. Servlet 프로젝트 2만라인. 내가 전에 팀 프로젝트로 MFC 엑셀 만들때가 1만 7천라인이였는데. -_-a 물론, Refactoring 이 잘 되어있고, XP 가 잘 적용된 프로젝트이라면 적은라인수로 많은 일을 하겠지만.
2. 초기에 UpFrontDesign 로 나간 뒤, 후기에 점진적 발전을 추구한점 - 두개가 비교대상이 되긴 어렵다.
- SharedSourceProgram . . . . 15 matches
소스공유 프로그램(Shared Source Program)을 통해 주요 MS 제품군의 소스에 접근할 수 잇는 권한을 획득한다. 특히 소스공유 프로그램은 현재 한국과 호주 양국 MVP에게만 부여된 권한이다.
국내에서 MVP가 되고 싶다면 본인이 한국MS MVP 웹사이트에서 신청서를 다운로드해 담당자에게 접수시키면 된다. 현재 국내에서는 1년에 세번 선발하며, 한국MS 내부 심사 1차례와 두 차례의 MS 본사 심사를 통과해야 최종적으로 MVP 인증을 받을 수 있다.
리눅스를 정부 프로그램으로 채택하는 국가들이 세계적으로 늘어나고 있는 가운데, 마이크로소프트(MS)가 오피스 소스코드 공개를 통해 오픈소스 진영에 적극 맞서고 있다.
MS는 3년 전부터 `소스공유 이니셔티브'(Shared Source Initiative)라는 프로그램을 통해 협력업체들과 정부에 윈도 소스코드를 공개해왔다. 특히 최근 몇 년간 각 국 정부가 오픈 소스 진영으로 전환하는 것을 막기 위해, 정부와 특정 회사가 소스코드를 볼 수 있는 프로그램을 확대해왔다.
공대차원 학회 지원 프로그램의 한가지 방법으로 Shared Source Program 이 준비되고 있다고 한다.
돈을내고 라이센스를 받아야 하는 프로그램이라 학교측에서도 그전에 컴공의 각 학회들에게 어떤 방식으로 SSP를 활용해 나갈지를 먼저 물어보고 실제로 진행을 할 예정인가보다.
빠른 시일안의 대답이 필요하므로 많은 학우들의 많은 이야기가 있기를 바랍니다.
아이디어가 필요하면 사람들이 활발하게 논의하는 kldp 같은곳에 이야기를 꺼내봐도 좋을것 같습니다. --sun
이야기가 나온지 어느정도 지났는데, 어떻게 하기로 했나요?--[Leonardong]
- SummationOfFourPrimes . . . . 15 matches
오일러는 솟수가 숫자 영역에서 무한하다는 가설을 자신의 고전이론으로 증명했다. 모든 수들이 4개의 양의 솟수 합으로 표현될 수 있을까? 답을 알 수는 없다. 답은 느린 386 컴퓨터에서도 돌아갈 수 있기를 원한다. 시간 제한은 펜티엄3 800 컴퓨터를 기준으로 한다. 이 문제에서 솟수의 정의는 "완전한 두 개의 다른 정수로만 나눠 떨어지는 양수"이다. 예를 들어,37은 정수 37과1로만 나눠지는 솟수이다.입력은 한 라인에 하나의 정수N만 포함한다. 여기서 N은 10000000이하의 수이다. 이 수는 4개의 솟수의 합으로 구성될 수 있는 수이다. 입력은 하나의 수만 받는다. 입력 라인에 맞춰, 주어진 조건에 맞는 4개의 솟수를 한 줄에 출력한다. 입력된 수가 솟수 4개의 합으로 표현될 수 없으면"Impossible."이라 출력한다. 답은 여러개가 있을수 있다. 모든 정답을 받아들인다.
=== 풀이 ===
|| 작성자 || 사용언어 || 개발시간 || 코드 || 실행시간(10000000 값 기준 4초 이내 통과 여부) ||
|| [1002] || Python || 50분(이후 튜닝 진행. 총 2시간 46분 23초) || [SummationOfFourPrimes/1002] || X (5.7s) ||
[문보창]이 푼 게 200등이네... 내 순위 찾다가 발견함. 참고로 난 394등. 나도 분발해야겠다 --[곽세환]
- TermProject/재니 . . . . 15 matches
= 작성자의 페이지 =
void menu3() // 모든 입력 데이터와 평균 및 학점을 입력 순에 따라 출력함
prt_all(); // 화면에 데이터를 출력함
void menu4() // 모든 입력 데이터와 평균 및 학점을 평균 성적 순으로 정렬하여 출력함
prt_all(); // 화면에 데이터를 출력함
<< " 이름t 학번t점수n"; // 선택된 메뉴를 출력하고
cout << sort_name[i] << "t" << " " << sort_stats[i][0] // 이름과 학번 출력
for (int k = 0 ; k < 7 ; k++) { // 데이터의 이름을 정렬함
for (k = 0 ; k < 4 ; k++) { // 데이터의 학번과 성적을 정렬함
sort(i, j); // 데이터의 정렬을 실행하고
cout << " 이름t 학번t국어t영어t수학t평균tt학점n"; // 필드명을 출력
cout << sort_name[i] << "t "; // 이름을 출력함
cout << sum_sub[i] / students << "t "; // 과목과 평균의 합계 변수를 이용하여 출력
if (avr_ind[i] >= 95) cout << "A+n"; // 평균 95점 이상은 A+
- UglyNumbers/1002 . . . . 15 matches
처음 문제를 제대로 이해하지 않고 '그냥 2,3,5 외의 소수 제외한것 아닌가?' 로 접근하다가 14 는 아니라는 것을 간과. 다시 처음부터 접근.
연습장에 이것저것 써보다가 대략 두가지 접근법이 생각나다. 하나는 각 수들마다 'isUglyNumber' , 하나는 지수를 이용한 방법. 일단은 'isUglyNumber' 먼저 구현해보기로 해봄. (워낙 간단하므로)
하지만, 결과값을 보면서 지수 스타일의 접근법이 원하는 접근법이라는 생각을 하게 되다. (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 .. 도무지 숫자들 간의 연관성이 잡히지 않았다.
그러다가, '에이.. 걍 sort 해버리자.' 접근. 하지만, n 값에 따라 결과가 영향을 받을 것이라는 막연한 생각에 연습장에서 한참 고민. 그냥 실제 원하는 값 보다 여유분 값을 만들고 적당히 답을 내는 방식으로 접근. 하지만, 무언가 굉장히 찝찝함.
[UglyNumbers/JuNe] 코드 분석. 2시간 동안 보다가 도무지 접근법을 이해 못하다. 한 3시간째쯤 보다가 http://www.acmsolver.org/?itemid=28#ggviewer-offsite-nav-9512048 보고 이해 & 좌절.
나중에 어떤 생각을 하면 저 방법이 떠오를까에 대해 고민.
- WikiGardening . . . . 15 matches
''실제 위키의 View 구조를 조성하는 사람들이 드물기 때문에, 기존 게시판에서의 스타일과 똑같은 이용형태가 계속 진행되어버렸다는 생각이 든다. (이 경우 RecentChanges 가 Main View 가 된다.) (조만간 위키 전체에 대한 링크 구조 분석이나 해볼까 궁리중. 예상컨데, 현재의 ZeroWiki 는 Mind Map 스타일에 더 가까운 구조이리라 생각. (개념간 연결성이 적을것이란 뜻. 개인적으로는 볼땐, 처음의 의도한 바와 다르긴 하다.) --1002'' (DeleteMe ["1002"]의 글을 다른 페이지에서 옮겨왔습니다.)
실제 위키의 View 구조를 조성하는 사람을 WikiGardening을 하는 사람이라고 보면 될까요? see NoSmok:WikiGardening --["이덕준"]
방학동안 틈틈이 위키를 둘러보면서 가꾸어야 할 만한 페이지를 추려보았습니다.
구조조정 모델로 참고 할 만한 페이지는 [페이지제목띄어쓰기토론] 같습니다.
- ZeroWikiHotKey . . . . 15 matches
1. [위키설명회2005]에서 [임인택] 형님이 알려준 ZeroWiki의 단축키들을 모아놓은 페이지.
2. [Explorer]에서는 실행이 안된다고 합니다.
3. 단축키로 기능을 분류하지 않고. 기능으로 단축키를 분류하였습니다. 단축키로 기능을 분류한 페이지는 [woodpage/VisualC++HotKeyTip] 가 있습니다.
== 이동으로 바로가기 ==
AnswerMe [ZeroWiki]의 [HotKey]를 모아놓은 페이지를 본적이 있었는데. 찾을수가 없네요;; - [이승한]
NoSmok:양손항해 이페이지말하는건가?
멋진 페이지네요~>__<ㅋ 그런데 이것 말고 [ZeroWiki]의 페이지에서 본적이 있는것 같은데. - 이승한
- [Lovely]boy^_^/Cartoon . . . . 15 matches
|| 소마신화전기 || 로도스도전기-회색의마녀 || 김전일 || 상남이인조 ||
|| 팔용신전설 클래식 || 바람의검심 || 닥터슬럼프 || 이나중탁구부 ||
|| 아이즈 || 아웃복서 || 타이의 대모험 || 천랑열전 ||
|| 마법기사 레이어스 || 유유백서 || 아키라 || 와일드 하프 ||
|| 원피스 || 1-29 || 더파이팅 || 1-66 ||
|| 이니셜D || 1-26 || 이누야샤 || 1-25 ||
|| 베가본드 || 1-17 || 이토준지 || ? ||
헉.. 이걸 이제야 보다니..--; 형 죄송해요--; 비디오 테잎 이사준비하면서 엄마가 다 버렸어요;; --[인수]
어떻게하다가 이 홈피를 봤는데여.. 아무나 빌려주시는거예요?
저기여.. 왜 답이 없으시네여.. 저 정말로 보고 싶어서 그러는데여..ㅜ.ㅜ
헉..;; 이제야 봤네요..;; 죄송합니다.;; 메신저에 저를 추가하시면 보내 드리겠습니다. --[인수]
- 대학원준비에대한조언 . . . . 15 matches
여러명이 모여서 스터디를 한 지도 삼 주가 다 되어간다. 같이 준비하면서 때로는 너무 사소한 것에 매달리는 것이 아닌가 싶을 정도로 한 부분에서 넘어가지 못하는 경우가 있다. 한참을 이야기해서 결론을 내보니 이미 말하던 도중에 나왔던 이야기였거나 책을 보면 알 수 있는 내용인 경우도 있다. 하지만 그렇게 해서도 결론이 나지 않는 문제들이 있었고 [대학원준비06] 팀은 교수님께 찾아가서 질문을 했다.
질문에 대한 답도 얻었지만 [대학원준비에대한조언]을 얻은 것이 더 큰 성과였다고 생각한다. [열린질문]을 던지면서 스스로 고민하는 시간이 중요하다는 이야기를 많이 하셨다. [대학원준비06] 팀이 과목 요약을 하고 난 다음에는 고민하는 시간을 가졌으면 좋겠다.
그 밖에 연구실을 방문하라는 조언을 들었다. 포항공대에 [OpenLab]에 다녀온 경험을 생각해보면 매우 와닿는다. 심지어 아무것도 모르고 연구실을 찾아가고, 10분 남짓한 시간을 둘러보고 오더라도 연구실 사람들 직접 만날 수 있다는 사실 만으로도 얻을 것이 있다. 몇 년의 시간을 보낼 장소를 선택하는데 하루의 노력이 아까울까!
- 데블스캠프2009/금요일/SPECIALSeminar/송지훈/김홍기/박성현 . . . . 15 matches
1. 재미있었다. 이런걸 해본적이 없어서 새로웠다. 이런 기회가 있으면 좋겠다.
1. 데캠 외엔 졸업한 분들 세미나를 볼 시간이 없는데 이런 선배님들이 오셔서 설명해주시니 매우 감사.
재학생이 아닌 경력자의 세미나라서 더 귀중했다.
2. 피드백도 좋았고, 10만개 예제에서 질문에 관한 부분, 과제마인드에 대한 부분. 왜 그런지 생각을 해보고 관점을 다르게 볼 필요가 있다는 점에서 느끼는 점이 많았다.
1. 내가 알고 있던 것과 새로 알게된 것이 많아서 좋았다.
2. 필요한 지식들이 뭔가. 어떤 것들이 그런 지식에 속할까. 선배님을 보면서 막연히 생각해왔던 "관련지식"이라는 것에 대해 알게되었다.
3. 지금까지 했던 과제들, 프로젝트들을 다시한번 정리하는 과정을 현재 진행중에 있는데 이것을 완료해볼 생각.
1. 혼자하지 말고 같이할 사람을 구할 것.
2. 동기부여, 자극이 되는 매체를 가질 것.
- 문제풀이/제안 . . . . 15 matches
= 문제풀이/제안 =
* 이번 프로그래밍 대회를 통해 내 실력이 부족함을 처절하게 느꼈음
* 단순한 프로그래밍 언어 지식 획득 이상의 무언가의 공부가 필요하다고 생각하여 시작.
* 나는 승한이가 끌여들였음. 나도 공부하면 된다는 것을 보여주겠음.하하하
* 모든 문제는 제목과 함께 [문제풀이]페이지에 링크가 모인다.
* 문제 페이지는 "문제풀이/회차" 의 형식으로 만들고 이 페이지에 연결을 걸어둔다.
* "문제풀이/회차/답안"로 페이지를 꾸민다.
* 답이랄게 따로 없지다.
[문제풀이]
- 안전한장소패턴 . . . . 15 matches
...좋은 물리적 환경 (CommonGroundPattern, PublicLivingRoomPattern)은 어떤 스터디 그룹에서든 필수적이다. 이 패턴에서 설명하는 지성적 환경 역시 마찬가지로 필수적이다.
'''떠버리, 과시적인 사람, 아는체 하는 사람, 또는 지나치게 경쟁적이거나 대립적이거나 적대적인 사람은 다른 사람을 불편하거나 불안하게 만들고 아이디어를 배우고 나누고 만드는데 좋지 않은 환경을 조성한다.'''
실제로, 그룹 내에는 언제나 어느 정도의 개인적 충돌이나 불화가 있게 마련이다. 그런 이슈에 대해서 이야기 할 수 있도록 세션이 끝난 뒤에 사람들이 모이는 것(AfterHoursPattern)이 도움이 된다.
- 정모/2013.5.20 . . . . 15 matches
[김해천],[송정규],[김민재],[안혁준],[김윤환],[김현빈],[고한종],김혜준ㅋㅋㅋㅋㅋㅋ,[조광희],[이봉규],[박희정],[김남규],[임지훈],[장혁재], [김태진], [서민관], [박성현], [정종록]
* 02년에 시작되어서 현재까지 한번도 끊어진적이 없음.
[http://www.worlditshow.co.kr/main/main.php 홈페이지]
* 신기한거 많고, 싸고, 재밌으니까 많이많이 갑시다.
관련 페이지 : ThreeFs, ThreeFs(노스모크), FiveFs(노스모크)
예를 들어 지난주에 돈가스를 먹은 것에 대해 후기를 쓴다면 : "지난주에 강남에 가서 하나에 5만원하는 돈가스를 먹었다.(사실) 기대를 잔뜩 했는데 별로 맛이 없었다.(느낌) 강남은 땅값이 비싸서 값만 보고 엄청 맛있을거라 기대하면 안된다는 것을 알았다.(깨달은점) 다음에는 미리 인터넷에서 평을 찾아보고 별점이 높은 돈가스집을 찾아서 가봐야겠다.(앞으로의 계획)"
* TIP : Internet Explorer를 제외한 브라우저(FireFox라던가 Chrome이라던가)로 들어오면 각 항목 우측에 "편집"이라고 떠요. 좀 더 편하게 수정 할 수 있죠.
* IE에서도 뜨는데?! 이런 날조된 팁의 출처는 누굽니까 대체ㅋㅋㅋㅋ - [김수경]
* 왜 내가 1등인 겁니까!!... 발표 연습 많이 해야겠어요. 주제도 간결화하는 연습을 해야 겠고요. 경험 하나 쌓았다는 것에 만족하겠습니다. 근데 스터디 상태 공유를 안한 거 같은데.. - [김해천]
* 작년 정모 후기 보니 올해는 정말 사람들이 많은 것이었다는 것을 느꼈다. - [김민재]
- ACM_ICPC . . . . 14 matches
* 라이브러리 작성
* 문제 많이 풀어보기
== 현재 작성한 라이브러리 리스트 ==
|| eval || . || 이항계수 || . ||
* team 'ZeroPage' 본선 32위(학교 순위 18위) : [권영기], [조영준], [이원준]
* team '1Accepted1Chicken' 본선 42위(학교 순위 18위) : [권영기], [조영준], [이원준]
* team 'Zaranara murymury' 본선 31위(학교 순위 13위) : [이민석], [정진경], [홍성현]
* team 'NoMonk' 본선 62위(학교순위 35위) : [김성민], [한재민], [이민욱]
* 2009년 이후로 오랜만의 Seoul Regional 입니다.
* 특이사항으로 한국 대학 팀의 타 리저널 출전과 외국 대학 팀의 한국 리저널 출전이 막혔습니다.
* team 'Decentralization' 본선 54위(학교 순위 35위) : [박인서], [한재민], [이호민]
* [http://acm.kaist.ac.kr 홈페이지]
* [http://icpckorea.org 개편홈페이지]
- C++ . . . . 14 matches
C++은 범용성을 가진 컴퓨터 언어이다. 이는 정적으로 분류된(?) 다중 패라다임을 지원하는 언어이다. ( [:절차적프로그래밍 절차적 프로그래밍], [:GenericProgramming 제네릭 프로그래밍]을 지원한다.) 1990년대에 C++은 가장 상업적으로 인기가 있는 언어중의 하나가 되었다.
벨 연구소의 [http://www.research.att.com/~bs/homepage.html Bjarne Stroustrup]은 1980년대에 당시의 [C]를 개선해 C++을 개발하였다. (본디 C with Classes라고 명명했다고 한다.) 개선된 부분은 클래스의 지원으로 시작된다. (수많은 특징들 중에서 [가상함수], [:연산자오버로딩 연산자 오버로딩], [:다중상속 다중 상속], [템플릿], [예외처리]의 개념을 지원하는) C++ 표준은 1998년에 ISO/IEC 14882:1998로 재정되었다. 그 표준안의 최신판은 현재 ISO/IEC 14882:2003로서 2003년도 버전이다. 새 버전의 표준안(비공식 명칭 [C++0x])이 현재 개발중이다. [C]와 C++에서 ++이라는 표현은 특정 변수에 1의 값을 증가시키는 것이다. (incrementing이라 함). C++이라는 명칭을 이와 동일한 의미를 갖는데, [C]라는 언어에 증가적인 발전이 있음을 암시하는 것이다.
* [C++/CppUnit]
- CompleteTreeLabeling/조현태 . . . . 14 matches
나름대로 줄이긴 했지만.. 애초에 문제가 나빳던 거얏!!ㅠ.ㅜ
두개를 곱해서 21이하라는 조건인데.. 최악의 경우는 각각 3개의 뿌리를 가질때 깊이가 7이되면..
3280개의 노드가 생긴다. 고로 이걸 3280!해서 나오는 경우의 수를 생각하면 10^10000이 사뿐히 넘어간다는... 애초에 계산이 될리가 없잖..
21*1이라도 빠른 속도로 계산하지만.. 깊이가 깊어지는 경우에 대해선 아직 약하다..ㅠ.ㅜ
이제는 5*2라도 풀 수 있다. 저번 펙토리얼식 알고리즘을 조합식 알고리즘으로 수정하여 많은 속도의 향상을 가져왔다. 하지만 모든 결과를 내기에는 충분하지 않은속도..
아아.. 이이상은 쪼금 버거울 듯..ㅎ
printf("트리의 깊이를 입력하세요.n>>");
printf("트리의 깊이를 입력하세요.\n>>");
- EightQueenProblem/nextream . . . . 14 matches
모든 분들이 C/C++ 아니면 파이선이라, C로 할까 하다가 좀 특이하게 자바스크립트를 써봤습니다.
처음엔 2차원 배열 메모리 공간을 두고 메모리 상에 체크해 가며 루프를 돌릴까 하다가 생각을 바꿔서 재귀호출을 이용하게 되었습니다. 첫 문제에서 일단 제일 첫 퀸은 무조건 (0,0) 이라고 고정하고 재귀를 두번째 퀸부터 돌렸는데, 오히려 나중에 이 생각이 두번째 문제 풀때 딱 한글자만 바꿔서 적응이 되는 것을 가능케 한것 같습니다.
원래 첫번째 해법은, 한개만 뽑든지, 아니면 다뽑든지 둘중 하나였어야 하는데, 결론적으로는 문제를 풀긴 했지만, 어정쩡한 모습이 되버리고 말았습니다.
기본 아이디어는 한 라인씩 진행해 가면서 현재 라인 선상에서 X좌표값을 바꿔가며 위에 있는 퀸들에 의해 위협을 받는지 검사해서 안전한 경우에는 계속 다음 라인으로 진행하고, 아닌 경우에는 철수하는 것입니다. 위협여부에 대해서는 같은 세로선상이거나, 대각선인 경우는 X, Y 좌표의 합과 차가 각각 동일한 것이 있는지를 조사하는 것으로 만들었습니다.
- LC-Display . . . . 14 matches
한 친구가 방금 새 컴퓨터를 샀다. 그 친구가 지금까지 샀던 가장 강력한 컴퓨터는 공학용 전자 계산기였다. 그런데 그 친구는 새 컴퓨터의 모니터보다 공학용 계산기에 있는 LCD 디스플레이가 더 좋다며 크게 실망하고 말았다. 그 친구를 만족시킬 수 있도록 숫자를 LCD 디스플레이 방식으로 출력하는 프로그램을 만들어보자.
입력 파일은 여러 줄로 구성되며 표시될 각각의 숫자마다 한 줄씩 입력된다. 각 줄에는 s와 n이라는 두 개의 정수가 들어있으며 n은 출력될 숫자(0<=n<=99,999,999), s는 숫자를 표시하는 크기(1<=s<=10)를 의미한다. 0이 두 개 입력된 줄이 있으면 입력이 종료되며 그 줄은 처리되지 않는다.
입력 파일에서 지정한 숫자를 수평 방향은 '-'기호를, 수직 방향은 '|'를 이용해서 LCD 디스플레이 형태로 출력한다. 각 숫자는 정확하게 s+2개의 열, 2s+3개의 행으로 구성된다. 마지막 숫자를 포함한 모든 숫자를 이루는 공백을 스페이스로 채워야 한다. 두 개의 숫자 사이에는 정확하게 한 열의 공백이 있어야 한다.
각 숫자 다음에는 빈 줄을 한 줄 출력한다. 밑에 있는 출력 예에 각 숫자를 출력하는 방식이 나와있다.
=== 풀이 ===
- OurMajorLangIsCAndCPlusPlus/stdio.h . . . . 14 matches
|| int feof(FILE *) || 스트림의 끝이 아닌곳에서는 0, 끝에는 0이 아닌값을 리턴 합니다. ||
|| int ferror(FILE *) || 스트림에 오류가 있을경우 0이 아닌값을 리턴 합니다. ||
|| char * fgets(char *, int, FILE *) || char*에 int의 길이만큼 스트림에서 읽어서 저장한다. 파일의 끝이나 오류일 경우 NULL을 리턴한다. ||
|| int rename(const char *, const char *) || 첫번째 인자의 파일을 두번째 인자의 이름으로 바꾸어준다. ||
|| void rewind(FILE *) || 해당 스트림의 처음으로 포인터를 이동한다. ||
|| char * tmpnam(char *) || 임시 파일로 사용할 수 있는 이름을 인자1에 기록한다. ||
|| int vfprintf(FILE *, const char *, va_list) || 해당 스트림에 인수리스트를 이용해서 지정된 형식의 문자열을 삽입한다. ||
|| int vprintf(const char *, va_list) || 표준 입출력에 인수리스트를 이용해서 지정된 형식의 문자열을 출력한다. ||
|| int vsprintf(char *, const char *, va_list) || 해당 문자열에 인수리스트를 이용해서 지정된 형식의 문자열을 기록한다. ||
|| int fwscanf(FILE *, const wchar_t *, ...) || 해당 스트림에서 지정된 형식의 데이터를 읽어들인다. ||
|| int getw(FILE *) || 스트림으로 부터 2바이트의 정수를 읽어온다. ||
|| int putw(int, FILE *) || 스트림으로 2바이트의 정수를 출력한다. ||
- Polynomial . . . . 14 matches
다항식의 곱셈을 이용하는 프로그램을 작성한다.
다항식을 표현하는자료구조는 크게 두가지로 생각해 볼 수 있다. linked list 와 array 이다. 배열은 모두들 잘 알겠고 linked list 는 동적으로 storage를 할당받아 각 노드를 포인터로 연결한 자료구조를 말한다..(라고 우선 설명만 해둬야지 정확한 정의는 내리지 못하겠다..-_-). 물론 동적으로 할당받지 않고도 linked list 를 구현할수 있지만 그럴꺼면 배열로 하는게 낫지 그 노가다를 뭐하러 하나...-_-
Node expr_1[SIZE]; // 이와 같은 식으로 표현한다.
이 방법을 사용할때 발생할수 있는 문제점은 memory leakage (메모리 누수)이다. Java같은 경우는 쓰레기 수집기가 있지만 c 는 코더(-_-)가 일일이 사용되지 않는 자원을 회수해줘야 한다. 그렇지 않으면 그 자원을 다시 사용할 수 없게 된다.
다음과 같은 prototype 을 갖는 함수를 구현해야 한다. (이름은 달리해도 상관없다..)
n1 = mul(n1, n2); // n1 이 중복 사용되었다..
* 다항식을 표현하는 클래스를 만들어서 operator overloading 을 사용해도 되겠지만 이는 위에 말한 내용을 이미 구현한 후 이걸 클래스로 포장하는거기때문에 지금수준에서는 무리라고 생각됨... - 임인택
* 이거 작년에 했다가 한명("영창이")만 겨우 풀었어요 저도 이거 하다 포기했고 1학년에게 넘 어려운 문제가 아닐런지...-재동
- ProjectSemiPhotoshop . . . . 14 matches
2002년 2학기 Object Programming 과목 ''' 상민,경태,현민 ''' 조의 프로젝트 페이지 입니다.
* 예비기간(알카로이드) ~ 11. ?
* 금 integration이나, 남은 기능들의 구현
* ["ProjectSemiPhotoshop/이론"]
* ["ProjectSemiPhotoshop/SpikeSolution"] - 해당 스토리의 솔루션 시도 페이지입니다.
* ["ProjectSemiPhotoshop/Journey"] - 그 날의 작업, 느낌, 교훈 등을 적는 페이지입니다.
* 제출해야 될 게 1. 시간예측(스케줄), 2. SPEC 3. 회의일지 이렇게 3가지야
* 각자 100~400자 이내로 이번의 프로젝트의 최종 느낌을 써주라.
* 상민 : 너무나 방해가 많은 프로젝트 였다. 강기, 조부 상, 이런 소사들이 팀 프로젝트에 많은 영향을 끼치지 않은것으로 Truck Number가 낮다고 생각되는 것이 참 만족할 느낌이였다.
* ''Xp Process 에서 거론되는 '''''트럭에 치일경우 프로젝트에 결정적 영향을 끼치는 평균 수치이다.''''' ''
- Self-describingSequence . . . . 14 matches
솔로몬 골롱(Solomon Golomb)의 자기기술 수열 <f(1), f(2), f(3), ... >은 각 k에 대해 k라는 숫자가 정확하게 f(k)번 등장하는 속성을 가지는 양의 정수로 구성된 유일한 비감소수열이다. 이 수열의 앞 부분을 생각해보면 다음과 같은 식이라는 것을 알 수 있다.
어떤 값 n이 주어졌을 때 f(n)의 값을 계산하는 프로그램을 만들어야 한다.
여러 개의 테스트 케이스가 입력될 수 있다. 각 줄마다 하나씩의 정수 n이 입력되며, 정수 한 개가 하나의 테스트 케이스를 이룬다(1 ≤ n ≤ 2,000,000,000). n이 0인 테스트 케이스가 입력되면 입력이 종료되며, 그 케이스는 처리하지 않는다.
각 테스트 케이스에 대해 한 줄에 하나씩 f(n) 값을 출력한다.
=== 풀이 ===
- SignatureSurvey . . . . 14 matches
HTML Template 부분을 Generating 하는 부분을 하던중, 디자이너가 툴로 만든 HTML 코드를 분석해볼때 SigntureSurvey 의 방법을 적용해보면 어떤 일이 일어날까 의문이 들었다. 그래서 간단하게 실험해보고, 어떠한 View 를 얻을 수 있을까 구경해보다.
결과물이 대강 다음과 같았는데.
이를 분석할때는 4-5point 로 레이저로 2단 나누어서 찍었다. 별로 종이를 많이 차지하지 않는다.
정확히 분석을 한 것은 아니지만. <> 태그 안으로 쓴 글자수가 같다면 화면상에서도 비슷한 것을 보이게 하기 위해 C & P 를 했을 확률이 높다. 그러면 그 부분에 대해서 looping 을 하는 식으로 묶으면 될것 같다. 종이로 찍어놓고 보면 반복되는 부분에 대해서 일반화된 패턴이 보인다는 것을 알 수 있다. 그 부분에 대해 적절히 1차적으로 검색을 하고, generating 할때의 단위들을 끄집어내면 되는 것이다.
처음써봐서 완벽하게 확신이 들진 않지만, SignatureSurvey 를 사용하면 Duplication Code 를 찾는 방법으로 일반화를 시킬 수 있지 않을까 하는 상상을 해본다.
- SpikeSolution . . . . 14 matches
어떻게 보면 우리가 일반적으로 하고 있는 것이다. Visual C++로 해당 라이브러리를 이용한 프로그래밍을 할때 우리는 어떻게 할까? 아마도 Visual C++을 2개를 띄울 것이다. 그리고 한 창에서는 해당 라이브러리가 제대로 작동하는지, 대강 값들을 넣어보고 이리저리 제대로 원하는 일을 하게끔 여러 시도들을 하게 될 것이다. 그렇게 함으로서 미지인 부분에 대한 대강의 선을 잡아놓는다.
(ex) DB를 연결하기 위해 DB를 Install 하기, DB 작동이 어떻게 되는지 query 날려보기. 해당 라이브러리가 어떻게 작동하는지 간단한 예제 프로그래밍 등
이러한 실험들을 XP에서는 Spike Solution이라고 한다. 다른 점이라면, 우리는 보통 실험 코드를 만든 뒤 실전 코드에 바로 붙일 것이다. 하지만 Spike Solution 의 경우는 '실험은 실험에서 끝난다' 에서 다를 수 있다. 보통 Spike Solution 에서 실험한 코드들을 메인소스에 바로 적용시키지 않는다. Spike Solution은 처음 계획시 estimate의 선을 잡기 위한 것으로 메인소스에 그대로 적용될 코드는 아닌 것이다. 지우고 다시 만들어 내도록 한다. 그러함으로써 한편으로는 학습효과를 가져오고, 실전 소스의 질을 향상시킬 수 있다.
- WindowsTemplateLibrary . . . . 14 matches
WTL은 객체지향적인, Win32 를 캡슐화하여 만들어진 C++라이브러리로 MS 에서 만들어졌다. WTL은 프로그래머에 의한 사용을 위해 API Programming Style을 지원한다. WTL MFC에 대한 경량화된 대안책으로서 개발되었다. WTL은 MS의 ATL를 확장한다. ATL 은 ActiveX COM 을 이용하거나 ActiveX 컨트롤들을 만들기 위한 또 다른 경량화된 API 이다. WTL은 MS 에 의해 만들어졌디면, MS 가 지원하진 않는다.
오픈소스를 거침없이 비판하는 MS의 두드러진 지원이 없는 상황에서, MS는 WTL을 자유롭게 이용할 수 있도록 소스코드를 배포했다. 오픈소스 Common Public License 하에서 배포를 하면서, MS는 소스포지(인터넷 오픈소스 저장소)에 소스를 게재하였다. 소스포지에서의 WTL 버전은 7.5이다.
지원이 되지 않는 라이브러리이기 때문에 WTL에 관한 문서는 거의 없다. 그러나 대부분의 API는 표준 Win32 콜을 거의 직접적으로 반영하므로, WTL의 인터페이스는 대부분의 윈도우즈 프로그래머들에게 친숙하다.
* 어째 문장이 좀 이상하네요. 해석이 좀 잘안됩니다. ㅡ.ㅡ;; - [eternalbleu]
- 데블스캠프2005/참가자 . . . . 14 matches
|| 학번 || 이름 || 참가 기간 ||
|| 00 || 이정직 || 24 ||
|| 04 || 이승한 || 전부 ||
|| 이름 || 참가 기간 ||
|| 정 서 || 농활이랑 비교해 봐야겠지만 아마전부 ㅎ2 ||
|| 이형노 || 참가 기간 미정 ||
|| 이현정 || 동문서버 ||
|| 송수생 || 누가 내이름 ㅅㅅㅅ로 올린겨 --+ ||
|| 이동현 || 그까이꺼 월화금? ||
|| 이도현 || 전부 ||
이 외에도... 좀더 올것 같습니다.
* 안성진(03)은 저번 3월달에 받은 회원은 아니지만 이번에 데블스 캠프에 참가 해보고 싶다고 해서 올립니다. - [상협]
월요일은 시간이 갑자기 빨라진 거니 회장은 위에 참가자 모두에게 연락을 했으면 합니다. --재동
- 새싹교실/2011/學高/8회차 . . . . 14 matches
* 아래 소스코드를 큰 틀로 해서 recursive function을 이용하여 하노이의 탑 시뮬레이션 프로그램을 작성하라(이동 상황을 출력한다, 전역변수를 이용하여 횟수를 카운트하게 하여 H_n = 2*H_n-1 + 1 점화식에 맞는 답이 나옴을 보여야한다.)
즉석에서 짠 코드이므로 컴파일 에러나면 알아서 잡아주세요
* 음... 헤더는 제가 실수한거구요. 하노이의 탑을 짤 때 제대로 짰는지 확인해보라는 의미로 count를 넣었기 때문에 굳이 함수의 형태를 건들기보단 전역변수를 임시로 선언해서 쓰는것이 더 좋을 것 같아서 이렇게 작성했습니다. - [윤종하]
* passing by value(call by value와의 차이점)
* 앞으로 날밤새고 새싹하지 않겠다. 술먹고 취해서 새싹하는 느낌이었다.
= 후기: 이름 =
- 새싹교실/2013/라이히스아우토반 . . . . 14 matches
* 반 이름의 유래 [http://krdic.naver.com/detail.nhn?docid=11489800 네이버국어사전]
* 반 이름 겁나 웃겨요 ㅋㅋ -[최연웅]
[고한종],[임지훈],[이명연],[지영민],[박경준]
* 수업 따라가기 부담스러웠는데 좋은 기회 감사합니다ㅠㅠ 열심히 하겠습니다!-[이명연]
* 정말 컴퓨터 못하지만 ㅠㅠ 이번 기회를 통해 진짜 열심히 할게요 잘부탁 드립니다~!-[지영민]
[새싹교실/2013/라이히스아우토반/1회차]
[새싹교실/2013/라이히스아우토반/2회차]
[새싹교실/2013/라이히스아우토반/3회차]
[새싹교실/2013/라이히스아우토반/4회차]
~~아무도 후기를 쓰지 않은채 한달이 흘렀다. 망했다~~
중간고사 2주전이라 기출문제를 주고 풀어보는 시간을 가진걸로 끝(...) 미안
[새싹교실/2013/라이히스아우토반/6회차]
[새싹교실/2013/라이히스아우토반/7회차]
- 숫자를한글로바꾸기/허아영 . . . . 14 matches
근데 메인이 좀 길어서 보기 안좋은 거 같은데, 변수를 넘기는게 ..흐음 ㅋㅋ
char korean_data[20] = "일이삼사오육칠팔구";
char num_position[15] = " 십백천만"; //<-사실 여기도 그냥 "십백천만"이라고 해도 된다.
char korean_data[20] = "일이삼사오육칠팔구";
char num_position[15] = " 십백천만"; //<-사실 여기도 그냥 "십백천만"이라고 해도 된다.
흠.. 진트껄 0넣으면 안된다구 구박했건만.. 여기눙 0넣으면 끝나게 하다닛..ㅎ 이런 쌘스쟁이.ㅎ
이런고.. 출력할때 고생하지말궁..
이렇게 편하게 해.ㅎ 4byte 안아껴두 된다구~ㅎ 메모리 남아돌앙.ㅎ 저거 소스가 용량 더먹게땁.ㅎ
아영이 반에 반만이라도 닮아야 할텐딩.ㅎ 모.. 이뿌게 리펙토링하공~
근데 메인이 좀 길어서 보기 안좋은 거 같은데, 변수를 넘기는게 ..흐음 ㅋㅋ
- 리팩토링은 프로그램을 완성한 후에 하는것이 아니라 프로그래밍을 하는 도중에 하는게 더 좋다고 생각합니다. - 임인택
- 이병윤 . . . . 14 matches
=== WarGame 풀이 ===
*[http://www.overthewire.org/wargames/drifter/ Drifter] WarGame 풀이
1 먼저 '학과기본수업조회' 페이지를 얻어온뒤 파싱한다.
1 파싱결과를 통해 신청하고자 하는 과목의 여석이 존재하는지 확인한다.
1 여석이 존재할경우 수강신청 페이지를 요청하여 신청한다.
'''HTML 파싱이 상당히 난해함 '''
'''시간이 없어 일단 하드코딩완성, 나중에 좀더 깔끔하게 소스를 바꿔봐야겠음..'''
파이썬에서 html구조에대해 좀더 쉽게 접근할방법이 없을까?
- 먼저 장바구니에 자신이 듣고싶은 과목만 넣어둔다.
- 장바구니 페이지를 얻어온뒤 파싱한다.
- 모든 항목에 대해 해당하는 과목 신청페이지를 요청하여 신청하다.
[홈페이지분류] [ZeroPagers]
- 장용운 . . . . 14 matches
이름 : 장용운
나이 : 25세
* 제로페이지(ZeroPage)
* [ann이요]
* 제로페이지 UDK스터디
사는 곳 : 인천광역시 남동구 간석1동 // 크루세이더퀘스트
이메일 :
홈페이지 : http://clug.cau.ac.kr/~neostage/
[장용운/알파벳놀이]
*뭔가 소속이 많네여 ㅋㅋ [김태진]
*API랑 PHP 배우면 좋음? 프로그래밍하는데 둘러보니까 이거 두개 코드 무지 짧은데 뭔가 대단하던데 ;;;; - [고한종]
*ㄴ API는 코드 완전길어 번거로운 녀석이지 - [장용운]
* 내 페이지를 업데이트한다 (2015.3.12) [장용운]
- 정모/2012.1.6 . . . . 14 matches
* 참가자 : [변형진], [김수경], [서지혜], [강성현], [고한종], [김태진], [김홍기], [이민규]
* OOP & DP - 김수경, 고한종, 김태진, 이민규
* 코드 몇줄 가지고 방명록이 만들어지고 그게 DB랑 연동 되는걸 보니 참 신기 했습니다. 그리고 김태진 학우 혼자 회장 후보여서 저도 얼결에 추천받았는데.. 공약을 써야 한다니 ! -[고한종]
* 차기 회장 추천/신청이 정모 이전까지는 저한테 밖에 없었다는게 (추천 2명 + 자진 1명)좀 충격(?)이었습니다. 형진이형이 해준 Play framework는 음.. 뭔가 쉬운거같기도하고 어려운거같기도했네요. 하지만 빠르게 제가 만들었던걸 바로 만들 수 있었다니 그 이유가 형이 아는걸 말해줬기 때문에 모르는걸 제가 삽질한거랑 시간차가 많이 나서인지, 프레임워크때문인지는 생각을 한번해봐야겠네요.(는 코드 길이 차이가 많이나는군.) - [김태진]
- 조동영/이야기 . . . . 14 matches
* 이유 : 돌아가지 않는 코드는 쓸모가 없다.
- 보기 좋은 코드 (가독성(readability)이 높은 코드 (재환)
* 이유 : 부드럽다.
* 이유 : 구조가 잘 잡혀 있어야 이해가 쉽다.
* 이유 : 알아보기 쉽다.
* 이유 : 기능이 바뀌었을 때 수정에 드는 비용이 적다.
생각을 잘못해서 문제점이 많았다. (배열사용)
전체적으로 원활하게 돌아간것 같지만, 남이 알아보기에는 불편함이 많았다.
* 전에 비슷한 코딩을 해 본 경험이 있어서 많은 도움이 되었다.
- 지금그때 . . . . 14 matches
전통을 자랑하는 선후배 이야기 자리인 지금과 그때([지금그때]) 입니다. 여기에서 선후배는 학벌이 아닙니다.
* 신입생 여러분에겐 "1학년"이 지금입니다. 여러분의 지금이 우리의 그때보다 낫기를 바랍니다. 곧 여러분의 지금은 그때가 될 것입니다. 그러면 여러분이 후배의 지금을 위해 자신의 그때 이야기를 나눌 수 있길 바랍니다. 그렇게 해서 우리의 그때보다는 뒤에 오는 사람들의 그때가 늘 좀 더 낫기를 바랍니다. 이것이 지금 우리의 작은 바람입니다.
* 지금그때는 단지 고학년이 저학년에게 경험을 나누어주는 정도의 행사는 아니라고 생각합니다. 마치 개구리 올챙이적 시절 기억못하듯이, 그때 궁금해 했지만 지금은 왜 궁금했는지 조차 모르는 그런것, 지금과 다르게 생각했던 그시절 기억들. 그런것을 고학년도 경험을 할 수 있는 기회되지 않을까요?? 때로는 우리가 조언해 주고 있는 사람들이 가지고 있는 신선한 질문들은 자신을 자신의 일을 한번 더 돌아볼수 있게 만드는 기회를 주기도 하지 않나요?? - 이승한
== 관련 페이지 ==
- 2002년도ACM문제샘플풀이 . . . . 13 matches
* [http://cs.kaist.ac.kr/~acmicpc/problem.html 2002년도 문제 샘플] 풀이입니다. ["신재동"]과 ["상규"]가 '개발 시간 최소화' 라는 문제 때문에 시작부터 TDD와 Refactoring 그리고 OOP를 버렸습니다. 그래서 중복도 심하고 남에게 보여주기 정말 부끄럽지만... 용기내서 올립니다. 리펙토링 후에 변한 모습을 다시 올리도록 하겠습니다.
''부끄러워할 필요가 없다. 촉박한 시간에 쫓겼다고는 하나, 결국 정해진 시간 내에 모두 풀은 셈이니 오히려 자랑스러워 해야 할지도 모르겠다. 아마 네 후배들은 이런 배우려는 태도에서 더 많은 걸 느끼지 않을까 싶다. 이걸 리팩토링 해서 다시 올리는 것도 좋겠고, 내 생각엔 아예 새로 해서(DoItAgainToLearn) 올려보는 것도 좋겠다. 이번에는 테스트 코드를 만들고 리팩토링도 해가면서 처음 문제 풀었던 때보다 더 짧은 시간 내에 가능하게 해보면 어떨까? 이미 풀어본 문제이니 좀 더 편하게 할 수 있을 것 같지 않니? --JuNe''
["2002년도ACM문제샘플풀이/문제A"]
["2002년도ACM문제샘플풀이/문제B"]
["2002년도ACM문제샘플풀이/문제C"]
["2002년도ACM문제샘플풀이/문제D"]
["2002년도ACM문제샘플풀이/문제E"]
* 제 소스 공개하면서 이렇게 부끄럽기는 처음인듯 하네요... --재동
- CanvasBreaker . . . . 13 matches
* 이미지 프로세싱 프로그램
* 01 이선호 ["snowflower"]
* 01 이재성
2. 다른 영상을 이용한 밝기 변화
5. 상수를 이용한 영상변화 - 30분
첫 회의를 하였다. 간단하게 팀 이름과 관련된 이야기를 하였고 앞으로의 일정에 대해서 이야기 하였다.
드디어 페이지 개설. 감격스럽다. 남은 시간동안 뼈빠지게 코딩이다.--["snowflower"] [[BR]]
역시 자신의 필기가 아닌 남의 필기를 참조하려니.. 약간 힘들다. 그리고.. 1차그래프의 방정식을 잊고 살았다니.. 너무한것 같다는 생각이 --["snowflower"]
결국 100% 소화를 못해냈다.. -_- 역시 시간은 넉넉히 투자를 해야해.. @.@, 아쉬움이 너무 많이 남는다. --["snowflower"]
- LinuxSystemClass . . . . 13 matches
교수: 김성조 교수님 [http://konan.cse.cau.ac.kr/ 수업홈페이지]
=== 관련 페이지 ===
[LinuxSystemClass/Report2004_1] - PosixThread 를 이용, 스레드를 만들고 그에 따른 퍼포먼스 측정.
=== 관련 홈페이지 ===
http://ssrnet.snu.ac.kr/course
http://ssrnet.snu.ac.kr/course/os2004-1/
http://ssrnet.snu.ac.kr/course/os2004-1/errata.html - 번역서 errata 페이지.
개인적으로 교재가 마음에 든다. 단, 제대로 공부할 것이라면 가능한 한 원서를 권한다. 한서의 경우 용어의 혼동문제와, 중간 오역문제가 눈에 띈다. (inexpensive를 expensive 로 정 반대의 뜻으로 해석한) 뭐, 물론 그럼에도 불구하고 아마 사람들은 한서 읽는 속도가 원서 읽는 속도의 3배 이상은 될테니. 알아서 잘.
학교 수업공부를 하거나 레포트를 쓰는 경우 위의 학교 교재와 함께 'The Design of the Unix Operating System' 을 같이 보면 도움이 많이 된다. 해당 알고리즘들에 대해서 좀 더 구체적으로 서술되어있다. 단, 책이 좀 오래된 감이 있다.
이과목 예전에 유닉스 시스템 대체 과목인가보죠? 시대가 변해서 바뀐건가 - [eternalbleu]
- R'sSource . . . . 13 matches
== 게시판검색_파이썬 ==
== 스타크래프트 리플 파일 검색&다운_파이썬 ==
print """이 프로그램은 www.replays.co.kr의 스타크래프트 리플레이를
name = raw_input("검색하고 싶은 게이머의 이름을 입력하세요 : ")
#re.compile() 해당 데이터에서 원하는 정보를 해석하여 갖는것
print '시발이다'
#목록뒤지기(with 선수이름)
print '★★★ %s %d번째 페이지 탐색중....' % (keyGamer, flag)
#print '성공이다'
print '%s 하위디렉토리에 총 %d 개의 리플레이를 저장하였습니다.' % (saveDirName , savedNum)
#print 'rep페이지 접근중 : %s' % downUrl
- TAOCP/Exercises . . . . 13 matches
짧은거 빠른거 상관없이 move이해전 move이해후
그리고 점프쓰려면 레이블 달아야 할듯
MOVE 0(rI2) => 이런방식으론 못 쓰나??
우리가 같이 한 방법
아마도 이렇게 수정해야할듯(INCX 1 부터 비교해보시오)
프로그램 실행 뒤에도 모든 메모리 셀의 값이 변하지 말아야 함.
X^13이 rA에 들어가는 프로그램 작성(X^13이 한 WORD를 넘지 않는다고 가정)
...이 부분을 뒤에 12번 더 써줌
메모리 셀 0200에 + a b c d e이 있을 때
휘동, STX라는 명령문이 없어--[강희경]
- UniversalsAndParticulars . . . . 13 matches
뭘 가르쳐야 하나. 나는 특수를 통해 보편을 가르쳐야 한다고 생각한다. 특수를 가르치느라 보편이 가리워지면 안된다.
WardCunningham은 이런 말을 했다. 작지만 유용한 프로그램을 매일 만들어봐라. 복잡하고 큰 걸 만들다 보면 중요한 아이디어가 감추어져 버릴 수 있다.
대학에서는 특히 보편을 배워야 한다. 소학이 아니고 대학이기 때문이다. 그러나 보편은 특수를 통할 때에 맥락을 갖는다.
자바 스윙에서 어떤 API를 통해 어떻게 그림을 그리는지를 가르치기 보다, Event Driven Programming을 가르치되, 스윙이라는 맥락을 방편으로 이용해 가르친다. 해당 프레임웍의 API가 복잡한 경우, 학습자들은 오히려 그 API를 외우고 공부하느라 더 중요한 것을 잊을 수 있다. 따라서 이런 경우 가르치는 사람이 미리 좀 더 추상적인 차원의 레이어를 만들어(이를 교육학에선 스캐폴딩이라 한다) 제공할 수 있다.
- XpWeek/20041224 . . . . 13 matches
나름대로 재밌는 시간이었지만, 왠지 꽉 짜여진 틀에서 하는 듯해서 압박이 느껴졌다. 네트워크에 대해 조금이나마 알게되어서 만족!--[강희경]
종목을 잘못 골랐다는 느낌이 여운처럼 남는다.--[Leonardong]
알바하느라 소홀히 한점이 아쉽다. 또한 MockObjects에 대한 이해가 부족하여 TDD로 진행하지 못한 점이 아쉽다. 5일간 쉼없이 달려왔는데 아직 미흡한 점이 많다. 혼자 리펙토링을 해보았지만 별로 재미 없었다. 구피에서 돌릴 수 있도록 간단한 리펙토링하고 GUI 기능을 추가하고 싶다. 다음주중 하루 잡아서 하는게 어때?? 그리고 나의 최종 목표는 테스트코드를 추가하는 것이다. TDD는 아니지만 네트워크에 대한 MockObjects를 구현해보고 싶다. -- 재선
사실 네트워크에 대한 MockObjects는 어렵지 않았던 것 같아. JUnit에서 제공하는 MockObject클래스를 소켓에 써먹는 방법에 집착한 나머지 포기하지 않았을까? 단순히 서버와 클라이언트 흉내만 내면 될텐데...
[테스트주도개발]이 도착해서 읽고 따라해보고 있어. 다 읽고 나서 다시 이 프로젝트 결과물을 가다듬을 수 있을 것 같아. --[Leonardong]
- erunc0/Mobile . . . . 13 matches
mobile. 왠지 거창하다. 내가 하는 일은 요즘 pda를 산다면 대부분이 사는 arm processor 를 장착한 wince 기반의 ipaq 기종에 미니 게임을 만든다는.. --; 아직 시장도 없거니와. sk 쪽에서 휴대폰에 이어 앞으로 펼쳐지게(?)될 pda 시장에 sk 이름에 걸맞게 휴대폰 장사에 이어 독점 비슷하다 싶이 하기위해 자그마치 500 억이라는 투자로 인해 매일 같이 삽질을 하고 있다.
* 속도차이는 별로 없지만, dc를 이용해 뿌리는 법은 엄연히 느린법..
* gx library 에서 제공해주는 몇안되는 함수를 이용하여. pda 화면에 대한 pointer를 얻어와 삽질해서 뿌린다. dx 할때랑 똑같음.
* bitmap 뿌리는 것이 쉬워 보여도.. 무진장 어렵다.. 아직도 삽질 중이다.. 그 엄청난 bit 연산과.. 무지막지한 pointer들. 도대체가 뭔 말인지 몰라 그냥 긁어 쓴다. 우헤헤헤헤..
- 넥슨입사문제 . . . . 13 matches
요새 카트라이더로 말이 많은 넥센이라는 회사가 있지요. 건너 건너 아는 사람이 이 회사에 입사를 하려고 이력서를 냈더니 서류는 통과했습니다. 한데 면접 보기 전에 이 3 문제를 주고 풀어서 메일로 제출하라고 했더랍니다. 이 중 3번 문제가 재미있었습니다. :) --재동
이걸... 프로그램으로 짜서 제출하는 문제인건가요? 아니면 답만?;; -정수민
당연히 프로그램. 프로그램을 보내면 회사에서 문제에 나오지 않은 테스트셋으로 프로그램이 맞는 지 확인하겠지. --재동
이전에 내 친구가 넥슨입사문제 보여준건 길찾기 알고리즘 구현이였는데, 이번엔 또 다르네..~ 종종 바뀌는듯. --[1002]
- 데블스캠프2006/참가자 . . . . 13 matches
|| 학번 || 이름 || 참가여부 || 간단 연락처(주의) ||
|| 01 || 이창섭 || 거의 다 || 알죠? ||
|| 01 || 이선호 || ... 장담은 못하지만.. || 설마.. ||
|| 05 || 이재혁 || 일갔다와서 잠깐씩.. || 맞춰봐~ ||
|| 04 || 이도현 || 화, 수, 금 || 물어봐~~ ||
|| 학번 || 이름 || 발급 요청 ID || 발급결과 || 참가여부 || 간단연락처 (주의) ||
|| 06 || [이장길] || || || 반참가 || . ||
|| 06 || [이차형] || || || 모두 || . ||
|| 06 || [이경록] || || || 모두 || . ||
이번 프로젝트 진행 시작과 함께 SVN, SSH 계정을 발급할 예정입니다. 이때 사용알 계정 ID를 입력해주세요. - [eternalbleu]
* 으윽.... 위키 가입이 취소되어 있어서 다시 가입했다;; -[상욱]
* 와 상욱이다 ... -[선호]
- 데블스캠프2010/다섯째날/후기 . . . . 13 matches
발로 코딩을 하던 것이었군요 ㅎ_ㅎ -[김상호]
* 좀 늦었지만 그래도 재미있었습니다. cpp를 이용한 저글링들의 대결!! 그리고.. 마린.. 으악;; 뭔가 심오해보였습니다.. - [양아석]
* C++에 대해서 가장 많이 접해볼 수 있었던 세미나 였던것 같아요 ㅋ 그래서 좋았고 나중에 2:2 만들다가 실패했는데 갑자기 스타크래프트 만드신 분들이
많이 대단하신것을 깨달았어요 =_=;;ㅋㅋ [박재홍]
= 스터디그룹패턴언어 (강사: 이덕준) =
* [스터디그룹패턴언어]의 몇 가지 패턴을 짝을 지어 (독해 수준으로만)번역해보는 시간을 가졌습니다. 주제에 대한 흥미 유발에 실패한 것 같은데, 제 책임이 큰 것 같습니다. 두어 개 패턴만 골라서 깊이 생각하고 의견을 서로 나누는 기회를 가졌다면 어땠을까 싶습니다. 긍정적인 사이드 이펙트로 "번역 재미있는데?"라는 반응을 얻은 건 다행이라고 생각합니다. 번역한 결과물의 품질이 만족스러워 질 때까지 지속적으로 다듬어질 수 있길 바랍니다. -- [이덕준] [[DateTime(2010-06-28T00:27:09)]]
- 데블스캠프2011 . . . . 13 matches
= 데블스 강의 테이블 =
* 강사님들. 각 강의마다 페이지 만드실때 '''데블스캠프2011/첫째날/오프닝''' 형식으로 만들어주세요.
* [https://docs.google.com/spreadsheet/ccc?key=0AtizJ9JvxbR6dGNzZDhOYTNMcW0tNll5dWlPdFF2Z0E&usp=sharing 타임테이블링크]
|| 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 ||
|| 7 || [송지원] || [:데블스캠프2011/첫째날/Java Play with Java] || [:상협 남상협] || [:데블스캠프2011/둘째날/Machine-Learning Machine-Learning] || [윤종하], [황현] || [:데블스캠프2011/셋째날/Esolang 난해한 프로그래밍 언어] || [이승한] || [:데블스캠프2011/넷째날/Git Git-분산 버전 관리 시스템] || [변형진] || [:데블스캠프2011/다섯째날/HowToWriteCodeWell How To Write Code Well] || 2 ||
|| 9 || [송지원] || [:데블스캠프2011/첫째날/Java Play with Java] || [:상협 남상협] || [:데블스캠프2011/둘째날/Machine-Learning Machine-Learning] || [윤종하], [황현] || [:데블스캠프2011/셋째날/Esolang 난해한 프로그래밍 언어] || [서지혜] || [:데블스캠프2011/넷째날/루비 루비] || [김수경] || [:데블스캠프2011/다섯째날/Cryptography Cryptography], 회고 || 4 ||
- 문자반대출력 . . . . 13 matches
=== 풀이 ===
|| [조현태] || C/C++ || . || [문자반대출력/조현태] ||
|| [남도연] || C/C++ || . || [문자반대출력/남도연] ||
|| [이태양] || C || 60분 || [문자반대출력/이태양] ||
* 맞게 푼건지는 모르겠지만 파이썬은 자체적으로 거꾸로 해주는 함수가 있어서 솔직히 이런 문제는 풀기가 굉장히 쉽다. 위에서 저거 걸린 시간은 파일 입출력과 그 해당 함수 찾는 시간.. - 상협
* C 에도 라이브러리로 문자열 반전 시켜주는 함수를 제공합니다. strrev()라는 함수를 사용하면 '\0'바로 전 글자부터 거꾸로 만들어주죠. 물론 ANSI 표준은 아니고 Semantec, Borland, Microsoft 에서 제공하는 컴파일러의 경우에 자체 라이브러리로 제공합니다. 이식성을 생각하지 않는 일반적인 코딩에서는 위에 나열한 컴파일러를 이용한다면 사용할 수 있습니다. - 도현
* 제공된 라이브러리를 분석해보는 것도 재미있습니다. see [문자반대출력/Microsoft] --[이덕준]
- 새싹교실/2012/아우토반/앞반/4.5 . . . . 13 matches
2. 별찍기 (다이아몬드)
2. 별찍기 (다이아몬드)
2. 별찍기 (다이아몬드)
* 관련 페이지 : ThreeFs, [http://no-smok.net/nsmk/ThreeFs ThreeFs(노스모크)], [http://no-smok.net/nsmk/FiveFs FiveFs(노스모크)]
* 예를 들어 지난주에 돈가스를 먹은 것에 대해 후기를 쓴다면 : "지난주에 강남에 가서 하나에 5만원하는 돈가스를 먹었다.(사실) 기대를 잔뜩 했는데 별로 맛이 없었다.(느낌) 강남은 땅값이 비싸서 값만 보고 엄청 맛있을거라 기대하면 안된다는 것을 알았다.(깨달은점) 다음에는 미리 인터넷에서 평을 찾아보고 별점이 높은 돈가스집을 찾아서 가봐야겠다.(앞으로의 계획)"
* 어깨가 빠지는줄 알았어요..유.유 왜냐면 제 노트북을 가져왔었거든요. 제 노트북으로 신나게 프로그램 4개를 ㅉㅏ 보았습니다. 아우토 샘이 힌트를 좀 주셨지만, 그래도 스스로 생각해서 해보아서 보람찼습니다. 그리고 프로그래밍의 세계는 매우 무긍무진합니다. 왜냐하면 같은 프로그램인데 성준이아 소스코드가 달랐기 때문입니다. 하하하.. 신나요신나 WoW~~ 앞으로 프로그램 많이 짜보며 연습하고 복습도 열심히! 질문도 열심히 하겠습니다. 룰루랄라
* 아 왜이렇게 머리에 안들어오지. 눈으로 보는거랑 직접하는거랑 너무너무 다른것 같습니다. 역시 코딩은 많이해봐야 제맛인것 같습니다. 다음에는 미리 책을 읽고 개념에 대한 이해를 먼저 해와야할것 같습니다.
- 새싹교실/2012/열반/120402 . . . . 13 matches
* while은 수업 시간에 다룬 내용이라 짧게 설명했습니다. 위의 printstar를 응용한 실습을 진행했습니다.
* printstar 및 N이 정의되었다고 가정했습니다.
* 세미콜론을 빼먹은 부분이 보입니다.
* i=<N 또한 잘못된 문법입니다. i<=N 이 의도한 것이겠지요?
* printstar(0)을 수행하는 부분이 있습니다.
* 역시 세미콜론을 빼먹은 부분이 있습니다.
* main은 함수이므로 정의할 때 괄호가 필요합니다. main -> main()
* 의도한 대로라면, N은 항상 0인 상수이어야 하므로, 변수를 좀 더 생각해볼 필요가 있습니다.
* printstar(1)이 누락된 것 같습니다.
* while, do while 반복문과 재귀함수를 이용한 점찍기를 배웠습니다. -[권우성]
* 자잘한 문법오류들을 보니 실습이 자주 필요하다는 생각이 듭니다. 다음주부터는 새로운 내용보다는 기존 내용을 확실히 하고, 중간고사 준비도 약간 해줘야겠습니다. -[정진경]
- 송년회날짜정하기 . . . . 13 matches
가능한 날에 이름을 적고, 모아봅시다. 가장 많은 사람이 오는 날짜를 송년회 날로 합시다.
* 구근이형 그럼 못오시는건가봐요...쩝.. 전에 서강대에서 뵌 이후로 못뵌거 같은데... --창섭
* 26일에 있는 혜영이 누나랑 30일에 있는 분은 다른 분인가요? 성을 안 붙이고 붙이고 한걸로 보아 혹시 26일에 있는 분이 97선배인가 싶어서요...^^; --창섭
* 아.. 혜영이 누나나 구근이 형이나... 죄송합니다. 30일이 가장 많은 사람의 날짜가되어서 그렇게 정했지만.. 직장다니는 선배분들을 못뵙는건가요... 흑.. --창섭
* 이거 왜 지워요;; 올해 말에 또 써먹으면 되지요 --NeoCoin
- 이민석 . . . . 13 matches
== 하위 페이지 ==
[[pageList(이민석)]]
* 나도 모르게 제로페이지 회원이 되었다.
* 이민규, 장용운과 함께 컴쟁이 40주년 페스티벌 참가
* 멀티플레이 서바이벌 게임(CAU Battle Arena)
* 이창하 교수님 visualization 연구실에서 학부 연구생 (OpenGL)
* jsfiddle: http://jsfiddle.net/user/codeonwort/
* 이창하 교수님 게임설계 팀플에서 OpenGL 렌더링 엔진 제작
* 졸업논문: 하스켈을 이용한 효율적인 알고리즘 설계
* 한 회사는 구글이 답장을 스팸 메일에 쳐넣어서 한달 뒤에 보고
* 다른 회사는 ACM 본선이랑 날짜 겹쳐서 면접 못감
- 정모/2005.9.5 . . . . 13 matches
* 개강총회 형식으로 간단한 뒷풀이가 있었습니다.
* 참가자 : 이승한, 조현태, 허아영, 이재혁, 김태훈, 박경태, 정수민, 신혜지, 이연주, 장이슬, 임수연, 윤성복, 남도연, 김영록, 김재성, 노상현, 송수생, 석지희, 김민경, 이정직, 신재동, 박종필
* 방학이야기
* 정모일정 - 매주 화요일 5-7, 정모 전에는 피씨실에 모여서 청소와 피씨 점검이 있을예정
* 관리 피씨실이 7피로 바뀌었음.
* 저고학번이 한팀이 됨. 학생회 점검표를 활용한다. 매달 조를 바꾼다. 담당제. 정도의 이야기
* 어떤이야기인지;; 정리가 여전히 잘 안되네요;; 정리좀 해주세요;;
- 지금그때2005/연락 . . . . 13 matches
|| 학번 || 이름 || 연락상태 ||
|| 00 || 임인택 || 갈 확률이 반 ||
|| 98 || 이선호 || 온다고 하셨음 ||
|| 97 || 이선우 || ||
|| 학번 || 이름 || 연락상태(도착예상시간까지) ||
|| || 이상규 || 시간되면 오신다고 하셨음 ||
|| 98 || 이선호 || . ||
|| 97 || 이선우 || 오신다고 하심 ||
[이승한] - 이선우, 임구근
[황재선] - 신재동, 이상규, 김정욱
[강희경] - 강석천, 이선호, 남상협
[하욱주] - 이덕준, 정진균
- 하얀가면의제국 . . . . 13 matches
오랜만에 박노자씨 책을 읽었다. 무심코 받아들이는 담론을 다시 생각하게 만든다. [당신들의대한민국]이 한국의 배타적 성격을 잘 드러내었다면, [하얀가면의제국]은 힘있는 나라가 보여주는 야만성을 지적하고 경각심을 일깨운다.
대한민국은 지리적으로도 여러 나라 사이에 있다. 그렇다고 다른 나라에 맞설 힘이 대단한 것도 아니다. 따라서 외세에 기대거나, 극명히 외세에 저항하기 쉽다. 이는 개인에게도 해당한다. 동경하거나 저항하거나. 그리고 동경하는 무리가 더 많다.
[장정일삼국지]를 읽으면서 강대국 사이에 낀 약소국의 처신이 어때야 하는지 생각했는데, 이번에도 또 생각하였다. [하얀가면의제국]에서도 말하지만 외세에 의존하면 역사가 말해주듯이 그 끝이 좋지 않다. 그렇다고 힘 없이 외세에 대적하기란 어렵다. 불행히도 지금 대한민국은 외세에 의존하는 듯이 보인다.
- 2010Python . . . . 12 matches
* id() : id(256)까지는 계속 반복해서 써도 같은 값이 나오는데 id(257)부터는 할때마다 다른 값이 나온다. 왜그럴까?
* Python에서는 a = 3이라고 했을 때 a라는 객체에 3이라는 값을 담는다기보다 3이라는 객체를 a라는 이름이 가리킨다고 보는 것이 더 적당하다.
* 다음시간에는 무슨 내용이든 5분 발표 할 수 있어야함. 발표 못하면 노래라도 해야함.
* [윤종하] - 지난 시간에 했던 Pascal's Triangle의 알고리즘을 수정하여 C++, python의 속도비교. 인터프리터 언어가 확실히 느림. 아마도 작동 원리의 차이인 듯
* [박정근] - python의 특이한 배열? keyindex를 지정가능하고 순서대로 출력도 가능함. 그리고 python은 지정하는것이 특기인 듯
* [http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00-introduction-to-computer-science-and-programming-fall-2008/index.htm MIT Open Courseware 6.00 Introduction to Computer Science and Programming]
- <시작페이지 사용규칙> . . . . 12 matches
무분별한 페이지 남발은 자칫 페이지의 비효율을 야기하므로
일정한 규칙이 필요한 것으로 보임
* 시작페이지에서 메뉴와 링크에는 링크명 양끝에 "<", ">" 를 넣어 다른 페이지들과 구분한다
* 링크를 통한 이동이 생명이므로 페이지 끝에는 꼭 이전 메뉴로 돌아갈 수 있도록 [시작] 같은 메뉴를 삽입해둔다
* 페이지는 처음에 간략한 설명, 제목, 링크로 구성된다
* 최대한 심플함을 추구한다 - 항목이 많아지면 더 작은 소항목으로 나누어 묶는다
- BusSimulation/영창 . . . . 12 matches
구현특이사항 : vector, map, algorithm 등 stl 클래스 사용
[[NewWindow("http://zeropage.org/cvs/bus_simulation/?root=sapius&rev=7", "최초 동작 버전")]]
[[NewWindow("http://zeropage.org/cvs/bus_simulation/?root=sapius&rev=8", "station, bus 객체의 people의 승탑 메소드 구현")]]
[[NewWindow("http://zeropage.org/cvs/bus_simulation/?root=sapius", "탑승하차상황 가정 버전")]]
* [[HTML(<STRIKE>)]]탄 사람이 내리는 곳을 고려해야함. (랜덤이어야 함)[[HTML(</STRIKE>)]]
* 각 역마다 사람이 증가하는 값을 다르게 정해야함. (시시각각에 다르게 적용되어야 하기 때문에 적당한 범위 안에서 랜덤으로 처리해야한다.)
도심지라면 좀 큰 범위안에서, 외곽이라면 좀 작은 범위안에서의 랜덤 값이 필요할 것이다.
* 역에서 기다리는 사람이 타려고하는 버스가 도착하면 그 버스에만 탑승해야한다.
왜 OOP적 접근법이 필요한지 약간 감이 잡힌다고 해야할까? 이런 현실의 내용을 simulation 하기에는 structured programming의 접근법으로는 참 다루기가 힘든점들이 많을 것 같다. - [eternalbleu]
- CORBA . . . . 12 matches
CORBA(Common Object Request Broker Architecture)는 소프트웨어 객체가 분산 환경에서 협력하여 작동하는 방식에 대한 일단의 명세서이다. 이 명세서에 대한 책임 기관은 OMG이며, 소프트웨어 업계를 대표하는 수 백 개의 회원 업체로 이루어져 있다. CORBA의 핵심부분은 ORB이다. ORB는 객체의 소비자인 클라이언트와 객체 생산자인 서버 사이에서 객체를 전달하는 일종의 버스로 생각될 수 있다. 객체의 소비자에게는 IDL이라는 언어를 이용한 객체 인터페이스가 제공되며, 객체의 생상자에 의해 제공되는 객체의 자세한 구현사항은 객체의 소비자에게는 완전히 숨겨진다.
관련 페이지
* 간단 분산 어플리케이션 만들기(["코바예제/시계"])
- DebuggingSeminar_2005/UndName . . . . 12 matches
= DLL 파일의 이름 알아보기 =
DLL 파일에 의해서 분석된 내용을 보면 DLL 에 함수의 이름이 이상하게(?) 변형되어 있는것을 확인하실 수 있는데(DUMPBIN.EXE 를 통해서 가능합니다.) 이 이름의 원형을 알고 싶을때가 있습니다. 그럴때 undname.exe 라는 파일을 사용하시면 아주 쉽게 확인해 보실 수 있습니다.
''디버깅 세미나에서는 이러한 함수의 이름이 컴파일 옵션으로 설정되는 map 파일안에 존재하는 것으로 이용하였다.'' - [eternalbleu]
아래의 예제에서 보시면 {{{~cpp '?MapDLLappyFunc@@YAPADPAD@Z'}}} 라는 이름이
- LUA_4 . . . . 12 matches
>a = foo -- a라는 이름으로 foo를 넘겨준다.
이처럼 간단하게 foo라는 함수를 만들어 봤습니다.
이제 매개변수를 넘겨서 반환값을 받는 함수를 만들어 보겠습니다.
sum은 a,b 라는 매개 변수를 받아 a+b 연산을 한 후 반환해 주는 함수 입니다. 이제 좀 특이한 루아만의 가변 매개변 수, 복수 반환 함수를 만들어 볼까요?
(...) 매개변수를 받으면 arg라는 테이블에 #arg 개 만큼 받을 수 있습니다. 그럼 for 문을 돌면서 sum을 계산해서 "sum=" 과 같이 결과를 반환합니다.
local 이 없이 변수를 선언한다면 함수 밖에서도 값을 참조/변경 할 수 있습니다.
변수 범위는 이 밖에도 다양한 이슈를 만들 수 있습니다. 예를 들면 do ~ end 문에서도 local 로 범위를 한정할 수 있고 function 자체도 변수와 같이 범위(scope)를 한정하여 사용할 수 있습니다. 또한 local을 사용하지 않으면 전역 범위 내에서 변수나 함수 자체를 접근/변경할 수 있습니다.
- Ruby/2011년스터디/강성현 . . . . 12 matches
* 동네API를 이용한 동문 네트워크 홈페이지 제작
* 동문 네트워크 홈페이지를 새롭게 만들어보는 프로젝트
* 기존 사이트를 조금 더 사용자 친화적으로 만들고, 모바일 기기에서도 부담없이 볼 수 있도록 함.
* json parser 구현 (정규표현식 이용)
* 만들어진 json parser를 이용하여 각 api의 입/출력을 처리할 수 있는 함수 작성
* page design, layout 등은 [html] 이용 ( [Ajax]도 사용)
=== 사이트 구성 ===
* 동네 로그인, 즐겨찾기/동문게시판/나눔터/작은모임/회원검색 의 5개 페이지로 구성
* 루비보다는 page design이 더 어려울 것 같음
* nforge http://nforge.zeropage.org/projects/caucse-ruby
* 루비 설치폴더\bin 안에 http://www.winimage.com/zLibDll/zlib125dll.zip 에 있는 dllx64\zlibwapi.dll 파일을 복사하고 이름을 zlib.dll 로 바꿈
- ZPHomePage/20041228 . . . . 12 matches
홈페이지개편 첫번째회의
* 위키를 홈페이지 속으로
* 회원가입 페이지 제작
* 제로페이지 소개 페이지 제작
* 학회지 페이지
* 다른 사이트 링크 목록 정리
* 캐릭터, 로고, 배너 제작 => 후에 뱃지 제작에도 이용
* 이달의 인물소개(집중적으로 질문 가능)
* 벤치마킹사이트를 두루 분석
* 포토샵으로 메인레이아웃 디자인
* 공부할 툴 또는 언어 - jsp, html, css, 파이썬, 드림위버, 포토샵, flash
- 가위바위보/성재 . . . . 12 matches
{{{~cpp 에헤헤~ 소감이라고 할만한건 없지만..
cout << "이선호의 이긴 수는 " << win <<"번이고," <<endl
<<"진 횟수는 "<< lose <<"번이고,"<< endl
cout << "\n\n"<<"강인수의 이긴 수는 " << lose <<"번이고," <<endl
<<"진 횟수는 "<< win <<"번이고,"<< endl
파일을 받아서 하는거였죠... -_- 어려웠습니다.. 케이스문이 아닌 다른걸루 만들어보고 싶네요~ }}}
* 얼레?--; 여기에 왜 내 이름이 있는 거지?
- 레밍즈프로젝트/프로토타입/에니메이션 . . . . 12 matches
AddFrame(UINT ITEM)으로 프레임을 추가시키고 외부에서 적절한 타이머를 통해서 움직임을 조절한다.(NextFrame())
자동적인 에니메이션은 불가능. 프레임마다 에니메이션 객체가 스스로의 상태를 파악하여 새로 BMP를 뿌려 주어야 함.
CDC를 확장한 [레밍즈프로젝트/그리기DC]에 자동 에니메이션을 구현 하고자 하였다.
하지만 OnDraw에서 생성되고 파괴되는 그리기DC에서 프레임단위의 에니메이션 처리는 옳지 않다. 만약 하게 된다면 모든 레밍들의 객체를 그리기DC안에 넣어야 할 것이다.
대안. 수동으로 진행되는 에니메이션 작업을 클래싱 할 수 있을 듯-_- 버튼에서 활용 가능 할 듯
에니메이션이 필요한 객체들은 이 클래스를 상속 받음으로서 에니메이션 처리를 할 수 있다.
이 클래스는 더블버퍼링과 bmp그리기를 자동화 시켜둔 [레밍즈프로젝트/그리기DC](CmyDouBuffDC)를 사용하여 드로잉을 수행한다. (CDC를 사용하는 도 있지만... 편의를 위해서...)
- 문원명 . . . . 12 matches
(말은 이렇게 함....) :D
* [실시간멀티플레이어게임프로젝트]
* [2학기파이선스터디]
네트워크를 통해 할 수 있는 간단한 놀이 프로그램을 만들고 싶어요.
바둑알 놓는 스킬은 진훈이에게 물어봐라..음화화~ - [문원명]
제로페이지가 많이 활성화 되어 있는거 같아서 기분 좋네요^^ - [문원명]
너 송승헌이랑 입대 날짜가 비슷한가보구나. - [강희경]
송승헌은 11월이고 난 5월이다..내가 니 애비군번이다 ㅋㅋ - [문원명]
[홈페이지분류], ZeroWikian, ZeroPagers
- 상협/너만의명작을그려라 . . . . 12 matches
= 이책은 읽게된 동기? =
* 우연히 신문을 보다가 책 소개하는 부분을 봤다. 그거 보고나서 끌려서 도서관에서 빌렸다. 역시 신문은 꼭 봐야 한다니깐.. 이런정보도 있고..
* 이책의 목적은 한 인간이 삶을 훌륭하게 살아가려면 어떻게 해야 하는지에 대해서 지금까지 살와왔던 사람들중에서 훌륭한 삶을 살았다고 평가되는 사람들을 예로 들면서 그 방법을 제시해주고 있다. 이책은 이 저자혼자서 내용을 생각해서 쓴 책이라기보다 인류에게 훌륭한 인물로 평가받은 사람들이 한 말들과, 그 행적등을 밑 바탕으로 해서 쓰여진 책이다.
* 이책은 읽고나서 생각나는거 말해보라고 하면 별로 말할건 없지만, 이 책을 읽고 있을때는 많은걸 느끼고 생각하고, 내가 느껴왔던 삶과 이책에서 제시하는 삶을 비교해 보기도 하고 그랬다.
- 05학번만의C++Study/숙제제출/1 . . . . 11 matches
이번 숙제는 월요일까지 휴일인 관계로 '''22일'''까지 '''제출'''해 주시면 됩니다.
숙제1/허아영 <<- 글쓰기를 눌러서 이런 식으로 페이지를 만드시고 거기에 자신의 소스를 올리시면 됩니다.
=> 숙제 페이지는 프로젝트 페이지의 하위 페이지에 만드시기 바랍니다. 여러 프로젝트가 존재하고 그것을 기록, 보존, 관리 차원에서 05학번만의C++Study/숙제1/허아영 와 같은 식으로 프로젝트의 하위 페이지로 만들기 바랍니다. -- 재선
섭씨 온도를 전달인자로 전달받아 화씨 온도로 환산하여 리턴하는 사용자 정의 함수를 main() 함수가 호출하는 프로그램을 작성하시오. 프로그램은 섭씨 온도로 입력할 것을 요구해야 하고, 다음과 같은 실행 결과를 출력해야 한다. 참고로, 섭씨 온도를 화씨 온도로 변환하는 공식은 Fahrenheit = 1.8 X Celsius + 32.0 이다.
|| 이름 || 날짜 || 소스 ||
|| 이[형노] || 05.9.18 || [05학번만의C++Study/숙제제출1/이형노] ||
- ClassifyByAnagram/sun . . . . 11 matches
* 테스트환경: P3 1G, 512MB, j2sdk1.4.0, 입력데이터-[http://zeropage.org/pds/2002104113433/word.lst 172823건]
* genKey() 메소드의 성능 개선. qsort2([http://www.cs.bell-labs.com/cm/cs/pearls/sortanim.html ProgrammingPerals 참고]) 이용.
* 테스트환경: 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건]
* String 객체의 생성을 줄임.(대략 300ms 정도 줄어듬) : 마이크로 튜닝으로 넘어갈수록 노력 대비 결과가 크지 않음.
* Class, method 이름 refactoring
* 테스트환경: P4 1.8, 512MB, j2sdk1.4.1-b21, 입력데이터-[http://zeropage.org/pds/2002104113433/word.lst 172823건]
* 분석: 예전에 우스개 소리로, 프로그램을 빠르게 하려면 컴퓨터를 업그레이드 하라더니, 웃을일이 아니다 -_-;
- GotoStatementConsideredHarmful . . . . 11 matches
원문 : http://www.acm.org/classics/oct95/
주로 JuNe 과 [jania] 의 토론을 읽으면서 이해를 하게 된 논문이다. '실행시간계'와 '코드공간계' 의 차이성을 줄인다는 아이디어가 참으로 대단하단 생각이 든다. 아마 이 원칙을 제대로 지킨다면, (즉, 같은 묶음의 코드들에 대한 추상화도를 일정하게 유지한다던가, if-else 의 긴 구문들에 대해 리팩토링을 하여 각각들을 메소드화한다던가 등등) 디버깅하기에 상당히 편할 것이고(단, 디버깅 툴은 고생좀 하겠다. Call Stack 을 계속 따라갈건데, abstraction level 이 높을 수록 call stack 깊이는 보통 깊어지니까. 그대신 사람이 직접 디버깅하기엔 좋다. abstraction level 을 생각하면 버그 있을 부분 찾기가 빨라지니까), 코드도 간결해질 것이다.
- IdeaPool . . . . 11 matches
= IdeaPool 이란? =
* 우리는 아이디어를 갖고 있어도 어떠한 사정에 의해 실현(혹은 개발)까지 이르지 못하기도 한다. 따라서 모두의 아이디어를 공유한다면 프로젝트를 비롯한 각종 활동 사항에 촉진제가 될 것이다.
* 공용 아이디어 ( [IdeaPool/PublicIdea] ) - 학교, 학과, 제로페이지 등등 우리가 속한 집단에게 유용한 아이디어.
* 개인 아이디어 ( [IdeaPool/PrivateIdea] ) - 공용 아이디어를 제외한 각종 아이디어들.
- JavaStudy2003/두번째수업 . . . . 11 matches
* 위의 내용 제가 정말로 피땀흘려 만들어놓은 내용입니다. Copy & Paste 하나도 없이 제가 순수하게 참고만 해서 만든 튜토리얼입니다. 이렇게 노력한걸 좀 가상하게 여겨서 숙제 좀 제대로 해 보죠? -_-+ -[상욱]
* 앞으로 이런식의 튜토리얼을 3번정도 더 만들어볼까 합니다. 제가 임의로 만든 것이기 때문에 보고서 좀 어렵다 싶은 부분 있으면 바로바로 말해 주세요. -[상욱]
* 파일이 안열려요; 이상한글자 두개만 뜨는데 왜이렇죠?;; --[선희]
아마 한글 97이라서 그런거 아닐까? 2002로 만들었거든... 97로 저장하니깐 표가 깨져서..;; 한글2002뷰어 받아서 봐. -[상욱]
* 왜 들 과제를 낼 생각을 안하고 있죠? 이러다가 이 스터디 폐쇄 됩니다...ㅡ.ㅡ; -[상욱]
http://www.javastudy.co.kr/docs/yopark/chap03/chap03.html
- KnightTour/재니 . . . . 11 matches
* 나이트가 움직일 수 있는 여덟 방향을 일정한 순서에 따라 움직인다.
* 나이트가 체스판의 모든 칸을 한번씩 방문하면 종료된다.
* 나이트가 움직인 순서를 화면에 출력한다.
printf("이동횟수 : %d\n", m_Move);
* 와하하~ 페이지 이름 잘못 적어서 새로 만들다..ㅡ.ㅡ;;; -[재니]
나이트가 위치한 셀이 고립된 경우 BackStep 과정을 한 번 더 실행하면 루트를 찾는 시간이 훨씬 짧아짐.
* 셀이 고립되면 어차피 다른 경로로 접근할 수 없어서 BackStep 을 두번 한 건데...
몇몇 경우에서 broot-force 보다 더 검색을 많이 하는 경우도 발견됨.
- NSIS/예제4 . . . . 11 matches
설치중에 윈도우 서비스를 멈췄다가 살리는 스크립트. 이것때문에 삽질을 좀 했다....-_-;; servicelib.nsh 파일을 인클루드 해줘야한다.
;인스톨러 이름
;인스톨러 파일 이름
SubCaption 0 ": 라이센스기록"
;라이선스
LicenseText "인스톨 하기 전 이 문구를 읽어주십시오" "동의합니다"
SubCaption 0 ":라이센스기록"
;인스톨러 아이콘
;인스콜러 아이콘
MiscButtonText "이전" "다음" "취소" "닫기"
DirText "VNC 4.0 영문판이 설치되어있는 곳의 경로를 지정해 주세요."
- VisualStudio2005 . . . . 11 matches
= 관련 홈페이지 =
이번 [VisualStudio2005]에서는 Express Edition이라는 버전을 다운로드할 수 있도록 제공하고 있다.
VB, C#, C++, J# 네가지로 나누어서 제공이 되며
C# 자동으로 클래스 다이어 그램 그려주네요. 테스트 케이스 작성은 아직 못 해봤음. -_-
* 소스의 수정된 부분은 노란색으로 표시합니다. 저장이 되면 초록색으로 바뀝니다. 아마도 합병(merge)에서 사용될 부분인듯.
* refactor : 이것도 C#에서만...-_-;;
* 소스관리는 DB를 이용해서 하는 듯 합니다. MS Access로도 가능한 듯 합니다.
* 솔루션에 프로젝트 스타트 업이라는 녀석으로... 무언가를 하는것 같은데... 무얼하는지는...-_-ㅋ
* 씨샾은 배우고 싶은 기분이 들 정도네요;;
- callusedHand . . . . 11 matches
= Zeropage 01(학번) 이현철 =
* 좋아하는 애니메이션: 천공의 섬 라퓨타, 성계 시리즈, 꿈에서 본다면
''DeleteMe) 처음 독서 방법에 대한 책에 대해 찾아봤었을때 읽었었던 책입니다. 당연한 말을 하는 것 같지만, 옳은 말들이기 때문에 당연한 말을 하는 교과서격의 책이라 생각합니다. 범우사꺼 얇은 책이라면 1판 번역일 것이고, 2판 번역과 원서 (How To Read a Book)도 도서관에 있습니다. --석천''
''저도 그렇게 생각합니다. 저의 독서력이 어느 정도인지 깨닫게 해주었습니다. 독서력 향상을 위해 많은 노력을 해야겠습니다.-- 현철''
''(move to somewhere appropriate plz) 논리학 개론 서적으로는 Irving Copi와 Quine의 서적들(특히 Quine의 책은 대가의 면모를 느끼게 해줍니다), Smullyan의 서적들을 권하고, 논리학에서 특히 전산학과 관련이 깊은 수리논리학 쪽으로는 Mendelson이나 Herbert Enderton의 책을 권합니다. 또, 증명에 관심이 있다면 How to Prove It을 권합니다. 대부분 ["중앙도서관"]에 있습니다. (누가 신청했을까요 :) ) --JuNe''
["홈페이지분류"], ["ZeroPagers"]
- 데블스캠프2009/월요일 . . . . 11 matches
|| 이름 || 주제 || 내용 || 비고 ||
|| 이승한 || HTML, CSS || || ||
|| 04 || 이승한 ||
||pm 01:00~01:50 ||이전의 웹과 현재의 웹 || 이승한 ||
||pm 02:00~03:00 ||CSS text. || 이승한 ||
||pm 03:00~04:00 ||CSS box model. || 이승한 ||
||pm 07:00~08:00 ||svn과 함께하는 코드 레이스 || 김홍기 ||
||pm 08:00~09:00 ||짧은 코드를 만드는 코드 레이스 || 김홍기 ||
||pm 09:00~10:00 ||빨리 코드를 작성하는 코드 레이스 || 김홍기 ||
= 문제 풀이 =
- 레밍딜레마 . . . . 11 matches
|| http://www.aladdin.co.kr/Cover/8955610017_1.gif [[BR]] ISBN 8955610017||
* Author : 데이비드 허친스
이 책은 얇다. 그래서 이 책을 5가지 정도의 '''역할 바꾸기'''로 쉽게 읽을수 있었다. 각 역할의 모든 사람에게 가치를 주고, 쉽게 공감할수 있는 이야기와 설명임을 느낄수 있었다.
시리즈 물인데, 같은 시리즈의 하나인 혜영이가 남긴 감상 [http://zeropage.org/jsp/board/thin/?table=multimedia&service=view&command=list&page=0&id=145&search=&keyword=&order=num 네안데르탈인의 그림자] 와 같은 짧고 뜻 깊은 이야기이다. 왜 이 책을 통해서 질문법을 통한 실용적이며, 진짜 실행하는, 이루어지는 비전 창출의 중요성을 다시 한번 생각하게 되었다. ["소크라테스 카페"] 에서 저자가 계속 주장하는 질문법의 힘을 새삼 느낄수 있었다.
- 레밍즈프로젝트/박진하 . . . . 11 matches
[레밍즈프로젝트/이승한]
이미 엄청나게 달라져버린 덕분에 ㅎ
(코드 이해불능상태-_- 게다가 VS 버전땜에 에러도 엄청남;)
예정작업 : 일단은 평지에서의 레밍의 움직임 좌표 이동을 하려함-
이게 뭐지?-_-
승한이와의 대화 후 방법 수정됨-
이거 왠걸;;
왜 파일들이 깨져서 저장되지;
이제는 체크아웃은 되는데 커밋이랑 업데이트랑 에드가 안된다 썩을
- 문자열검색/허아영 . . . . 11 matches
어쩌다가 이렇게 길어지게 됐는지 모르겠다.
연필을 잡지 않으면 시간이 배로 드는것 같다.
앞으로 실수하지 않게 데블스캠프때 배웠듯이, 건축에 있어서 설계를 작성하는것은 중요한 것 처럼
이번 프로그래밍의 알고리즘.
단어의 시작을 중점으로 한다.(나는 문자열 이라기 보다는 단어 검색 중심으로 짠것같다.)
즉, H, t, m, i, v, g가 기점이 될 수 있다.
만약에 Hot이라는 단어를 저 문장에서 찾았을때, 먼저 H로 시작하는 단어가 있기 때문에 His와 비교를 당하게 된다.
다음은 o와 i.. 다르기 때문에 found 이 0이 되어서 찾지 못했음을 알린다.
int exist_str[10]; // exist_str[i]에는 x문자열중 i번째 문자열이 몇번째 문자에 나오나
exist_str[num] = x_n + 1; //빈칸 다음에 문자열이 나온다고 가정.
//cpp1.cpp
//cpp2.cpp
//class.h
- 새싹교실/2012/아무거나/2회차 . . . . 11 matches
||<|2> 학생 || [이재형] ||O||
* 자신이 짠 소스를 올려주세요.
==== 이재형 ====
오늘 손봉수 교수님의 수업을 듣고 제대로 이해하지 못하였었던 별만들기 수업을 다시 해보니 어렵다는 것도 깨닫았고 또 별만들기를 직접 해보니 더 이해도
새싹교실 2회차 수업이었지만, 1회차 수업에 빠진터라... 좀 버거웠습니다. 숫자 찍기부터 별 찍기 까지.
다음 시간부터는 힘들어도 꼬박꼬박 바로바로 쓸게요~. (이재형)
* 각 줄에서 공백을 출력하는 횟수와 *을 출력하는 횟수의 규칙을 찾아내어 식을 만들고 이를 조건식으로 활용한다.
=== 이재형 ===
=== 이재형 ===
- 수/구구단출력 . . . . 11 matches
== [장이슬] ==
변수명은 가능하면 a,b 나 i,j 같이 이름만 보고 무슨 의미인지 알기 힘들게 짓기 보다는 조금 더 길어지더라도 이름만 보고 이게 무슨 역할을 하는 변수명이구나 하고 알수 있게 짓는 버릇을 들이는게 좋다. 주석이 필요 없을 정도로 변수명 함수명만 보고 이게 무슨 일을 하는 변수, 함수 이다라고 알수 있게 하면 더 더욱 좋다. - [상협]
상협이형의 말을 정리하자면 함수나 변수명을 잘 지으라는거지 그 변수가 무엇을 나타내는지, 함수가 어떤 기능을 하는지 잘 나타내라는거야. 음가(beveragePrice)처럼ㅋ-[강희경]
- 수학의정석/방정식 . . . . 11 matches
문제: 강물이 흐르는 속력은 xkm/hr 이다. 이 강을 따라 ykm의 거리를 배로 왕복하는 데 t분 걸렸다고 한다. 이 때, 잔잔한 강물 위에서의 이 배의 속력을 구하여라.
이 페이지의 목적이기도 하다. 최대한 효율적인 알고리즘을 창출하는 것이다.
||이름||Source(이론포함)||CPU_CLOCKS||UPDATE 1||UPDATE 2||UPDATE 3||
- 수학의정석/집합의연산/이영호 . . . . 11 matches
어렵다. 알고리즘 구현이 어렵다...
새로운 방법을 생각해내 구현을 하긴 했지만 배열을 malloc으로 했으면 더 좋았을걸이라는 생각이 계속 든다.
이렇게 나가게된다.
이것을 아래에 구현 했다. 복잡하지만.
만약 이것을 malloc으로 구현하려했다면 메모리 크기를 구해야하므로
메모리의 크기는 Ssub(n) = 2Ssub(n-1) + asub(n-1) + 1 이 된다.
subset 들. set은 {1,2,3,4,5,6,7,8,9}이다.
subset 들. set은 {1,2,3,4,5,6,7,8,9,10}이다.
- 수학의정석/집합의연산/조현태 . . . . 11 matches
음.. 저번 것과 마찬가지로 입력받는 부분은 시간계산에 포함하지 않는다. (사용자의 입력시간이 결정하기 때문.)
알고리즘은 1과 0으로 수를 저장, 한칸씩 옮겨가면서 모든 경우의 수를 찾는 것이다.
또한 예를 들어 7개일 경우는 1개일때, 2개일때, ... 7개일때 이런식으로 나누어서 연산을 한다.
음 영호선배의 페이지를 보니 이 페이지의 설명이 부족한듯 해서 덧붙인다.
이렇게 세팅후 1인 경우에 출력한다. 한차례연산후
이런식의 연산을 거치게 된다.
이런식으로 연산을 하여 모든 경우의 수를 찾아낸다.^^
질문이나 부족한 점에 대해서는 글을 남겨주세요.^^*
- 위키메뉴얼 . . . . 11 matches
위키메뉴얼제작에 필요한 그래픽을 캡쳐하기 위해 임의로 만든 페이지
후에 [강희경]이 삭제하겠음.
괜찮다면 삭제할 필요 전혀 없음. 한데 그림이 안보임. --재동
지금 제작중인 위키메뉴얼은 위키에 익숙하지 않은 사람을 위해 만드는 것이기 때문에 위키페이지로 제작하지 않습니다.
사용법 대부분이 완성되었습니다. 일정이 빡세서 원래 목표했던 기일에는 맞추지 못했지만 끝이 보이기 시작합니다.
위키에 대한 설명이 아직 많이 부족합니다. 지금 쓰다만 저런 형태말고 부드럽게 구어체로 정리할려고 합니다.
- 정모/2004.7.26 . . . . 11 matches
|| 01 || 이상규 ||
* [걸스패닉] - 팀 이름을 짓고 참가신청을 해서 시작이란 각오를 다짐
* [알카노이드] - 8월 한 달 동안 자바로 벽돌깨기 만들기
* 이벤트를 하여 방학을 더욱 알차게.
* 제안된 이벤트
*불꽃놀이
*컴퓨터 튜닝, 서버 업그레이드
*아르바이트
* 채택된 이벤트
*회지 만들기(웹페이지로 제작)
- 지금그때2003/계획 . . . . 11 matches
7:20~8:00 [지금그때] 부합 이야기, 7:30~40 분즈음에 졸업생 선배들의 도착
(->) OST 시간과 마무리 시간이 짧다는 의견이 많았다.
7:20~7:50 자신이 느낀것중 가장 크게 느낀 [지금그때]에 부합하는 이야기 말하기
지연시간이 없도록 하려면 어떻게 해야할지 연구해 봐라. 예를 들면 참석자들에게 6시50분까지 착석이 되어야 한다고 선전을 할 수 있겠다. 그리고 패널(2,3,4,졸,외부인사) 소개 시간이 필요하다. --JuNe
ost 진행시간이 30분 정도면 "지나치게" 짧다. market place에 질문 적기는 원래 ost가 진행되는 도중에 아무나 적을 수 있다. 안 1번을 하되 OST 진행 시간을 45분 이상으로 늘리는 것이 좋겠다. --JuNe
- AttachmentMacro . . . . 10 matches
올리고 싶은 파일 이름 혹은 이미 첨부된 파일 이름을 {{{attachment:파일이름.확장자}}}라고 써준다.
파일이 이미 올려 있을 경우에는 그 파일을 받을 수 있는 링크가 자동으로 걸리게 되고, 파일이 아직 업로드되지 않았다면 파일을 업로드 할 수 있는 링크가 생성된다.
/!\ 모니위키 1.0.9 혹은 그 이후에 지원되는 기능입니다.
이 경우 config.php에 {{{$use_convert_thumbs=1}}}를 넣어준다.
손톱그림의 내정된 기본 크기로 손톱 그림이 만들어지고 보여진다.
- CPPStudy_2005_1/STL성적처리_2 . . . . 10 matches
구현특이사항
map이용
신순이 97 55 52 97
송영이 78 82 63 73
* sorting 이 안되는 것이 map 의 단점이다. ㅡ,.ㅡ; 그야말로 검색할때만 좋은 것 같다.
* 다른 컨테이너와 기본적인 DS의 골격가 다르기 때문에 치환정도로는 DS의 변경이 안된다.
주말에 class 를 이용해서 다시 작성해볼 예정
- CppStudy_2002_1/과제1/CherryBoy . . . . 10 matches
cout << "캔디바의 이름\t:\t" << candy.name <<endl;
// 다음은 헤더 파일이다.
//함수는 사용자에게 이름과 핸디켑을 요구한다
//이름이 입력되면 1을 리턴하고, 이름이 빈 문자열이면 0을 리턴한다
//golf 구조체를 제곤된 이름과 핸디캡으로 설정한다
//함수는 golf 구조체의 이름을 표시한다
- DecomposingMessage . . . . 10 matches
메세지를 다루는 또 다른 방법은 여러 개의 조각으로 나누는 것이다. 리팩토링의 ExtractMethod이다. 스몰토크는 잘게 쪼개는 것을 좀 더 공격적으로 한다. 그래서 한 메소드의 길이가 3-4줄정도밖에 안된다고 한다. 이것이 가능한 이유는 스몰토크는 다른 언어에 비해 높은 수준의 추상화를 제공해주기 때문이다. self 에게로 메세지를 보내자.
지금 느끼는 거지만 파이썬의 self가 smalltalk에서부터 온 것이 아닐까 하는 생각이 든다. 두 언어가 생긴게 참 비슷한거 같다.
- EightQueenProblemSecondTry . . . . 10 matches
EightQueenProblem를 마치셨나요? 이하는 선택사항입니다.
이번에는 소스코드를 모두 삭제하고, 맨땅에서 다시 시작을 합니다. EightQueenProblem을 만족하는(즉 하나의 해법만 얻는) 프로그램을 다시 한번 작성합니다. 자신이 처음 EightQueenProblem을 풀면서 얻었던 통찰(insight)만을 이용하고, 가능하면 더 깔끔한 해답을 얻으려고 노력하면서 말이죠.
이 테스트는 자신이 처음 문제를 푸는 동안 얼마나 많이 배웠는가 하는 지표가 될 수 있습니다.
|| 이선우 ||1h:05m||1h:52m||52m|| 114 lines || 147 lines(+ test code 28 lines) || 304 lines || java || java || java ||
* LOC - ''Lines of Code. 보통 SLOC(Source Lines of Code)이라고도 함.''
- HelpOnInstallation/MultipleUser . . . . 10 matches
모니위키 버전 1.0.9 이후부터 모니위키는 다중사용자를 위한 좀 더 편리한 설치환경을 제공합니다.
각 사용자는 따로 설치할 필요 없이 관리자가 설치해놓은 모니위키를 단지 make install로 비교적 간단히 설치할 수 있습니다.
이렇게 하면 [모니위키] 설치에 필요한 파일이 public_html 하위에 일부는 복사되고 일부는 설치 디렉토리에 남게됩니다.
이 경우 대부분의 php파일이 설치되지 않은채로 각 사용자가 사용하게 되기 때문에, 모니위키의 php취약점이 발견되었을 경우 관리자가 설치된 [모니위키]만을 업데이트하는 것으로 문제점을 해결할 수 있게 됩니다. 물론 일부 카피된 파일 및 php 이외에 웹상에 직접 노출되는 지역 파일은 사용자가 직접 업데이트해야 하겠지요.
- JTDStudy/첫번째과제/원희 . . . . 10 matches
처음에 하다가 영준이한걸 보니까 마지막은 완전 똑같아진;;;ㅠㅠ
자바가 완전 기초라서요, 숫자 세개 입력받을때 1 2 3 이렇게 입력받으면 배열에서 1,2,3 이렇게 들어가게 할려고 노력을 해봤지만 어렵네요......ㅠㅠ 생각의 한계로 결국은 따로따로 입력받기......
* 방법은 여러 방법이 있지. 만약 100자리라면, int 형이 정수값만 가지고 나머지는 버리는 특성을 이용해서 123%10 하면 3이 나오고, 12%10 하면 2 나오고 나머지는 1이고... 이런식으로 숫자른 나누어 줄 수도 있고, 입력시에 어짜피 String형으로 받아지기 때문에 문자 하나씩 끊어 읽게끔 해도 되지^^ 조금만 생각해보면 방법이 나올 수도 있어 - [상욱]
- OurMajorLangIsCAndCPlusPlus/XML/조현태 . . . . 10 matches
* C...C++이랑 많이 다르구나~ @.@ const, bool형이 없고 형체크가 정확하지 않아서 조마조마 했다는..ㅎㅎ
* 테스트의 편의를 위해서 파일입출력을 안썼습니다.^^ ... 이편이 더 불편하려나?? 파입입출력으로 바꿀까..말까..
* C와 C++의 주석 형식의 차이로 인해서... 주석이 많이 줄었습니다.^^
const char DEBUG_TEXT[] = "<zeropage>\n <studies>\n <cpp>\n <instructor>이상규</instructor>\n <participants>\n <name>김상섭</name>\n <name>김민경</name>\n <name>송수생</name>\n <name>조현태</name>\n </participants>\n </cpp>\n <java>\n <instructor>이선호</instructor>\n <participants>\n <name>김민경</name>\n <name>송수생</name>\n <name>조현태</name>\n </participants>\n </java>\n <mfc>\n <participants/>\n </mfc>\n </studies>\n</zeropage>\n";
- STL/참고사이트 . . . . 10 matches
[http://www.cs.rpi.edu/projects/STL/stl/stl.html C++ STL 레퍼런스 사이트]
[http://dmoz.org/Computers/Programming/Languages/C++/Class_Libraries/STL C++ STL site ODP for STL] 와 [http://dir.lycos.com/Computers/Programming/Languages/C%2B%2B/Class_Libraries/STL 미러]
The Code Project, C++/STL/MFC 에 대한 소개 http://www.codeproject.com/cpp/stlintroduction.asp
C++ Standard Template Library, another great tutorial, by Mark Sebern http://www.msoe.edu/eecs/cese/resources/stl/index.htm
Technical University Vienna by Johannes Weidl http://dnaugler.cs.semo.edu/tutorials/stl mirror http://www.infosys.tuwien.ac.at/Research/Component/tutorial/prwmain.htm
좋은 사이트
Mumits STL 초보 가이드 (약간 오래된 것) http://www.xraylith.wisc.edu/~khan/software/stl/STL.newbie.html
- TkinterProgramming . . . . 10 matches
Tkinter 는 Tk GUI 툴킷의 파이선 바인딩 구현물이다. 현재 Tkinter 는 파이선의 가장 일반적인 GUI 툴킷임.
Tk 는 다중 플랫폼 지원의 오픈 소스 기반 GUI 툴킷이다.
파이선의 GUI 툴킷에는 PyGTK, wxPython, Jython QtPython 이 있다.
03. [TkinterProgramming/Calculator2]
만약 파이선으로 GUI 프로그래밍을 한다면 Tkinter 이것 만큼은 피하라!!!! -_-
지나치게 많은 버그와 지나치게 없는 컨트롤의 압박으로 배워도 어디에 써먹을까 걱정되는 놈이다. - [eternalbleu]
- ZeroPageServer/UpdateUpgrade . . . . 10 matches
다음의 업그레이드를 보름에 한번정도는 해주자. (업그레이드는 보통 보안과 패치들을 겸한다.)
확인하면서 업그레이드 하고 싶다면
소스트리는 현재(2004년) 테스트 버전인 sarge 가 되어 있다. 앞으로 sarge가 stable 이 되는 1~2년 사이에는 빈번한 패치, 업그레이드가 이루어 지므로, 일주일에서 보름 정도 사이에 한버씩 업그레이드를 해주면 된다. 한달에 한번씩 하면 수십개의 패키지가 업그레이되는 멋진 광경을 볼수 있다.
- mantis . . . . 10 matches
* 버그 트랙킹 시스템 입니다. 버그 질라에 비해서 훨씬더 설치가 쉽습니다. 아직 이메일 부분 문제는 해결 못했는데 해결 하신분은 좀 적어 주세요. -_-;
= 이메일 문제 =
* /core/user_api.php 에서 416line 을 아래와 같이 바꿔서 이메일 인증이 아니라 임시 암호를 부여하고, 사용자가 바꾸게끔 한다.
테이블을 만들때 euc-kr 으로 만들었고 euc-kr 을 mantis 에서 사용하기 위해 아래와 같이 mantis 소스를 수정 하였습니다.
./mantis-1.0.2/core/adodb/drivers/adodb-mysql.inc.php
* 위와 같이 하면 일단 한글을 쓸 수 있는 있습니다.
* 에러 메시지 제거는? 에디트 플러스 Find in file 에서 htmlspecialchars 이 것을 다 찾아서 @htmlspecialchars 이것으로 바꿔 주면 됩니다.
- ★강원길★ . . . . 10 matches
이름 : 강원길
홈페이지 : [http://www.cyworld.com/soffmagil] 원길이 홈페이지 에요
원길이 바보..
원길이 왕 바보............
원길이 사랑해~
요즘 정신이 없어서 들어오기만 했었어..
* 원길이 짱~ -[iruril]
[홈페이지분류], ZeroWikian
- 땅콩이보육프로젝트2005 . . . . 10 matches
* 현태: DB이용 단어장 만들기
* DB이용 단어장 만들기
* 테이블 구조
* word를 기준으로 next word를 찾는다. 필요하면 frequency도 이용한다.
== 하위 페이지 ==
[땅콩이보육프로젝트2005/개발일지]
[땅콩이보육프로젝트2005/유스케이스]
== 참고사이트 ==
* [http://www.alicebot.org/ ALICE] 뢰브너 라는 인공지능 대화 로봇 대회에서 우승한 ALICE 라는 프로그램, 사이트 가면 실제로 대화해 볼수 있음
- 만년달력/강희경,Leonardong . . . . 10 matches
//400년주기로 달력이 같으므로 year%400로 해서 해결.
지난 달이 며칠인지를 알고 거기에 지난달이 시작하는 요일을 알면
이번달이 무슨 요일에서 시작하는지 알 수 있다. 예를 들어 1년 2월 같은 경우
1년 1월이 31일이고 월요일부터 시작하므로 (31 + 1) % 7 == 4 로
네이버에서 만년달력 검색하다가 들어오게된 페이지. 하하하 - [이승한]
- 새싹교실/2013/양반/2회차 . . . . 10 matches
||이름||출석||
* 피연산자 수에 따라서. - [http://soenlab.com/lecture/ccpp/cpp1/5-1-1.htm page]
* 이항 연산자
* 산술 연산자 - [http://soenlab.com/lecture/ccpp/cpp1/5-1-1.htm page]
* 관계 연산자 - [http://soenlab.com/lecture/ccpp/cpp1/5-2-2.htm page]
* 논리 연산자 - [http://soenlab.com/lecture/ccpp/cpp1/5-2-1.png page]
* 비트 연산자 - [http://soenlab.com/lecture/ccpp/cpp1/5-2-3.htm page]
비트 연산자는 수업 시간에 다뤄보지 않았지만 시간이 남으면 한 번 읽어 보세요.
* 묵시적 형 변환 - [http://soenlab.com/lecture/ccpp/cpp1/5-4-3.htm page]
* 명시적 형 변환 - [http://soenlab.com/lecture/ccpp/cpp1/5-3-4.htm page]
* 연산자 우선순위 - [http://soenlab.com/lecture/ccpp/cpp1/5-4-1.htm page]
* if문 - [http://soenlab.com/lecture/ccpp/cpp1/4-1-1.htm page]
관련 페이지 : ThreeFs, ThreeFs(노스모크), FiveFs(노스모크)
예를 들어 지난주에 돈가스를 먹은 것에 대해 후기를 쓴다면 : "지난주에 강남에 가서 하나에 5만원하는 돈가스를 먹었다.(사실) 기대를 잔뜩 했는데 별로 맛이 없었다.(느낌) 강남은 땅값이 비싸서 값만 보고 엄청 맛있을거라 기대하면 안된다는 것을 알았다.(깨달은점) 다음에는 미리 인터넷에서 평을 찾아보고 별점이 높은 돈가스집을 찾아서 가봐야겠다.(앞으로의 계획)"
* 새싹들 보고 후기 적으라고 해놓고서 본인은 안 적었네요. 새싹 진행하는데 있어서 시간이 부족한 것 같아서 시간 확보를 어떻게 해야할지를 고민해봐야겠습니다. 과제는 내려고 했는데 딱히 뭘 내야할지도 생각이 안나고 그래서 제어문을 배우면 내줘야 할 듯 싶습니다.
조건문이 꽤나 흥미로웠다.-끝-
- 이영호/미니프로젝트#1 . . . . 10 matches
예상 라인수는 2000~3000 라인 정도이며 프로젝트를 더 커질수록 라인수의 가변성 또한 존재한다.
// 한가지 웃긴것은 C++로 짜면 C와 동일한 기능을 가졌음에도 라인의 수가 3배 이상 늘어난다는 것이다.
// 그런데 더 웃긴것은 C++에 숙달되면 C보다 0.8배 정도로 시간이 단축된다는 것이다.
목적 : irc에 접속해 있는 유저들을 자동적으로 공격하는 프로그램. & 차후 AI(망할 엉터리 AI 패러다임) bot이나 타자봇을 집어넣을 예정
방법론 : 프로세스를 여러개 만들어 비교적 프로그램이 쉬워지게 만든다.
3. 서버의 메세지 중 타유저들이 명령하는 것 처리 -> 2번째 Chile Process
// 향후 프로그램이 커지면 네트워크 부분은 따로 모듈을 만들어 낸다.
// 구분하지 않은 파일. 이 파일을 각 파일로 나눈다.
- 정모/2002.11.13 . . . . 10 matches
|| 02 || 신성재, 이영록, 신진영, 김정훈, 임영동 || 5명 ||
|| 01 || 강인수, 남상협, 신재동, 이상규, 이선호, 이창섭 || 6명 ||
= 이런걸 해보고 싶어요 =
||홈페이지 제작에 대해서||2명||
||제로페이지 학원 공개강좌!||_||
기타 - 영화, 진로에 대한 이야기, ...
DeleteMe) 이날 참석한 인원을 적어주세요. 해당 정보는 차후 회원 구분이 있을때 필요한 자료입니다. --["neocoin"]
- 책분류Template . . . . 10 matches
DeleteMe 페이지 만들면서 반드시 이줄을 삭제하새요
DeleteMe when you fill in this page (이 페이지를 채워 넣을 때 삭제해 주세요)
* B) * 5 : [나를만든책]이다. 탁월하다. 이미 고전이거나, 혹은 앞으로 고전이 될 것이다.
* B) * 1 : 내가 좋아하지 않는 책이 어떤 것인가 배웠다.
- 황재선 . . . . 10 matches
* [실시간멀티플레이어게임프로젝트]
* [2학기파이선스터디]
제 페이지두, 놀러오세요 ^^ -[허아영]
갑자기 위키 생각나서 달려왔어여 ㅋㅋㅋ -[이규완]
* 어제 만나서 반가웠어 ^^ 위키 재밌으니 자주 업데이트하고 놀자~~ -- [황재선]
* 선배 ~ [데블스캠프2005/사진] 사진이 안뜨네요 ! ! ㅜ -[허아영]
JTable에서 Column width 변경하려면 아래와 같이~ :)
http://www.ictp.trieste.it/~manuals/programming/Java/tutorial/uiswing/components/table.html#width
특정 column 길이가 짧아서 고민하고 있었는데 감사합니다.^^ 링크를 보고 힌트를 얻어 table 전체 사이즈를 변경하는 방법을 찾았습니다. 문제 해결해서 기쁘네요 :)
[홈페이지분류], [ZeroPagers]
- BasicJava2005/3주차 . . . . 9 matches
= 이야기 내용 =
* 1.4이전 : BufferedReader클래스를 사용할 수 있다.
* 5.0 이후 : Scanner 클래스를 이용하여 입력받을 수 있다.
* C/C++의 #include 와 using namespace의 결합형
* import [패키지 이름]; 으로 사용할 수 있다.
* 그 이외의 패키지는 import를 해야 한다.
* Java에도 MS의 MSDN같이 사용자를 돕는 메뉴얼이 존재한다.
- CProgramming . . . . 9 matches
[http://cplus.about.com/od/beginnerctutoria1/l/blctut.htm Tutorial for Beginner]
[http://www.cs.cf.ac.uk/Dave/C/ Cardiff University CourseWare]
[http://myhome.hanafos.com/~kukdas/index.html C가 있는 홈페이지]
[http://www.zikimi.co.kr/new_zikimi/z002/002_01.htm?code=37 프로그래머 열린 공간 지킴이]
[http://www.its.strath.ac.uk/courses/c/ University of Strathclyde Computer Centre]
[http://winapi.co.kr/clec/cpp1/cpp1.htm winapi.co.kr의 C기초강좌]는 매우 자세하며 양이 많다.
[PracticalC]를 정리하는 이런 페이지도 있네요. 모두 같이 정리해 보고 활용해 보았으면 좋겠습니다.
반이름 5m
데이터
- Downshifting . . . . 9 matches
2005년 중앙대 책 떨이(북페어)에서 500원에 산 책.
(1) 자발적으로 일을 부담이 덜 가게 전환함으로써 삶의 즐거움을 추구하다.
미친 듯이 일하면서 행복감을 못 느끼는 사람들에게 일을 좀 줄이고 행복감을 찾으라는 이야기를 한다. 일중독에 빠져 놓치기 쉬운 가족관계, 여가생활, 종교활동, 봉사활동을 하면서 새로 얻게 된 시간을 활용해 보라고 권유한다.
굳이 일과 행복에 한정해서 생각하지 않는다면 유용한 충고로 받아들일 수 있다. 정말 원치 않는데도 하고 있는 것을 줄이고 자기가 즐기는 것을 좀더 많이 하면 좀더 행복할 것이다.
- GoodNumber . . . . 9 matches
Good number 는 원래 수의 각 자리수의 합과 곱이 원래 수와 같은 소인수들의 각 자리수의 합이 같은 수들을 말합니다. 소수는 자신의 소인수가 자기 자신이기 때문에 포함이 됩니다.
예를 들어 수자 22의 각 자리수의 합은 (2+2=4)입니다. 곱이 원래 수인 소인수는 (2*11=22)입니다. 이들 소인수의 각자리수의 합은 (2+1+1=4)입니다. 그래서 정의에 의해서 수 22는 good number입니다.
1부터 32767사이의 임의의 수 한개에 대해서 good number인지를 결정하시오.
1과 32767사이의 임의 수.
==== 테스트 데이터 ====
- IsBiggerSmarter?/문보창 . . . . 9 matches
단순히 Greedy 알고리즘으로 접근. 실패. Dynamic Programming 이 필요함을 테스트 케이스로써 확인했다. Dynamic Programming 을 실제로 해본 경험이 없기 때문에 감이 잡히지 않았다. Introduction To Algorithm에서 Dynamic Programing 부분을 읽어 공부한 후 문제분석을 다시 시도했다. 이 문제를 쉽게 풀기 위해 Weight를 정렬한 배열과 IQ를 정렬한 배열을 하나의 문자열로 보았다. 그렇다면 문제에서 원하는 "가장 긴 시퀀스" 는 Longest Common Subsequence가 되고, LCS는 Dynamic Algorithm으로 쉽게 풀리는 문제중 하나였다. 무게가 같거나, IQ가 같을수도 있기 때문에 LCS에서 오류가 나는 것을 피하기 위해 소트함수를 처리해 주는 과정에서 약간의 어려움을 겪었다.
lcs_length함수에서 cost table을 만들어주는 과정의 running time은 O(n*n), memory cost는 O(n*n)이다. 그리고 print_lcs 함수에서 longest path를 거슬러 올라가는 running time은 O(n + n) = O(n)이다.
무엇보다 몇일동안 고생해서 푼 보람이 있어 좋다.
이 알고리즘은 답을 산출해 내지 못한다.
- JollyJumpers/곽세환 . . . . 9 matches
JollyJumpers 문제풀이
문제이해에 많은 시간이 걸림
bool diff[3000]; // 연속된 두값의 차이값을 체크
// 차이값이 1 ~ n-1 사이에 모두 존재해야한다
맨 처음에 n을 입력 받는 작업이 있으니, 배열을 동적으로 생성하는 것이 더 좋지 않을까? --[강희경]
- ProgrammingPearls/Column6 . . . . 9 matches
* 어떤 프로그램이 1년 걸렸었는데 단계별로 쪼개서 튜닝을 했더니 하루만에 되더라하는 내용이 씌어있다.
* 알고리즘과 자료구조의 교체 : Sequential 한것을 Binary Tree로 교체함으로써 O(n*n)이 O(n*lg n)으로 줄었다.
* 시스템 독립적인 코드 튜닝 : double형보다 시간이 절반 정도 걸리는 float를 썼다.
* 이 각각의 단계에서 빨라진 만큼을 다 곱하니 대략 400이 나오더라하는 내용이 씌어있다.
* 디자인 레벨에 관한 가이드
* 많은 양의 스피드업을 원한다면 다단계를 고치자. 한군데를 고침으로써 다른 부분도 고칠것이 생긴다.
- Ruby/2011년스터디/서지혜 . . . . 9 matches
* 일정 시간이 지나면 웹 브라우저를 종료하는 프로그램 만들기
* OS에게 현재 실행중인 웹 브라우저의 정보(총 실행 시간, 현재 뷰중인 페이지)를 얻어 일정시간이상 실행된 (틍정 사이트를 뷰 중인) 웹 브라우저 종료시키기
* 일정시간 이상 실행된 웹 브라우저 검색 (혹은 직접 카운트)
* 특정 사이트를 뷰중인지 검색
* 웹 브라우저의 페이지 뷰를 기록하여 통계
* 특정 프로세스 죽이기 ([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"); // 종료하려는 프로세스의 이름을 쓴다
- Score/1002 . . . . 9 matches
1줄로 표현할 방법을 이리저리 고민.
input 에 대해서 여러 방법으로 변형을 시도. 그 중 좋은 아이디어가 떠오름.
각 sub 단위의 "O" 의 갯수를 세고 이에 대해 각 부분별로 f(n) = f(n-1)+1 에 대한 총합 계산을 해주면 되겠다 생각.
f(n) 에 대해서 sum(f(n)) = n(n+1)/2 이므로, 이를 이용하면 되리라 생각이 듬. 결국 해결.
위에서 원소가 없을 때 if e!=''로 처리하는데, 없으면 len(e)가 0이 되므로 그냥 일반화해도 될 것이다. 즉 "있다"와 "없다"를 일반화.
- SolidStateDisk . . . . 9 matches
반도체 메모리 칩(e.g. DRAM chips) 으로 이루어진 디스크 시스템.
백업 메카니즘으로서 배터리나 일반적인 자기디스크를 내장하곤 한다. SDD 는 일반적인 HDD I/O interface 로 연결된다. 이로 인해서 얻을 수 있는 잇점은 적은시간에 빈번한 I/O 작업이 일어날 경우에, seek time 이나 rotational latency 가 없는 메모리로서, 자기디스크에 비해 월등한 성능을 나타낼 수 있다. 그에 덧붙여 구동부가 없는 구조로서 좀더 내구성이 뛰어나다고도 할 수 있겠다. 단점은, 특성상 대용량화가 어려우며 커다란 데이터의 요구량이 커질때. 즉 access time 보다 transfer time 이 더 요구될때 효율성이 안좋다.
- ZeroPageSeminar . . . . 9 matches
앞으로 계획되어 있는 세미나 입니다. 자세한 사항은 세미나별 페이지에서 확인하세요.
|| 일시 || 주제 || 발표자 || 페이지 ||
|| 이승한 || 유비쿼터스의 기술 현황, 발전정도... || .||
세미나를 해줄 수 있는 분들입니다. 자신이 세미나를 해줄 수 있다고 생각하면 주저하지 말고 적어주세요.
|| 학번 || 이름 || 최근관심분야 || 연락방법 ||
|| 01 || 이상규 || 그리드 컴퓨팅, P2P || 전화 또는 메일 ||
세미나를 하면 좋은 주제들을 나누는 곳입니다. 좋은 주제가 있으면 이곳에 적어주세요.
|| 일시 || 주제 || 발표자 || 페이지 ||
[제로페이지분류]
- cogitator . . . . 9 matches
= Zeropage 7기 이혜영 =
기술개발이 아닌 아닌 information policy 를 공부하러 ICU로 왔음
= 후배들에게 하고 싶은 이야기 =
하나를 얻기위해서는 하나이상의 동등한 대가를 치루어야 한다. - 등가교환의 법칙
세상이란 등가교환법칙이 적용되는 곳.
슬슬 홈피 부활이신가요? :) 대문 사진 멋있어요.~
ps. 가끔 누님 싸이도 들린답니다. ^--[1002]
[홈페이지분류]
- ljh131 . . . . 9 matches
이재혁
홈페이지
모든 프로그래머들이 copy & paste에 빠져있어 구글신께서 포맷으로 심판하려 할 때 홀로 노가다 코딩을 하던 아노아씨는 구글신의 특별한 계시로 포맷이 닥칠것을 미리 알게 된다. 그는 120번의 이터레이션에 걸쳐 방주(신개념 version control system)를 제작해, 8개의 대형 오픈 소스 프로젝트와 한 패키지씩의 여러 sf프로젝트를 커밋한다. 포맷이 닥치자 모든 오픈 소스 프로젝트가 실패하고 말았지만, 이 방주에 커밋된 프로젝트들은 살아 남았다고 한다.
불가항력은 귀찮음의 다른말이다.
- zyint/articleTest . . . . 9 matches
아영 :" 대학생들이 방송국 알바를 원츄 하면서도 쉽게 하지 못하는것 같애
방송국 알바했다" 이러면 "우아~" 이런 반응 등 '선망의 대상' 이 되곤 하지만 방송국 알바가 연예인을 보거나 스텝이 되는 것 처럼 기대 이상의 알바는 아니다
여러가지 아르바이트 중에서 많이들 알고는 있지만 해보지는 못한 방청 아르바이트를 직접 체험해보고
- 김준호 . . . . 9 matches
①. 나이 : 19살 (1993년생, 술집 못들어감 - ....ㅠㅠ)
④. 싸이 : www.cyworld.com/e-on
ⓐ. 박수치는 구경꾼이 되지 말자 -
# 3월 16일에는 앞으로 새싹교실이 어떻게 진행될것인지와 컴퓨터의 기본장치들을 배웠습니다 예를들어 CPU, Main Memory 등등 입니다.
# 3월 17일에는 Microsoft Visual Studio 2008 프로그램을 이용하여 기초적인 c언어를 배웠습니다.
근데 printf가 글쓰는것에 이용하는것과 \n이 줄띄우는것은 알았습니다. 그런데 %d %e %c는 잘 이해가 안됩니다. ㅠㅠ
* 3/16, 3/17 피드백은 빨랑 해당 페이지로 옮겨서 쓰지 말입니다. - [윤종하]
- 박효정 . . . . 9 matches
처음 개인페이지의 추천 양식입니다. 적당히 고쳐서 쓰세요.
ZeroPage 회원이라면, 다음의 정보가 들어가도록 해주세요.
E-Mail 을 직접 노출하면, 스팸 메일 로봇들이 퍼갈수 있습니다.
홍길동@zeropage.org 이라면, 홍길동 엣 zeropage 닷 org , 같이 적어주세요.
나도 코딩신이 되어보고싶땅 ㅠ_ㅠ!
이거 뭐 이래 어려워 =_=!!ㅋㅋㅋ
[홈페이지분류], ZeroPagers, ZeroWikian ( DeleteMe 복수개로 선택해 주세요. )
- 새싹교실/2011/씨언어발전 . . . . 9 matches
|| [이상태] ||O||||O||O||O||O||O||
* 관련 페이지 : ThreeFs, [http://no-smok.net/nsmk/ThreeFs ThreeFs(노스모크)], [http://no-smok.net/nsmk/FiveFs FiveFs(노스모크)]
* 예를 들어 지난주에 돈가스를 먹은 것에 대해 후기를 쓴다면 : "지난주에 강남에 가서 하나에 5만원하는 돈가스를 먹었다.(사실) 기대를 잔뜩 했는데 별로 맛이 없었다.(느낌) 강남은 땅값이 비싸서 값만 보고 엄청 맛있을거라 기대하면 안된다는 것을 알았다.(깨달은점) 다음에는 미리 인터넷에서 평을 찾아보고 별점이 높은 돈가스집을 찾아서 가봐야겠다.(앞으로의 계획)"
3회차 수업이 예정되어있던 4월 6일 각자 여러가지의 이유로 참여를 못하고 해서 다음 수업부터는 개인 사정 상관없이
수요일 6시에 칼같이 수업을 하겠습니다.
- 송치완 . . . . 9 matches
* 그리고 복학생이 되었다.
* 유로 트럭 시뮬레이터 2 자율주행 프로젝트인 ChosunTruck의 Founder
* 군대에서 나태함과 안일함이 몸에 밴거같다. 고치자
* 이번학기도 장학금 받고 싶다.
* [https://github.com/bethesirius/ChosunTruck]
* 치완아, 넌 1년간 계속 열심히 살거라 믿는다. ^^ 내년 말이면 전역이 코앞이겠네? ㅎㅎ - [김태진]
* 님 물리하고 C++ 공부좀 - [이민규]
- 위키개발2006 . . . . 9 matches
* 2006년을 맞이하여..
* 사이트내 실시간 채팅 매크로 추가. 아래와 같은 매크로 사용시에 실시간 채팅 매크로가 추가 된다. 직접 구현은 안했고, gabbly 거 이용함.
|| 페이지및 사이트 include || 남상협 ||
|| 사이트 전체가 아닌 카페별 채팅창 넣기 || 남상협 ||
owiki_custommade - 해당 서버, 가입자들이 있는 서버들
owiki_join - 해당 서버, 가입자들이 있는 서버
owiki_page_name - refer 하는 카페들이 있는 서버 에서 n_referUrl = 카페 인곳
- 정모/2006.1.5 . . . . 9 matches
* 코드레이스 진행자 뽑기
* 우리의 담당 교수님은 "박재화"교수님 이십니다. 요구사항
- 코드레이스 의 법칙 정하기
윗사람과의 관계에서 중요한 부분은 '예의' 입니다. '예'에서 어긋나게 되면 그 이후 그분과 대화를 할 수가 없을 것입니다. 정모때 우리가 교수님께 요구할 수 있는 것들에 대해 생각하는 것도 중요하지만, 교수님께 일단 인사를 드리는 것도 중요하다고 봅니다. 일단, 회장이 바뀌었다는 것으로 교수님께 찾아뵙고 인사드리는 것도 생각해 볼 부분이 아닐까 생각됩니다. 이전에 담당교수님과 컨텍을 한 적도 없으므로, 일단 대화창구를 여는 것이 먼저라 생각합니다. --[1002]
그런데 답장이 오지 않았습니다.. ㅠㅠ - 허아영
- 정모/2011.11.9 . . . . 9 matches
* 소닉 OMS를 보면서 소닉이 돌 때 마다 제 머리도 따라서 움직인 듯한 느낌이?! 그리고 소닉x는 사람도 등장하길래 안 봤었는데, 쉐도우가 궁금해서 봐야할 듯 합니다ㅋㅋ 게임에 나오던 로봇 소닉도 등장한다고 봤던거 같은데 은근 재밌을 것 같아요. 다음 주에 예정된 쓰레기로 작품을 만드는 것도 기대됩니다. 혹시 A4용지 박스 필요하면 말씀주세요ㅎㅎ - [강소현]
* 그렇군요 ㅇㅂㅇ 뭘 물어봐도 척척 대답해줄 것 같은 느낌이ㅋㅋ
* 이번 OMS를 하면 좀 오래 걸릴 거라 생각했는데 역시 오래 걸렸네요. (시간 보신 분은 아실 듯.) 그래도 해야 될 말을 다 못한 거 같아 아쉬웠습니다. (뭘 더 이야기 하려고 -_-) 빨리 이번 신작 주문한게 왔으면 하네요.;; 여하튼. 10월 한달 동안은 시험기간이었지만 뭔가 이것 저것 많이 한 것 같았습니다. - [권순의]
- 제안 . . . . 9 matches
["제안"]이라는 ["페이지이름"]이 너무 모호하다고 생각합니다. ["ZeroWiki/제안"]으로 ["페이지이름바꾸기"]하겠습니다. --["이덕준"]
2004년 7월 25일 ["ZeroWiki/제안"]으로 ["페이지이름바꾸기"]하였습니다. --[Leonardong]
- 조재화 . . . . 9 matches
* 이름 : 조재화
* 이메일 : dadaback엣hanmail닷net (DeleteMe 이메일주소를 그대로 적어두시면 로봇들이 긁어간답니다.. - [임인택] )
* 03. 한해동안 C++MFC와 PYTHON그리고 JAVA를 좀 잘 이해해서 컴퓨터 프로그램이나 겜을 많이 만들고 싶당.
* www.msdn.com 라이브러리와 함수... 등등의정보를 알 수 있다.
[홈페이지분류], [ZeroPagers]
- 타도코코아CppStudy/0728 . . . . 9 matches
|| 문제 || 학생이름 || 학생의 답안 || 강사의 평 ||
* 해오면 첨삭해 줍니다. 자유...라고 하면 아무도 안해올걸 알지만서도... 왠만하면 해보세요. 많은 도움이 될겁니다.
|| 문제 || 학생이름 || 학생의 답안 || 강사의 평 ||
|| 1900년 이후의 만년달력 || || || ||
* 없습니다. 대신 윈도우즈 프로그래밍의 기본을 공부해오세요. 자신이 이해갈때까지
* 이놈들이--; 20분이 지났는데 아무도 안왔다.
- 허아영/MBTI . . . . 9 matches
가장 많이 기운쪽이 T 45 였다.
: 진실과 사실에 주로 관심을 갖고 논리적이고 분석적이며 객관적으로 사실을 판단한다.
T가 이렇다고 내가 F(feeling)쪽의 성향도 없는것은 아니다.
단지, T쪽으로 기울어져 있기 때문에 T의 성향이 좀 더 뚜렷하게 나타난다 일뿐?
지도력이 있는
= 나의 이야기 =
재혁이 말 지워졌다;;; - [아영]
- 05학번만의C++Study/숙제제출1/조현태 . . . . 8 matches
차이는?
문제 앞에서 말햇듯이, 이 문제는 C++에 익숙해 지기위한 입출력 형식만 쓸수 있게 한것이야 ~
책 읽어보고, using namespace std; 쓰는이유, 뭐 이런것을 익히고 자신만의 C++스타일도 찾을겸.
너는 C++언어를 많이 써봤겠지만, 대다수는 안그렇거든.. iostream에 대한 정보도 익숙치 않아.
그리고, 너가 짠 소스는 문제에 대한 답이 아닌것 같은데? 문제를 잘 읽고 써주길 - 아영
- 2006동계MT/계산내역 . . . . 8 matches
영수증을 스캔하면 좋겠지만, 서울 집에는 스캔이 없어서 그냥 써서 올릴게요^^
종이컵 850원
참이슬 860* 12
팽이버섯 450
하이포트목살 40,000원
'''우이동 슈퍼에서..'''
- 이부분은 모르겠음.
아이스크림, 음료 등 9,700원
- BoostLibrary/SmartPointer . . . . 8 matches
* boost 라이브러리는 헤더 파일만이 존재한다. 모든 구현을 헤더 파일에 해 놓았기 때문이다. 바로 필살 헤더와 구현 분리하기 귀잖어 기술....본인은 애용한다...
* 표준 라이브러리에도 auto_ptr 이라고 같은 개념의 클래스가 있지만, 버그가 있다. -_-;; auto_ptr를 컨테이너에 집어넣으면 버그땜시 스스로 삭제가 안되 메모리가 새는 아주 심각한 문제이다.
shared_ptr_example2.hpp (헉 이너클래스가 되네.. 처음봤다 --;;)
- ComputerNetworkClass/Report2006/BuildingProxyServer . . . . 8 matches
* http://orchid.cse.cau.ac.kr/course/cn/index.php?code=project4
[http://www.mnot.net/cache_docs/#CONTROL 웹 캐싱 기법들]
GUID 생성하기. 파일 이름으로 활용할 수 있다.
인터넷 상에서 유일한 16바이트의 숫자를 나타내면 COM객체의 유일한 식별자를 만들기 위해서 이용하지만...
이것을 이용하면 캐쉬할 파일의 이름이 겹치는 문제를 한방에 해결할 수 잇음.
늦은 것 같지만... -_-;; 휘동이에게 말해줬다가 실패한 함수에 대한 내용올림... scanf가 아니라 sscanf 였음
- DebuggingSeminar_2005 . . . . 8 matches
강사 : 이정직(00)
이승한 (04)
= 관련페이지 (위키) =
|| [DebuggingSeminar_2005/DebugCRT] || Debug CRT 라이브러리 활성화 예제. extracted from Debugging Application ||
|| [DebuggingSeminar_2005/AutoExp.dat] || VC IDE의 Watch 윈도우에 사용자 데이터형의 표현형을 추가하는 파일 ||
= 관련사이트 (인터넷) =
|| [http://www.vmware.com/ VMWARE] || 가상 컴퓨터 에뮬레이터? ||
|| [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vsdebug/html/_core_c_run2dtime_library_debugging_support.asp Debug CRT] || VC++4 에서 지원하기 시작한 C런타임 라이브러리 ||
- EdsgerDijkstra . . . . 8 matches
위의 Stepwise Program Construction과 The Humble Programmer는 초강력 추천. 감동의 물결. 아마 그 글을 읽고 몇 주 동안은 여러가지 실험을 해보며 흥미진진하게 보내게 될 것이며, 몇 몇은 프로그래밍에 획기적인 전환점을 맞이할 수 있을 것이라 믿음. --김창준
[http://www.cs.utexas.edu/users/UTCS/notices/dijkstra/ewdobit.html 2002년 8월 6일 타계]. 위대하다고 불리는 인물들이 동시대에 같이 살아있었다는 것, 그리고 그 사람이 내가 살아있는 동안에 다른 세상으로 떠났다는 사실이란. 참 묘한 느낌이다. --["1002"]
- EmbedAudioFilesForFireFox . . . . 8 matches
웹 페이지에 Embed된 오디오 파일을 FireFox에서 수월하게 재생시키기 위해서는 아래와 같이 type 속성을 주고 플레이어의 크기를 명시적으로 적어줘야 한다.
embed는 W3C에서 정의한 표준에 위배되는 방법이다. 표준을 통과하면서 IE, Firefox에서 재생시키려면 다음과 같이 작성한다.
* 최근에 embed태그에 관한 소송에 MS가 패소하여 앞으로는 embed태그에 관한 기능이 달라지게 된다는 소식을 들은 기억이 있네요. 동네 자게였나? - 이승한
- HardcoreCppStudy/첫숙제/ValueVsReference/김아영 . . . . 8 matches
- 인수로 사용되는 수식이 평가된다.
- 결과가 스택(stack)에 복사된다. 스택은 메모리내의 임시 저장 영역이다.
- 변수 자체의 값을 전달하는 것이 아니라 인수로 사용되는 변수에 대한 포인터를 전달하는 것이다.
- 함수에 배열을 전달하는 유일한 방법이다.
- 인수를 전달할 때에는 함수에 전달되는 인수가 포인터라는 사실이 함수 정의와 프로토타입에 반영되어야 한다.
값에 의한 전달에서 변수의 값이 함수에서 변경될 수 없는 반면에, 참조에 의한 전달에서 변수의 값이 함수에서 변경될 수 있다.
- StudyingFundamentalsOfTcpIp . . . . 8 matches
TCP/IP 가 우리와 얼마나 가까 있는지 아시죠? 인터넷의 근간이 되는 프로토콜에 대해 스터디를 하고자 합니다. 관심있는 분의 많은 참여 부탁드립니다.
* 소켓 프로그래밍이 아닌 TCP/IP 에 대한 공동학습. 여럿이 해야 효과가 크겠죠.
[[ISBN(0201633469)]] 입니다. 상당히 평이 좋은 책이라고 합니다. 1학년때 잠깐 (챕터두개정도;; ) 보다가 덮어둔지 어언 3년이 되어가는군요. 책 없는분은 제본하면 될것 같네요
== 참여자 (3~4명이 좋겠군요) ==
|| 이름 || 학번 || 한마디 ||
- VendingMachine/세연/재동 . . . . 8 matches
cout << "잔액이 부족하거나 수량이 부족해요\n";
cout << _money << "원이 남았어요\n";
cout << "\n현재 " << _money << "원이 있어요\n";
2. 중복된 곳이 많던 buy()함수와 insertDrink()함수를 집중적으로 수정
5. 이외 잡다 에러...
6. 더 고쳐져야 할 부분이 보이지만 미묘해서 그만 둠...-,-;;;
- WinampPluginProgramming/DSP . . . . 8 matches
// 이 부분은 [1002] 가 장난삼아 수정. ^^;
// DLL 당 여러개의 모듈들이 들어갈 수 있다.
// this_mod 는 일종의 this pointer 라고 생각해도 좋을듯 하다. 해당 모듈(위의 mod1~5) 의 포인터이다.
// samples 는 output 쪽으로 나갈 데이터이며 이 데이터를 수정해주면 된다.
// 이 플러그인은 voice removal.
- [Lovely]boy^_^/Diary/2-2-2 . . . . 8 matches
* 데이터 통신.. 정말 좌절이다.. 4학기쨰 수업을 들어왔지만.. 이렇게 막막했던 과목은 없었다. 도대체 뭔소리를 하는 건지 알수가 없다.
* 우리나라에 사람 무는 바퀴벌레가 들어온 기념으로.. TDD를 이용한 RandomWalk2를 해보았다.(Python) 파이썬 문법 자체에서 좀 많이 버벅거렸다는게 좀 아쉽다. 테스트 수십개가 통과하는 것을 보고 있자니 괜시리 기분이 좋아진다는--;
* 증투랑 데이터 통신 예습해야 되는데.. 너무 뜬구름 잡는 소리가 많다.
- eXtensibleStylesheetLanguageTransformations . . . . 8 matches
http://www.codeguru.com/Cpp/data/data-misc/xml/article.php/c4565
XSLT를 잘 이용하는 곳의 하나로 feedburner를 뽑고 싶다. 한때 MS XSLT 구현 방법에 대해서 말도 많고 탈도 많았으나... 뭐 어쨋든 나름대로들 잘 사용하고 있는 듯 보임.
MSXML 을 이용해서 만들어진 XML을 HTML로 변환하여 얻어내는 것이 가능함. MSDN 참조
XML+CSS 로는 데이터의 바꾸는 것이 불가능하지만 XSLT를 이용할 경우 아예 XML 구조 자체를 변경하는 것이 가능하다. - [eternalbleu]
- 그림으로설명하기 . . . . 8 matches
모르는 개념엔 그림이 약이다. "백문이 불여일견"이라 하지 않나.
(그림이 없다...)
또 어떤 것들이 있나요?
무언가 가르쳐줄 때 말로 설명하기 어렵다면 그림으로 설명하자. (한데 그림 그리기가 더 어렵다면 ?)
- 김재현 . . . . 8 matches
msn--- syniori 골뱅이 hotmail.com
싸이질--- syniori
네이버블로그--- www.naver.com/syniori.do
while (used[n]); // 이미 사용 ㅤ됐으면 다시 난수 발생
학번: 20050994 이름: 김재현
포인터에 대한 이해가 아직 부족해서 스스로 코드를 짜진 못하고,교수님이 올리신
하고픈말이 있으시다면. 여기에.
- 데블스캠프2006/월요일 . . . . 8 matches
남상협,김정현,박영창,유용안,이규완,송수생
|| 송수생 || 김정현 || 유용안 || 남상협 || 이규완 || 박영창 ||
||am 03:00~04:00 || 표준 입출력 || 이규완 (05)||
||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) ||
박영창이 진행하는 파트에 대한 간단한 설명. 갑자기 맡게되서 시간이 짧게 끊날수도 잇음. -_-;
초보자이외 잘하는 새내기는 박영창 선배께서 따로 진행할 예정.
= 문제 풀이 =
- 새싹교실/2012/아무거나/1회차 . . . . 8 matches
||<|2> 학생 || [이재형] ||자봉단||
이재형 학생이 자봉단 때문에 불참하여 Visual Studio에서 디버깅하는 방법을 배움.
1. 한줄씩 디버깅 f10 을 이용하면 그 말 그대로 실행된다 한줄씩
2. f11 은 f10 과 달리 더 깊게 들어가게 된다.(어렵다)
3. 빨간공을 설정을 초록색줄 왼편에 클릭을 하면 설정이 되고, 그것을 설정한 후에 f5 를 누르면 그 줄이 실행이 된다.
- 새싹교실/2013/록구록구/1회차 . . . . 8 matches
||이름||출석||
||이주영|| o ||
관련 페이지 : ThreeFs, ThreeFs(노스모크), FiveFs(노스모크)
''' 뭔 말이지? 라고 하는 당신을 위한 설명 '''
(느낌)기대를 잔뜩 했는데 별로 맛이 없었다.
(깨달은점)강남은 땅값이 비싸서 값만 보고 엄청 맛있을거라 기대하면 안된다는 것을 알았다.
(앞으로의 계획)다음에는 미리 인터넷에서 평을 찾아보고 별점이 높은 돈가스집을 찾아서 가봐야겠다.
== 이주영 ==
- 인수/Smalltalk . . . . 8 matches
* 머리에 쥐나는줄 알았다.--; 사소한거 하나로 삽질한게 몇가진지... --; 문법이 왜 이리 하던거랑 다른지.;;
* 짜놓고 생각 : 이건 스몰토크프로그래밍이 아니다. C++/Java의 냄새가 너무 많이 나는것 같다. 부분부분을 좀더 간단하게 할 수 있을것 같기도 하다. 책을 더 봐야 할듯 싶다. 인스턴스 생성할때도 인자를 넘겨 받을 수 있을 텐데 잘 안된다.(지금 보니까 그렇게 하지 말라 한다. 대충 찾아보니 팩토리 메소드를 많이 쓰는것 같다. 또 클래스 메소드 만드는법 알아낼라고 줄기차게 삽질을 했다.--;) do라는 좋은게 있었군.
* 2차원 배열 클래스가 있었다. 레퍼런스를 잘 찾아보고 하자. 이제 조금 볼만하구나.
* 이제 SBPP를 볼 수 있을듯 하다.
- 정모/2004.2.3 . . . . 8 matches
* 서버가 안 되는 상황이어서 결과물 시연 못 함
* TheJavaMan 은 프로젝트 참여자 전원이 참여하는 프로젝트인 비행기 게임 만들기를 새로 시작
* 주최자인 영동이형이 바쁘기 때문에 잠정 보류
* 소풍을 여행으로 바꾸려고 합니다. 동문서버 제로페이지 게시판에도 있고 [2004겨울여행] 에도 관련 내용이 있으니 참석할 수 있는지 없는지 적어주세요. 다른 장소를 추천하셔도 좋습니다. -[Leonardong]
* 이번에 예정 시간에 맞춰 회의를 진행하려 했으나 이런 저런 사정으로 뜻대로 되지 않았네요. ㅜㅜ -[Leonardong]
- 조현태/놀이 . . . . 8 matches
== [조현태/놀이] ==
[조현태/놀이/네모로직풀기]
[조현태/놀이/미스틱아츠]
[조현태/놀이/채팅서버]
[조현태/놀이/지뢰파인더]
[조현태/놀이/위키서버]
[조현태/놀이/오목]
[조현태/놀이/시간표만들기]
- 조현태/프로젝트 . . . . 8 matches
* 제로위키! - 제로페이지의 훌륭한 역사의 발자취(?)를 남길만한 작품..ㅎㅎ
* 이동현 님의 MFC 명강의 - MFC 역사의 한획!! 뭔가 도움이 많이 되는듯하다~!
- [2005MFC이동현님의명강의]
* 땅콩이 만들기 - 의외의 인공지능으로 높은 개그수준을....;;;;;;;;
- [땅콩이보육프로젝트2005]
- [조현태/놀이/오목]
- 지도분류 . . . . 8 matches
||["2012년활동지도"] || 2012년에 이루어지는 스터디, 프로젝트 지도들 ||
||["Java"]|| Sun사에서 태어나고, 여러 업체들에 의하여 발전하는 프로그래밍 언어이자 플렛폼 ||
||["Scheme"]|| MIT에서 가르치는, 함수형 프로그래밍 언어이다 ||
|| SubVersion || 약자는 SVN, 많이 쓰이는 소스 버전 관리 도구 ||
=== 조직에 도움이 되는 책 ===
|| ["유쾌한이노베이션"] ||
- 허아영 . . . . 8 matches
저도 이거 넣을래용~
== 놀이 ==
실제 코드 >> [허아영/C코딩연습] 으로 들어오시면 볼 수 있습니다.
[캠이랑놀자/아영]
>> [캠이랑놀자]
[http://www.cyworld.com/heoay 아영이홈피]
[http://prof.cau.ac.kr/~sw_kim 김승욱교수님 홈페이지]
[홈페이지분류], ZeroPagers
- 01학번모임 . . . . 7 matches
01 학번들의 협력을 통해 제로페이지 내에서 모범적인 고학번의 모델을 제시하기 위해 앞으로도 지난 2006년 3월 10일의 모임과 같은 자리를 꾸준히 가지면 좋을것 같다는 생각이 드는데...
내 생각이 어떻소...?-_-;
모범적인 고학생이라... 왠지 서글픈데..ㅋㄷㅋㄷ
가끔씩 모이는거... 정말 괜찮지..
-_-그정도야 뭐.... 서로 이야기도 하고 좋지.. - 선호
* 저도 끼이면 안되요?? ^_^ 헤벌레~ - 아영
- 2002년MT . . . . 7 matches
... 뭐뭐 준비해야할까.. (zp 엠티 참여해본적이 없어서..)
* 코펠이나 버너는 민박집에 있을거같은데.~, 없을 수도 있는데..
* 학번별로 분류해놔야 하나.. (고학번이 위로오게 수정해주세요~)
* 기차표를 몇장 끊어야 할지 정해야 하니 이게 필요하겠네여.. 정모땐 2명 빼고 다 나올수 있다고 했는데, 정모 안오신 분들도 있으니..
|| 학번 || 이름 || 참가여부 || 사유 ||
|| 01 || 이창섭 || 참가 || MT 니까... -_-; ||
|| 02 || 장재니 || 참가 || 음.. 이거 적어두 되는건가요?^^ ||
- 2학기파이선스터디/서버 . . . . 7 matches
#참여자 이름을 읽어서 등록한다
name = self.receiveline().strip() #이름 읽기
#참여자 이름을 읽어서 등록한다
## name = self.receiveline().strip() #이름 읽기
#참여자 이름을 읽어서 등록한다
## name = self.receiveline().strip() #이름 읽기
[2학기파이선스터디]
- BookShelf/Past . . . . 7 matches
1. 대학의이념과학문의윤리 - 20050113
1. 성냥갑으로배우는 AI이야기 - 20050116
1. 우리가꿈꾸는행복한이혼은없다 - 20040129
1. 강한회사는회의시간이짧다 - 20050317
1. [바이러스삶과죽음사이] - 20051228
1. 이성의기능 - 20060316
- C++0x . . . . 7 matches
== 이름의 의미 ==
* 0x라는 이름은 2010년이 되기 전에 완성하자는 의미였지만 어쩔수 없에 10진수로 넘어가게 됨
* GCC 4.5 이상 (4.1 이후도 조금식지원하긴 하나 완벽하진 않음)
= 참고 사이트 =
[http://ko.wikipedia.org/wiki/C%2B%2B0x wikipedia C++0x]
- ErdosNumbers/조현태 . . . . 7 matches
메모리를 좀 낭비하더라도 중복을 줄여서, 양이 많아질때의 연산을 줄여보자는 생각이었지만..
이렇게 두개를 만들어서 나름대로는 연산이 쪼~~~끔 줄었다고 말하고 싶지만..
다만들고 나니 그것도 아닐지도..훗.. 괜한 고생이었나..;;
cout << "시뮬레이션 횟수를 입력하십시오.\n>>";
cout << "찾을 저자의 이름을 입력하세요.\n";
- GuiTesting . . . . 7 matches
GuiTesting 을 하는 이유는 여러가지가 있을 수 있다. GUI Programming 에 대한 TestFirstProgramming 에 대한 시도를 할 수 있기 때문이다. 해당 UI Control을 하나하나 만드는 일부터 시작할 수 있다. 하지만, 보통의 경우 UI Control을 만드는 일들은 IDE 툴들에서 하는 것이 더 편하다. GuiTesting 은 해당 이벤트 발생시에 따른 처리과정에 대한 TestFirstProgramming 을 시도하려고 할 때 도움을 줄 것이다.
대부분의 경우는 TFP를 하는중에 logic 부분과 UI 부분을 분리함으로서 GuiTesting 을 복잡하게 하는 요소들을 줄일 수 있다. 그러면서 Model - View - Controler 의 형태가 유도되어질 것이다.
MVC 는 View 단을 테스트하기에 적합하지 않은 면이 있다. 그래서 ModelViewPresenter 로 해보니 좋았다. --NeoCoin
- Java/JDBC . . . . 7 matches
* 드라이버를 다운받아서 jre/lib/ext 폴더에 넣고, 재시작.
* 9i, release2 용 드라이버, 다른 버전은 oracle 에서 다운 받는다.
* 그후 아래와 같은 식으로 접속 가능하다. 아래에서 NSH2 는 전역 데이터베이스 이름임으로 각자 알아서 적고, 연결에서 아이디와 비번을 넣는다.
예전에 resin 에서 tomcat으로 바꾸면서 jdbc 설정하는거 몰라서 대박이었는데... -_-; - eternalbleu
- JavaStudy2004/이용재 . . . . 7 matches
name = JOptionPane.showInputDialog("이름 입력");
함수명이나 변수명을 지을 때 mynameis같이 쓰면 나중에 보거나 딴 사람이 보았을 때 이해하기가 힘들 수 있으니 myNameIs나 my_name_is처럼 각 단어끼리 구분 짓는 습관을 갖는 것이 좋다고 생각합니다. --[강희경]
죄송, 이름만 보고 04학번 '김용재'라고 생각하고 반말을 했네요. --[강희경]
- MoniWikiProcessor . . . . 7 matches
MoinMoin 1.1 이하에서는 Processor와 Parser로 분리되어있었고, 1.3 이후에는 Processor Parser가 Parser로 통합되었다.
MoniWiki에서는 이미 Processor와 Parser개념을 통합및 간소화 하여 Processor라는 이름으로 쓰이고 있다.
1.1.3 이후에 지원이 추가될 예정. 예) TextileProcessor
- NSIS/예제2 . . . . 7 matches
; 인스톨러 프로그램 이름
; 인스톨러 화일 이름
; 인스톨러 프로그램 이름
; shortcut 이 있으면 제거할것.
; 인스톨러 프로그램 이름
; 인스톨러 화일 이름
; shortcut 이 있으면 제거할것.
- ProjectAR/진행상황 . . . . 7 matches
* 돌아다닐때의 충돌체크 - 이때는 데미지를 안입는다. 왜 주인공이랑 몹이랑 부딪치면 주인공이 달아야 하는거냐!
* 공격할때의 충돌체크 - 이때 무기 리치까지 계산을 해서 충돌하면 데미지를 입는것이다.
* 당장 필요한 주인공 그림을 그렸다. 4방향. 이동 프레임? 그딴거 없다.
- StringOfCPlusPlus/상협 . . . . 7 matches
void lenstr() {while(st[n]!='\0') n++;}//문자열의 길이를 n값으로 저장
char* stval() {return st;}//이걸 알자:배열 전체 리턴 할때 * 사용 ..
int nval() const {return n;}//문자열 길이를 알려줌.
delete [] temp;//이부분에서 고생 했쓰...
int n1=s.nval();//에스 객체의 길이;
nam.reverse();//끝에것이 짤리고 뒤바뀌지 않는 문제
nam.delspace();//끝에것이 짤리는 문제
- Telephone . . . . 7 matches
미국에서는 이발소 TV 광고의 경우 전화번호와 동시에 'HAIRCUT' 이라는 문구를 보여준다. 'HAIRCUT' 은 전화기의 번호의 각 영문에 대응되기 때문에 전화번호로 번역이 가능하다.
즉, 'HAIRCUT' 의 경우 밑의 전화기 자판을 보면 H 는 4, A 는 2 ... 등에 각각 대응되므로 424-7288 이 된다.
자 이러한 광고문구 글을 해당 전화번호로 번역해주는 프로그램을 만들어보자.!
다음 화일을 편집기에 작성하고, 실행화일이 있는 디렉토리 (ex)1002\Telephone\debug) 에 저장하세요.~
"""자신의프로그램이름""" < test1.in > out.txt
- TheKnightsOfTheRoundTable/하기웅 . . . . 7 matches
== 풀이 ==
세변의 길이가 주어질때 삼각형의 내심원의 반지름을 구하는 문제이다.
헤론의 공식을 이용해 세변으로 넓이는 구하면
헤론의 공식을 이용해서 구한 넓이 = (내심원의 반지름 x 세변의 합)/2 로 구할 수 있다.
- 경시대회준비반/BigInteger . . . . 7 matches
C++ 용 BigInteger 클래스로 거의 모든 연산을 지원한다. UVA 사이트의 구식(?) 컴파일러에도 문제없이 통과할 뿐 아니라, 성능또한 훌륭하다. 고정도 정수 연산을 하는 문제의 경우, 고정도 연산을 하는 라이브러리를 본인이 직접 짜거나, 이 클래스를 이용하면 된다. 몇 일동안 삽질한 결과 후자가 낫다는 판단이 선다. 되게 잘 짜여진 코드다. 시간 내서 분석해봐야 겠다.
- 고수를찾아서 . . . . 7 matches
시험이 끝나고 도서관을 찾아 미정리 서가를 돌아보다가 손에 잡힌 책이다.
저자는 무예를 좋아해서 전문 잡지까지 만드는 사람이다. 여러 고수를 찾아다니며 인터뷰한 이야기, 고수를 만난 경외감을 전해주고 있다. 아마 보는 눈은 갖춘 실력이 밑바탕에 깔려있기 때문에, 고수를 찾아다니며 감탄할 수 있는 것 같다.
고수는 하루아침에 될 수 없다. 극단적으로 수련을 하든, 화두를 잡고 몇 년을 끙끙대든 결국 고수가 되는 데는 시간이 걸린다. 그리고 나면 자신만의 길을 개척할 수 있다. 처음부터 모든 것을 창조해내지는 못하는 법이다.
- 고한종/on-off를조절할수있는코드 . . . . 7 matches
//이 부분은 scanf_s("%c",&keyOnOff);로도 쓸 수 있지만 scanf_s와 scanf의 차이도 잘 모르고 scanf는 사실 매우 어려운 함수;
오늘 장용운이에게 비효율적이라는 말을 들었습니다. 그래서 용운이가 이렇게 고쳐주더라구요.
기억이 가물가물한데 아마 맞을겁니다;
- 김범준 . . . . 7 matches
이름: [김범준]
아이디: anrocud
duco ornamentum(라틴어로 계산기이지만 컴퓨터라고 하기로 함)
msn아이디: anrocud 엣 네이버 닷 컴
(빈칸 없이 엣=at, 네이버 닷 컴 = naver.com)
- 데블스캠프2004/위키항해소감 . . . . 7 matches
== 이 페이지는 ==
* 2004년 데블스캠프 첫날에 위키를 항해하고 느낀 점을 토의한 것을 적은 페이집니다.
* 하욱주: 위키 양이 많았다.
* 오후근: 참 대단한 사이트.
* 박능규: 자바페이지에서 중앙도서관의 링크가 가능했다.
DeleteMe) 이거 말고 몇조 더 있었는데 그때 서기 맡으신 분은 적어주세요.
- 문자열검색 . . . . 7 matches
문제 : 문자열 x에서 y라는 문자열이 처음 나타난 위치를 검색하여 z에 저장하는 프로그램을 작성하여라.
검색하려고 하는 y문자열은 받아들이고,
=== 풀이 ===
|| 이영호 || C || 3분 || [이영호/문자열검색] ||
|| 조현태 || C/C++ || . || [문자열검색/조현태] ||
|| 허아영 || C, C++ || 많이 || [문자열검색/허아영] ||
- 새싹교실/2013/양반/7회차 . . . . 7 matches
||이름||출석||
* 과제 풀이
관련 페이지 : ThreeFs, ThreeFs(노스모크), FiveFs(노스모크)
예를 들어 지난주에 돈가스를 먹은 것에 대해 후기를 쓴다면 : "지난주에 강남에 가서 하나에 5만원하는 돈가스를 먹었다.(사실) 기대를 잔뜩 했는데 별로 맛이 없었다.(느낌) 강남은 땅값이 비싸서 값만 보고 엄청 맛있을거라 기대하면 안된다는 것을 알았다.(깨달은점) 다음에는 미리 인터넷에서 평을 찾아보고 별점이 높은 돈가스집을 찾아서 가봐야겠다.(앞으로의 계획)"
연습을 많이해야됨을 깨닫게 됨.
- 새싹교실/2013/책상운반 . . . . 7 matches
1. 기초프로그래밍 과제를 하시는 데에 막히는 일이 없도록 할 것입니다.
2. 새싹들의 이해도를 높이고 보완하는 데에 신경을 쓸 것입니다.
다음 코드들이 어떻게 작동하는 지 알려 줌.
* 데이터타입에는 어떤 것들이 있는지
= 이 반에 대해서 하고 싶은 말 =
- 정모/2003.2.12 . . . . 7 matches
* 모든 사람이 만장일치라는 것이 참 신기했습니다. -.-a 신속투표, 신속 결정...;; --창섭
* 단장에게 큰 의무같은건 없지만 앞으로 열심히 하겠다는 마음이 있으면 뭐든지 할 수 있을거야~ --선호
* 안녕하세요 03학번 강희경이라고 합니다^^
''조금은(사실은 쫌 많이 -_-) 냉소적인 상민이의 말투를 모르는 새내기라면 상처받을 접대로구려.. 6ㅡㅡ --["sun"]'' [[BR]]
*어쩌다가 위키위키에 대해 배우게 됐는데(아주쪼금)제로페이지홈피에 위키가 있다구해서...-희경
- 정서 . . . . 7 matches
싸이/avenger7 죽었지만..
영서 지금 공군복무중 ^^ [이동현]
맞다.. 공군이었지... 휴가도 자주 나올텐데 잘 안보이는군! --[상규]
뭐이셈 ㅋㅋㅋ 흐흐흐 -[허아영]
흐흐.. 오랜만이다 -[노상현]
[홈페이지분류], [ZeroWikian]
- 주민등록번호확인하기/정수민 . . . . 7 matches
네이버 지식즐의 위력 =0=
printf("주민번호 를 하이폰없이 입력\n");
if (k==a[12]) printf("대한민국 국민이네요~ ^^ 안녕하세요!");
else if (k==10) {if (a[12]==0) printf("대한민국 국민이네요~ ^^ 안녕하세요!");}
오옷...멋지닷..ㅎㅎㅎ 만드느라 수고했어..^^ 역시 맨트가 같네..ㅎㅎ 그런데 공식부분 약간 노가다성이..^^;;ㅁ;;
오오오 일등이다 'ㅅ'// - 태훈[zyint]
- 창섭/삽질 . . . . 7 matches
* 같은 실수를 두번하지 않도록. 페이지를 만들어 가끔 둘러보다보면 무의식중에 실수를 방지할 수 있을 거란 생각에 만듦. 사람은 한 번 본것은 무의식에 저장을 하고 자신도 모르게 무의식이 의식으로 나온다 하지 않던가...
* 실수는 어이없게 생기는 경우가 허다하다. 황당하게 시간버리지 말자. =_=
* 이제 절대로 하지 않을 것 같은 삽질, 내가 생각하게에 제일 어이없는 삽질 순위 3까지만 보관한다. 나머진 큐처럼 지우기.
* 이상하게 함수가 작동을 안하거든 기본적으로 parameter 갯수와 reference 여부를 확인하자.
* type casting 에 의한 data 손실이 일어나는 곳을 추측하자.
- 3 N+1 Problem/조동영 . . . . 6 matches
cout << "2개의 값을 입력하시오 단 첫번째것이 더 작은 숫자이어야함" << endl;
승한이가 해보래서 함 해보았어요
ㅠㅠ 안배꼈는데... 하고나서보니 희경이형꺼랑 똑같네요... 음.. 1과 1000000입력하면 답이 안나오고요...
흔히 생각하는 알고리즘은 다들 비슷해서 소스가 비슷한 경우가 많어. 그걸 더욱 더 향상 시키려는 노력이 필요하지. 요즘 다른 알고리즘을 생각하려고 노력 중인데 잘 안떠오르네 ㅋ --[강희경]
- 3N+1Problem/문보창 . . . . 6 matches
그러나 입력 최악기준 (1, 999999) 에 대해 수행시간이 턱없이 길다.
int maxCycle = findMaxCycle(a, b); // 최대 사이클
int nCycle; // 사이클 길이
int maxCycle = 0; // 최대 사이클
- APlusProject/CM . . . . 6 matches
CM 페이지입니다.
Upload:APP_ConfigurationManagementPlan_0406-0511.zip - 버전 1.0 이전의 문서
이전꺼랑 다 똑같은데 끝에 페이지 잘못되었길래 수정해서 올렸습니다 (QA - 서윤주) - 수정해서 다시 올렸다
=== 이야기 ===
예를 들어 개발 계획서는 끝났으므로 이전 버전 까지 해서 모두 압축해서 하나의 파일로 올리는 것입니다.
- Applet포함HTML/영동 . . . . 6 matches
* 음... HTML 컨버터로 컨버트하긴 했는데 ftp사용법을 몰라서 계정에 올리는 법을 모르겠네요. 그러한 관계로, 상욱이처럼 파일 내용만 올릴게요. ftp쓰는 법 배워서 링크시킬게요... [http://165.194.17.15/pub/util/WinSCP2.exe WinSCP 2.0 Beta]
음... 계정에 올린 다음 링크를 시켰는데 이상하게 안 되네요. 경로도 맞고 권한도 문제 없을텐데...
또 위의 두개가 안 되길래 친구의 컴내꺼 계정을 조금 빌려 올려봤는데, 접근이 거부되었다고 나오네요.
이상하네... 프로그램을 잘 못 짠 건가?[[BR]]
DeleteMe 한가지 지적하고 싶은데요. jre 의 버전이 낮은것으로 applet 링크가 세팅되어 있어서, 최신 버전의 jre의 pc라도 jre 1.4.0_03 을 설치하려고 하는군요.
</COMMENT>
- BeeMaja . . . . 6 matches
마야라는 꿀벌이 있다. 마야는 수천 마리의 다른 벌들과 함께 육각형 모양의 벌집에서 살고 있다. 그런데 마야에게 문제가 생겼다. 그녀의 친구 윌리가 만날 장소를 알려줬는데, 윌리(숫놈 일벌)와 마야(암놈 일벌)는 서로 다른 좌표계를 사용한다.
* 윌리의 좌표계(오른쪽 그림) - 윌리(오른쪽)는 조금 지능이 낮아서 벌집 한가운데 있는 1번 지점에서 시작해서 시계방향으로 걸어서 이동하는 방법밖에 쓸 수 없다.
입력 파일에는 한 줄에 하나씩, 한 개 이상의 정수가 입력된다. 모든 벌집 번호는 100,000 미만이다.
=== 풀이 ===
- Bigtable/분석및설계 . . . . 6 matches
=== GFS와 차이점 ===
* 데이터의 실시간 처리가 가능하다.
* bigtable은 실시간 검색이 가능하다.
* GFS는 전체 테이블을 scan해야 한다.
* 프로그래밍에 가깝게. 자료구조와 알고리즘등이 나옴.
1. 오프셋을 이용한 기록 -> 원형 자료구조
- EnglishSpeaking/TheSimpsons/S01E01 . . . . 6 matches
* 크리스마스를 즐겁게 보내는 옆집 플랜더스네 가족들, 심슨네 가족들도 나름의 크리스마스를 보내려고 한다. 반면 심슨네 가족은 호머의 회사에서 크리스마스 보너스가 지급되지 않게 되고 크리스마스 때 쓰기 위해 모아놨던 저금통도 바트가 팔에 허락없이 문신을 해버리는 바람에 이를 지우기 위한 시술비로 전부 날려버린다. 호머는 모를 통해 알게 된 산타클로스 아르바이트를 하지만 받게 되는 급료는 겨우 13달러. 호머와 바트는 바니를 통해 알게된 경구장에서 '산타의 작은 도우미'라는 개에게 13달러를 모두 걸지만 꼴찌를 하고 돈을 잃는다. 그 대신 경구장에서 아예 쫓겨나 버린 '산타의 작은 도우미'를 크리스마스 선물로 집에 데려간다.
* 내용 : 바트가 허락 없이 문신을 해버리는 바람에 병원에 가서 모아둔 현금을 다 써버린다. 호머는 이 사실을 알고 차마 보너스를 받지 못했다고 말하지 못함.
1. 10:55 ~ 12:00 // 가장 짧고 쉬운 난이도
- FromCopyAndPasteToDotNET . . . . 6 matches
* 장소 : 미정 (7층 PC실 옆 대학원 세미나실이 될것같음)
* 대상 : ["ZeroPagers"] (되도록이면 01학번과 02학번)
* [http://msdn.microsoft.com/workshop/components/activex/intro.asp Introduction to ActiveX Controls]
* [http://msdn.microsoft.com/library/en-us/cossdk/htm/betaintr_6d5r.asp Introducing COM+]
* [http://msdn.microsoft.com/library/en-us/cpguide/html/cpovrintroductiontonetframeworksdk.asp Overview of the .NET Framework]
* 이 자료가 복학하고 나니깐 필요하게 되었구만, 상규야 쌩큐 - [상협]
* 와우...-_-ㅋ;; 이런 페이지도 있었군요!! - [이승한]
- HardcoreCppStudy/첫숙제/Overloading/임민수 . . . . 6 matches
함수의 이름은 같게 하되 전달인자들의 개수나 형식에 따라 다르게 사용될 수 있도록 정의하는것을 말함..
즉.. 영어의 한 단어의 뜻이 문맥상황에 따라 다르게 해석되는것을 뜻함
* 마방진 짜본것.. 아직은 많이 미숙하네요..
cout << " 원하는 마방진의 크기를 입력하세요 (11 이하의 홀수만) : ";
cout << endl << "총 이동 횟수는 " << cnt << "입니다. ";
cout << endl << "총 이동 횟수는 " << cnt << "입니다. ";
- NumberBaseballGame/jeppy . . . . 6 matches
/* 지화니네 집에서 할일없이 뒹굴거리다가 ZeroWiki에서 보고 함 해봤음 --v
음.. 근데 역시 플밍을 안하다가 하니까 이것도 어렵넹..
이것저것 해봐야겠당~ editplus 사용해도 꽤 괜찮넹.. 답답한 도스환경에서 해방~
근데 스팩이 좀 이상한거 아닌가.. 중복된 숫자가 나오면 풀 수 있는건가? --a
ex) 223 이라고 나오면 쉽게 풀 수 있을까? 흐음..
- One/박원석 . . . . 6 matches
숫자 입력받음. 입력값이 1이면 64출력, 2이면 10출력, 3이면 23출력, 그 이외의 값이면 "error" 출력 |}}
- PragmaticVersionControlWithCVS/HowTo . . . . 6 matches
이 장의 나머지에서는 버전관리의 전체 구조를 만들어 나가는 방법.개발팀이 매일해야하는 기본적인 실천 방법을 제시함.
VersionControl 은 개발팀이 해야할 3가지 실천과제중의 한개. ( UnitTest, Automation )
''자동화라는 것은 ant 같은 것을 말하는 것이겠죠? - [eternalbleu]''
이 경우 체크인처럼 여러번 그리고 자주하는 일에 적용되는 규칙은 간단해햐한다.
릴리즈 브랜치와 같은 일은 좀처럼 생기지 않으므로 좀 규칙이 복잡해도 되지만 최대한 간단하게 한다.
- PrimaryArithmetic . . . . 6 matches
초등학생들이 여러 자리 수의 덧셈을 배울 때는 한 번에 한 자리씩 오른쪽에서 왼쪽으로 계산하도록 배운다. 그런데 그 자리 숫자의 합이 10을 넘어갈 때 그 윗자리 숫자에 1을 더해주는 것을 배울 때 많은 학생들이 힘들어한다. 일련의 덧셈 문제가 주어졌을 때 자리를 올리는 횟수를 세어서 선생님들이 학생들을 가르치는 데 도움을 줄 수 있는 프로그램을 만들어야 한다.
각 행에는 열 자리 미만의 부호가 없는 정수가 두 개씩 입력된다. 마지막 줄에는 '0 0'이 입력된다.
=== 풀이 ===
- RUR-PLE/Etc . . . . 6 matches
* 현재 2개 이상인 씨앗이 밭에 있다. 모두 1개인 씨앗만 있게 만든다.
* 이 경우에서의 처리를 while 문을 사용하여 처리한다.
== 이제 만든 amazing을 써먹어 보자 ==
* amazing을 해보면서 느낀점을 각자 이야기 해봅시다~!
* trash2.wld 파일을 연다. trash1에서 작성한 로직이 여기서도 돌아가야 한다.
- RubyLanguage/InputOutput . . . . 6 matches
= 관련 페이지 =
* each_byte : 한 바이트씩 읽어옴
* each_line : 세퍼레이터를 넘겨 한 단위(세퍼레이터로 구분)씩 읽어옴
* TCPSocket을 이용한 네트워킹
* [http://lambert.tistory.com/167 참고 사이트]
- SmallTalk_Index . . . . 6 matches
보낸이:김찬홍(안드래아) 1998-11-22 03:25 조회:429 1/6
| !: 별도의 자료파일이 제공되는 글
| 2. 객체들과 나누는 이야기
| 3.2.1. 이름이 뭐지? <#24>
| ! 3.3. 운동장 놀이
- SoftwareEngineeringClass/Exam2002_1 . . . . 6 matches
암튼 3문제중 두문제가 QA에 관한 것이라니 당황; Structured A&D 나 정보공학에 대해서는 아에 언급이 없군. (혹시 이거 kaspa 시험인가; 아무리 이경환 교수님이 kaspa 회장이시라고 하지만.) 암튼. 흑; --석천
- [Lovely]boy^_^/Diary/2-2-7 . . . . 6 matches
* 푸쉬푸쉬 프리젠테이션 오늘했다. 발표라는걸 정말 오랜만에 해보는거 같다. 초등학교때는 서로 발표하겠다고 손들고 난린데.. 나이 갈수록 점점 서로 안할라는거 보면 정마 신기하다.
* ESTL은 왜 안들어오는것이냐
* 데이터통신 너무 싫다
* 알카노이드 좀 손대다 데이터통신 보고 있다.
- [Lovely]boy^_^/Diary/7/29_8/3 . . . . 6 matches
|| 3D || 프랙탈을 이용한 지형 만들기 || 100%? || 재귀땜에 쫄았는데.. 잘돼서 다행이다 ||
|| C++ || 슈퍼마켓 뜯어 고치면서 새로운 방법 익힘 || 100%? || 커맨드 패턴이라고 부르더군 ||
|| 3D || 슈퍼바이블 나머지 || || 숙제해오기 : 네비게이션,텍스쳐 입히기 ||
* 역시 밤 10시까지 일하고 새로하는 라이벌 보고 스타리그 보다 보니 아무것도 못했다
- [Lovely]boy^_^/ExtremeAlgorithmStudy/MathematicalFoundations . . . . 6 matches
* 빅오, 세타, 시그마 notation 등등.. 넘기다 보니 스몰오, w(오메가)이런것도 있다.
* 순증가, 순감소 이런거
* 수열(Series), 급수(Summation), 수학적 귀납법(Mathematical induction), ... 이건 좀 생소해 보이는데.. 무슨 수렴성 판정하는거 같다.(Bounding the terms), 적분
* 재귀(... 아 이건 아무리 해도 감이 잘 안온다. 역시 마니 짜보면 될까)
- jQuery . . . . 6 matches
jQuery는 “자바스크립트 프로그래밍을 즐겁게 하자”는 목표로 설계된 자바스크립트 라이브러리입니다.
jQuery를 사용함으로써 일반적이고, 반복되며, 업무량을 증가시키는 불필요한 마크업들을 제거할 수 있고, 이를 통해 작고, 훌륭하며, 이해하기 쉬운 자바스크립트 코드를 작성할 수 있습니다.
ajax의 바람을 타고 jscript 에도 라이브러리의 바람이 불어오네요;; -_-;
- 꿈 . . . . 6 matches
꿈이란게.....역시...무지..신기한게..많다...
나에게 너무나 소중한 무언가를 얻기엔..아직 내가 너무 부족한것이 많은거 같아...
그녀석이 믿어보란다...한없는 기다림속에..끝있다고...
나..정말..바보같아...이러면 안되는거 알면서도...
일러수밖에없는...비겁한..겁쟁이인가봐..
[홈페이지분류], [ZeroWikian]
- 데블스캠프2009/금요일/SPECIALSeminar/조현태/변형진/김준석 . . . . 6 matches
1. 우선 연구실 일때문에 늦게 온 점이 아쉽다. 역시 디버깅 전에는 충분한 생각이 있어야 할것 같다. 목표를 잘 세워야 할것 같다.
1. 일단은 기본이 중요하다. 그리고 기본에대한 방향성에 대해 어느정도 감이 잡히는듯 하다.
2. 실무에 관해서 학교에서 배우고 나가서 '난 딱 이정도다.'라고 간단하게 증명되는게 아닌것 같다.
3. 영어, 프레젠테이션 능력 등. 발전된 능력을 더욱 다듬는게 좋지만 나에게 부족한 말하기와 쓰기능력을 연습하는게 계획.
- 문자반대출력/문보창 . . . . 6 matches
음 만약에 한글과 같은 확장문자가 담겼다면 process_wchar() 함수에서 약간의 꼼수를 부린다. 가상의 예(실제로 이렇게 되지는 않지만, 원리는 같음)를 들어보자. "가나" 라는 문자열을 ver1과 같은 통상의 프로그램으로 뒤집으면 "나가"와 같이 프로그래머가 원했던 결과가 나오는 것이 아니고 "ㅏㄴㅏㄱ"가 나온다. 그렇다면 확장문자를 판단해서 문자열을 뒤집기 전에 "가나"라는 문자열을 "ㅏㄱㅏㄴ" 이렇게 만들어 놓는다면 기존 ver1의 프로세스를 전혀 바꾸지 않고도, process_wchar()만을 추가하는 것으로 원했던 기능을 모두 수행하게 된다.
// str[i]는 char. 하지만 이것이 확장문자의 일부라면 음수가 담기게 된다.
- 빵페이지/소수출력 . . . . 6 matches
2, 3, 5, 7, * * * 이런식으로 입력받은 숫자 전까지 소수를 출력
* 이런 방법도 있었군 ㅎㅎ 잘했으~ - 민수
//주영이랑 원리가 비슷한 듯하다..(숙제의 영향인가;)다른 방법으로도 시도해봐야겠다.ㅡㅜ
* 이런방법도 있구나.. 잘봤음~^^ - 주영
웬지 내것이 제일 어거지 같다 -_-;;;;;;;;;
[빵페이지]
- 새싹교실/2011/AmazingC/6일차 . . . . 6 matches
||이가희||O||
* 함수엔 반환형이 존재한다.(반환형을 쓰지 않아도 된다)
* sum2의 경우 호출시 메인함수 위에 선언이 되어있나 확인한 다음 sum2의 정의부를 실행한다!!
6일차를 너무 늦게 올렸다. 얘들아 미안 ㅋㅋㅠㅠ 함수에 대해 좀 자세하게 알려주고 싶어서 2파트로 나눴다. 함수의 기본적인 개념들이라, 그리 어렵진 않았을 것 같다. 그리고 삼항 연산자를 이용해서 팩토리얼을 계산하는 방법도 알려주었다. 다음 시간엔 지역변수,전역변수,정적변수에 대해 배우고, 함수를 이용한 다양한 연산을 연습합니다.-[[신기호]]
- 신혜지 . . . . 6 matches
처음 개인페이지의 추천 양식입니다. 적당히 고쳐서 쓰세요.
ZeroPage 회원이라면, 다음의 정보가 들어가도록 해주세요.
E-Mail 을 직접 노출하면, 스팸 메일 로봇들이 퍼갈수 있습니다.
홍길동@zeropage.org 이라면, 홍길동 엣 zeropage 닷 org , 같이 적어주세요.
[홈페이지분류], ZeroPagers, ZeroWikian ( DeleteMe 복수개로 선택해 주세요. )
- 윤성복 . . . . 6 matches
처음 개인페이지의 추천 양식입니다. 적당히 고쳐서 쓰세요.
ZeroPage 회원이라면, 다음의 정보가 들어가도록 해주세요.
E-Mail 을 직접 노출하면, 스팸 메일 로봇들이 퍼갈수 있습니다.
홍길동@zeropage.org 이라면, 홍길동 엣 zeropage 닷 org , 같이 적어주세요.
[홈페이지분류], ZeroPagers, ZeroWikian ( DeleteMe 복수개로 선택해 주세요. )
- 정모/2002.5.16 . . . . 6 matches
* 우리 전시회를 대체할 2학기 학술제에 낼 작품에 대해서 얘기해봐야 하지 않을까요? (왠지 이러다가 그냥 묻힐거 같아서..) -상협
* HCI(Human Computer Interaction)발표 하겠습니다. 이번 심리학과 리포트 때문에 작성하던 것인데, 같이 하시는 분께서 관련 업계 종사자라서, 너무 많은 자료 때문에 제가 치일 정도 입니다. 일단 방대한 자료는 필요시 드릴수 있고, (관련 논문, Samsung 개발자료 etc, xp, aqua, palm guide line 등) 발표 골자는 기본적으로 심리학의 이해 시간에 발표 자료 기반으로 컴공과에 맞추어 발표 하겠습니다. 못했지요. 약간 아쉽네요. 차후 HCI자료가 필요하신분이 있거나, 이런 분야도 있구나 란걸 알고 싶으면 세미나 해드립니다. --상민
- 지금그때2004/전통과사유20040329 . . . . 6 matches
(페이지 제목은 도올 선생님의 이번학기 강의 제목을 페러디 했습니다.)
* 5:30 신피 모임, 칠판있는 곳으로 이동, 자료확인(4413)
* 준비만 해도 생각해야 할일이 상당히 많다는 점.
* 현재 준비에서 문제점이 구체적으로 드러났다는 점.
* 회의가 많이 힘들었던 점.
- 행사 . . . . 6 matches
중앙대학교 컴퓨터 공학부 내 학회 ZeroPage의 행사를 정의하고 설명하는 페이지.
* 선배와 후배와의 이야기를 들어 볼 수 있는 행사.
* 제로페이지 신입생 준회원은 데블스캠프를 통해서 정회원이 된다.
* 기증 받은 책은 홈페이지 '나를만든책장' 게시판에서 대출 신청을 할 수 있다.
ZeroPage의 다수 인원(단체)이 참가한 행사.
- 홈페이지Template . . . . 6 matches
처음 개인페이지의 추천 양식입니다. 적당히 고쳐서 쓰세요.
ZeroPage 회원이라면, 다음의 정보가 들어가도록 해주세요.
E-Mail 을 직접 노출하면, 스팸 메일 로봇들이 퍼갈수 있습니다.
홍길동@zeropage.org 이라면, 홍길동 엣 zeropage 닷 org , 같이 적어주세요.
[홈페이지분류], ZeroPagers, ZeroWikian ( DeleteMe 복수개로 선택해 주세요. )
- 5인용C++스터디/시계 . . . . 5 matches
[http://165.194.17.15/~lsk8248/wiki/Study/5%c0%ce%bf%ebC++%bd%ba%c5%cd%b5%f0/%bd%c3%b0%e8/Clock.exe 시계]
|| 이름 || 다운로드 || 평가 ||
||조재화2||[http://165.194.17.15/pub/upload/ClockByCHO_2.zip]|| 잘했음. ||
||노수민||[http://165.194.17.15/pub/upload/Clock_SM.zip]|| 잘했음. ||
||황재선||[http://165.194.17.15/pub/upload/Clock_JS.zip]|| 잘했음. ||
- 5인용C++스터디/타이머 . . . . 5 matches
* 타이머가 무엇인가?
* 타이머는 어떻게 사용하나?
* 멀티미디어 타이머는 무엇인가?
* 멀티미디어 타이머는 어떻게 사용하나?
|| 타이머 예제 || Upload:Timer.zip ||
- Cocos2d . . . . 5 matches
* 서울어코드 멘토링에서 Code S 팀 중, [김민재]와 [백주협]이 "스마트 TV 게임 어플리케이션"을 제작하기로 함.
* 스마트 TV와 안드로이드 디바이스에서 Cocos2d를 활용하여 게임 진행현황을 보여주기로 함.
* Cocos2d를 다루면서 배우는 코드를 이 곳에 작성하여 공유하고자 함.
- Expat . . . . 5 matches
MS 진영의 XML 파서는 MSXML SDK 가 가장 많이 쓰이겠지만, 리눅스 계열 혹은 OpenSource 진영에서의 XML 파서는 Expat 이 일통한 듯 보임.
파이선의 기본 XML 파서로 채택되어 이용되고 있다. 정직 형님의 강력 추천에도 불구 MS 계열의 개발자는 좀 꺼리는 듯 하다. ㅡ.ㅡ;; (사람은 익숙해지면 못버린다. ㅋㅋ)
- HardcoreCppStudy/첫숙제/Overloading/변준원 . . . . 5 matches
C++의 새로운 특징 중 하나인 디폴트 전달인자를 살펴보자. 디폴트 전달인자는 함수의 호출에서 대응되는 실제 매개변수를 빠뜨렸을 때 자동적으로 사용되는 값이다.
다음은 함수의 다형성에 대하여 알아보자. 디폴트 전달인자는 개수를 변화시켜 가면서 같은 함수를 호출하게 했다. 함수의 다형성은 함수의 재정의라고도 하는데, 이는 여러 개의 함수가 같은 이름을 사용할 수 있게 해준다. ‘다형성’이라는 표현은 많은 형태를 가질 수 있게 해 준다.
함수 재정의의 중요한 열쇠는 함수의 전달인자 리스트인데, 이것을 함수의 시그내처라고도 한다.
- OperatingSystem . . . . 5 matches
일종의, [[SeparationOfConcerns]]라고 볼 수 있다. 사용자는 OperatingSystem (조금 더 엄밀히 이야기하자면, [[Kernel]]) 이 어떻게 memory 와 I/O를 관리하는지에 대해서 신경쓸 필요가 없다. (프로그래머라면 이야기가 조금 다를 수도 있겠지만 :) )
[[임인택]]이 점점 채워나갈 예정 : 신경계, 뇌, 이성...-_-a
- ProjectPrometheus/Iteration5 . . . . 5 matches
|| 목|| 8/15 || 이틀 작업; ||
|| Java Package, 웹 페이지들 디렉토리 정리 || 1 || ○ ||
|| 추천해주기 페이지 작성, 웹으로 연결 || . || . ||
|||||| User Story : Login 후에 Search을 하고 책을 보면 추천 책이 나온다. ||
|| ["ProjectPrometheus/CollaborativeFiltering"] 설명 작성 || . || . ||
- ReverseAndAdd/1002 . . . . 5 matches
* 옆의 형이 matlab 으로 풀고 나는 python 으로 풀기 시작. python 이 시간이 약간 덜 걸렸는데,
이유는 reverse 처리 부분을 matlab 으로 빨리 프로그래밍 하기 좋지가 않다는 점. 나머지 코드는 둘이 거의 거의 비슷하게 나옴.
- SearchAndReplaceTool . . . . 5 matches
자동 리팩토링 툴이 지원되지 않는 언어들(C/C++, HTML 등) 을 위한 텍스트 일괄검색 & 치환 툴.
괜찮은 툴들이 꽤 있는 듯 함.
Actual Search & Replace 를 쓰는중. 기존 사이트 이어받은거 웹 노가다일을 해야 할 경우 매우 편리. (예전에는 그때그때 python script 를 만들어썼는데, 그럴 필요가 없을듯) --[1002]
- Spring/탐험스터디 . . . . 5 matches
* [Spring]의 핵심 가치와 원리에 대한 이해
* 코치는 리더가 아니라 네비게이터의 역할
* 코치 참석 여부와 상관없이 스터디를 정시에 시작한다.
* 스터디 대상이 매우 방대하므로 충분한 개인적인 학습과 과제 수행, 그리고 스터디 모임에서 많은 질문을 할 것
* 헐 이 스터디를 시작한게 벌써 1년 2개월째라니..
- Star/조현태 . . . . 5 matches
복잡해 보였던 만큼... 복잡했다~!! 이게뭐닝..
빠르게 할 방법이 전혀 생각 안나는건 아니지만.. 오늘은 바쁜 일이 있어서 ^^ 나가봐야하는 관계로..
....... 일이있다는 핑계로 귀차니즘을 무마하는....켁;; (생각하기 귀차너~)
printf("5 7 8 9 6 1 9 0 9 8 4 6 <- 요게 기본. 이대로 처보아요~''/ \n");
- StephaneDucasse . . . . 5 matches
최근 Stephane 은 Squeak 에 대한 책을 쓰고 있다. http://scgwiki.iam.unibe.ch:8080/StephaneDucasseWiki 에서 읽을 수 있다. Turtle Graphics 를 이용한 튜토리얼을 제공하는데 정말 재미있다! Smalltalk 를 입문하려는 사람에게 추천.!
Refactoring 책에서 acknowledgement 를 읽던중 StephaneDucasse 이름을 보게 되었다. 이전이라면 저 이름을 그냥 지나쳤을텐데. 신기하다. --[1002]
- UML/CaseTool . . . . 5 matches
UML Case 툴의 기능은 크게 다음의 3가지로 구분할 수 있다. round-trip 기능은 최근의 case tools의 발전중에 나오는 기능임. 필수적인 기능으로 보이지는 않음.
현존하는 대 부분의 케이스 툴의 종류를 알 수 있다.
Rational Software Architect, Together가 유명하고, 오픈 소스로는 Argo, Violet 이 유명하다.
UML 케이스 툴과 달리 Visio 같은 경우에는 Diagramming 기능만을 제공한다. Diagramming Tool 이라고 분류하는 듯하다.
- dlaza . . . . 5 matches
* 이름 : 박 범 용
* 취미 : 음악 듣기 (베이스 연습, 등;;)
2. 베이스 잘 치기
베이스 짱 되기
[홈페이지분류], ZeroWikian
- fm_jsung . . . . 5 matches
*이름 : 김진성
*제로페이지 뜻이 머에여? SeeAlso ZeroPage <-- 감사~~
* fm_jsung 뜻이 머에여? -0- free style mc jin sung 멋진 아뒤 찾는 도중에, 친구의 도움으로^^
[홈페이지분류],ZeroPagers
- lostship . . . . 5 matches
정헌이의 페이지
|| ["Boost"] || Boost 라이브러리 설명 ||
|| ["위키에 코드컬러라이저 추가하기"] ||
["홈페이지분류"], ["ZeroWikian"]
- 김도현 . . . . 5 matches
저는 05학번 김도현이라고 해요~
MSN아이디요~: tkffuwnj5골뱅이hotmail닷com
폰번호는 010-4666-8858 이에요~~
[홈페이지분류], ZeroPagers, ZeroWikian ( DeleteMe 복수개로 선택해 주세요. )
- 몸짱프로젝트/CrossReference . . . . 5 matches
* 배열 변수 제거. string과 동적 할당 이용.
* 파이선 코드를 바탕으로 짜려고 했으나, 완전히 다르게 되어버려 시간이 더 오래걸렸다.
else if ( isspace(ch) || ispunct(ch) == 16) // 공백이거나
ch = fin.get();// 알파벳이 아닌 문자일 경우
- 문자열연결/허아영 . . . . 5 matches
다른아이들도 매우 쉽게 여길 것 같은 문제다.
책이 이제 조금 있으면 스택, 큐 그리고 정렬에 대한 문제들이 많다.
점점 소스 길이가 길어질 것 같다.
- 변형진 . . . . 5 matches
* '''나도 언젠가 이 페이지를 뒤집으리라...!'''
* 과연 그런 시간이 날까... - [김수경]
* 그러게 말이죠.. 2006년에서 멈춰있는듯한 -[김태진]
= 포함된 페이지 =
- 소프트웨어장인정신 . . . . 5 matches
소프트웨어를 개발하는데 장인정신이라는 비유를 사용한다. 프로세스와 프로세스 산출물에 초점을 맞추는 소프트웨어 엔지니어링은 규모가 작은 프로젝트에는 좋은 선택이 아니다. 평범한 소프트웨어 개발자 여럿을 두고 이를 관리하기보다 장인 소프트웨어를 개발자 한 명을 고용하는 편이 속도나 품질 모두에서 낫다. 따라서 전통적인 수공업에서 나타나는 도제생활이 초보 프로그래머에게는 필요하다. 프로그래머는 도제를 거쳐 중간 장인으로, 결국에는 장인으로 성장하게 된다.
- 실습 . . . . 5 matches
성적 관리하는 프로그램을 클래스(class)를 이용하여 C++로 작성하여 본다.
이름 char[21] m_szName
5) Project 이름을 삽입한다.
11) C/C++ Header File을 선택한 후, 오른쪽 File 칸에 "SungJuk.h"라고 기입한다.
15) Source 작성이 끝나면, F7을 눌러 Compile한다.
- 위키설명회2006 . . . . 5 matches
= 제로페이지 홍보 및 위키설명회 2006 =
대상 : 새내기 or 제로페이지에 관심있는 사람.
* 1차 홍보 : 3월 6일 A4 전단지 봅스트홀에 붙이기. (7피, 구피, 화장실, 1층,4층 엘리베이터 앞, 컴공 행사란)
* 2차 홍보 : 3월 8일 강의실 홍보. 수생, 아영, 현태, 민경이가 강의실에 들어가 홍보한다.!
- 임인택/내손을거친책들 . . . . 5 matches
(실제로 읽은 책들/내손을 거친 책들)의 비율을 높이자.
* GE처럼 커뮤니케이션하라
* 잭 웰치처럼 프레젠테이션하라
* 모든것은 돌멩이와 몽둥이로부터 시작되었다
- 정모/2005.3.21 . . . . 5 matches
나휘동, 강희경, 하욱주, 조동영, 황재선, 문보창, 차영권, 이도현
*4일: 이론
*앞으로 많은 이야기가 필요함
* 신입회원 모집 홍보는 어떻게 하기로 되어있나요? 동문서버 안들어 가거나 있는 모르는 사람들도 많을텐데... 강의실 홍보나 대자보 홍보가 적어도 이번주 부터 이루어져야 좋을거 같습니다. 그리고 홍보할때 꼭 신입생 말고 복학생,전과,편입생들도 염두에 뒀으면 좋겠습니다.
- 중위수구하기/김태훈zyint . . . . 5 matches
배열 소트 기능이 있어서 php로 해봤다;;
* 오+_+ 이 언어가 PHP구나.. 해석 불가능 ㅋㅋ;; ㅠㅠ --아영
* 오랜만이군 PHP 고등학교 때 이거배워 PHP 사이트 Hacking 하고 다녔는데. 근데 C랑 비슷해. 쉬운 변수형의 C -_-ㅋㅋ --영호
- 최소정수의합/허아영 . . . . 5 matches
이부분의 순서가 잘못되었습니다.^^ 수행하면 n이 1이 크게나온답니다.^^
만약에 3000까지가 아닌 더 큰 수를 입력하고 프로그램을 돌려보시겠어요? 위의 코드에서 int 를 double 형으로 바꾸고 3000 대신 18000000000000000000 을 넣은 코드입니다. 한번 실행해 보세요. 더 나은 방법이 생각나실수도 있을것 같아요. 문제를 풀고 나서 어떤 점을 느끼셨나요? - 아무개
흠. 아직도 돌아가고 있어요 -.- 루프가 무섭네요. 큰 수에서도 빠르게 돌아가는 방법이 뭐가 있을까 생각해 봐야겠군요.. -[허아영]
- 파스칼삼각형/김태훈zyint . . . . 5 matches
멋지답~ +.+ 나두 이렇게 멋진 소스를 짜고 싶은데.. 영 계획없이 짜서말야..;;
함수가 멋지게 안나오는.. 이런 훌륭한녀석~!!
아영아 이런 소스를 참조하라고.. 내거 같은 가독성 없는 소스 말고..ㅎㅎ - [조현태]
헐헐;;; 이런 과찬의 말씀을 'ㅅ';; - 태훈[zyint]
- 학회간교류/08 . . . . 5 matches
* 숭실대(학회이름을 아직 모르겠네요)
* 제로페이지, PCRC, JARAM, TGWING, 숭실대
* 자람에 연락은 제가 하고 TGWing에는 승한형이 하기로. 일단 연락에 대한 회답이 오길 기다림 2008.11.30 - [김홍기]
* 학생이다. 시험기간에는 시험에 집중하자. 그렇다고 논의를 중단할 수는 없다. 온라인에서 토론을 진행하자.
- 5인용C++스터디/메뉴와단축키 . . . . 4 matches
클라이언트 영역에 마우스 오른쪽 버튼을 누르면 실행된다.
cmenu(주메뉴의 첫번째 부메뉴판이 기억되어있는)를 좌표 (point.x, point.y) 이후에 표시한다.
0은 메뉴판이 마우스 커서 오른쪽 아래에 표시되게 한다.
- AM/20040824열두번째모임 . . . . 4 matches
* 참석자 : 이슬이 곽세환 김회영 서영희
* 공부한 내용 : MFC 교재 6장(도큐먼트의 데이터 관리)
* 알카노이드 혹은 베네치아 만들기
- AcceleratedC++/Chapter1 . . . . 4 matches
|| ["AcceleratedC++/Chapter0"] || ["AcceleratedC++/Chapter2"] ||
interface : 객체의 타입으로 묵시적으로 내포 되어 있는 것은 인터페이스로서, 해당 타입의 객체에 사용 가능한 연산(operation)들의 집합을 말합니다. name을 string 타입의 변수(이름 있는 객체)로 정의 하게 되며, 우리는 string으로 할 수 있는 모든 일들을 name으로 하고 싶다는 뜻을 묵시적으로 내포하게 됩니다.
- DebuggingApplication . . . . 4 matches
== CRT Debugging 관련 페이지 ==
== 리베이스 관련 페이지 ==
디버깅하는 데, 유용하다고 볼 수도 있고 어떻게 보면 절대적이라고도 볼 수 있는 툴
- EuclidProblem/조현태 . . . . 4 matches
최대공약수는 저번에 만들어 놓은 소스.. 복사~붙여넣기.. 이걸로 해결~
내가 수학시간에 주로 써먹었던.. 대입법! (이름만 거창하지 적당히 찍어서 넣어본다라는 이야기..)
... 대입법도 훌륭한 풀이다 뭐...ㅠ.ㅜ....
- JTDStudy/첫번째과제/정현 . . . . 4 matches
심심해서 해봤음;; 난 JTD랑은 상관이.. ㅋㅋ
테스트케이스
if문과 이중for 루프를 돌지 않으려고 발버둥쳤다;
벡터를 이용해 번호를 뽑는 것은 효율적인것 같진 않지만, 새로운 시도라서 신선했다
- Java/스레드재사용 . . . . 4 matches
아래 코드에 문제가 있는것 같아요. 분명 두개의 메소드가 같아보이는데 (주석처리된 run() 메소드와 run() 메소드) 한개만 되고 나머지 한개는 에러가 납니다(unreachable statement) - 임인택
waitfortarget() 콜하기 전에 중괄호가 두개 있고 하나 있는 차이인것 같은디?? 음.. 지금 주석처리 안한 run에서 에러가 나는거야?
만약 그러면.. 무한루프때메.. wait..어쩌구 함수에 도달 못해서.. '도달할수없는 문장' 이라는 에러가 나는것이 아닐까..??? (._.);
- JavaStudy2002/상욱-2주차 . . . . 4 matches
답이 완전히 나오긴 했는데요.... 실제 의도와 똑같이 되지 않은 것이 흠이네요...ㅠ.ㅠ
- MagicSquare/성재 . . . . 4 matches
마방....음...이름이..기억이..-_-;;
혹시나 이거 밑바탕으로 될지 압니까??? ^-^;;
- OpeningStatement . . . . 4 matches
페이지를 새로 만들 때 그 페이지를 연 목적을 간결하게 밝히는 문장. 그 페이지의 첫문장이 되어야한다.
- Perforce . . . . 4 matches
상업용 RC 이며, 오픈 소스 프로젝트 진행에 한해서는 무료로 배포된다.
프로그램은 서버, 클라이언트 환경으로 관리되며, 서버는 소스의 모아서 관리한다. 서버 프로그램은 유닉스, 맥, MSWin 버전으로 제공된다. 클라이언트는 GUI, CMD 버전의 툴을 지원하며 다양한 OS 에서 이용가능하다. 또한 IDE 와 연동역시 지원한다. (IDE에는 3dmax, maya, photoshop, office 등을 포괄하는 방대한 시스템)
- RandomQuoteMacro . . . . 4 matches
'''Q''' : 블로그를 쓰면 Calendar 밑에 이 모듈이 붙어있더군요.
그런데 이 매크로에 의해서 나오는 내용은 어디에 들어있는거죠?
이 내용을 좀 바꿔보고 싶은데 어떻게 해야 할지 알 수가 없네요. -- lordmiss
- RandomWalk2/질문 . . . . 4 matches
(1) 음식을 먹고 일시적으로 슈퍼바퀴가 된 정상바퀴가 5턴이 지나기 전에 다시 음식을 먹으면 어떻게 되나요? 예를 들어 슈퍼바퀴가 된 지 2턴만에 다시 음식을 먹었다면 그 뒤로 8턴동안 슈퍼바퀴인지, 아니면 다시 이때부터 세서 5턴간 슈퍼바퀴인가요?
(2) 한 턴에 둘 이상의 바퀴가 동시에 음식이 있는 칸에 도착했을 때, 바퀴의 수가 음식의 수보다 많다면 바퀴들은 어떠한 순서로 음식을 먹게 되나요?
- StacksOfFlapjacks/조현태 . . . . 4 matches
.. 한번 생각하기는 쉽지만, 생각을 고치기는 어렵다고..
이 소스는 2번씩 뒤집는걸 기본으로 한다. (예외적으로 끝에 있을때는 한번 안뒤집는다.)
만든이의 귀차니즘으로 한회의 계산을 줄인 소스..후후후..
printf("팬케이크의 크기를 순서대로 입력해주세요. (0은 종료 또는 입력완료)\n>>");
- ThePriestMathematician/문보창 . . . . 4 matches
{{| 0.5a(a + 1) ≤ n, (a ≥ 0 이고, 수식을 만족하는 가장 큰 정수) |}}
그렇다면 입력 n 에 대하여 다음과 같은 식이 완성된다. a를 n에 대하여 바꿀 순 없을까?
p.s. 처음에는 k 개의 원반을 찾으려고 노력했으나, 실마리는 k 에 있지 않았다. 우리가 원하는 것은 k 를 찾는 것이 아니라 원반을 옮기는 총 횟수를 구하는 것이었다.
- WritingOS . . . . 4 matches
인원 : 박영창, 설윤창, 이상규
http://kangcom.com/common/bookinfo/bookinfo.asp?sku=200503170002
http://kangcom.com/common/bookinfo/bookinfo.asp?sku=200405280003
http://ucos-ii.com/contents/products/ucos-ii/ports.html
흠 과연 -_-;; 끝까지 갈 수 있을까? 할 것이 많군... 1월 되기 전에 다 볼 수 잇을까? - [eternalbleu]
이야~ 멋진데 ㅎ 재밌겠다. 나도 하고 싶긴 한데 이번 방학땐 다른걸 하기로 했으니,, - [namsang]
- ZIM/RealUseCase . . . . 4 matches
사용자 인터페이스와 함께 설명이 이루어지면 더 좋겠죠. 일단 ["ZIM/UIPrototype"]이 대강 나온다면... ^^;;;
- aekae/* . . . . 4 matches
허접하지만;; 중복되는 for문이 있는데 그걸 어찌 처리해야하는지 모르겠네요. 내공을 더 쌓아야지. -- [aekae]
재선아 굿샷. 근데 정말로 For 문이 넘 많네. - 장창재
오~ 잘하는데? 이정도면 For 문은 완벽하게 이해했다고 봐도 되겠는걸?? ^^; - 상욱([whiteblue])
- zennith/source . . . . 4 matches
=== 컴비네이션 ===
이 컴비네이션 함수.. 제대로 푼건지 확신이 안가는군요. 6c3 같은거로 테스트 해보면 제대로 돌아가는 거 같은데요.
- 논문검색 . . . . 4 matches
* [http://pasteur.kaist.ac.kr/ 카이스트과학도서관]
* [http://www.kins.co.kr/ 한국아이엔에스(KINS)]
["도구분류"] 이페이지 자체가 도구가 되길래
- 데블스캠프2005/RUR-PLE/Harvest . . . . 4 matches
|| [데블스캠프2005/RUR-PLE/Harvest/이승한] ||
== 이름 ==
리팩토링이 필요함..ㅎㅎ
== 이형노 ==
- 데블스캠프2009/월요일/연습문제/svn코드레이스/박준호 . . . . 4 matches
= 데블스캠프2009/월요일/연습문제/svn코드레이스/박준호 =
printf("당신이 이기셨습니다. You Win\n");
printf("당신은 졌습니다. 게임이 끝낫습니다. \n");
- 데블스캠프2013/둘째날/API . . . . 4 matches
<title>***의 홈페이지</title>
이름 <input name="name" size="10">
<th>이름</th>
echo '<script>alert("내용이 없습니다."); location.href="index.php";</script>';
- 선의나침반 . . . . 4 matches
* 1,2권 읽어 보니 대게 좋은책 같다. 이런 책을 만나기가 참 오래간만..
* '오직 모를뿐' 이라는 말이 기억에 남는다.오직 모를뿐...
* 라마나 마하리쉬가 말하는 '나는 누구인가'에 대한 질문도 숭산 대사도 똑같이 강조하는게 기억에 남는다.
- 시간맞추기/조현태 . . . . 4 matches
..문제는 별로 어렵지 않았다. time이녀석이야 평소에도 쓰니까..
그리고 문제에 오차율이 빠져있었다. 얼마나 정확하게 하라는건지..1/1000초는 아닐테지?? 1/100인가??
본인은 귀차니즘으로 그냥 1초.ㅎㅎ 8-9초사이에 눌러주기만 하면 된다.^^
- 오목/곽세환,조재화 . . . . 4 matches
MessageBox("흑이 이겼다.","승리");
MessageBox("백이 이겼다.","승리");
- 이덕준 . . . . 4 matches
안녕하세요. 이덕준입니다. [데기]라는 별명으로 활동하기도 했습니다.
제로페이지 9기이며 삼성SDS의 국방개발팀/NCW그룹에 재직 중 입니다.
["홈페이지분류"] [ZeroWikian]
- 정규표현식 . . . . 4 matches
* 4명 : 04 [이승한], 06 [김준석], 08 [김홍기], 10 [김상호]
* 책임자는 없으나 자신 담당의 문서는 자신이 적어야함.
* 스터디 문서는 정규표현식/스터디/챕터이름 (ex : 문자열찾기 ) (caution : 붙여써야함) 의 형태를 따른다
* Wiki 문서 작성시 안의 내용은 자유이나 맨위에 정규표현식 내용 링크 리스트는 모두 나와야하며 스터디문서에서는 정규표현식 링크와 스터디 링크만 나와야 하며 반대로 모임문서에서는 정규표현식 링크와 모임 링크만 나와야한다.
- 정모/2004.3.19 . . . . 4 matches
||01||신재동 이상규||
* 제로페이지서버 문제로 인해 보류
* 청소, 번호붙이기
* 이날 참가자 및 날짜가 확실치 않습니다. 확실히 기록 못해 죄송합니다; -[iruril]
- 정모/2012.11.12 . . . . 4 matches
* 참여자: [김태진], [권순의], [강성현], [정종록], [이민석], [이진규], [권영기], [김민재], [장혁수], [정의정], [김윤환]
* 작은자바이야기
* [김태진], [이민석], [서민관], [신형준]
- 조현태 . . . . 4 matches
* 이름: 조현태
== 그 이외의 내용.. ==
[조현태/놀이]
[홈페이지분류], ZeroPagers, [SoJu], [새싹C스터디2005]
- 홍길동 . . . . 4 matches
개인 사용자의 예제 페이지 입니다. 이와 유사하게 꾸밀 필요는 없으며, 꾸밀 내용이 생각나지 않으실때 쓰세요.
[나휘동], [http://caucse.net]
[홈페이지분류], ZeroPagers
- 5인용C++스터디/마우스로그림그리기 . . . . 3 matches
마우스를 이용하여 그림을 그릴 수 있는 프로그램 작성하기.
|| 이름 || 다운로드 || 평가 ||
|| 이름 || 다운로드 || 평가 ||
- 7피관리 . . . . 3 matches
7층 PC실 관리 페이지.
* [PC실관리/고스트/네트워크를이용한OS설치]
[제로페이지분류]
- AppletVSApplication/진영 . . . . 3 matches
* "'''Application'''"은 main()함수를 포함하고 있어서 자기 스스로 실행이 되는 반면에
* "'''Applet'''"은 main()함수 없이 자기 스스로 실행되지 않고 html에 의해 돌아가는 것 같습니다.
DeleteMe 그럼 여기에서 html 은 무엇이죠? --NeoCoin
- BlogChangesMacro . . . . 3 matches
특정 페이지에 대한 blog rss
전체 페이지에 대한 BlogChanges
특정 페이지에 대한 BlogChanges
- Counting/문보창 . . . . 3 matches
스터디 시간에 상섭이형이 발표한 점화식 이용.
- DatabaseManagementSystem . . . . 3 matches
DBMS라는 것은 DB를 다루기위해서 만들어진 프로그램이다. 이것은 다수의 사용자가 요청한 정보를 처리합니다. 원래 대용량의 데이터를 다루기위해서 만들어진 컴퓨터때문에 만들어진 것으로 DBMS는 컴퓨터의 back-end 프로그램의 표준화된 일부로서 완전히 통합되었다.
- Design Pattern(2007-1) Study . . . . 3 matches
[김정현] [이장길] [송지훈] [임영동] [유상욱]
* 이 프로젝트 시작 안하나요?^^; - [상욱]
= 미니 아이디어 풀 =
- English Speaking/The Simpsons/S01E04 . . . . 3 matches
* 내용 : 다른 가족들을 보고 상심한 호머가 모의 술집에서 술을 마시는데 다른 집을 배회하던 무리들을 찾는 경찰들이 들어온다. 다행히 호머는 그게 심슨 가족들이었단 것을 들키지 않지만 자신의 자녀들에 대해 나쁜 말을 하는 바니와 싸움이 붙는다.
- Factorial2 . . . . 3 matches
Factorial of Number A 란 A! 식으로 표현하며, A 의 계승이라는 표현을 씁니다.
임의의 수 A 에 대한 Factorial 을 구하는 프로그램을 작성하시오. (A 는 20이상이 될 수 있습니다.)
- History지도 . . . . 3 matches
ZeroPage 이 걸어온 기록들.
* ["WikiBackupHistory"] - 위키페이지 발전 현황
* ["ZPBoardHistory"] - ZeroPage 홈페이지에 있었던 예전 게시판
- HowManyZerosAndDigits/문보창 . . . . 3 matches
시간제한이 1분짜리 문제다. Digits의 개수를 세는 것은 로그를 이용하면 간단히 해결되나, Zeros의 개수를 세는 방법이 딱히 떠오르지 않는다.
- JollyJumpers/허아영 . . . . 3 matches
역시 연필을 끄적거리지 않아서 인지 버그가 많이 생겼다.
배열 크기가 제한이 있다는 걸 그때 알았다--;;
버그 잡는데 시간을 너무 많이 썼다.
- JollyJumpers/황재선 . . . . 3 matches
1. {{{~cpp TreeSet}}} 을 사용했다. sort에 log(n)이 소요된다.
2. main이 지저분하다. 함수로 추출하기도 뭐하다.
3. test코드를 다듬었다. 테스트할때마다 콘솔로 입력받는 게 귀찮아서 test클래스에서 메인 클래스의 field를 정의하고 진행했다. 또 다른 테스트를 하기위해서 고쳐야할 부분이 흩어져 있다. 테스트코드의 설계에 관심을 가져야겠다.
- MacroMarket . . . . 3 matches
moinmoin의 Macro 관련 페이지. {{{~cpp [[TableOfContents]], [[BR]] }}} 등등은 일종의 moinmoin 플러그인으로 파이썬을 이용, 향후 추가가 가능합니다.
- One/구구단 . . . . 3 matches
printf("구구단이 아닙니다!!!\n");
printf("당신이 알고 싶은 %d 단은 다음과 같습니다.\n", number);
printf("구구단이 아닙니다.");
- PlatformSDK . . . . 3 matches
[http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm 다운로드 페이지] : 최신 버전은 VC6 와 호환되지 않는 다고함.
기타 최신버전은 [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sdkintro/sdkintro/devdoc_platform_software_development_kit_start_page.asp MSDN platform SDK 소개 페이지] 에서 다운로드 하는 것이 가능하다.
- ProjectGaia/참고사이트 . . . . 3 matches
*[http://www.cis.ohio-state.edu/~hakan/CIS671/Hashing.ppt Hash PPT]기본 개념 잡을려면.. 이걸보세엽.
*[http://oopsla.snu.ac.kr/classes/filestruct/tp/chap12.ppt Hash PPT]이것두 역쉬..
- SeedBackers . . . . 3 matches
2005년 2월 졸업생들. 졸업 논문 심사를 통과하기 위해. 조금 더 양질의 논문을 산출해내기 위해 서로의 논문을 같이 준비하고 피드백(feed-back)을 넘어선 시드백(seed-back)을 주고받기 위한 프로젝트 페이지
|| 이름 || 연구주제 || 지도교수님(혹은 연구실) ||
- SuperMarket . . . . 3 matches
1. 클래스를 이용 (좀 더 체계적으로)
다음과 같이 표준입출력을 통한 커맨드라인 인터페이스가 어떨까요? (자동) 테스트하기도 훨씬 쉬울테고요.
- ThreeFs . . . . 3 matches
''나는 오늘 친구들과 어떤 어떤 술을 어떤 어떤 순서로 마셨고 나중에 오바이트 했다. 우선은 기분 째지게 좋았다. 이런 조합의 술이 사람을 기분 좋게 한다는 점과, 얼마 안가 폐인으로 만들어 준다는 점을 배웠다.''
- VimSettingForPython . . . . 3 matches
Python extension 이 설치된 상태에서 사용 가능하다.
BRM 의 리팩토링 기능을 이용할때는 리팩토링전 해당 화일을 BRM에 Import 해주어야 한다.
아직 단축키들은 완벽하게 셋팅하지 않은 상태이긴 하다. 대략 다음의 셋팅을 보면서 조금씩 고쳐나가면 좋을 듯 하다.
- XMLStudy_2002/Encoding . . . . 3 matches
=== XML에서의 unicode 사용에 대한 사이트 ===
*Unicode와 XML등과 같은 Markup Language 등에 대해 W3C와 Unicode.org 멤버들이 작성한 Technical Report : [http://www.w3.org/TR/1999/WD-unicode-xml-19990928/]
*다국어 지원 웹 사이트 제작시에 인코딩 방법 : [http://www.webtechniques.com/archives/2000/09/yunker/]
- lostship/MinGW . . . . 3 matches
* /mingw/STLport-4.5.3/src 로 이동한다.
* gcc 3.2 버전에서 c++ 헤더 파일의 위치가 바뀐점이 STLport-4.5.3 에 아직 적용이 안되어 있다.
* /STLport-4.5.3/stlport/config 에 있는 stl_gcc.h 에서 다음을 수정한다.
- spaurh . . . . 3 matches
* 이름 : 남보담
* 취미생활의 업데이트
[홈페이지분류], ZeroPagers, ZeroWikian ( DeleteMe 복수개로 선택해 주세요. )
- whiteblue/MyTermProjectForClass . . . . 3 matches
else // 알맞는 데이터 값 카피
cout << "이름\t번호\t\t국어\t영어\t수학\t총점\t평균" << endl;
cout << "이름\t번호\t";
- 고영준의Wiki처음화면 . . . . 3 matches
+ Action : 개인이 주체적으로 일으키는 행위
+ probability(개연성) : 어느 (의미있게) 일정한 방식으로 행위가 사회적으로 이루어질 수 있는 가망성
+ 규율 : 훈련된 자세에 힘입어 어느 명령에 대하여 신속하고 자동적이며 도식적인 복종을 어느 일정한 다수의 인간에게서 발견할 수 있는 가망성을 뜻한다.
- 글로벌CEO . . . . 3 matches
* 솔직히 들은지 몇주밖에 안되었지만 수업이 너무 좋은거 같아서 이렇게 글을 쓴다. 수요일 7,8,9 에 중앙문화예술관 10902에서 하니깐 청강 하실분은 해보시길.. 그냥 경영학 수업 듣는거 보다 이렇게 다국적 기업 CEO들의 경험과 노하우가 녹아 있는 수업을 듣는게 더 나은거 같다. 책에서는 배울수 없는 것들을 배우는 만큼 좋은 기회라고 생각한다. 지금까지 몇주동안 들은 수업 내용중에서도 상당히 귀중한 것들을 느꼈다.-[상협]
- 김상협 . . . . 3 matches
이름: 김상협
이멜 : sainthyup@ 핫 멜 점 컴
[홈페이지분류], ZeroWikian
- 김희성/MTFREADER . . . . 3 matches
point=*((unsigned short*)((unsigned char*)$MFT+20));//Offset으로 포인터 이동
fprintf(fp,"File 이름 수정 %d년 %d월 %d일\n",time.wYear,time.wMonth,time.wDay);
temp=offset; //*오프셋값은 이전 값들과 합계로 계산됨.
- 단식자바 . . . . 3 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]
이승한, 송수생, 정수민, 김소현, 이경미, 김영록
- 답변 및 의견 2 . . . . 3 matches
* 고것이 방법이 또 있는것 같던데.;; 담주 수요일에 이클립스로 하는거 해보장.ㅋㅋ - [송수생]
- 데블스캠프2003/셋째날 . . . . 3 matches
|| 학번||이름||
|| 01||이상규||
|| 03||이진훈||
- 데블스캠프2009/화요일 . . . . 3 matches
|| 이름 || 주제 || 내용 || 비고 ||
|| 09 || 박준호, 이창원, 박근수, 서민관, 박성현, 강소현, 임환 ||
= 문제 풀이 =
- 데블스캠프2011/다섯째날/HowToWriteCodeWell/김준석,서영주 . . . . 3 matches
Elevator el = new Elevator(20, -5, 1);//최고 높이, 최저 높이, 초기높이를 받는 생성자
- 반복문자열/김정현 . . . . 3 matches
소스 다 친다음에 딴애들꺼 봤다. 상당히 고칠부분이 많은듯.. 하지만 놔두겠다 [김정현]
-소스페이지 양식에 따라주세요 ^^
-소스페이지 양식은 [반복문자열/허아영]을 참고해 주시구요. -- [허아영]
- 병희 . . . . 3 matches
= Zeropage 01 이병희 =
수개월간 아무런 소식이 없어서, ZeroPagers 에서 ZeroWikian 으로 분류를 바꾸었습니다. 원하시면 언제든지 참여해 주세요. --NeoCoin
["홈페이지분류"], ["ZeroWikian"]
- 새싹교실/2012/열반/120409 . . . . 3 matches
* 중첩 반복문을 이용한 별찍기
* 중간고사 이후 배열과 주소를 학습합니다.
* 후기 받은 종이가 어딨더라.. - [정진경]
- 소수구하기/상욱 . . . . 3 matches
* 오늘 생각이 나서 한번 만들어 봤습니다. 제가 생각한 가장 빠른 방법이네요;;
cout << (end - start)/CLK_TCK << endl;
- 여름방학프로젝트 . . . . 3 matches
|| [단식자바] || [이승한] || [송수생], [정수민], 김소현, 경미 ||
|| [C++스터디_2005여름] || [문보창] || [허아영], [한유선], [이규완], [도연], [정수민] ||
배우고 싶은 것이나 해보고 싶은 것들을 제안해 주세요.
- 이승한 . . . . 3 matches
[[pagelist(^이승한)]]
* 제로페이지. 14기. 현재 삼성전자 무선사업부 재직 중.
[홈페이지분류], [ZeroPagers]
- 이현정 . . . . 3 matches
_ 이름 : 이현정
_ 나이 : 20세
- 정모/2006.3.16 . . . . 3 matches
프로젝트: 공업수학,임베디드 리눅스 동영상 플레이어, 자자(자바와자료구조)
17일 금요일 지금그때 준비같이 하실분 3시까지 모임
분실물이 생기면 동문서버및 7피 보드에 목록 적기
- 정모/2011.11.16 . . . . 3 matches
* 다음 주 정모에 LG HE사업본부 사람들이 올 수도 있음.
* [김태진] - 오늘 갔다면 다음주 OMS를 하려고 했었는데 튜터링하느라 못가서 아쉽네요 ㅠㅠ 딱히 이변이 없다면 다다음 OMS는 제가 진행했으면 좋겠네요 ㅋㅋ.
- 2002년도ACM문제샘플풀이/문제E . . . . 2 matches
* {{{~cpp TestCase}}}를 살펴보다 보니, 열라 어이없는 규칙을 발견하고 맘.
["2002년도ACM문제샘플풀이"]
- 5인용C++스터디/작은그림판 . . . . 2 matches
|| 이름 || 다운로드 || 평가 ||
|| 노수민 || [http://165.194.17.15/pub/upload/MiniPaintMFC_SM.zip] || 색칠 기능이 없음. ||
- 8queen/문원명 . . . . 2 matches
if (same == 1) //공격가능한 것이 있으면 초기화후 열바꾸기
if (originX == setx ) impossible = 1; //모든열이 불가능하면 나오기
- AM/20040730일곱번째모임 . . . . 2 matches
* 참석자 : 이슬이 문보창 곽세환 김회영 서영희 강희경
- AdventuresInMoving:PartIV/김상섭 . . . . 2 matches
// 서치의 가격이 작거나 같을때
// 서치의 가격이 클때
- Applet포함HTML/상욱 . . . . 2 matches
이것을 htmlconverter 로 변환
</COMMENT>
- CheckTheCheck/곽세환 . . . . 2 matches
처음엔 모든 말의 위치를 기준으로 검사를 하려고 했는데 굳이 그럴필요 없이 왕의 위치를 기준으로 검사를 하면 더 간단할것 같아 그렇게 짰다.
- ClassifyByAnagram/재동 . . . . 2 matches
* 우선은 빠르게 하는 거 생각하지 않고 그냥 생각나는 대로 짰습니다. 이제 이걸 토대로 '빠르게'를 생각해 보아야겠지요 --재동
- CxImage 사용 . . . . 2 matches
4. Set->C/C++ ->Category 에서 Preprocessor 선택
6. link-> object/library modules 에 Debug/CxImages.lib
- DefaultValueMethod . . . . 2 matches
의사소통을 더 쉽게 해주고, 상속될때에 오버라이딩 할 수 있는 여지를 남겨준다.(상속관계마다 상수가 다른 경우를 말하는 것 같다.)
값을 리턴하는 메소드를 만든다. 이름 앞에다 default를 붙인다.
- DermubaTriangle/하기웅 . . . . 2 matches
== 이야기 ==
처음 생각을 잘못해서 잘못된 곳에서 너무 많이 헤맷다.~~
- EightQueenProblem/이덕준소스 . . . . 2 matches
주석처리된 부분은 도전한 이후에 다시 코드를 보았을때 불필요하다고 생각되는 부분을 지운 것입니다. --이덕준
- EightQueenProblem/조현태2 . . . . 2 matches
이번엔 정상적인 해결..ㅎㅎ
여전히 잠이 안오는 걸로봐서.. 데블스캠프가 밤낮을 바꾼듯..;;ㅁ;;
- EnglishWritingClass/Exam2006_1 . . . . 2 matches
그래도 이번학기 최초의 시험다운 시험이었다. --[인수]
- ExtremeProgrammingExplained . . . . 2 matches
ExtremeProgramming 의 철학을 소개한 서적. 저자 KentBeck. TheThreeExtremos 중 한명. 얼마전에 2판이 나왔다.
[임인택]이 도서관에 신청해둠. (다시 확인해보니 아닌것같다...-_-. 누가 먼저 한듯.. ㅎㅎ)
- FileInputOutput . . . . 2 matches
저 프로그램을 실행하면 output.txt가 생기면서 11이 그 안에 써진다.
저 프로그램을 실행하면 output.txt가 생기면서 11이 그 안에 써진다.
- Hacking . . . . 2 matches
* tcpdump, windump, sniffit 과 같은 Tool이 있음.
* ssh(Secure Shell)을 이용한 원격 접속.
* [http://certcc.or.kr CertCC-KR]
- HanoiProblem/은지 . . . . 2 matches
cout << "=하노이탑 문제=\n";
cout << "하노이탑 개수 입력 : ";
- HowToStudyInGroups . . . . 2 matches
* ["사람들이모임에나오지않는다"]
* ["사람들이과제를해오지않는다"]
- JavaScript/2011년스터디/CanvasPaint . . . . 2 matches
onmouseup="release();" onmouseout="release();" onmousemove="draw();"></canvas>
<canvas id="testCanvas" width="900" height="500" style="border: 1px solid black"></canvas>
//마우스를 이동할때마다 호출.
//마우스를 이동할때마다 호출.
//ctx.moveTo(x,y)
//ctx.lineTo(e._x, e._y)
//ctx.stroke()
- JavaStudy2002/입출력관련문제 . . . . 2 matches
* 여러분이 어려워하시는것 같아, 입력 부분을 만들었습니다. 해당 static method의 기능은 한줄을 읽고, 공백이나, 탭을 기준으로 배열을 반환합니다. 사용 방법은 해당 함수의 main 을 참고하시고, 다른 소스에서 import해서 그냥 사용하세요. --["neocoin"]
- JollyJumpers/iruril . . . . 2 matches
// 배열의 길이를 구한다(n)
* 입력 부분에서 차음에 배열의 길이를 입력받지 않습니다
- KIV봉사활동/개인준비물 . . . . 2 matches
* 승한 - 다른 사람이 쓴 샤워 타올도 상관 없는데-_ -ㅋ
* 손톱깎기, 귀이개
- MagicSquare/정훈 . . . . 2 matches
이거 딴애들꺼 힐끔 보니까..다들 2차원 배열을 썼던데...
cout << soo << "*" << soo << "으로 한단말이지??\n";
- MoinMoin . . . . 2 matches
* 모니위키로 개인위키를 운영하고 있었는데 기능에 한계가 있어 모인모인으로 이사하는 중 입니다. - 이승한
- NumberBaseballGame/재니 . . . . 2 matches
= 작성자의 페이지 =
cout << strike << " 스트라이크 " << ball << " 볼n";
- Omok/재니 . . . . 2 matches
= 작성자의 페이지 =
cout << "이미 놓은 자리입니다.\n";
- QualityAttributes . . . . 2 matches
DeleteMe)한이 맺혔구나 --;;; --["상민"][[BR]]
DeleteMe)형 정말 한이 맺혔군요.. -_-; ["erunc0"]
- RandomFunction . . . . 2 matches
=== in C/C++ ===
rand() % a + b의 형식을 사용하면 b ~ a+b 사이의 숫자를 얻을 수 있습니다. ( 1da + b 라고도 하지요. )
- RandomWalk/성재 . . . . 2 matches
코딩 줄수 줄이는게 최고가 아니란거 알았습니다..
도움만 잔뜩 받았습니다...이잉잉~~~
- RandomWalk2/상규 . . . . 2 matches
// 입력 데이터
// 출력 데이터
- RoboCode/random . . . . 2 matches
정욱이 봇
정빈이 봇
- ServerBackup . . . . 2 matches
2008-11-02 부터 진행하는 ZeroPage 서버 데이터 원격지 백업 스크립트 관련 내용.
* http://en.wikipedia.org/wiki/Cron 예제
- StackAndQueue/손동일 . . . . 2 matches
DeleteMe - [StackAndQueue/손동일] 로 [페이지이름고치기] 했습니다 - [임인택]
- TemplateLibrary . . . . 2 matches
text 나 code generation 을 위한 라이브러리들을 일컫는 말.
* template - 말 그대로, 틀이 되는 text 코드.
- TestDrivenDevelopmentBetweenTeams . . . . 2 matches
Java 의 경우 inteface 키워드나 abstact class 를 이용하여 interface 를 정의할 수 있다. 팀의 구성원끼리 Pair를 교체한 뒤 interface를 정의하면 더욱 효과적이겠다.
- TugOfWar/김회영 . . . . 2 matches
//cout<<endl<<leftTotal<<" "<<rightTotal<<endl;
접근 방식이 굉장히 새로와서 놀랬어요~>__<ㅋ - [이승한]
- WeightsAndMeasures/문보창 . . . . 2 matches
동적프로그래밍 문제. n! 번의 수행을 해야하는 문제가 동적프로그래밍을 이용하니 O(n^2)만에 풀 수 있다. 동적프로그래밍의 힘이 대단하다.
- XpWeek/20041220 . . . . 2 matches
10시 30분~12시 : 기민한 문화 이야기 [http://www.okjsp.pe.kr/upload/Agile_Voice.zip 음성PPT] 보기
이건 혼자서 해 보세요. [http://www-903.ibm.com/developerworks/kr/java/library/j-xp042203.html Test-driven 프로그래밍] 강좌
- Yggdrasil/020523세미나 . . . . 2 matches
cout<<"더 이상 추가할 수 없습니다.\n";
cout<<"더 이상 추가할 수 없습니다.\n";
- [Lovely]boy^_^/Diary/2-2-11 . . . . 2 matches
* 선호랑 ["TheWarOfGenesis2R"]의 일환으로 타일 에디터를 만들었다. BMP 파일 약간 개조해서 뒤에다가 타일 데이터를 덧붙였다.
* 오늘로 일단 학기중의 XB가 종료되었다. 배운것이 아주 많았던 프로젝트였다.
- westy처음화면 . . . . 2 matches
근데 이거 어떻게 쓰는거야??ㅡ.ㅡ
= 아이디 =
- 구구단/송지훈 . . . . 2 matches
조건처럼 2단 3단 4단 5단 과 같이 출력하진 않았고
일단 저런 식으로 구구단이 가능합니다.
- 구구단/유상욱-Scheme . . . . 2 matches
음... 굉장히 괄호 사용이 많은 언어군요... 이런 언어 싫어하는데...ㅠ.ㅠ
- 김영록/연구중/지뢰찾기 . . . . 2 matches
도저히 깃발꽃기랑 근처에 마인없으면 다 보이게 하는건 못하겟던데 ㅠ
네가 심으면 내가 찾는거냐? ㅎㅎㅎㅎ 둘이 붙여놓으면 되겠네..ㅎㅎㅎ
- 나를만든책장/책 . . . . 2 matches
* 이창섭 (01)
* 테스트 주도 개발, 이성의 기능
- 데블스캠프2003/넷째날 . . . . 2 matches
||학번||이름||
||03||이진훈||
- 데블스캠프2005/언어디자인/그까이꺼 . . . . 2 matches
loop란 프로그램이 있다
viewer란 프로그램이 있다. 뒤에 출력하고싶은 것을 입력한다. ','로 구분한다.
- 데블스캠프2006/CPPFileInput . . . . 2 matches
// cout << "에이 뿔이다."<<endl;
- 데블스캠프2006/월요일/연습문제/for/이경록 . . . . 2 matches
== 데블스캠프2006/월요일/연습문제/for/이경록 ==
cout << "10 이하의 자연수를 입력해 주세요\n";
- 데블스캠프2006/월요일/함수/문제풀이/이차형 . . . . 2 matches
== 이차형 ==
백설공주와 일곱난장이의 상관관계
- 데블스캠프2011/넷째날/루비/김준석 . . . . 2 matches
puts "내가 이겼음"
else puts "쟤가 이김"
- 로마숫자바꾸기 . . . . 2 matches
* '''ㅈ + 한자키 '''에 로마숫자있다. 또는 여기 페이지에서 복사해서 사용.
=== 풀이 ===
- 마름모출력/임다찬 . . . . 2 matches
printf("변의 길이 입력 : "); scanf("%d",&byun);
printf("변의 길이 입력 : "); scanf("%d",&B_length);
- 만년달력/방선희,장창재 . . . . 2 matches
진정한 아트를 못알아본 상욱이형이 태클건거.
- 맞춤교육 . . . . 2 matches
참으로 안타까운 소식입니다. 이제는 대학이 취업의 전단계로 인식되고 있다지만.. 한발 더나아가 기업은 대학을 인재선발의 전진기지 정도로 생각하는것 같네요 - [임인택]
- 보드카페 관리 프로그램/강석우 . . . . 2 matches
throw domain_error("그 테이블은 사용중 입니다.");
throw domain_error("테이블은 3번까지만 있습니다.");
- 신기훈 . . . . 2 matches
지금까지 로그인이 안된다고 생각했었는데
글 썼다가 지우니 끝까지 흔적이 남아서-_-;;;
- 알고리즘3주숙제 . . . . 2 matches
from [http://pages.cpsc.ucalgary.ca/~jacobs/Courses/cpsc413/W05/ University of Calgary Dept.CS]
[http://pages.cpsc.ucalgary.ca/~jacobs/Courses/cpsc413/W05/labs/DivideConquer.pdf Divide and conquer lab exercises]
- 영호의해킹공부페이지 . . . . 2 matches
80년대 윤리 강령. 90년대에 새로운 것에 기반한 것이 나왔다지만 나는 80년대 것을 선호한다. 자유롭기 때문에.
like C/C++, Pascal, JavaScript, Perl, Python - you name it. :) Mm, no TCL/TK
- 오목/재니형준원 . . . . 2 matches
= 작성자 페이지 =
* 형이 다했다는;;
- 정모/2006.2.2 . . . . 2 matches
- 조사 한 뒤, 마음에 드는 회원증 샘플이 없고, 너무 비싸다.
모든 팀이 열씸히 하였으므로 공동 우승으로 함.
- 조응택 . . . . 2 matches
업그레이드 C++ [http://www.zeropage.org/wiki/UpgradeC_2b_2b]
[홈페이지분류], ZeroPagers, ZeroWikian
- 창섭 . . . . 2 matches
|| ZeroPage 11기 || 피카통 10기 || 중앙대 2001학번 || 이창섭 || 신유년생 ||
[http://www.htdp.org/2002-05-09/Book/curriculum-Z-H-5.html#%_chap_2][[BR]]
[http://www.realvnc.com/cgi-bin/3.3.6-vncform.cgi -.-]
["홈페이지분류"], [ZeroPagers]
- 캠이랑놀자/보창/숙제1 . . . . 2 matches
== 모자이크 ==
[캠이랑놀자]
- 코드레이스출동/밥묵자 . . . . 2 matches
* 팀 이름 좋죠 ㅋㅋ 잘해봐요 다 함께 - [허아영]
[코드레이스출동]
- 큐/Leonardong . . . . 2 matches
for (int i=0 ; i<order-1 ; i++) //이부분만 빼면
container[i] = container[i+1];//스택이랑 같음
- 테트리스만들기2006/예제1 . . . . 2 matches
사각형만 내려오는 테트리스를 만든다. 계속 내려오기만 하면 되며 끝까지 쌓이면 프로그램이 종료된다.
- 톱아보다처음화면 . . . . 2 matches
프로필 : [(zeropage)이승한]
[임시페이지]
- 파일 입출력_1 . . . . 2 matches
// cout << "에이 뿔이다."<<endl;
- 페이지이름바꾸기 . . . . 2 matches
#redirect 페이지이름고치기
- 화성남자금성여자 . . . . 2 matches
[페이지이름바꾸기]가 필요하지 않아요?
- 황세중 . . . . 2 matches
1. 나이 : 20세 (93년생) 사실 19세
2. 아이폰 5 사기
- 0 . . . . 2 matches
* 홈페이지분류 맨 아래를 누르니 이리로 오네요. 이 페이지는 그야말로 ZeroPage?! ㅋㅋㅋㅋ - [김수경]
* 흠 그런데 이 페이지 제가 고치기 전까진 없었던 페이지인 것 같네요. 근데 다른 페이지는 없으면 페이지를 만들거나 다시 검색하라고 나오는데 이건 왜 내용은 비어있지만 페이지는 생성되어 있던 것처럼 나왔지?? - [김수경]
- 2006컴퓨터구조스터디 . . . . 1 match
* 첫 모임 : 컴퓨터 구조 과제 같이하기
- ACM_ICPC/PrepareAsiaRegionalContest . . . . 1 match
== 관련 페이지 ==
- AKnight'sJourney/정진경 . . . . 1 match
* 이거슨 poj1등.
- C 스터디_2005여름/학점계산프로그램/김태훈김상섭 . . . . 1 match
fin >> name; // 이름
- C++스터디_2005여름/학점계산프로그램/문보창 . . . . 1 match
꼭 본인이 모두 학점계산프로그램을 완성한 후 제 가 짠 코드와 비교해 보시기 바랍니다.
- ClassifyByAnagram/1002 . . . . 1 match
hotspot 으로 프로파일링 돌린뒤 중간 쓸데없어보이는 코드들 마구마구 삭제. 가장 병목지점은 Anagram.register, {{{~cpp WordElement}}} (지금은 input 갯수 n 에 대해 n 번 실행)
- CodeRace/Rank . . . . 1 match
|| 순위 || 이름 || Point ||
- DeokjuneYi . . . . 1 match
#redirect 이덕준
- EightQueenProblem/강인수 . . . . 1 match
* 파이썬으로 한거(2003 데블스 캠프 대비용)
- EightQueenProblem/김준엽 . . . . 1 match
1번문제를 제대로 이해 못해서 실수로 모든 경우를 구해버렸습니다. -0-;;;
- EnglishSpeaking/TheSimpsons . . . . 1 match
* 현재 영어 스터디 참가자가 4명이므로 4명 기준 회화 장면 Script 위주로 적어나갈 겁니다.
- Fmt/문보창 . . . . 1 match
// 줄 끝의 빈칸을 제거하는것은 빈줄이 아닐때만
- FromDuskTillDawn/변형진 . . . . 1 match
출제된 문제에 나온 열차 시간표가 2번째 케이스에서 도착할 수 없게 되어 있어서, 시간표를 임의로 수정해서 테스트해보니... 잘 된다. :)
- Ieee754Standard . . . . 1 match
* [http://docs.sun.com/htmlcoll/coll.648.2/iso-8859-1/NUMCOMPGD/ncg_goldberg.html What Every Computer Scientist Should Know About Floating-Point Arithmetic] (''강추'')
전산/컴공과 학생이 NumericalAnalysisClass를 통틀어서 오로지 한가지만 배워야 한다면 나는 부동소수점 연산을 들고 싶다. --JuNe
- InterWiki . . . . 1 match
* [http://pikie.darktech.org/cgi/pikie.py PikiePikie]
ZeroWiki에서는 InterMap 페이지 수정으로 InterWiki를 조작할 수 있습니다.
- Java Script/2011년스터디/박정근 . . . . 1 match
alert("학부생이 아닙니다")
- JollyJumpers/김태진 . . . . 1 match
//두개의 값사이의 차를 B함수에 넣음.
- JollyJumpers/서지혜 . . . . 1 match
* 왜 Accept가 안되나 했더니 검사하는 부분에서 count-1이어서......
- MagicSquare/재니 . . . . 1 match
= 작성자의 페이지 =
- Map/임영동 . . . . 1 match
{//이런 식으로도 된다. 하지만 반복자 쓰는 연습을 하기 위해 아래의 식으로.
//cout<<*i;
- MineSweeper/zyint . . . . 1 match
#입력받은 행 열 만큼 데이터를 입력받습니다.
- MineSweeper/김민경 . . . . 1 match
size1,size2=input('사이즈를 입력하세요(n1,n2 형식으로 입력하세요)')
- MoniWiki/HotKeys . . . . 1 match
마우스 없이 거의 모든 기본적인 동작을 HotKeys로 쓸 수 있다.
- NetBeans . . . . 1 match
제임스 고슬링이 열을 올리고 있다는 그 자바툴
- One/피라미드 . . . . 1 match
피라미드 모양이 안되네요 ㅜ
- OurMajorLangIsCAndCPlusPlus/XML/김상섭허준수 . . . . 1 match
tree_pointer insert(tree_pointer ptr, char* tag, char* text) // a = 태그, b = 데이터
- OurMajorLangIsCAndCPlusPlus/math.h . . . . 1 match
math에 대한 라이브러리
- PragmaticVersionControlWithCVS/UsingModules . . . . 1 match
|| [PragmaticVersionControlWithCVS/CreatingAProject] || [PragmaticVersionControlWithCVS/ThirdPartyCode] ||
- ProjectGaia/기록 . . . . 1 match
* 중간 발표에 대한 준비, 프로젝트 스펙 점검, 지식 공유, 프로젝트 페이지 열기
- ProjectPrometheus/Estimation . . . . 1 match
Performance 어떤 작업도 10초 이내 포기
- ProjectPrometheus/Iteration3 . . . . 1 match
|| 해당 점수 제한선 이상만 출력 (Fuzzy Value) || 1 || ○ (15분) ||
- PythonXmlRpc . . . . 1 match
* http://maso.zdnet.co.kr/20011001/classroom/
신기하다. 이글루스에 바로 글쓰기가 되네. - 임인택
- RandomWalk2/서상현 . . . . 1 match
파이썬으로 개발함. 7/1 밤 11시부터 1시까지 3시간. 중간에 ["RandomWalk2/질문"]. 7/2 다시 30분간 수정. 다시 질문. 답변을 받고 몇군데를 다시 고쳐서 업로드함.
- Redmoon . . . . 1 match
무언가 해보려는 페이지 같기는 한데요... --NeoCoin
- Refactoring/ComposingMethods . . . . 1 match
* 하나로 묶을 수 있는 작은 코드 조각들에 대해서, 그 목적을 잘 표현하는 이름을 가진 메소드에 넣자.
- RoboCode/LowQuality . . . . 1 match
= 이동현 =
- ScaleFreeNetwork/OpenSource . . . . 1 match
* [김준석]이 2012년도에 졸업하기위해 실시간응용소프트웨어 연구실에서 받은 과제
- ScheduledWalk/임인택 . . . . 1 match
// 스케쥴된 방향에 따라 이동..
- Seminar . . . . 1 match
|| [DebuggingSeminar_2005] || 디버깅 세미나 || 이정직 || 2~3학년 || 2005. 8. 10 ||
- ServiceOrientedProgramming . . . . 1 match
Adrian Tang 교수의 UbiquitousComputing 관련 강연에서 잠깐 언급되어서 웹을 뒤져봤는데 자료가 꽤 있는것 같다. UbiquitousComputing 과 SemanticWeb 등등과 맞물려 있는 프로그래밍 패러다임인것 같다. 개념정리를 해서 이곳에 정리를 해볼 예정 - [임인택]
- SoftwareEngineeringClass/Exam2006_1 . . . . 1 match
* 이경환 교수님 강의
- SourceCode . . . . 1 match
* 소리바다 클라이언트 http://fallin.lv/distfiles/soribada.py
- Spring/탐험스터디/2011-02-04 . . . . 1 match
* 실습 : 동네 API를 이용하여 게시판 정보 가져오기
- Steps/문보창 . . . . 1 match
A, B 라는 입력이 들어왔을 때, n = B - A 로 본다면, n = 1 ~ 20 {1,2,3,3,4,4,5,5,5,6,6,6,7,7,7,7,8,8,8,8}. 간단한 일차 방정식 작성으로 풀 수 있다.
- TheLagestSmallestBox/하기웅 . . . . 1 match
== 이야기 ==
- Vending Machine/dooly . . . . 1 match
자바 버전으로 친구와 같이 tdd를 시도해보았습니다.
- WERTYU/문보창 . . . . 1 match
뻔한 문제였다. 문제의 발상이 굉장히 재밌다.
- XperDotOrg . . . . 1 match
인터위키로는 '''{{{Xper:}}}''' 를 이용합니다.
- ZeroPage/임원/회의/2011-01-19 . . . . 1 match
* 결론이 나지 않아 2차 임원회의에서 더 논의하기로 함.
- [Lovely]boy^_^/Diary/8/6_8/10 . . . . 1 match
|| Python || 비행기 게임 || 간단한 회의, 앞으로의 예정 || 변태겜이 되갈 예정--; ||
- [Lovely]boy^_^/Temp . . . . 1 match
*& 요렇게 생긴걸 이럴때 쓰는구나.
- [Lovely]boy^_^/USACO/WhatTimeIsIt? . . . . 1 match
* 자주 만들어서 쓰는 함수는 라이브러리화를 해야겠다
- redd0g . . . . 1 match
#redirect 이병윤
- wiz네처음화면 . . . . 1 match
* Collage Library: Book Number 0000507310 디자인 패턴, 0000494011 위대한 승리, 0000387354 설득의 심리학, 0000476065 유비처럼 경영하고 제갈량처럼 마케팅하라, 0000317364 로마인 이야기, 0000345061 커피 한잔에 담긴 성공신화...., 멘큐의 경제학..? 0000553812 사람을 움직여라 : MK택시 유봉식 회장의 성공철학!
* [http://www.cbtkorea.or.kr/korean/pages/cbt-registration-k.html Registeration TOEFL]
- 가위바위보/재니 . . . . 1 match
= 작성자의 페이지 =
- 고슴도치의 사진 마을처음화면 . . . . 1 match
[http://www.cs.cmu.edu/afs/cs.cmu.edu/user/avrim/www/Randalgs97/home.html Randomized Algoritms]
[몬테카를로 법을 이용한 pi 구하기 프로그램]
- 구구단/김상윤 . . . . 1 match
구구단을 만들어 놓은 페이지입니다.
- 김경환 . . . . 1 match
[홈페이지분류], ZeroPagers, ZeroWikian
- 김동준/Project/Data_Structure_Overview . . . . 1 match
* [김동준/Project/Data_Structure_Overview/Chapter1]
- 김동준/Project/OOP_Preview . . . . 1 match
* [김동준/Project/OOP_Preview/Chapter1]
- 데기 . . . . 1 match
["이덕준"]의 필명
- 데블스캠프2005/RUR-PLE/TwoMoreSelectableHarvest/이승한 . . . . 1 match
= [데블스캠프2005/RUR-PLE/TwoMoreSelectableHarvest]/[이승한] =
- 데블스캠프2005/사진2 . . . . 1 match
표정들이 참 좋네요 ㅎ
- 데블스캠프2005/월요일/BlueDragon . . . . 1 match
self.place = ['루이스', '청룡탕', '공대', '할매동산', '정문']
- 데블스캠프2006/월요일/연습문제/if-else/김대순 . . . . 1 match
cout <<" 50~100 사이가 아니다.";
- 데블스캠프2006/화요일/pointer/문제2/정승희 . . . . 1 match
for(int i=4;i>=0;i--)//맨앞에 a[6]=0이라서 안됨
- 데블스캠프2006/화요일/tar . . . . 1 match
데블스캠프2006/화요일/tar/자기이름
- 데블스캠프2009/목요일/연습문제/MFC/서민관 . . . . 1 match
뭔가 찜찜한 계산기. 구조상 *와 / 연산이 불가능하다... 또한 추가 함수를 만들지 않아서 버튼 구조를 똑같은 것을 9번 반복
- 데블스캠프2010/다섯째날/ObjectCraft/미션1/허준 . . . . 1 match
printf("저글링1이 저글링2에 데미지 %d를 입혀서 저글링2의 HP가 %d가 되었습니다.\n", zeli1.att, zeli2.HP);
- 데블스캠프2011/넷째날/Android . . . . 1 match
* 강사 : Zeropage 16th [이원희]
- 데블스캠프2011/둘째날/Machine-Learning . . . . 1 match
* 자동 분류할 데이터 다운로드 : http://office.buzzni.com/media/svm_data.tar.gz
- 데블스캠프2011/셋째날/String만들기/김준석 . . . . 1 match
//길이에 따른 예외처리 필요함.
//cout << s->lastIndexOf(*s2) << endl;
- 마름모출력/조현태 . . . . 1 match
잠와서 졸기 시작했음. 머리가 안돌아감. 분명히 내일보면 내가 왜 이렇게 짯을지 후회할 것입.
- 마방진/임민수 . . . . 1 match
cout << " 원하는 마방진의 크기를 입력하세요 (11 이하의 홀수만) : ";
- 몸짱프로젝트/BinarySearchTree . . . . 1 match
* 뭔가 이상하게 동작하는 듯...
- 몸짱프로젝트/InfixToPostfix . . . . 1 match
* 스택을 이용
- 새싹교실/2012/사과나무/과제방 . . . . 1 match
* printf()와 scanf()에 대해서 조사해오는 것이 과제 입니다.
- 새싹교실/2013/록구록구 . . . . 1 match
[이주영]
- 서지혜/2012 . . . . 1 match
* 중간값이 사라져있네.
- 서지혜/MyJavaUtils . . . . 1 match
* String을 연산해 새로운 String을 만들 때는 StringBuilder를 이용한다.
- 숫자야구/방선희 . . . . 1 match
배열을 이용해서 다시 짜보기..
- 숫자야구/장창재 . . . . 1 match
cout << strike << "스트라이크 " << ball << "볼" << endl;
- 숫자야구/조재화 . . . . 1 match
cout<<i<<"스트라이크 "<<j<<"볼입니다."<<endl;
- 실시간멀티플레이어게임프로젝트/첫주차소스2 . . . . 1 match
[실시간멀티플레이어게임프로젝트]
- 이창섭 . . . . 1 match
[홈페이지분류] [ZeroPagers]
- 장용운/알파벳놀이 . . . . 1 match
* 왓더, 아웃풋이 멋지군. 나도 코드 안봤으니, 한번 해볼까 -[김태진]
- 정모/2013.10.2 . . . . 1 match
* 이 날은 티타임 진행으로 별다른 안건 공유는 진행하지 않았습니다.
- 제본 . . . . 1 match
["제로페이지분류"]
- 지금그때2003/ToDo . . . . 1 match
NeoCoin 군은 페이지 보는대로 외부 링크로 사용하시길.
- 지금그때2004/홍보 . . . . 1 match
이번 [지금그때2004]에서는 적정인원 15~20명을 맞추려고 하는중.
- 최연웅 . . . . 1 match
* 이메일 : yonsweng@gmail.com, yonsweng@cau.ac.kr
- 큰수찾아저장하기/김영록 . . . . 1 match
최대값찾는 소트는 많이 해보아서 그리어렵지 않았다.
- 토이/메일주소셀렉터/김정현 . . . . 1 match
[토이/메일주소셀렉터]
- 파스칼삼각형/문원명 . . . . 1 match
* 3행 2열은 값이 안나오는데요?... -지훈
Found 789 matching pages out of 7555 total pages (1050 pages are searched)
You can also click here to search title.