- 경시대회준비반/BigInteger . . . . 429 matches
C++ 용 BigInteger 클래스로 거의 모든 연산을 지원한다. UVA 사이트의 구식(?) 컴파일러에도 문제없이 통과할 뿐 아니라, 성능또한 훌륭하다. 고정도 정수 연산을 하는 문제의 경우, 고정도 연산을 하는 라이브러리를 본인이 직접 짜거나, 이 클래스를 이용하면 된다. 몇 일동안 삽질한 결과 후자가 낫다는 판단이 선다. 되게 잘 짜여진 코드다. 시간 내서 분석해봐야 겠다.
* BigInteger Class
* Permission to use, copy, modify, distribute and sell this software
* and its documentation for any purpose is hereby granted without fee,
* provided that the above copyright notice appear in all copies and
* that both that copyright notice and this permission notice appear
* in supporting documentation. Mahbub Murshed Suman makes no
* representations about the suitability of this software for any
* purpose. It is provided "as is" without express or implied warranty.
#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <cctype>
#include <malloc.h>
#include <cmath>
#include <cstring>
#include <ctime>
#include <strstream>
#include <string>
#include <stdexcept>
- WikiTextFormattingTestPage . . . . 295 matches
Revised 1/05/01, 5:45 PM EST -- adding "test" links in double square brackets, as TWiki allows.
This page originated on Wiki:WardsWiki, and the most up-to-date copy resides there. This page has been copied here in order to make a quick visual determination of which TextFormattingRules work for this wiki. Currently it primarily determines how text formatted using the original Wiki:WardsWiki text formatting rules is displayed. See http://www.c2.com/cgi/wiki?WikiOriginalTextFormattingRules.
If you want to see how this text appears in the original Wiki:WardsWiki, see http://www.c2.com/cgi/wiki?WikiEngineReviewTextFormattingTest
People reviewing this wiki from the original Wiki:WardsWiki will be referred to this page. If you want to see the review, go to http://www.c2.com/cgi/wiki?WikiEngineReview.
Other places this page appears (perhaps as an older version):
* CLUG Wiki (older version of WardsWiki, modified by JimWeirich) -- http://www.clug.org/cgi/wiki.cgi?WikiEngineReviewTextFormattingTest
* MoinMoin (MoinMoin 0.5) -- http://www.encrypted.net/~jh/moinmoin/moin.cgi/WikiTextFormattingTestPage
* Swiki (unknown version) -- http://rhkswikitest.swiki.net/12
* Kit-T-Wiki (TWiki 01) -- http://kit.sourceforge.net/cgi-bin/view/Main/WikiReviewTextFormattingTest
* TWiki (TWiki 03) -- http://twiki.sourceforge.net/cgi-bin/view/TWiki/WikiReviewTextFormattingTest
http://narasimha.tangentially.com/cgi-bin/n.exe?twiky%20editWiki(%22WikiEngineReviewTextFormattingTest%22)
* UseMod wiki (UseMod 0.88) -- http://www.usemod.com/cgi-bin/wiki.pl?WikiEngineReviewTextFormattingTest
This page contains sample marked up text to make a quick visual determination as to which Wiki:TextFormattingRules work for a given wiki. To use the page, copy the text from the edit window, and paste it in the wiki under test. Then read it.
And, the next logical thing to do is put a page like this on a public wiki running each Wiki:WikiEngine, and link to it from the appropriate Wiki:WikiReview page, as has been done in some cases -- see above.
The next line (4 dashes) should show up as a horizontal rule. In a few wikis, the width of the rule is controlled by the number of dashes. That will be tested in a later section of this test page.
'''Wiki:WikiOriginalTextFormattingRules'''
This first section will test the Wiki:WikiOriginalTextFormattingRules.
If a wiki properly interprets the Wiki:WikiOriginalTextFormattingRules, the text will appear as described here.
This should appear as plain variable width text, not bold or italic.
The original Wiki:WardsWiki text formatting rules make no provision for headings. They can be simulated by applying emphasis. See the next several lines.
- VendingMachine/세연/1002 . . . . 129 matches
void printMenu () {
bool isEndMenu (int choice) {
while(isEndMenu (choice))
printMenu ();
cin >> choice;
bool isEndMenu (int choice) {
MENU_INSERT_DRINK
VendingMachine.GetMoney();
VendingMachine.Buy();
VendingMachine.TakeBackMoney();
case MENU_INSERT_DRINK:
VendingMachine.InsertDrink();
bool isValidMenu (int choice) {
bool isValidMenu (int choice) {
return choice >= MENU_END && choice <= MENU_INSERT_DRINK;
MENU_INSERT_DRINK,
MENU_END = MENU_INSERT_DRINK
bool isEndMenu (int choice) {
그러면, {{{~cpp isValidMenu}}} 를 다음과 같이 고칠 수 있습니다. (써놓고 보니 그리 맘에 들진 않지만, 일단 이정도만 해두겠습니다. -_-;)
bool isValidMenu (int choice) {
- JavaNetworkProgramming . . . . 68 matches
*'''지금은 여기서 접는것이고. 누군가 Java Network Programming을 본다면 참여하기 바란다 ^^;;'''
JAVA Network Programming
public class AuthException extends IOException{ //사용자 예외를 정의할때 적당한 예외 클래스의 서브클래스가 되는것이 중요한데
public AuthException(){ //네트워킹 코드에서는 IOException이 적당하다.
public AuthException(String detail){
public static void main(String[] args){
public synchronized void begin(){ //동기화
execution = new Thread(this); //Runnable 인터페이스를 구현한 것을 넣어줌
execution.setPriority(Thread.MIN_PRIORITY); //우선수위를 정함
execution.interrupt(); //stop()을 쓰는 것은 별로 바람직하지 않다 stop()은 쓰레드가 어떤 상황에 있더라도 쓰레드를 바로 멈추어 버리기 때문에,
} //사용하는 방법이 더좋다. 가장 권장되는 방법은 위와 같은 플래그와 함께 interrupt()를 사용하는 것이다.
}finally{
synchronized(this){
*Thread 통지(notification)메소드 : 주의해야 할 점은, 이 메소드들 호출하는 쓰레들이 반드시 synchronized 블록으로 동기화 되어야 한다는 점이다.
*wait() : notify() 메소드를 호출할 때까지 블록킹된다.
*notify() : 대기하고 있는 쓰레드중 하나를 꺠운다.
*notifyAll() : 메소드가 호출된 객체에서 대기하고 있는 모든 쓰레드들을 깨운다.
*OutpuStream,InputStream : 모든 다른 스트림 클래스들의 수퍼클래스이다. 이 Chapter에서는 이둘 클래스 설명
public static void println(String msg) throws IOException{
synchronized(System.out){ //메시지를 터미널에 출력하던 도중에 다른 쓰레드에 의해 String이 출력될수 없도록 동기화처리
- VonNeumannAirport/1002 . . . . 61 matches
문제는 암튼 이해했고 (Input 에 대한 Output 이 머릿속에서 어떻게 해야 할지 연결이 된 상태) 가장 간단하게 테스트할 수 있는 방법에 대해 생각해야 하겠군요.
Sample Input 을 보니 뒤의 것이 간단해 보이는군요.
#include <cppunit/TestCase.h>
#include <cppunit/extensions/HelperMacros.h>
#include <cppunit/Ui/Text/TestRunner.h>
int main ()
int startCity;
int endCity;
Configuration (int startCity, int endCity) {
this->startCity = startCity;
this->endCity = endCity;
void movePeople (int startCity, int endCity, int people) {
int getTraffic () {
void movePeople (int startCity, int endCity, int people) {
int getTraffic () {
여기까진 통과..~ test code 를 Refactoring 해봅니다.
int dataset [3][3] = {{1,1,1}, {1,1,1}, {1,1,100}};
int expectedSet[3] = {1,2,102};
for (int i=0;i<3;i++) {
int arrivalCitys[] = {1,2};
- Gof/Singleton . . . . 51 matches
== Singleton ==
=== Intent ===
더 좋은 방법은 클래스 자신으로 하여금 자기자신의 단일 인스턴스를 유지하도록 만드는 것이다. 이 클래스는 인스턴스가 생성될 때 요청을 가로챔으로서 단일 인스턴스로 만들어지는 것은 보증한다. 또한, 인스턴스에 접근하는 방법도 제공한다. 이것이 바로 SingletonPattern이다.
SingletonPattern은 다음과 같은 경우에 사용한다.
http://zeropage.org/~reset/zb/data/singl014.gif
* Singleton
* Instance operation (클래스의 메소드)을 정의한다. Instance 는 클라이언트에게 해당 Singleton의 유일한 인스턴스를 접근할 수 있도록 해준다.
* Singleton 자신의 유일한 인스턴스를 생성하는 책임을 가진다.
* 클라이언트는 오직 Singleton의 Instance operation으로만 Singleton 인스턴스에 접근할 수 있다.
SingletonPattern은 여러가지 장점을 가진다.
1. 클래스에 대한 접근이 오직 하나의 인스턴스에게로 제한된다. Singleton 클래스는 자기 자신의 단일 인스턴스를 캡슐화하기 때문에, 클라이언트가 언제, 어떻게 접근하던지 그 접근이 엄격하게 제어된다.
2. namespace를 줄인다. SingletonPattern은 global variable을 줄임으로서 global variable로 인한 namespace의 낭비를 줄인다.
3. 명령어와 표현을 확장시킬 수 있다. Singleton class는 subclass될 수 있고, 이 확장된 클래스의 인스턴스를 가지고 어플리케이션을 설정하는 것은 쉽다. run-time중에 필요한 경우에도 가능하다.
4. 여러개의 인스턴스를 허용한다. 프로그래머의 마음에 따라 쉽게 Singleton class의 인스턴스를 하나이상을 둘 수도 있도록 할 수 있다. 게다가 어플리케이션이 사용하는 인스턴스들을 제어하기 위해 동일한 접근방법을 취할 수 있다. 단지 Singleton 인스턴스에 접근하는 것을 보장하는 operation만 수정하면 된다.
5. class operation 보다 더 유연하다. 패키지에서 Singleton의 기능을 수행하기위한 또다른 방법은 class operation들을 사용하는 것이다. (C++에서의 static 함수나 Smalltalk에서의 class method 등등) 하지만, 이러한 언어적인 테크닉들은 여러개의 인스턴스를 허용하는 디자인으로 바꾸기 힘들어진다. 게다가 C++에서의 static method는 virtual이 될 수 없으므로, subclass들이 override 할 수 없다.
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는 다음과 같이 선언된다.
class Singleton {
- MoniWikiPo . . . . 50 matches
# MoniWiki message file
# Copyright (C) 2003-2006 Free Software Foundation, Inc.
"Project-Id-Version: MoniWiki 1.1\n"
"PO-Revision-Date: 2003-04-29 19:00+0900\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../plugin/Attachment.php:41 ../plugin/Attachment.php:121
#: ../plugin/Attachment.php:124
msgid "Upload new Attachment \"%s\" on the \"%s\""
#: ../plugin/BabelFish.php:16
msgid "BabelFish Translation"
#: ../plugin/BabelFish.php:29
#: ../plugin/Blog.php:86 ../plugin/blog2.php:87
msgid "Blog cache of \"%s\" is refreshed"
#: ../plugin/Blog.php:110 ../plugin/blog2.php:111
msgid "\"%s\" is updated"
#: ../plugin/Blog.php:115 ../plugin/blog2.php:116
#: ../plugin/Blog.php:155 ../plugin/blog2.php:156
#: ../plugin/Blog.php:163 ../plugin/Comment.php:135 ../plugin/blog2.php:164
#: ../plugin/Blog.php:180 ../plugin/blog2.php:181
- 윤종하/지뢰찾기 . . . . 50 matches
/* mine.c: 지뢰찾기 소스 파일(TUI)
종류: win32 console program
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<conio.h>
#include<windows.h>
#define TRUE 1
#define FALSE 0
//#define NO_STATE 3
int iIsRevealed;
int iIsMine;
int iNumOfMine;//주변에 있는 지뢰의 개수
int iIsUnknown;
int iIsFined;
COORD* make_mine_map(CELL** map,COORD size,int iNumOfMine);
void print_map(CELL** map,COORD size,int iNumOfMine,int iCurrentFindedMine);
int click_cell(CELL** map,COORD size,int *iNumOfLeftCell);
void one_right_click_cell(CELL** map,COORD size,COORD *cPosOfMine,int iNumOfMine,int *iFindedRealMine);
void find_mine(CELL** map,COORD size,COORD pos,int *iNumOfLeftCell);
- NSIS/예제3 . . . . 43 matches
[http://zeropage.org/~reset/zb/download.php?id=KDP_board_image&page=1&page_num=20&category=&sn=&ss=on&sc=on&keyword=&prev_no=&select_arrange=headnum&desc=&no=50&filenum=1 만들어진Installer] - 실행가능.
; tetris.nsi
; define 상수.. 버전 표시용.
!define VER_MAJOR 1
!define VER_MINOR 0
Name "Tetris"
OutFile "tetris.exe"
Caption "Tetris Install"
BrandingText "ZeroPage Install v1.0"
; Installer 의 아이콘. 반드시 32 * 32 * 16 color 이여야 한다.
WindowIcon on
MiscButtonText "이전" "다음" "취소" "닫기"
; Install 버튼에 대한 text
InstallButtonText "설치"
InstallDir $PROGRAMFILES\zp_tetris
ComponentText "Testing ver ${VER_MAJOR}.${VER_MINOR} 설치 합니다. 해당 컴포넌트를 골라주세요~"
LicenseData f:\tetris\zp_license.txt
; Install 관련 Type 의 셋팅
InstType "Normal Install"
InstType "Full Install"
- 영호의해킹공부페이지 . . . . 35 matches
1. Access to computers-and anything which might teach you something
about the way the world works-should be unlimited and total.
Always yield to the Hands-On imperative!
2. All information should be free.
3. Mistrust Authority-Promote Decentralization.
4. Hackers should be judged by their hacking, not bogus criteria such
6. Computers can change (your) life for the better.
Principles of Buffer Overflow explained by Jus
This article is an attempt to quickly and simply explain everyone's favourite
manner of exploiting daemons - The Buffer Overflow.
The remote buffer overflow is a very commonly found and exploited bug in badly
coded daemons - by overflowing the stack one can cause the software to execute
a shell equal to its current UID - thus if the daemon is run as root, like
many are, a root shell will be spawned, giving full remote access.
A buffer is a block of computer memory that holds many instances of the same
data type - an array. Arrays can be static and dynamic, static being allocated
at load time and dynamic being allocated dynamically at run time. We will be
looking at dynamic buffers, or stack-based buffers, and overflowing, filling
up over the top, or breaking their boundaries.
A stack has the property of a queue of objects being placed one on top of the
- EightQueenProblemDiscussion . . . . 33 matches
만약 당신보다 더 짧은 시간에, 더 짧은 코드로 문제를 해결한 사람이 있다면, 그 사람과 함께 PairProgramming (혹은 NetMeeting 등을 이용, VirtualPairProgramming)을 해서 그 문제를 함께 새로 풀어보세요. 당신은 무엇을 배웠습니까? 그 사람은 어떤 방식으로 프로그램의 올바름(correctness)을 확인합니까? 그 사람은 디버깅을 어떻게 합니까(혹은 디버깅이 거의 필요하지 않은 접근법이 있던가요)? 그 사람은 어떤 순서로 문제에 접근해 갑니까? 그 사람은 어느 정도로까지 코드를 모듈화 합니까? 이 경험이 당신의 프로그래밍에 앞으로 어떤 변화를 불러올 것이라 생각합니까?
def testPrintBoard (self):
self.assertEquals (self.bd.PrintBoard (), '''00000000\n01000000\n00100000\n00000000\n00000000\n00000000\n00000000\n00000001\n''')
def testIsSelftyZone (self):
self.assertEquals (self.bd.IsSelftyZone (3,3), 0)
self.assertEquals (self.bd.IsSelftyZone (1,5), 1)
def testFindQueenInSameVertical (self):
self.assertEquals (self.bd.FindQueenInSameVertical (2), 1)
self.assertEquals (self.bd.FindQueenInSameVertical (3), 0)
def testFindQueenInSameHorizonal (self):
self.assertEquals (self.bd.FindQueenInSameHorizonal (2), 1)
self.assertEquals (self.bd.FindQueenInSameHorizonal (3), 0)
def testFindQueenInSameCrossLeftTopToRightBottom (self):
self.assertEquals (self.bd.FindQueenInSameCrossLeftTopToRightBottom (3,3), 1)
self.assertEquals (self.bd.FindQueenInSameCrossLeftTopToRightBottom (1,1), 1)
self.assertEquals (self.bd.FindQueenInSameCrossLeftTopToRightBottom (4,1), 0)
def testFindQueenInSameCrossLeftBottomToRightTop (self):
self.assertEquals (self.bd.FindQueenInSameCrossLeftBottomToRightTop (3,3), 0)
self.assertEquals (self.bd.FindQueenInSameCrossLeftBottomToRightTop (3,1), 1)
self.assertEquals (self.bd.FindQueenInSameCrossLeftBottomToRightTop (1,3), 1)
- 데블스캠프2011/둘째날/Machine-Learning/NaiveBayesClassifier/김동준 . . . . 33 matches
Describe 데블스캠프2011/둘째날/Machine-Learning/NaiveBayesClassifier/김동준 here
Train.java
package org.zeropage.machinelearn;
class Trainer {
private Map<String,Integer> sectionWord;
private int sectionWordNum;
private int sectionArticleNum;
private boolean isSkipData(String inputStr) {
if(inputStr.length() == 1 || inputStr.equals("http") || inputStr.equals("blog") || inputStr.equals("com") ||
inputStr.equals("naver") || inputStr.equals("empas") || inputStr.equals("daum") || inputStr.equals("yahoo") ||
inputStr.equals("tistory") || inputStr.equals("co") || inputStr.equals("kr") || inputStr.equals("www") || inputStr.equals("ohmynews") ||
inputStr.equals("//") || inputStr.equals("블로그")) {
public Trainer(File f) {
this.fileName = f;
public void TrainData() {
this.sectionWordNum = 0;
this.sectionArticleNum = 0;
this.sectionWord = new HashMap<String,Integer>();
Scanner sectionLearn = new Scanner(this.fileName);
while(sectionLearn.hasNextLine()) {
- JollyJumpers/황재선 . . . . 31 matches
import java.io.InputStreamReader;
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
int [] nums;
public int [] inputNumbers() {
String message = processKeyInput();
String [] ch = splitMessage(message);
return toInt(ch);
private String[] splitMessage(String message) {
private int[] toInt(String [] ch) {
int len = ch.length;
nums = new int[len];
for(int i = 0; i < len; i++) {
nums[i] = Integer.parseInt(ch[i]);
private String processKeyInput() {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
String message = "";
message = in.readLine();
e.printStackTrace();
public int[] getdifferenceValue() {
- MoreEffectiveC++/Appendix . . . . 30 matches
== Recommended Reading ==
So your appetite for information on C++ remains unsated. Fear not, there's more — much more. In the sections that follow, I put forth my recommendations for further reading on C++. It goes without saying that such recommendations are both subjective and selective, but in view of the litigious age in which we live, it's probably a good idea to say it anyway. ¤ MEC++ Rec Reading, P2
There are hundreds — possibly thousands — of books on C++, and new contenders join the fray with great frequency. I haven't seen all these books, much less read them, but my experience has been that while some books are very good, some of them, well, some of them aren't. ¤ MEC++ Rec Reading, P4
What follows is the list of books I find myself consulting when I have questions about software development in C++. Other good books are available, I'm sure, but these are the ones I use, the ones I can truly recommend. ¤ MEC++ Rec Reading, P5
A good place to begin is with the books that describe the language itself. Unless you are crucially dependent on the nuances of the °official standards documents, I suggest you do, too. ¤ MEC++ Rec Reading, P6
* '''''The Annotated C++ Reference Manual''''', Margaret A. Ellis and Bjarne Stroustrup, Addison-Wesley, 1990, ISBN 0-201-51459-1. ¤ MEC++ Rec Reading, P7
* '''''The Design and Evolution of C++''''', Bjarne Stroustrup, Addison-Wesley, 1994, ISBN 0-201-54330-3. ¤ MEC++ Rec Reading, P8
These books contain not just a description of what's in the language, they also explain the rationale behind the design decisions — something you won't find in the official standard documents. The Annotated C++ Reference Manual is now incomplete (several language features have been added since it was published — see Item 35) and is in some cases out of date, but it is still the best reference for the core parts of the language, including templates and exceptions. The Design and Evolution of C++ covers most of what's missing in The Annotated C++ Reference Manual; the only thing it lacks is a discussion of the Standard Template Library (again, see Item 35). These books are not tutorials, they're references, but you can't truly understand C++ unless you understand the material in these books
For a more general reference on the language, the standard library, and how to apply it, there is no better place to look than the book by the man responsible for C++ in the first place: ¤ MEC++ Rec Reading, P10
* '''''The C++ Programming Language (Third Edition)''''', Bjarne Stroustrup, Addison-Wesley, 1997, ISBN 0-201-88954-4. ¤ MEC++ Rec Reading, P11
Stroustrup has been intimately involved in the language's design, implementation, application, and standardization since its inception, and he probably knows more about it than anybody else does. His descriptions of language features make for dense reading, but that's primarily because they contain so much information. The chapters on the standard C++ library provide a good introduction to this crucial aspect of modern C++. ¤ MEC++ Rec Reading, P12
If you're ready to move beyond the language itself and are interested in how to apply it effectively, you might consider my other book on the subject: ¤ MEC++ Rec Reading, P13
* '''''Effective C++''''', Second Edition: 50 Specific Ways to Improve Your Programs and Designs, Scott Meyers, Addison-Wesley, 1998, ISBN 0-201-92488-9. ¤ MEC++ Rec Reading, P14
That book is organized similarly to this one, but it covers different (arguably more fundamental) material. ¤ MEC++ Rec Reading, P15
A book pitched at roughly the same level as my Effective C++ books, but covering different topics, is ¤ MEC++ Rec Reading, P16
* '''''C++ Strategies and Tactics''''', Robert Murray, Addison-Wesley, 1993, ISBN 0-201-56382-7. ¤ MEC++ Rec Reading, P17
Murray's book is especially strong on the fundamentals of template design, a topic to which he devotes two chapters. He also includes a chapter on the important topic of migrating from C development to C++ development. Much of my discussion on reference counting (see Item 29) is based on the ideas in C++ Strategies and Tactics.
If you're the kind of person who likes to learn proper programming technique by reading code, the book for you is ¤ MEC++ Rec Reading, P19
* '''''C++ Programming Style''''', Tom Cargill, Addison-Wesley, 1992, ISBN 0-201-56365-7. ¤ MEC++ Rec Reading, P20
Each chapter in this book starts with some C++ software that has been published as an example of how to do something correctly. Cargill then proceeds to dissect — nay, vivisect — each program, identifying likely trouble spots, poor design choices, brittle implementation decisions, and things that are just plain wrong. He then iteratively rewrites each example to eliminate the weaknesses, and by the time he's done, he's produced code that is more robust, more maintainable, more efficient, and more portable, and it still fulfills the original problem specification. Anybody programming in C++ would do well to heed the lessons of this book, but it is especially important for those involved in code inspections. ¤ MEC++ Rec Reading, P21
- Celfin's ACM training . . . . 29 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] ||
- EightQueenProblem/밥벌레 . . . . 29 matches
interface
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
procedure FormPaint(Sender: TObject);
i, j: Integer;
begin
function CountRow(row: Integer): Integer;
i: Integer;
begin
if Table[i, row] then
Inc(Result);
procedure SetQueens(n: Integer); // 퀸 배치하기. 이 소스의 핵심함수. n은 현재 사용안한다. 처음엔 RandomSeed로 쓰려했음..-_-;
i, row: Integer;
begin
begin
if CountRow(row) > 1 then
function CountColumn(column: Integer): Integer;
i: Integer;
begin
if Table[column, i] then
Inc(Result);
- NSIS/예제2 . . . . 29 matches
http://zeropage.org/~reset/zb/data/nsis_1.gif
InstallDir $PROGRAMFILES\Example2
InstallDirRegKey HKLM SOFTWARE\NSIS_Example2 "Install_Dir"
ComponentText "This will install the less simple example2 on your computer. Select which optional things you want installed."
; The text to prompt the user to enter a directory
DirText "Choose a directory to install in to:"
; Set output path to the installation directory.
SetOutPath $INSTDIR
File "C:\winnt\notepad.exe"
WriteRegStr HKLM SOFTWARE\NSIS_Example2 "Install_Dir" "$INSTDIR"
; 윈도우를 위한 Uninstall key를 레지스트리에 저장
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Example2" "DisplayName" "NSIS Example2 (remove only)"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Example2" "UninstallString" '"$INSTDIR\uninstall.exe"'
WriteUninstaller "uninstall.exe"
CreateShortCut "$SMPROGRAMS\Example2\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
CreateShortCut "$SMPROGRAMS\Example2\Example2 (notepad).lnk" "$INSTDIR\notepad.exe" "" "$INSTDIR\notepad.exe" 0
http://zeropage.org/~reset/zb/data/nsis_2.gif
InstallDir $PROGRAMFILES\Example2
; The text to prompt the user to enter a directory
DirText "Choose a directory to install in to:"
- EcologicalBinPacking/강희경 . . . . 28 matches
#include<iostream>
using namespace std;
int bottle[9];
int noMove[6];
int movedBottle;
int input();
void setNotMove();
int minimumMove();
void output(int noMove);
void main()
output(minimumMove());
int input()
int totalBottle = 0;
for(int i = 0; i < 9; i++)
cin >> bottle[i];
cin.get();
void setNotMove()
int minimumMove()
int MAX = 0;
movedBottle = input();
- HowManyPiecesOfLand?/문보창 . . . . 28 matches
=== BigInteger.h ===
// Big Integer Class - C++
#include <iostream>
using namespace std;
#include <cstring>
#define MAXDIGITS 100
#define PLUS 1
#define MINUS -1
#define MAX(a,b) (((a) > (b)) ? (a) : (b))
class BigInteger
int signbit;
int lastdigit;
BigInteger(int n)
int i;
signbit = (n < 0) ? MINUS : PLUS;
BigInteger()
int i;
void print()
if (signbit == MINUS) cout << "-";
for (int i = lastdigit; i >= 0; i--)
- MobileJavaStudy/SnakeBite/FinalSource . . . . 27 matches
public void paint(Graphics g) {
g.fillRect(0, 0, getWidth(), getHeight());
g.drawImage(splashImage, getWidth() / 2, getHeight() / 2, Graphics.HCENTER | Graphics.VCENTER);
e.printStackTrace();
public int x;
public int y;
public SnakeCell(int x, int y) {
this.x = x;
this.y = y;
public static final int LEFT = 1;
public static final int RIGHT = 2;
public static final int UP = 3;
public static final int DOWN = 4;
private final int xRange;
private final int yRange;
private int headIndex;
private int direction;
private boolean growing;
public Snake(int length, int xRange, int yRange) {
this.xRange = xRange;
- Garbage collector for C and C++ . . . . 25 matches
* 유닉스나 리눅스에서는 "./configure --prefix=<dir>; make; make check; make install" 으로 인스톨 할수 있다.
* GNU-win32 에서는 기본으로 있는 Makefile 을 사용하면된다.
* win32 쓰레드를 지원하려면 NT_THREADS_MAKEFILE 을 사용한다. (gc.mak 도 같은 파일 이다.)
* 예) nmake /F ".gc.mak" CFG="gctest - Win32 Release"
* WinXP, MinGW, Msys
* -DGC_OPERATOR_NEW_ARRAY -DJAVA_FINALIZATION 을 CFLAGS 에 추가.
* Windows NT 나 Windows 2000 에서 문제가 발생한다면 -DUSE_GLOBAL_ALLOC 나 -DUSE_MUNMAP 옵션을 사용하여 컴파일 한다.
# -DSILENT disables statistics printing, and improves performance.
# -DFIND_LEAK causes GC_find_leak to be initially set.
# This causes the collector to assume that all inaccessible
# Finalization and the test program are not usable in this mode.
# -DGC_SOLARIS_THREADS enables support for Solaris (thr_) threads.
# (Clients should also define GC_SOLARIS_THREADS and then include
# gc.h before performing thr_ or dl* or GC_ operations.)
# Must also define -D_REENTRANT.
# -DGC_SOLARIS_PTHREADS enables support for Solaris pthreads.
# (Internally this define GC_SOLARIS_THREADS as well.)
# -DGC_LINUX_THREADS enables support for Xavier Leroy's Linux threads.
# see README.linux. -D_REENTRANT may also be required.
# Appeared to run into some underlying thread problems.
- DataCommunicationSummaryProject/Chapter8 . . . . 24 matches
= The Air Link =
= Voice Infrastructure =
== Switching Centers ==
* moblie voice 네트워크에서 가장 복잡한 구성요소는 MSC(Mobile Switching Center)이다.
=== The Home Location Register(HLR) ===
=== The Visitors' Location Register(VLR) ===
=== The Equipment Identity Register(EIR) ===
=== The Authentication Center(AuC) ===
=== The Messaging Center ===
== Trunking ==
* 초기 핸드폰 네트워크에서 MSC가 그물망처럼 되었는데, 이건 곧 제어하기 힘들게 되었다. 그래서 TSCs(Trunking Switching Centers)가 씌여지게 되었다.
* The Gateway Mobile Switching Center (GMSC)는 스위칭 체계의 최 상위에 있다.
* 그것은 모바일 네트워크를 전화 네트워크(PSTN)나 다른 roaming 협약을 맵은 운영자와 연결한다.
* 이것은 가장큰 역할은 핸드폰 시스템 자체의 신호 프로토콜을 보통 전화선에서 전화번호와 같은 정보를 나르는데 사용하는 Signaling System 7(SS7)로 변환하는 것이다.
= Data Infrastructure =
== Serving Support ==
* Serving GPRS Support Node (SGSN)은 data infrastructure 에서 MSC와 비슷한 것이다.
== The GPRS Backbone ==
* 인터넷에서 사용되는 IP와 비슷한 GTP(GPRS Tunneling Protocol)라는 프로토콜을 사용한다.
== The Gateway Node ==
- EnglishSpeaking/2011년스터디 . . . . 24 matches
* 목표 : 중앙도서관 English Lounge 정복!!
* 참고 도서 : 한 달 만에 끝내는 OPIc (학생편/Intermediate) - 원글리쉬
1. The Simpsons (심슨네 가족들)의 한 장면을 역할 분담해서 따라하기.
* [EnglishSpeaking/TheSimpsons]
* 막연하게 Free Talking을 하면 아직 어색한 우리들, 어떠한 방법으로 이를 극복할 것인가?
1. Free Talking
1. Theme Talking
* There are four members in my family: my father, mother, and a younger brother. Well, actually there are five including our dog. My father was a military officer for twenty years. He recently retired from service and now works in a weaponry company. My mother is a typical housewife. She takes care of me and my brother and keeps our house running well. My brother is attending a university in the U.S.A. He just entered the university as a freshman and is adjusting to the environment. I miss the memory of fighting over things with him. The last member of my family is my dog named Joy. She is a Maltese terrier and my mother named her Joy to bring joy into our family. That's about it for the introduction of my family members.
1. The Simpsons
* [EnglishSpeaking/TheSimpsons/S01E01]
1. Free Talking
1. Theme Talking
* [김수경] - 오늘 처음으로 심슨 대사를 따라해봤습니다. 지원언니께서 네명이 같이 연습할만한 장면들을 미리 골라두셨는데 막상 오늘 온 사람이 두명이라 다른 장면을 연습했습니다. 40초도 채 안 되는 짧은 대화인데 참 어렵더라구요. 한 문장씩 듣고 따라하고, 받아쓰기도 하고, 외워서 해보는 등 한 장면을 가지고 여러번 연습한 것은 매우 좋았습니다. ''You tell me that all the time.''이나 ''Let me be honest with you.''가 어려운 문장은 아니지만 막상 말하려면 딱 생각이 안 났을 것 같은데 오늘 이후로는 좀 더 유려하게 말할 수 있을 것 같아요. 앞으로 매주 진행하면 이런 표현들이 늘어나겠죠 ㅋㅋㅋ
* [송지원] - 혹시나 했지만 역시나 현지 영어 따라하기는 쉽지 않습니다. 짧은 몇 줄 문장을 외워서 따라하기는 어렵지만 많이 하면 실력이 늘 거라는 생각은 들어요. Free Talking은 제가 하고 싶은 말을 나름 자유롭게 구사해서 만족했는데 Theme Talking에서는 한계를 느끼고 한국어를 섞어서 그 점이 좀 아쉬웠어요. 다음 주에는 The Simpsons.. 정말 4명이 함께 하기를 (온 성의를 다해 대본을 준비하는 만큼;ㅁ;)
1. The Simpsons
* [EnglishSpeaking/TheSimpsons/S01E02]
1. Free Talking
1. Theme Talking
* [송지원] - 지난 번에 심슨 따라하기 보다 역할을 분담하니 조금 수월해졌다는 느낌이었습니다. 특히, 재미있는 장면을 선정해서 지난 번보다 조금 더 몰입할 수 있었어요. (지난 번엔 마지가 너 고민 있는듯 하다 뭐 이런 내용이었는데 이번엔 온 가족이 Scrabble 게임을 하는 장면 ㅋㅋ) Free Talking을 하면서 느낀 건 맨 처음 영어 스터디를 시작할 때보다 말문이 많이 트였다는 점. 이젠 6피에서 영어 쓰는 것도 그렇게 쪽팔리기만 하지는 않네요.
* [김수경] - 이번주 영상은 문장이 단어 조금 바꾸면 여기저기 가져다 쓸만한 것이 많아 재미있었어요. 가위바위보로 역할을 분담했는데 ''Along with the ego and the superego, one of three components of the psyche.''라는 문장을 외워보고 싶어서 리사를 선택했습니다. 그런데 리사 분량이 제일 적어서 본의아니게(?) 가장 날로먹었네요 ㅋㅋ
- HowManyFibs?/황재선 . . . . 24 matches
반복적인 계산을 줄이기 위해서, bottom-up 방식으로 수열을 처음부터 계산하였다. 계산된 이전 값을 사용하여 다음 수열을 빠르게 얻을 수 있었다. Dynamic Programming을 처음으로 해보았다 :)
import java.math.BigInteger;
public String readLine() {
return new Scanner(System.in).useDelimiter("\n").next().trim();
public int howManyFib(BigInteger start, BigInteger end) {
int howMany = 0;
BigInteger zero = new BigInteger("0");
BigInteger one = new BigInteger("1");
BigInteger two = new BigInteger("2");
BigInteger[] fibRoom = new BigInteger[4];
public void printNumOfFibs(int numOfFibs) {
System.out.println(numOfFibs);
public static void main(String[] args) {
String line = fib.readLine();
if (line.equals("0 0")) {
BigInteger start = new BigInteger(line.split(" ")[0]);
BigInteger end = new BigInteger(line.split(" ")[1]);
int numOfFibs = fib.howManyFib(start, end);
fib.printNumOfFibs(numOfFibs);
import java.math.BigInteger;
- 오목/곽세환,조재화 . . . . 24 matches
// ohbokView.h : interface of the COhbokView class
#if !defined(AFX_OHBOKVIEW_H__1263A16D_AC1C_11D7_8B87_00105A0D3B1A__INCLUDED_)
#define AFX_OHBOKVIEW_H__1263A16D_AC1C_11D7_8B87_00105A0D3B1A__INCLUDED_
virtual void OnDraw(CDC* pDC); // overridden to draw this view
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);
virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);
virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);
void VictoryMessage(int count, int z);
void WhoIsVictory(int y,int x, int z);
int turn;
int array[10][10];
virtual void AssertValid() const;
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
#ifndef _DEBUG // debug version in ohbokView.cpp
inline COhbokDoc* COhbokView::GetDocument()
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_OHBOKVIEW_H__1263A16D_AC1C_11D7_8B87_00105A0D3B1A__INCLUDED_)
// ohbokView.cpp : implementation of the COhbokView class
- MoinMoinBugs . . . . 23 matches
Back to MoinMoinTodo | Things that are MoinMoinNotBugs | MoinMoinTests contains tests for many features
=== Tables broken by trailing spaces ===
Tables don't work right if there are trailing spaces.
''Yes, by design, just like headings don't accept trailing spaces. In the case of headings, it is important because "= x =" is somewhat ambiguous. For tables, the restriction could be removed, though.''
|| This row || is ok ||
|| this row || isn't ||
|| OK || again ||
And as a fun sidenote, the UserPreferences cookie doesn't seem to work. The cookie is in my ~/.netscape/cookies file still. My EfnetCeeWiki and XmlWiki cookies are duplicated!? It is kind of like the bug you found when I, ChristianSunesson, tried this feature with netscape just after you deployed it.
Hehe, and my changes are not logged to the RecentChanges database, I'll hope you find these changes this year. :) BUG BUG BUG!
''Well, Netscape suxx. I send the cookies with the CGI'S path, w/o a hostname, which makes it unique enough. Apparently not for netscape. I'll look into adding the domain, too.''
Hmmm...I use NetScape, MsIe, MoZilla and Galeon. I haven't had a problem but some other's using MoinMoin 0.8 have intermittently lost cookies. Any ideas?
-- BruceDurling
=== Misc ===
* Solve the problem of the Windows filesystem handling a WikiName case-indifferent (i.e. map all deriatives of an existing page to that page).
* Check whether the passed WikiName is valid when editing pages (so no pages with an invalid WikiName can be created); this could also partly solve the case-insensitive filename problem (do not save pages with a name only differing in case)
* InterWiki links should either display the destination Wiki name or generate the A tag with a TITLE attribute so that (at least in IE) the full destination is displayed by floating the cursor over the link. At the moment, it's too hard to figure out where the link goes. With that many InterWiki destinations recognised, we can't expect everyone to be able to recognise the URL.
* Hover over the interwiki icon and you'll already get a tooltip, I'll look into the title attribute stuff.
* RecentChanges can tell you if something is updated, or offer you a view of the diff, but not both at the same time.
* If you want the ''latest'' diff for an updated page, click on "updated" and then on the diff icon (colored glasses) at the top.
* That's what I'm doing for the time being, but by the same rationale you don't need to offer diffs from RecentChanges at all.
- MoinMoinTodo . . . . 23 matches
This is a list of things that are to be implemented. If you miss a feature, have a neat idea or any other suggestion, please put it on MoinMoinIdeas.
To discuss the merit of the planned extensions, or new features from MoinMoinIdeas, please use MoinMoinDiscussion.
A list of things that are added to the current source in CVS are on MoinMoinDone.
MoinMoinRelease describes how to build a release from the SourceForge repository.
Things to do in the near future:
* add a nice progress page, while the dictionary cache is built
* add a means to build the dict.cache file from the command line
* Macro that lists all users that have an email address; a click on the user name sends the re-login URL to that email (and not more than once a day).
* Send a timestamp with the EditPage link, and then compare to the current timestamp; warn the user if page was edited since displaying.
* Now that we can identify certain authors (those who have set a user profile), we can avoid to create a backup copy if one author makes several changes; we have to remember who made the last save of a page, though.
* Implement the update script (copying new images etc.) described elsewhere on this page or MoinMoinIdeas.
* Replace SystemPages by using the normal "save page" code, thus creating a backup copy of the page that was in the system. Only replace when diff shows the page needs updating.
* Send a regular "changes" mail? (checkbox, plus frequency setting hourly/daily/weekly/etc.)
* Other things like color, icons, menu?
* On request, send email containing an URL to send the cookie
* Steal ideas from [http://www.usemod.com/cgi-bin/mb.pl?action=editprefs MeatBall:Preferences]
* a CSS switch (needs more work on the formatter issue to really work)
* MoinMoinRefactoring
* create a dir per page in the "backup" dir; provide an upgrade.py script to adapt existing wikis
* or go all the way, and store pages as data/pages/<firstletter>/<pagename>/(current|meta|...|<timestamp>)
- SolarSystem/상협 . . . . 23 matches
#include <windows.h>
#include <gl\gl.h>
#include <gl\glu.h>
#include <gl\glaux.h>
#include <stdio.h>
#include <cmath>
HINSTANCE hInstance;
GLfloat distance1 = 2.0f;//수성
GLfloat distance2 = 3.2f;//금성
GLfloat distance3 = 4.2f;//지구
GLfloat distance4 = 5.2f;//화성
GLfloat distance5 = 6.2f;//목성
GLfloat distance6 = 7.2f;//토성
GLfloat distance7 = 8.2f;//천왕성
GLfloat distance8 = 9.2f;//해왕성
GLfloat distance9 = 10.2f;//명왕성
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
// Calculate The Aspect Ratio Of The Window
glMatrixMode(GL_MODELVIEW); // Select The Modelview Matrix
int InitGL(GLvoid)
- InterWiki . . . . 22 matches
List of valid InterWiki names this wiki knows of:
[[InterWiki]]
Other Wikis:
* [http://panoptic.com/wiki/aolserver AOL Server Wiki]
* [http://www.wikiservice.at/dse/wiki.cgi? DseWiki]
MoinMoin marks the InterWiki links in a way that works for the MeatBall:ColourBlind and also is MeatBall:LynxFriendly by using a little icon with an ALT attribute. If you hover above the icon in a graphical browser, you'll see to which Wiki it refers. If the icon has a border, that indicates that you used an illegal or unknown BadBadBad:InterWiki name (see the list above for valid ones). BTW, the reasoning behind the icon used is based on the idea that a Wiki:WikiWikiWeb is created by a team effort of several people.
See the wiki:MeatBall/InterWiki page on wiki:MeatBall:MeatballWiki for further details.
ZeroWiki에서는 InterMap 페이지 수정으로 InterWiki를 조작할 수 있습니다.
- NSIS/예제1 . . . . 22 matches
Name "TestInstallSetup"
OutFile "TestInstallSetup.exe"
InstallDir $PROGRAMFILES\TestInstallSetup
; The text to prompt the user to enter a directory
DirText "This will install the very simple example1 on your computer. Choose a directory"
Section "ThisNameIsIgnoredSoWhyBother?"
SetOutPath $INSTDIR
File "C:\windows\notepad.exe"
==== makensis 컴파일 과정 ====
MakeNSIS v1.95 - Copyright 1999-2001 Nullsoft, Inc.
Contributors: nnop@newmail.ru, Ryan Geiss, Andras Varga, Drew Davidson, Peter Windridge, Dave Laundon, Robert Rainwater, Yaroslav Faybishenko, et al.
Processing config:
Processing script file: "example1.nsi"
Name: "TestInstallSetup"
OutFile: "TestInstallSetup.exe"
InstallDir: "$PROGRAMFILES\TestInstallSetup"
DirText: "This will install the very simple example1 on your computer. Choose a directory" "" ""
Section: "ThisNameIsIgnoredSoWhyBother?"
SetOutPath: "$INSTDIR"
File: "NOTEPAD.EXE" [compress] 20148/53248 bytes
- PreviousFrontPage . . . . 22 matches
A WikiWikiWeb is a collaborative hypertext environment, with an emphasis on easy access to and modification of information. This wiki is also part of the InterWiki space.
MoinMoin is a Python WikiClone, based on PikiPiki. The name is a common German slang expression explained on the MoinMoin page. If you run a Wiki using MoinMoin, please add it to the MoinMoinWikis page.
You are encouraged to add to the MoinMoinIdeas page, and edit the WikiSandBox whichever way you like. Please try to restrain yourself from adding unrelated stuff, as I want to keep this clean and part of the project documentation.
/!\ Please see Wiki:WikiForumsCategorized for a list of wikis by topic.
You can edit any page by pressing the link at the bottom of the page. Capitalized words joined together form a WikiName, which hyperlinks to another page. The highlighted title searches for all pages that link to the current page. Pages which do not yet exist are linked with a question mark: just follow the link and you can add a definition.
To learn more about what a WikiWikiWeb is, read about WhyWikiWorks and the WikiNature. Also, consult the WikiWikiWebFaq.
Interesting starting points:
* RecentChanges: see where people are currently working
* HelpForBeginners: to get you going
* WikiSandBox: feel free to change this page and experiment with editing
* MoinMoinTodo: discussion about the improvement of MoinMoin
* FindPage: search or browse the database in various ways
- RSSAndAtomCompared . . . . 22 matches
feed formats. As of mid-2005, the two
most likely candidates will be [http://blogs.law.harvard.edu/tech/rss RSS 2.0] and [http://ietfreport.isoc.org/idref/draft-ietf-atompub-format/ Atom 1.0].
The purpose of this page is to summarize, as clearly and simply as possible, the differences between the RSS 2.0 and Atom 1.0 syndication languages.
2005/07/21: RSS 2.0 is widely deployed and Atom 1.0 only by a few early adopters, see KnownAtomFeeds and KnownAtomConsumers.
The RSS 2.0 specification is copyrighted by Harvard University and is frozen. No significant changes can be made and it is intended that future work be done under a different name; Atom is one example of such work.
The Atom 1.0 specification (in the course of becoming an
IETF standards track RFC) represents the consensus of the
[http://www.ietf.org/html.charters/atompub-charter.html Atompub Working Group]
within the [http://www.ietf.org/ IETF], as reviewed and approved by the IETF community and the
[http://www.ietf.org/iesg.html Internet Engineering Steering Group]. The specification is structured in such a way that the IETF could conceivably issue further versions or revisions of this specification without breaking existing deployments, although there is no commitment, nor currently expressed interest, in doing so.
See the Extensibility section below for how each can be extended without changing the specifications themselves.
=== Publishing Protocols ===
There are two popular protocols widely used with RSS, [http://www.xmlrpc.com/metaWeblogApi MetaWeblog]
and [http://www.blogger.com/developers/api/ Blogger]. There are frequent
[http://www.bblfish.net/blog/page7.html#2005/06/20/22-28-18-208 reports] of problems with interoperability and feature shortcomings.
The Atompub working group is in the late stages of developing the
[http://ietfreport.isoc.org/idref/draft-ietf-atompub-protocol/ Atom Publishing Protocol], which is closely integrated with the Atom feed format and is based on the experience with the existing protocols.
RSS 2.0 requires feed-level title, link, and description. RSS 2.0 does not require that any of the fields of individual items in a feed be present.
Atom 1.0 requires that both feeds and entries include a title (which may be empty), a unique identifier, and a last-updated timestamp.
RSS 2.0 may contain either plain text or escaped HTML, with no way to indicate which of the two is provided. Escaped HTML is ugly (for example, the string AT&T would be expressed as “AT&T”) and has been a source of difficulty for implementors. RSS 2.0 cannot contain actual well-formed XML markup, which reduces the re-usability of content.
- TwistingTheTriad . . . . 22 matches
http://www.object-arts.com/Papers/TwistingTheTriad.PDF
http://www.esug.org/summerschools/2000_Southampton/twistingTheTriad/twistingTheTriad.pdf
C++ 시스템의 Taligent 로부터 유래. Dolphin Smalltalk 의 UI Framework. 논문에서는 'Widget' 과 'MVC' 대신 MVP 를 채택한 이유 등을 다룬다고 한다. 그리고 MVC 3 요소를 rotating (or twisting)함으로서 현재 존재하는 다른 Smalltalk 환경보다 쓰기 쉽고 더 유연한 'Observer' based framework 를 만들 것을 보여줄 것이다.
VisualBasic, IS/2 등에 해당.
with a widget-based system it is easy to avoid having to think about the (required) separation between the user interface and the application domain objects, but it is all too easy to allow one's domain code to become inextricably linked with the general interface logic.
it was much more that the widget system was just not flexible enought. We didn't know at the time, but were just starting to realise, that Smalltalk thrives on plugability and the user interface components in out widget framework were just not fine-grained enough.
One example of this deficiency surfaced in SmalltalkWorkspace widget. This was originally designed as a multiline text-editing component with additional logic to handle user interface commands such as Do-it, Show-it, Inspect-it etc. The view itself was a standard Windows text control and we just attached code to it to handle the workspace functionality. However, we soon discovered that we also wanted to have a rich text workspace widget too. Typically the implementation of this would have required the duplication of the workspace logic from the SmalltalkWorkspace component or, at least, an unwarranted refactoring session. It seemed to us that the widget framework could well do with some refactoring itself!
In MVC, most of the application functionality must be built into a model class known as an Application Model. It is the reponsibility of the application model to be the mediator between the true domain objects and the views and their controllers. The views are responsible for displaying the domain data while the controller handle the raw usr gestures that will eventually perform action on this data. So the application model typically has method to perform menu command actions, push buttons actions and general validation on the data that it manages. Nearly all of the application logic will reside in the application model classes. However, because the application model's role is that of a go-between, it is at times necessary for it to gain access to the user interface directly but, because of the Observer relationship betweeen it and the view/controller, this sort of access is discouraged.
For example, let's say one wants to explicitly change the colour of one or more views dependent on some conditions in the application model. The correct way to do this in MVC would be to trigger some sort of event, passing the colour along with it. Behaviour would then have to be coded in the view to "hang off" this event and to apply the colour change whenever the event was triggered. This is a rather circuitous route to achieving this simple functionality and typically it would be avoided by taking a shoutcut and using #componentAt : to look up a particular named view from the application model and to apply the colour change to the view directly. However, any direct access of a view like this breaks the MVC dictum that the model should know nothing about the views to which it is connected. If nothing else, this sort of activity surely breaks the possibility of allowing multiple views onto a model, which must be the reason behind using the Observer pattern in MVC in the first place.
=== TwistingTheTriad : ModelViewPresenter ===
This is the data upon which the user interface will operate. It is typically a domain object and the intention is that such objects should have no knowledge of the user interface. Here the M in MVP differs from the M in MVC. As mentioned above, the latter is actually an Application Model, which holds onto aspects of the domain data but also implements the user interface to manupulate it. In MVP, the model is purely a domain object and there is no expectation of (or link to) the user interface at all.
The behaviour of a view in MVP is much the same as in MVC. It is the view's responsibility to display the contents of a model. The model is expected to trigger appropriate change notification whenever its data is modified and these allow the view to "hang off" the model following the standard Observer pattern. In the same way as MVC does, this allows multiple vies to be connected to a single model.
One significant difference in MVP is the removal of the controller. Instead, the view is expected to handle the raw user interface events generated by the operating system (in Windows these come in as WM_xxxx messages) and this way of working fits more naturally into the style of most modern operating systems. In some cases, as a TextView, the user input is handled directly by the view and used to make changes to the model data. However, in most cases the user input events are actually routed via the presenter and it is this which becomes responsible for how the model gets changed.
While it is the view's responsibility to display model data it is the presenter that governs how the model can be manipulated and changed by the user interface. This is where the heart of an application's behaviour resides. In many ways, a MVP presenter is equivalent to the application model in MVC; most of the code dealing with how a user interface works is built into a presenter class. The main difference is that a presenter is ''directly'' linked to its associated view so that the two can closely collaborate in their roles of supplying the user interface for a particular model.
Compared with our orignnal widget framework, MVP offers a much greater separation between the visual presentation of an interface and the code required to implement the interface functionality. The latter resides in one or more presenter classes that are coded as normal using a standard class browser.
- 새싹교실/2012/세싹 . . . . 22 matches
* 수업과목: everything you want
* Facts, Feelings, Findings, Future Action Plan. 즉, 사실, 느낀 점, 깨달은 점, 앞으로의 계획.
* 반드시 ZeroWiki에 작성해주세요. 하위 페이지를 만드는 것도 허용합니다.
* 참고로 ZeroWiki는 MoniWiki Engine을 사용하며 Google Chrome이나 Mozila Firefox, Safari보다는 Internet Explorer에서 가장 잘 돌아가는 것 같습니다.
* wiki를 왜 쓰는지, 어떻게 사용하는지에 대해 배웠습니다.
2) http://ftp.daum.net -> Ubuntu-releases -> 11.10 -> ubuntu-11.10-deskto-amd64.iso 다운
3) Virtualbox실행 -> 새로 만들기 -> 운영체제 : Linux 버전 : Ubuntu -> 메모리1024MB로 설정하고 나머지 디폴트 설치
4) 만들어진 ubuntu 실행 -> 설치 미디어로 ISO파일 마운트 -> 설치
4) terminal 실행 -> .c 파일이 있는 경로로 이동 (ls와 cd를 이용합니다.)
* wiki 사용법 익히기
1) virtual box로 linux 설치 후 hello world 작성하고 컴파일하여 스크린샷을 강사 메일로 보내주세요.
2) linux의 다양한 명령어 검색해보기
* 새싹 첫시간을 가졌습니다. 이곳 Wiki가 매우 흥미로웠고, 캡스톤실에 대해서도 궁금점을 해소하여 좋았습니다. 이름만 들어보고 좀처럼 볼 일이 없던 것들을 보게되어 좋았습니다. 앞으로 잘 부탁드립니다. - [김희성]
* 숙제를 수행하기 위해 버추얼 박스를 설치하였습니다. 설치파일이 정상적으로 실행 않는 문제가 있었는데 인터넷으로 강제 압축해제하는 방법을 듣고 7z으로 압축을 해제하는 방법으로 해결하였습니다. 데몬이 없어 iso파일도 7z으로 풀었습니다. - [김희성]
* 어... iso파일을 풀필요없이 버추얼박스에서 바로 마운트시키는건데.. 제대로 설치됬어? - [정의정]
- link : 노드와 노드간에 데이터를 주고받는 역할을 합니다. 스위치, 브릿지등이 포함됩니다.
- 인터넷 소켓(Internet socket, socket' 혹은 network socket 라고 부르기도 한다)은 네트워크로 연결되어 있는 컴퓨터의 통신의 접점에 위치한 통신 객체다.
네트워크 통신을 위한 프로그램들은 소켓을 생성하고, 이 소켓을 통해서 서로 데이터를 교환한다. - wikipedia
5) 자세한 사항은 http://forum.falinux.com/zbxe/?document_srl=441104 를 참고하세요.
* 오피에서 숙제를 했습니다. VS로 하려니까 뭔가 막 오류가 나는데 고치지는 못하겠고 그래서 우분투를 깔아서 시도를 했네요. 용어가 익숙하지 않아서 그런지 함수 설명을 봐도 한번에 와닿지 않아서 힘들었습니다. 아 그리고 숙제를 하다가 생긴 문제인데요. 서버 프로그램을 처음 실행했을 때는 괜찮은데 두 번째로 실행했을 때는 Bind에러가 나네요. 그래서 매번 실행할 때마다 포트값을 수정해야했습니다. 왜 이런 문제가 생긴걸까요? - [권영기]
- DevelopmentinWindows/APIExample . . . . 21 matches
#include <windows.h>
#include "resource.h"
HINSTANCE hInst;
LPCSTR szWindowClass = "API Window Class";
ATOM MyRegisterClass(HINSTANCE hInstance);
BOOL InitInstance(HINSTANCE, int);
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
LRESULT CALLBACK About(HWND, UINT, WPARAM, LPARAM);
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
MyRegisterClass(hInstance);
if (!InitInstance (hInstance, nCmdShow))
DispatchMessage(&msg);
ATOM MyRegisterClass(HINSTANCE hInstance)
wcex.hInstance = hInstance;
wcex.lpszClassName = szWindowClass;
return RegisterClassEx(&wcex);
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
- TkinterProgramming/Calculator2 . . . . 21 matches
from Tkinter import *
def __init__(self, master, left1, right1):
Frame.__init__(self, master, bg='gray40')
def __init(self, master, font=('arial', 8, 'bold'), fg='white',
apply(Button.__init__, (self, master), kw)
def __init__(self):
exec code in self.myNameSpace, self.myNamespace
def __init__(self, parent = None):
Frame.__init__(self, bg='gray40')
self.master.title('Tkinter Toolkit TT - 42')
self.actionDict = { 'second' : self.doThis, 'mode': self.doThis,
'delete' : self.doThis, 'alpha' : self.doThis,
'stat' : self.doThis, 'math' : self.doThis,
'matrix': self.doThis, 'program' : self.doThis,
'vars' : self.doThis, 'clear' : self.clearall,
'sin' : self.doThis, 'cos' : self.doThis,
'tan' : self.doThis, 'up' : self.doThis,
'X1' : self.doThis, 'X2' : self.doThis,
'log' : self.doThis, 'ln' : self.doThis,
'store' : self.doThis, 'off' : self.turnoff,
- [Lovely]boy^_^/EnglishGrammer/Passive . . . . 21 matches
== Unit39. Passive(1) (is done / was done) ==
A. ex) This house(subject) was built in 1930. (passive)
'Was built' is passive(<-> active)
ex) Somebody(subject) built this house in 1930. (active)
ex) Two hundred people are employed by the company.
B. When we use the passive, who or what causes the action is often unknown or unimportant.(그리니까 행위주체가 누군지 모를때나 별로 안중요할때 수동태 쓴대요)
ex) A lot of money was stolen in the robbery.
If we want to say who does or what causes the action, we use by(수동태에서 누가 했는지 알고 싶으면 by 쓰래요)
ex) This house was built by my grandfather.
active) Somebody cleans this room every day.
passive) This room is cleaned every day.
active) Somebody cleaned this room yesterday.
passive) This room was cleaned yesterday.
== Unit40. Passive(2) (be / been / being done) ==
A. After will / can / must / going to / want to, etc...
active) Somebody will clean the room later.
passive) The room will be cleaned later.
ex) The music was very loud and could be heard from a long way away.
active) Somebody should have cleaned the room.
passive) The room should have been cleaned.
- 오목/진훈,원명 . . . . 21 matches
// OmokView.h : interface of the COmokView class
#if !defined(AFX_OMOKVIEW_H__5E50035A_B51D_11D7_8B86_00105A0D3B05__INCLUDED_)
#define AFX_OMOKVIEW_H__5E50035A_B51D_11D7_8B86_00105A0D3B05__INCLUDED_
virtual void OnDraw(CDC* pDC); // overridden to draw this view
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
virtual void OnInitialUpdate();
virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);
virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);
virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);
virtual void AssertValid() const;
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
int movecnt;
int Count;
int turn;
int putX;
int putY;
int board[9][9];
#ifndef _DEBUG // debug version in OmokView.cpp
inline COmokDoc* COmokView::GetDocument()
//{{AFX_INSERT_LOCATION}}
- LinkedList/숙제 . . . . 20 matches
int a; // 선언
int b = 10; // 선언&정의
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct _slist List;
typedef struct _slist{ // 구조체
int num;
List *next;
List *prev;
}List;
struct _slist{
int num;
List *next;
List *prev;
typedef로 'strucrt _slist'를 List로 정의한다.
즉, "List *aaa" == "struct _slist *aaa"
#include "ExList.h"
void ShowList(List *plist)
List *p; // 구조체 선언.
- MoinMoinWikis . . . . 20 matches
Wikis that use MoinMoin:
* this one :)
* [wiki:EfnetCeeWiki:FrontPage IRC channel #c]
* [wiki:EfnetCppWiki:FrontPage IRC channel #c++]
* [wiki:EfnetPythonWiki:FrontPage IRC channel #python]
* [wiki:EfnetXmlWiki:FrontPage IRC channel #xml]
* [wiki:PythonInfo:Python20Info Python 2.0 Info Area]
* [http://www.bioinformatics.org/piperwiki/moin.cgi Wiki for the Piper project]
* [http://pgdn.org/wiki CultureWiki] (online again, but still dead)
* [http://compsoc.dur.ac.uk/~tsp/cgi-bin/triki.cgi TrikiWiki] (private wiki for the Transformers holiday - uses a mildly hacked MoinMoin)
* [http://www.keitee.net/ Keiteedot] (Slash like wiki in Japanese)
* [http://www.gembook.org/moin/ WikiArea] (Japanese)
* [http://www.thinkware.se/cgi-bin/thinki.cgi/ Thinki]
* [http://www.cdegroot.com/cgi-bin/photowiki/ Photo Wiki]
* [http://www.cdegroot.com/cgi-bin/moin/ cdegroot.com's MoinMoin]
* [http://www.alberg30.org/collaborate/ Alberg Wiki]
* [http://www.linuxvideo.org/docs/wiki/ LiViD Wiki]
* [http://gstreamer.net/wiki/ GStreamer Wiki]
* [http://lightingwiki.com/FrontPage The Lighting Wiki]
For more wikis, see the InterWiki list.
- 오목/재니형준원 . . . . 19 matches
// OmokView.h : interface of the COmokView class
#if !defined(AFX_OMOKVIEW_H__95EACAA5_FAEA_4766_A6B3_6C6245050A8B__INCLUDED_)
#define AFX_OMOKVIEW_H__95EACAA5_FAEA_4766_A6B3_6C6245050A8B__INCLUDED_
int row, col;
int omokBoard[19][19];
int number;
int count;
virtual void OnDraw(CDC* pDC); // overridden to draw this view
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);
virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);
virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);
void CheckMove(int r, int c, int x, int y);
void init();
virtual void AssertValid() const;
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
#ifndef _DEBUG // debug version in OmokView.cpp
inline COmokDoc* COmokView::GetDocument()
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
- JavaStudy2003/두번째과제/곽세환 . . . . 18 matches
import javax.swing.JOptionPane;
private int array[][]; //판의 배열
private int max_x; //판의 가로크기
private int max_y; //판의 세로크기
public Board(int x, int y) {
array = new int[max_y][max_x];
for (int i = 0; i < max_y; i++)
for (int j = 0; j < max_x; j++)
public boolean IsStepFull() {
for (int i = 0; i < max_y; i++)
for (int j = 0; j < max_x; j++)
public boolean IsPostionWall(int x, int y) {
public void PutStep(int x, int y) {
String output = "";
for (int i = 0; i < max_y; i++)
for (int j = 0; j < max_x; j++)
private int p_x; // 바퀴의 현재 x 위치
private int p_y; // 바퀴의 현재 y 위치
public void Move(Board bo, int x, int y) {
while (!bo.IsStepFull()) {
- Slurpys/강인수 . . . . 18 matches
function HasDorEAtFirst (const S: String): Boolean;
function HasGAtLast (const S: String; APos: Integer): Boolean;
function FindF (const S: String): Integer;
function IsSlump (const S: String): Boolean;
function IsSlimp (const S: String): Boolean;
function IsSlurpy (const S: String): Boolean;
function HasDorEAtFirst (const S: String): Boolean;
begin
function HasGAtLast (const S: String; APos: Integer): Boolean;
begin
function FindF (const S: String): Integer;
i: Integer;
FirstFind: Boolean;
begin
FirstFind := False;
if S[2] <> 'F' then
begin
begin
if S[i] = 'F' then
begin
- AcceleratedC++/Chapter8 . . . . 17 matches
= Chapter 8 Writing generic functions =
WikiPedia:Generic_function : 함수를 호출하기 전까지는 그 함수의 매개변수 타입이 무엇인지 알 수 없는 함수.
Ch9~Ch12 WikiPedia:Abstract_data_type (이하 ADT)의 구현을 공부한다.
참고페이지) [ParametricPolymorphism]
== 8.1 What is a generic function? ==
WikiPedia:Generic_function : 함수의 호출시 인자 타입이나 리턴타입을 사용자가 알 수없다. ex)find(B,E,D)
union(A:string, " is...") (O), concaternate("COL", " is...") (X)}}}
#define GUARD_median_h
#include <algorithm>
#include <stdexcept>
#include <vector>
using std::domain_error;
using std::sort;
using std::vector;
throw domain_error("median of an empty vector");
sort(v.begin(), v.end());
return size % 2 == 0 ? (v[mid] + v[mid-1]) / 2 : v[mid]; // double, int에는 유효, string은 operator / 가 없기 때문에 무효
|| find(B, E, D) || D의 인자료 [B, E)를 비교하여 값을 찾는다. 비교를 하는 것은 크게 문제되지 않는다. ||
{{{~cpp ex) accumulate(v.begin(), v.end(), 0.0); // 만약 0:int를 사용했다면 올바른 동작을 보장할 수 없다.}}}
== 8.2 Data-structure independence ==
- SmalltalkBestPracticePatterns/DispatchedInterpretation . . . . 17 matches
'''''How can two objects cooperate when one wishes to conceal its representation ? '''''
Encoding is inevitable in programming. At some point you say, "Here is some information. How am I going to represent it?" This decision to encode information happens a hundred times a day.
Back in the days when data was separated from computation, and seldom the twain should meet, encoding decisions were critical. Any encoding decision you made was propagated to many different parts of the computation. If you got the encoding wrong, the cost of change was enormous. The longer it took to find the mistake, the more ridiculous the bill.
과거로 돌아가서 데이타가 연산으로부터 불리되었을 때, 그리고 종종 그 둘이 만나야 했을 때, 인코딩 결정은 중대한 것이었다. 너의 어떠한 인코딩 결정은 연산의 많은 다른 부분들을 점차적으로 증가시켜나아갔다. 만약 잘못된 인코딩을 한다면, 변화의 비용은 막대하다. The longer it took to find the mistake, the more ridiculous the bill.
Objects change all this. How you distribute responsibility among objects is the critical decision, encoding is a distant second. For the most part, in well factored programs, only a single object is interested in a piece of information. That object directly references the information and privately performs all the needed encoding and decoding.
Sometimes, however, information in one object must influence the behavior of another. When the uses of the information are simple, or the possible choices based on the information limited, it is sufficient to send a message to the encoded object. Thus, the fact that boolean values are represented as instances of one of two classes, True and False, is hidden behind the message #ifTrue:ifFalse:.
We could encode boolean values some other way, and as long as we provided the same protocol, no client would be the wiser.
Sets interact with their elements like this. Regardless of how an object is represented, as long it can respond to #=and #hash, it can be put in a Set.
Sometimes, encoding decisions can be hidden behind intermediate objects. And ASCII String encoded as eight-bit bytes hides that fact by conversing with the outside world in terms of Characters:
String>>at: anInteger
^Character asciiValue: (self basicAt: anInteger)
When there are many different types of information to be encoded, and the behavior of clients changes based on the information, these simple strategies won't work. The problem is that you don't want each of a hundred clients to explicitly record in a case statement what all the types of information are.
For example, consider a graphical Shape represented by a sequence of line, curve, stroke, and fill commands. Regardless of how the Shape is represented internally, it can provide a message #commandAt: anInteger that returns a Symbol representing the command and #argumentsAt: anInteger that returns an array of arguments. We could use these messages to write a PostScriptShapePrinter that would convert a Shape to PostScript:
PostScriptShapePrinter>>display: aShape
command = #line if True:
printPoint: (arguments at: 1);
printPoint: (arguments at: 2);
nextPutAll:'line'].
Every client that wanted to make decisions based on what commands where in a Shape would have to have the same case statement, violating the "once and only once" rule. We need a solution where the case statement is hidden inside of the encoded objects.
* ''Have the client send a message to the encoded object. PAss a parameter to which the encoded object will send decoded messages.''
- MoreEffectiveC++/Operator . . . . 16 matches
== Item 5: Be wary of user-defined conversion functions. ==
* C++는 타입간의 암시적 type casting을 허용한다. 이건 C의 유산인데 예를 들자면 '''char'''과 '''int''' 에서 '''short'''과 '''double''' 들이 아무런 문제없이 바뀌어 진다. 그런데 C++는 이것 보다 한수 더떠서 type casting시에 자료를 잃어 버리게 되는 int에서 short과 dougle에서 char의 변환까지 허용한다.[[BR]]
* C++에서는 크게 두가지 방식의 함수로 형변환을 컴파일러에게 수행 시키킨다:[[BR]] '''''single-argument constructors''''' 와 '''''implicit type conversion operators''''' 이 그것이다.
* '''''single-argument constructors''''' 은 인자를 하나의 인자만으로 세팅될수 있는 생성자이다. 여기 두가지의 예를 보자
Name( const string& s);
Rational( int numerator = 0, int denominator = 1);
cout << r; // should print "1/2"
이런 예로 C++ std library에 있는 string이 char*로 암시적 형변환이 없고 c_str의 명시적 형변환 시킨다.
* '''''single-argument constructor''''' 는 더 어려운 문제를 제공한다. 게다가 이문제들은 암시적 형변환 보다 더 많은 부분을 차지하는 암시적 형변환에서 문제가 발생된다.
Array ( int lowBound, int highBound );
Array ( int size )
T& operator[] (int index)
bool operator==( const Array< int >& lhs, const Array<int>& rhs);
Array<int> a(10);
Array<int> b(10);
for ( int i = 0; i<10; ++i)
7줄 ''if ( a == b[i] )'' 부분의 코드에서 프로그래머는 자신의 의도와는 다른 코드를 작성했다. 이런 문법 잘못은 당연히! 컴파일러가 알려줘야 개발자의 시간을 아낄수 있으리, 하지만 이런 예제가 꼭 그렇지만은 않다. 이 코드는 컴파일러 입장에서 보면 옳은 코드가 될수 있는 것이다. 바로 Array class에서 정의 하고 있는 '''''single-argument constructor''''' 에 의하여 컴파일시 이런 코드로의 변환의 가능성이 있다.
for ( int i = 0; i < 10; ++i)
if ( a == static_cast< Array<int> >(b[i]) )...
'''b[i]''' 는 int형을 반환하기 때문에 이렇게 즉석에서 맞춤 생성자로 type casting(형변환)을 컴파일러가 암시적으로 해줄수 있다. 이제 사태의 심각성을 알겠는가?
- ReadySet 번역처음화면 . . . . 16 matches
= Mission =
'''* What problem does this project address?'''
Software development projects require a lot of "paperwork" in the form of requirements documents, design documents, test plans, schedules, checklists, release notes, etc. It seems that everyone creates the documents from a blank page, from the documents used on their last project, or from one of a handful of high-priced proprietary software engineering template libraries. For those of us who start from a blank page, it can be a lot of work and it is easy to forget important parts. That is not a very reliable basis for professional engineering projects.
'''* What is the goal of this project?'''
ReadySET is an open source project to produce and maintain a library of reusable software engineering document templates. These templates provide a ready starting point for the documents used in software development projects. Using good templates can help developers work more quickly, but they also help to prompt discussion and avoid oversights.
'''* What are some key features that define the product?'''
* High-quality outlines, sample text, and checklists.
* Templates for many common software engineering documents. Including:
* Release checklist template
'''*What makes this product different from others?'''
This is an open source project that you are welcome to use for free and help make better. Existing packages of software engineering templates are highly costly and biased by the authorship of only a few people, by vendor-client relationships, or by the set of tools offered by a particular vendor.
These templates are in pure XHTML with CSS, not a proprietary file format. That makes them easier to edit and to track changes using freely available tools and version control systems. The templates are designed to always be used on the web; they use hyperlinks to avoid duplicating information.
The templates are not burdened with information about individual authorship or document change history. It is assumed that professional software developers will keep all project documents in version control systems that provide those capabilities.
These templates are not one-size-fits-all and they do not attempt to provide prescriptive guidance on the overall development process. We are developing a broad library of template modules for many purposes and processes. The templates may be filled out in a suggested sequence or in any sequence that fits your existing process. They may be easily customized with any text or HTML editor.
'''*What is the scope of this project?'''
We will build templates for common software engineering documents inspired by our own exprience.
'''*What are the high-level assumptions or ground rules for the project?'''
I assume that the user takes ultimate responsibility for the content of all their actual project documents. The templates are merely starting points and low-level guidance.
'''*What are we not going to do?'''
This project does not attempt to provide powerful tools for reorganizing the templates, mapping them to a given software development process, or generating templates from a underlying process model. This project does not include any application code for any tools, users simply use text editors to fill in or customize the templates.
- whiteblue/MyTermProjectForClass . . . . 16 matches
#define _DATA_H_
int number;
int kor;
int eng;
int math;
int total;
Data(char na[], int nu, int k, int e, int m);
int showNumber(int select);
int showNum();
int showTotal();
#define _JUDGEMENT_H_
#include "Data.h"
#include "Order.h"
int tempData;
int tempNumber;
int stData[20];
int arrayNumber[20];
void sort(bool IsItSort , int select , Data d[]);
void outputAll(bool IsItAll, Data d[]);
void outputPart(bool IsItPart, Data d[] , int select);
- whiteblue/파일읽어오기 . . . . 16 matches
#include <iostream>
#include <fstream>
#include <cmath>
#include <string>
using namespace std;
#include <vector>
class UserInfo
string szName; // User's name
unsigned int nSchoolNumber; // User's school number
UserInfo() {}
UserInfo( string szN, unsigned int nSN )
unsigned int getSchoolNumber() { return nSchoolNumber; }
string getName() { return szName; }
class BookInfo
int nBookNumber;
string szBookName;
string szWriter;
string szPublishingCompany;
UserInfo * pLendPeople;
BookInfo() {}
- DesignPatternsAsAPathToConceptualIntegrity . . . . 15 matches
원문 : http://www.utdallas.edu/~chung/patterns/conceptual_integrity.doc
Design Patterns as a Path to Conceptual Integrity
During our discussions about the organization of design patterns there was a comment about the difficulty of identifying the “generative nature” of design patterns. This may be a good property to identify, for if we understood how design patterns are used in the design process, then their organization may not be far behind. Alexander makes a point that the generative nature of design patterns is one of the key benefits. In practice, on the software side, the generative nature seems to have fallen away and the more common approach for using design patterns is characterized as “when faced with problem xyz…the solution is…” One might say in software a more opportunistic application of design patterns is prevalent over a generative use of design patterns.
The source of this difference may be the lack of focus on design patterns in the design process. In fact, we seldom see discussions of the design process associated with design patterns. It is as though design patterns are a tool that is used independent of the process. Let’s investigate this further:
A comment from Carriere and Kazman at SEI is interesting: “What Makes a Good Object Oriented Design?”
· The existence of an architecture, on top of any object/class design
· The internal regularity (….or conceptual integrity) of the architectural design
아키텍쳐 디자인의 내부적 정규성(또는 ConceptualIntegrity)
This is what Brooks wrote 25 years ago. "… Conceptual integrity is the most important consideration in system design."[Brooks 86] He continues: “The dilemma is a cruel one. For efficiency and conceptual integrity, one prefers a few good minds doing design and construction. Yet for large systems one wants a way to bring considerable manpower to bear, so that the product can make a timely appearance. How can these two needs be reconciled?”
이는 Brooks 가 25년 전에 쓴 말이다. "ConceptualIntegrity 는 시스템 디자인에서 가장 중요한 일이다." 그는 계속 말한다. "이 딜레마는 잔인한 것이다. 효율성과 개념적 완전성중 혹자는 디자인과 구축을 하는 것을 선호할 것이다. 큰 시스템에 대해 혹자는 책임을 맡을 중요한 맨 파워를 가져올 방법을 원할 것이다. 그래서 프로덕트는 적시에 출현할 것이다. 어떻게 이 두 필요요소들이 조화를 이룰 거인가?
One approach would be to identify and elevate a single overriding quality (such as adaptability or isolation of change) and use that quality as a foundation for the design process. If this overriding quality were one of the goals or even a specific design criteria of the process then perhaps the “many” could produce a timely product with the same conceptual integrity as “a few good minds.” How can this be accomplished and the and at least parts of the “cruel dilemma” resolved?
The following summary is from “Design Patterns as a Litmus Paper to Test the Strength of Object-Oriented Methods” and may provide some insight:
http://www.econ.kuleuven.ac.be/tew/academic/infosys/Members/Snoeck/litmus2.ps
1. Some O-O design methodologies provide a systematic process in the form of axiomatic steps for developing architectures or micro-architectures that are optimality partitioned (modularized) according to a specific design criteria.
2. The following methodologies are listed according to their key design criteria for modularization:
a. Booch in OOSE relies heavily on expert designers and experience to provide the system modularization principle.
OOSE 의 Booch 는 system modularization principle 을 제공하기 위해 전문가 디자이너와 경험에 매우 의존적이다.
b. OMT, Coad-Yourdon, Shaer-Mellor are data driven and as such raise data dependency as the system modularization principle.
OMT, Coad-Yourdon, Shaer-Mellor 의 경우 data driven 이며, system modularization principle 로서 데이터 의존성을 들었다.
c. Wirfs-Brock with Responsibility Driven Design (RDD) raises contract minimization as the system modularization principle.
- 프로그래밍/장보기 . . . . 15 matches
[http://acm.kaist.ac.kr/Problems/2005oa.pdf 문제 보기]
import java.io.FileNotFoundException;
public class Shopping {
public static int processOneCase(int num) {
String line = null;
String [] contents;
for(int i = 0; i < num; i++) {
line = br.readLine();
e.printStackTrace();
contents = line.split(" ");
int price = Integer.parseInt(contents[1]);
int weight = Integer.parseInt(contents[0]);
double minRate = rates[0][0];
int minRateIndex = 0;
for(int i = 1; i < num; i++) {
if (rates[i][0] < minRate) {
minRate = rates[i][0];
minRateIndex = i;
else if (rates[i][0] == minRate) {
if (rates[i][1] < rates[minRateIndex][1]) {
- IsThisIntegration? . . . . 14 matches
[http://online-judge.uva.es/p/v102/10209.html 원문보기]
=== IsThisIntegration? ===
[http://online-judge.uva.es/p/v102/p10209.jpg]
=== Input ===
=== Sample Input ===
|| 하기웅 || C++ || 2시간 || [IsThisIntegration?/하기웅] ||
|| 허준수 || C++ || ? || [IsThisIntegration?/허준수] ||
|| 김상섭 || C++ || ㅡㅜ || [IsThisIntegration?/김상섭] ||
- SystemPages . . . . 14 matches
[[SystemInfo]]
* WikiSandBox - 테스트를 위한 모래상자.
* TitleIndex - 제목으로 페이지들 목록 보기
* FindPage - 페이지 찾기
* InterWiki - 직접링크를 걸 수 있는 InterWiki들.
* MeatBall:MetaWiki - http://sunir.org/apps/meta.pl
현 ZeroWiki 의 자료실 이외 Archive 는 7월 부터, 오전, 오후 3시 3분에 백업됩니다.
http://zeropage.org/backupZeroWiki
http://zeropage.org/backupOneWiki
=== DeleteThisPage (DeleteThisPage 문구 기준. 정확하진 않음) ===
|| [[FullSearch("DeleteThisPage")]] ||
- TheKnightsOfTheRoundTable . . . . 14 matches
[http://online-judge.uva.es/p/v101/10195.html 원문보기]
=== TheKnightsOfTheRoundTable ===
=== Input ===
{{| The radius of the round table is: r |}}
=== Sample Input ===
{{| The radius of the round table is: 2.828 |}}
|| 하기웅 || C++ || 1시간 || [TheKnightsOfTheRoundTable/하기웅] ||
|| 김상섭 || C++ || 엄청 || [TheKnightsOfTheRoundTable/김상섭] ||
|| 문보창 || C++ || 10분 || [TheKnightsOfTheRoundTable/문보창] ||
|| 허준수 || C++|| ? || [TheKnightsOfTheRoundTable/허준수] ||
- TugOfWar/강희경 . . . . 14 matches
def InputTestCaseNumber():
n = input('TestCaseNumber: ')
print '----'
def InputPeopleNumber():
n = input('PeopleNumber: ')
def InputTheWeight(aN):
list = []
for i in range(0, aN):
list.append(input('Weight: '));
sum += list[i];
list.sort()
return list, aN
def MakeTwoTeams(aInfoTuple):
for i in range(0, aInfoTuple[1]):
b += aInfoTuple[0][aInfoTuple[1]-1-i]
a += aInfoTuple[0][aInfoTuple[1]-1-i]
if __name__ == '__main__':
testCaseNumber = InputTestCaseNumber()
for i in range(0, testCaseNumber):
print MakeTwoTeams(InputTheWeight(InputPeopleNumber()))
- 김재현 . . . . 14 matches
== Intro ==
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define COUNT 6 // 당첨번호개수
#define MAX 45 // 1-45
#define TITLE "[ LOTTO RANDOM NUMBER GENERATOR ]\n"
int main()
int i;
printf(TITLE);
printf("=================================\n");
printf("Enter the game count: ");
printf("=================================\n");
printf("game %2d: ", i+1);
printf("%2d ", n+1);
printf("\n"); // 한 set 완료
#include <stdio.h>
int ThreeNOne(int aInput);
int ThreeNOneTwoNum(int aInput, int aInput2);
int num1, num2, cycle_length;
- 데블스캠프2009/목요일/연습문제/MFC/서민관 . . . . 14 matches
#include "stdafx.h"
#include "testMFC.h"
#include "testMFCDlg.h"
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
//{{AFX_DATA_INIT(CAboutDlg)
//}}AFX_DATA_INIT
BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
//{{AFX_DATA_INIT(CTestMFCDlg)
//}}AFX_DATA_INIT
// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
BEGIN_MESSAGE_MAP(CTestMFCDlg, CDialog)
ON_WM_PAINT()
BOOL CTestMFCDlg::OnInitDialog()
CDialog::OnInitDialog();
// IDM_ABOUTBOX must be in the system command range.
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
- CheckTheCheck/곽세환 . . . . 13 matches
toupper를 쓰려면 ctype.h를 include해야한다.
#include <iostream>
using namespace std;
#include <ctype.h>
const int EMPTY = 0;
const int BLACK = 1;
const int WHITE = 2;
int whereSide(int y, int x)
bool isInBoard(int y, int x)
bool PawnCheck(int y, int x, int side)
if (isInBoard(y - 1, x - 1) && board[y - 1][x - 1] == 'p')
else if (isInBoard(y - 1, x + 1) && board[y - 1][x + 1] == 'p')
if (isInBoard(y + 1, x - 1) && board[y + 1][x - 1] == 'P')
else if (isInBoard(y + 1, x - 1) && board[y + 1][x + 1] == 'P')
bool RookCheck(int y, int x, int side)
int move[4][2] = {{-1, 0}, {0, 1}, {1, 0}, {0, -1}};
int i, k;
for (i = 1; i <= 7 && isInBoard(y + i * move[k][0], x + i * move[k][1]); i++)
continue;
bool BishopCheck(int y, int x, int side)
- EffectiveC++ . . . . 13 matches
== Shifting from C to C++ ==
=== Item1: Prefer const and inline to #define ===
DeleteMe #define(preprocessor)문에 대해 const와 inline을(compile)의 이용을 추천한다. --상민
[#define -> const][[BR]]
#define ASPECT_RATIO 1.653
instead of upper..
define 된 ASPECT_RATIO 란 상수는 1.653으로 변경되기때문에 컴파일러는 ASPECT_RATIO 란것이 있다는 것을 모르고 symbol table 에?들어가지 않는다. 이는 debugging을 할때 문제가 발생할 수 있다. -인택
1. 상수 포인터(constant pointer)를 정의하기가 다소 까다로워 진다는 것.
static const int NUM_TURNS = 5; // 상수 선언! (선언만 한것임)
int scores[NUM_TURNS]; // 상수의 사용.
const int GamePlayer::NUM_TURNS; // 정의를 꼭해주어야 한다.
#define -> inline (매크로 사용시)
* inline: 함수 호출로 인한 오버헤드를 줄일수 있는.. 거시기. 궁금하면 책찾아보세요.
#define max(a,b) ((a) > (b) ? (a) : (b))
// #define 을 inline으로..
inline int max(int a, int b) { return a > b ? a : b; } // int형으로만 제한 되어있네..
inline const T& max (const T& a, const T& b) { return a > b ? a : b; }
const와 inline을 쓰자는 얘기였습니다. --; 왜 그런지는 아시는 분께서 글좀 남기시구요. ^^[[BR]]
#define 문을 const와 inline으로 대체해서 써도, #ifdef/#ifndef - #endif 등.. 이와 유사한 것들은 [[BR]]
매크로는 말 그대로 치환이기 때문에 버그 발생할 확률이 높음. 상수선언이나 함수선언같은 경우는 가급적 const 나 inline으로 대체하는게 좋겠지. (으.. 그래도 실제로 짤때는 상수 선언할때는 #define 남용 경향이..[[BR]]
- LearningToDrive . . . . 13 matches
I can remeber clearly the day I first began learning to drive. My mother and I were driving up Interstate 5 near Chico, California, a horizon. My mom had me reach over from the passenger seat and hold the steering wheel. She let me get the feel of how motion of the wheel affected the dirction of the car. Then she told me, "Here's how you drive. Line the car up in the middle of the lane, straight toward the horizon."
I very carefully squinted straight down the road. I got the car smack dab in the middle of the lane, pointed right down the middle of the road. I was doing great. My mind wandered a little...
I jerked back to attention as the car hit the gravel. My mom (her courage now amazes me) gently got the car back straight on the road. The she actually taught me about driving. "Driving is not about getting the car goint in the right direction. Driving is about constantly paying attention, making a little correction this way, a little correction that way."
This is the paradigm for XP. There is no such thing as straight and level. Even if things seem to be going perfectly, you don't take your eyes off the road. Change is the only constant. Always be prepared to move a little this way, a little that way. Sometimes maybe you have to move in a completely different direction. That's life as a programmer.
Everythings in software changes. The requirements change. The design changes. The business changes. The technology changes. The team changes. The team members change. The problem isn't change, per se, because change is going to happen; the problem, rather, is the inability to cope with change when it comes.
The driver of a software project is the customer. If the software doesn't do what they want it to do, you have failed. Of course, they don't know exactly what the software should do. That's why software development is like steering, not like getting the car pointed straight down the road. Out job as programmers is to give the customer a steering wheel and give them feedback about exactly where we are on the road.
from "Learning To Drive - XP explained"
안되는 영어로 읽고 있는 중인 XP Explained 중. (제대로 뜻을 이해한건지. -_-;)
소프트웨어 개발을 운전을 배우는 것에 비유한 설명이 재미있네요. software project 의 Driver 는 customer 라는 말과.. Programmer 는 customer 에게 운전대를 주고, 그들에게 우리가 정확히 제대로 된 길에 있는지에 대해 feedback 을 주는 직업이라는 말이 인상적이여서. 그리고 customer 와 programmer 와의 의견이 수렴되어가는 과정이 머릿속으로 그려지는 것이 나름대로 인상적인중. 그리고 'Change is the only constant. Always be prepared to move a little this way, a little that way. Sometimes maybe you have to move in a completely different direction. That's life as a programmer.' 부분도.. 아.. 부지런해야 할 프로그래머. --;
["ExtremeProgramming"]
- RSS . . . . 13 matches
The technology behind RSS allows you to subscribe to websites that have provided RSS feeds, these are typically sites that change or add content regularly. To use this technology you need to set up some type of aggregation service. Think of this aggregation service as your personal mailbox. You then have to subscribe to the sites that you want to get updates on. Unlike typical subscriptions to pulp-based newspapers and magazines, your RSS subscriptions are free, but they typically only give you a line or two of each article or post along with a link to the full article or post.
The RSS formats provide web content or summaries of web content together with links to the full versions of the content, and other meta-data. This information is delivered as an XML file called RSS feed, webfeed, RSS stream, or RSS channel. In addition to facilitating syndication, RSS allows a website's frequent readers to track updates on the site using a news aggregator.
= History =
Before RSS, several similar formats already existed for syndication, but none achieved widespread popularity or are still in common use today, and most were envisioned to work only with a single service. For example, in 1997 Microsoft created Channel Definition Format for the Active Channel feature of Internet Explorer 4.0. Another was created by Dave Winer of UserLand Software. He had designed his own XML syndication format for use on his Scripting News weblog, which was also introduced in 1997 [1].
RDF Site Summary, the first version of RSS, was created by Dan Libby of Netscape in March 1999 for use on the My Netscape portal. This version became known as RSS 0.9. In July 1999 Netscape produced a prototype, tentatively named RSS 0.91, RSS standing for Rich Site Summary, this was a compromise with their customers who argued the complexity introduced (as XML namespaces) was unnecessary. This they considered a interim measure, with Libby suggesting an RSS 1.0-like format through the so-called Futures Document [2].
Soon afterwards, Netscape lost interest in RSS, leaving the format without an owner, just as it was becoming widely used. A working group and mailing list, RSS-DEV, was set up by various users to continue its development. At the same time, Winer posted a modified version of the RSS 0.91 specification - it was already in use in their products. Since neither side had any official claim on the name or the format, arguments raged whenever either side claimed RSS as its own, creating what became known as the RSS fork. [3]
The RSS-DEV group went on to produce RSS 1.0 in December 2000. Like RSS 0.9 (but not 0.91) this was based on the RDF specifications, but was more modular, with many of the terms coming from standard metadata vocabularies such as Dublin Core. Nineteen days later, Winer released RSS 0.92, a minor and (mostly) compatible revision of RSS 0.91. The next two years saw various minor revisions of the Userland branch of RSS, and its adoption by major media organizations, including The New York Times.
Winer published RSS 2.0 in 2002, emphasizing "Really Simple Syndication" as the meaning of the three-letter abbreviation. RSS 2.0 remained largely compatible with RSS 0.92, and added the ability to add extension elements in their own namespaces. In 2003, Winer and Userland Software assigned ownership of the RSS 2.0 specification to his then workplace, Harvard's Berkman Center for the Internet & Society.
- [Lovely]boy^_^/USACO/WhatTimeIsIt? . . . . 13 matches
#include <iostream>
#include <fstream>
#include <string>
#include <map>
using namespace std;
ifstream fin("clock.in");
int StringConvertToInt(const string& str);
int CharToInt(char ch);
int Jegob(int c, int e);
void InputInitData(int& h, int& m);
void OutputData(int&h, int& m);
string Upcase(const string& str);
map<int,string> table;
int main()
int hour, min;
InputInitData(hour, min);
OutputData(hour, min);
void OutputData(int& hour, int& min)
if(min >= 45)
fout << Upcase(table[60-min]) << " to " << table[hour+1];
- 레밍즈프로젝트/박진하 . . . . 13 matches
Fighting-_-/
int GetSize() const;
int GetUpperBound() const;
void SetSize(int nNewSize, int nGrowBy = -1);
// Accessing elements
TYPE GetAt(int nIndex) const;
void SetAt(int nIndex, ARG_TYPE newElement);
TYPE& ElementAt(int nIndex);
// Direct Access to the element data (may return NULL)
// Potentially growing the array
void SetAtGrow(int nIndex, ARG_TYPE newElement);
int Add(ARG_TYPE newElement);
int Append(const CArray& src);
TYPE operator[](int nIndex) const;
TYPE& operator[](int nIndex);
void InsertAt(int nIndex, ARG_TYPE newElement, int nCount = 1);
void RemoveAt(int nIndex, int nCount = 1);
void InsertAt(int nStartIndex, CArray* pNewArray);
TYPE* m_pData; // the actual array of data
int m_nSize; // # of elements (upperBound - 1)
- JSP/SearchAgency . . . . 12 matches
import="java.util.*, java.io.BufferedReader, java.io.InputStreamReader, java.io.FileReader,
org.apache.lucene.analysis.Analyzer,
org.apache.lucene.analysis.standard.StandardAnalyzer,
org.apache.lucene.index.IndexReader,
org.apache.lucene.index.FilterIndexReader,
org.apache.lucene.search.IndexSearcher,
pageEncoding="UTF-8"%>
out.write(" <input type=text name='keyword'>");
class OneNormsReader extends FilterIndexReader {
private String field;
public OneNormsReader(IndexReader in, String field) {
super(in);
this.field = field;
public byte[] norms(String field) throws IOException {
return in.norms(this.field);
// String index = "/home/httpd/index";
String index = "index";
String field = "contents";
String queries = null;
int repeat = 0;
- MoinMoinDone . . . . 12 matches
Things from MoinMoinTodo that got implemented.
* Strip closing punctuation from URLs, so that e.g. (http://www.python.org) is recognized properly. Closing punctuation is characters like ":", ",", ".", ")", "?", "!". These are legal in URLs, but if they occur at the very end, you want to exclude them. The same if true for InterWiki links, like MeatBall:InterWiki.
* Headlines:
||||is done||
* Check for a (configurable) max size in bytes of the RecentChanges page while building it
* Inline code sections (triple-brace open and close on the same line, {{{~cpp like this}}} or {{{~cpp ThisFunctionWhichIsNotaWikiName()}}})
* SGML-Entities were replaced when saving them a second time, i.e. & #160; without the space had a problem.
* SpamSpamSpam appeared 3 times in WordIndex. Too much Spam!
* Added a means to add meta tags to the page header, like: {{{~cpp
<META NAME="ROBOTS" CONTENT="NOINDEX,NOFOLLOW">
* MoinMoin:J
- RandomWalk2/ClassPrototype . . . . 12 matches
#include <iostream>
#include <assert.h>
using namespace std;
typedef struct __IntPair {
int n1;
int n2;
} IntPair;
int m_nMaxCol;
int m_nMaxRow;
IntPair m_nRoachPos;
for (int i=0;i<100;i++) {
for (int j=0;j<100;j++) {
int boardArray[100][100];
void setSize (int nCol, int nRow) {
void printBoardStatus () {
for (int i=0;i<m_nMaxRow;i++) {
for (int j=0;j<m_nMaxCol;j++) {
int isCheckedAllCells () {return 0; }
void setRoachPosition(int nRow, int nCol) {
IntPair getRoachPosition () {
- whiteblue/만년달력 . . . . 12 matches
#include <iostream>
using namespace std;
int addMonth[12] = {0,3,0,3,2,3,2,3,3,2,3,2}; // 월별 1일 위치 더해줘야 하는 날수
int lastDayOfMonth[12] = {31,29,31,30,31,30,31,31,30,31,30,31};
int yearInput, monthInput, count = 0, dateNumber = 1 , locationOf1stDay, addm;
int main()
cin >> yearInput;
cin >> monthInput;
for (int x = 0 ; x < monthInput ; x++) // 1년 1일 위치
locationOf1stDay = (addm + yearInput + count - 1 + 6) % 7; //
if ( monthInput > 2 )
locationOf1stDay = (addm + yearInput + count + 6 ) % 7; //
for (int i = 0 ; i <= yearInput ; i++)
cout << "\t\t" << yearInput << "년\t" << monthInput << "월 달력\n\n";
for (int j = 1 ; j<=6 ; j++)
for (int k = 0 ; k <= 6 ; k++)
dateNumber > lastDayOfMonth[monthInput-1] ||
- 현종이 . . . . 12 matches
int m_nNumber, m_nKorean, m_nEnglish, m_nMath;
int m_nTotal; //점수 합계를 나타냅니다.
SungJuk(const char *name,int nNumber, int nKorean, int nEnglish, int nMath);
int GetTotal(); //점수합계를 호출하는 매써드입니다.
void PrintResult(); //결과를 출력합니다.
void TopTotal_Print();
void Top_Print(); //전체수석을 출력합니다.
void TopKorean_Print(); //국어점수 수석을 출력합니다.
void TopEnglish_Print(); //영어점수 수석을 출력합니다.
void TopMath_Print(); //수학점수 수석을 출력합니다.
const SungJuk & Top_English(const SungJuk & s) const;
void Input(int nNumber, char szName[], int nKorean, int nEnglish, int nMath);
#include<iostream>
using namespace std;
#include<iostream> //strcpy()
#include"SungJuk.h"
m_nEnglish = 0;
int SungJuk::GetTotal()
void SungJuk::PrintResult()
<< m_nEnglish << "\t" << m_nMath << "\t" <<m_nTotal << "\t"
- ClassifyByAnagram/sun . . . . 11 matches
* 실행: java anagram.FindAnagram < 입력파일> 출력파일
* genKey() 메소드의 성능 개선. qsort2([http://www.cs.bell-labs.com/cm/cs/pearls/sortanim.html ProgrammingPerals 참고]) 이용.
* 실행: java anagram.FindAnagram < 입력파일> 출력파일
* 실행: java anagram.FindAnagram 출력파일 < 입력파일
* String 객체의 생성을 줄임.(대략 300ms 정도 줄어듬) : 마이크로 튜닝으로 넘어갈수록 노력 대비 결과가 크지 않음.
* Class, method 이름 refactoring
* Profiling
elapsed = System.currentTimeMillis();
InputStream in = null;
for( int i=0; i<10000; i++ ) {
anagram.add( "aahing" );
anagram.add( "aaliis" );
elapsed = System.currentTimeMillis() - elapsed;
repaint();
public void paint( Graphics g )
g.drawString( "JVM info:", 10, 20 );
g.drawString( "....vendor : " + System.getProperty( "java.vm.vendor"), 10, 35 );
g.drawString( "....version: " + System.getProperty( "java.vm.version"), 10, 50 );
g.drawString( "....name: " + System.getProperty( "java.vm.name"), 10, 65 );
g.drawString( "Estimated power: " + String.valueOf(elapsed), 10, 90 );
- DPSCChapter2 . . . . 11 matches
Before launching into our descriptions of specific design patterns, we present a case study of sorts, involving multiple patterns. In the Design Pattern preface, the Gang of Four speak about moving from a "Huh?" to an "Aha!" experience with regard to understanding design patterns. We present here a little drama portraying such a transition. It consists of three vignettes: three days in the life of two Smalltalk programmers who work for MegaCorp Insurance Company. We are listening in on conversations between Don (an object newbie, but an experienced business analyst) and Jane (an object and pattern expert). Don comes to Jane with his design problems, and they solve them together. Although the characters are fictitious, the designs are real and have all been part of actual systems written in Smalltalk. Our goal is to demonstrate how, by careful analysis, design patterns can help derive solutions to real-world problems.
Our story begins with a tired-looking Don approaching Jane's cubicle, where Jane sits quietly typing at her keyboard.
우리의 이야기는 지친표정을 지으며 제인의 cubicle (음.. 사무실에서의 파티클로 구분된 곳 정도인듯. a small room that is made by separating off part of a larger room)로 가는 Don 과 함께 시작한다. 제인은 자신의 cubicle에서 조용히 타이핑하며 앉아있다.
Don : Hey, Jane, could you help me with this problem? I've been looking at this requirements document for days now, and I can't seem to get my mind around it.
Jane : That's all right. I don't mind at all. What's the problem?
Don : It's this claims-processing workflow system I've been asked to design. I just can't see how the objects will work together. I think I've found the basic objects in the system, but I don't understand how to make sense from their behaviors.
Don : Here, let me show you the section of the requirements document I've got the problem with:
1. Data Entry. This consists of various systems that receive health claims from a variety of different sources. All are logged by assigning a unique identifier. Paper claims and supporting via OCR (optical character recognition) to capture the data associated with each form field.
2. Validation. The scanned and entered forms are validated to ensure that the fields are consistent and completely filled in. Incomplete or improperly filled-in forms are rejected by the system and are sent back to the claimant for resubmittal.
3. Provider/Plan Match. An automated process attempts to mach the plan (the contract unser which the claim is being paid) and the health care provider (e.g., the doctor) identified on the claim with the providers with which the overall claim processing organization has a contract. If there is no exact match, the program identifies the most likely matches based on soundex technology (an algorithm for finding similar-sounding words). The system displays prospective matches to knowledge workers in order of the likeinhood of the match, who then identify the correct provider.
4. Automatic Adjudication. The system determines whether a claim can be paid and how much to pay if and only if there are no inconsistencies between key data items associated with the claim. If there are inconsistencies, the system "pends" the claim for processing by the appropriate claims adjudicator.
5. Adjudication of Pended Claims. The adjudicator can access the system for a claim history or a representation of the original claim. The adjudicator either approves the claim for payment, specifying the proper amount to pay, or generates correspondence denying the claim.
Validation. 스캔되고 입력되어진 form들은 각 필드들에 대해 일관성보증과 모든 폼이 완전히 채워졌는지에 대한 보증을 위해 검증작업을 거친다. 불완전하거나 적절치 못한 입력은 시스템에 의해 reject되고, 재확인을 위해 요구자에게 도로 보내진다.
- DataStructure/Stack . . . . 11 matches
int data[Size];
int top;
bool IsEmpty();
bool IsFull();
bool Push(int ndata);
bool Stack::IsEmpty()
bool Stack::IsFull()
bool Stack::Push(int ndata)
if(!IsFull())
if(!IsEmpty())
int temp=top;
== Linked List로 만든 Stack ==
int m_nData;
bool IsEmpty();
void Push(int x);
void Stack::Push(int x)
if(!IsEmpty())
while(!IsEmpty())
bool Stack::IsEmpty()
while(!IsEmpty())
- HanoiProblem/임인택 . . . . 11 matches
for(int i=0; i<3; i++)
public void solve(int numOfDiscs) {
for(int i=numOfDiscs; i>0; i--)
towers[0].putOnDisc(i);
moveDiscs(numOfDiscs, 0);
public void moveDiscs(int numOfDiscs, int from) {
int to = (from==0)?1:0;
if( numOfDiscs > 3 ) {
moveDiscs(numOfDiscs-1, to);
towers[2].bringDisc(towers[from]);
towers[to].bringDisc(towers[from]);
towers[to].bringDisc(towers[2]);
towers[2].bringDisc(towers[from]);
towers[from].bringDisc(towers[to]);
towers[2].bringDisc(towers[to]);
towers[2].bringDisc(towers[from]);
public boolean verifyAllDiscsAreMoved(){
towers[2].showDiscs();
return (towers[0].isEmpty() && towers[1].isEmpty() );
Vector discsAtPillar = new Vector();
- InvestMulti - 09.22 . . . . 11 matches
nations={'KOREA':0 ,'JAPAN':700 , 'CHINA':300, 'INDIA':100}
items={'INT':400 , 'DOUBLE':800}
print '*'*25
print '1. Current Nation states '
print '2. My business '
print '3. Move to another Nation '
print '4. Invest to this Nation '
print '5. View Ranking '
print '6. Earn Money '
print '*'*25
print '*'*10
print '1. JAPAN '
print '2. CHINA '
print '3. INDIA '
print '*'*10
select = input('Select Menu -->')
user[t2] = 'CHINA'
user[t2] = 'INDIA'
def Invest():
print 'Current Nation is : ',user[t2]
- MoreEffectiveC++/Exception . . . . 11 matches
ALA * readALA(istream& s);
void processAdoptions( istream& dataSource)
void processAdoptions( istream& dataSource)
여기에서 재미있는 기법을 이야기 해본다. 차차 소개될 smart pointer와 더불어 Standard C++ 라이브러리에 포함되어 있는 auto_ptr template 클래스를 이용한 해결책인데 auto_prt은 이렇게 생겼다.
void processAdoptions(istream& dataSource)
void displayIntoInfo(const Information& info)
WINDOW_HANDLE w(createWindow());
display info in window corresponding to w;
destroyWindow(w);
일반적으로 C의 개념으로 짜여진 프로그램들은 createWindow and destroyWindow와 같이 관리한다. 그렇지만 이것 역시 destroyWindow(w)에 도달전에 예외 발생시 자원이 세는 경우가 생긴다. 그렇다면 다음과 같이 바꾸어서 해본다.
WindowHandle(WINDOW_HANDLE handle) : w(handle) {}
~WindowHandle() {destroyWindow(w); }
operator WINDOW_HANDLE() {return w;}
WINDOW_HANDLE w;
WindowHandle(const WindowHandle&);
WindowHandle& operator=(const WindowHandle);
void displayIntoInfo(const Information& info)
WINDOW_HANDLE w(createWindow());
display info in window corresponding to w;
== Item 10: Prevent resource leaks in constructors. ==
- NamedPipe . . . . 11 matches
A named pipe is a named, one-way or duplex pipe for communication between the pipe server and one or more pipe clients. All instances of a
named pipe share the same pipe name, but each instance has its own buffers and handles, and provides a separate conduit for client-server communication. The use of instances enables multiple pipe clients to use the same named pipe simultaneously.
Any process can access named pipes, subject to security checks, making named pipes an easy form of communication between related or unrelated processes. Named pipes can be used to provide communication between processes on the same computer or between processes on different computers across a network.
Any process can act as both a server and a client, making peer-to-peer communication possible. As used here, the term pipe server refers to a process that creates a named pipe, and the term pipe client refers to a process that connects to an instance of a named pipe.
== 2. using ==
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>
VOID InstanceThread(LPVOID); // 쓰레드 함수
int xx = 0;
DWORD main(VOID)
// The main loop creates an instance of the named pipe and
// then waits for a client to connect to it. When the client
// connects, a thread is created to handle communications
// with that client, and the loop is repeated.
PIPE_WAIT, // blocking mode
PIPE_UNLIMITED_INSTANCES, // max. instances
BUFSIZE, // input buffer size
if (hPipe == INVALID_HANDLE_VALUE)
- OperatingSystemClass/Exam2002_2 . . . . 11 matches
* 앞에서 완성된 class를 상속받아서 binary semaphore class 를 구현.
// do something
Thread.sleep(( (int)(3*Math.random()) )*1000);
catch (InterruptedException e) { }
System.out.println("threadA got first mutex");
// do something
System.out.println ("threadA got second mutex");
// do something
Thread.sleep(( (int)(3*Math.random()) )*1000);
catch (InterruptedException e) {}
System.out.println ("threadB got second mutex");
// do something
System.out.println ("threadB got first mutex");
public static void main (String[] args) {
4. Consider a paging system with the page table stored in memory.
* If we add associative registers and 75 percent of all page-table references are found in the associative regsters, what is the effective memory time? (Assume that finding a page-table entry in the associative registers takes zero time, if the entry is there)
5. Consider the following page reference string:
How many page faults would occur for the following replacement algorithm, assuming one, three, five, seven frames? Remember all frames are initially empty, so your first unique pages will all cost one fault each.
6. Consider a file currently consisting of 100 blocks. Assume that the file control block(and the index block, in the case of indexed allocation) is already in memory, Calculate how many disk I/O operations are required for contiguous, linked and indexed (single-level) allocation strategies, if for one block, the following conditions hold. In the contiguous allocation case, assume that there is no room to grow in the beginning, but there is room to grow in the end. Assume that the block information to be added in stored in memory.
* The block is added at the beginning.
- ScheduledWalk/임인택 . . . . 11 matches
import java.io.DataInputStream;
import java.io.FileInputStream;
private int board[][];
private String schedule;
private int curX, curY;
private int size;
private int dirX[] = {0,1,1,1,0,-1,-1,-1};
private int dirY[] = {-1,-1,0,1,1,1,0,-1};
for(int i=0; i<schedule.length(); ++i) {
int idx = (int)(c - '0');
DataInputStream din
= new DataInputStream(new FileInputStream(new File("input2.txt")));
size = Integer.parseInt(din.readLine());
board = new int[size][size];
String pos = din.readLine();
String startPoint[] = pos.split(" ");
curX = Integer.parseInt(startPoint[0]);
curY = Integer.parseInt(startPoint[1]);
schedule = din.readLine();
e.printStackTrace();
- 토비의스프링3/오브젝트와의존관계 . . . . 11 matches
package springbook.user.domain;
String id;
String name;
String password;
public String getId() {
public void setId(String id) {
this.id = id;
public String getName() {
public void setName(String name) {
this.name = name;
public String getPassword() {
public void setPassword(String password) {
this.password = password;
|| Name || VARCHAR(20) || Not Null ||
|| Password || VARCHAR(20) || Not Null ||
package springbook.user.dao;
import springbook.user.domain.User;
public void add(User user) throws SQLException, ClassNotFoundException{
Connection c = DriverManager.getConnection("jdbc:mysql://localhost/springbook", "spring", "book");
PreparedStatement ps = c.prepareStatement("insert into users(id, name, password) values(?,?,?)");
- COM/IUnknown . . . . 10 matches
= IUnknown Interface =
virtual HRESULT QueryInterface(REFIID riid, void** ppvObject) = 0;
HRESULT (*QueryInterface) (IUnknown *This, REFIID *This, REFIID riid, void** ppvObject);
ULONG (*AddRef) (IUnknown *This);
ULONG (*Release) (IUnknown *This);
== QueryInterface ==
C++ 스마트 포인터에서는 참조 카운팅을 이용해서 dangling pointer 문제를 해결한다. boost 의 shared_ptr이 이를 구현한다.
인터페이스 포인터는 '''QueryInterface(IID_IUnknown, (void**) &pIUnknownInterface)''' 를 통해서 얻을 수 있으며, 이의 유효를 검사하는 것이 가능하다.
- HelpOnConfiguration . . . . 10 matches
MoniWiki는 `config.php`에 있는 설정을 입맛에 맛게 고칠 수 있다. config.php는 MoniWiki본체 프로그램에 의해 `include`되므로 PHP의 include_path변수로 설정된 어느 디렉토리에 위치할 수도 있다. 특별한 경우가 아니라면 MoniWiki가 설치된 디렉토리에 config.php가 있을것이다.
* VisualTour
* VimProcessor 혹은 CodeColoringProcessor
{{{RCS}}}는 모니위키에서 버전관리를 {{{RCS}}}를 통해 제공하고 있다. [[MoniWikiRCS]] 페이지 참조.
만약 시스템 차원에서 rcs를 지원하지 않는다면 rcs를 컴파일해서 사용해보라. 예를 들어 모니위키가 설치된 디렉토리가 {{{moniwiki}}}이고
그 하위에 {{{bin}}} 디렉토리를 새롭게 만든 후에 {{{rcs}}}관련된 실행파일([[MoniWikiRCS]] 페이지 참조)을 {{{moniwiki/bin}}}아래에 복사하고
{{{$path}}}에 {{{./bin}}} 디렉토리를 추가한다.
$path='/usr/bin:/bin:/usr/local/bin:./bin'; # 유닉스의 기본 실행파일 디렉토리 + ./bin
$path='/usr/bin:/bin:/usr/local/bin:/home/to_your_public_html/moniwiki/bin'; # 유닉스의 기본 실행파일 디렉토리 + bin의 full path
$path='./bin;c:/windows/command;c:/Program Files/gnuplot;c:/Program Files/vim/vim71'; # for win32
config.php에 `$security_class="needtologin";`를 추가하면 로그인 하지 않은 사람은 위키 페이지를 고칠 수 없게 된다. 로그인을 하지 않고 편집을 하려고 하면 경고 메시지와 함께, 가입을 종용하는 간단한 안내가 나온다.
* SecurityPlugin
* MoniWikiACL
* $logo_string과 $logo_img
$logo_img를 간단히 조정하거나, $logo_string을 통해서 미세한 조정을 할 수 있다.
/!\ wiki.php에 정의되어 있는 WikiDB 클래스를 보면, 우선 하드코딩된 기본 설정이 있고, config.php에서 읽은 설정 사항을 그 위에 덧씌우는 방식이다.
/!\ monisetup.php은 config.php를 변경할 수 있으나, 간단한 변경만 지원하고 세세한 변경은 지원하지 않는다. 최근 1.1.3 버전부터는 여러줄의 config.php 설정을 읽고 수정할 수 있다. 단, monisetup.php를 사용할 경우 코멘트는 모두 제거가 되므로 주의해야 한다.
* MoniWikiOptions
* MoniWikiMarkets
* MoniWikiTips
- HowManyFibs?/하기웅 . . . . 10 matches
#include <iostream>
#include "BigInteger.h"
using BigMath::BigInteger;
BigInteger decimalNum=10;
BigInteger fibNum[501];
int i, counting;
void FibInit()
int output(BigInteger startNum, BigInteger endNum)
counting=0;
counting++;
return counting;
BigInteger convertBig(char *number)
BigInteger temp;
int charLen = strlen(number);
int main()
FibInit();
while(cin>>start>>end)
- JTDStudy/첫번째과제/원희 . . . . 10 matches
import javax.swing.*;
public static void main(String[] args){
int[] comNum = new int[3];
comNum[0] = (int)(Math.random() * 10 +1);
comNum[1] = (int)(Math.random() * 10 +1);
comNum[2] = (int)(Math.random() * 10 +1);
int[] userNum = new int[3];
int strikeCounter = 0, ballCounter=0, outCounter=0;
int i, j;
userNum[0] = Integer.parseInt(JOptionPane.showInputDialog(null,"첫번째 숫자를 입력하시오"));
userNum[1] = Integer.parseInt(JOptionPane.showInputDialog(null,"두번째 숫자를 입력하시오"));
userNum[2] = Integer.parseInt(JOptionPane.showInputDialog(null,"세번째 숫자를 입력하시오"));
//String temp = JOptionPane.showInputDialog(null,"숫자를 입력하시오 (한칸씩 띄어서)");
JOptionPane.showMessageDialog(null, "3strike!! You win!");
* 방법은 여러 방법이 있지. 만약 100자리라면, int 형이 정수값만 가지고 나머지는 버리는 특성을 이용해서 123%10 하면 3이 나오고, 12%10 하면 2 나오고 나머지는 1이고... 이런식으로 숫자른 나누어 줄 수도 있고, 입력시에 어짜피 String형으로 받아지기 때문에 문자 하나씩 끊어 읽게끔 해도 되지^^ 조금만 생각해보면 방법이 나올 수도 있어 - [상욱]
- LawOfDemeter . . . . 10 matches
So we've decided to expose as little state as we need to in order to accomplish our goals. Great! Now
within our class can we just starting sending commands and queries to any other object in the system will-
nilly? Well, you could, but that would be a bad idea, according to the Law of Demeter. The Law of Demeter
tries to restrict class interaction in order to minimize coupling among classes. (For a good discussion on
this topic, see [APPLETON]).
What that means is that the more objects you talk to, the more you run the risk of getting broken when one
of them changes. So not only do you want to say as little as possible, you don't want to talk to more
objects than you need to either. In fact, according to the Law of Demeter for Methods, any method of an
object should only call methods belonging to:
any parameters that were passed in to the method.
Specifically missing from this list is methods belonging to objects that were returned from some other
SortedList thingy = someObject.getEmployeeList();
thingy.addElementWithKey(foo.getKey(), foo);
This is what we are trying to prevent. (We also have an example of Asking instead of Telling in foo.getKey
()). Direct access of a child like this extends coupling from the caller farther than it needs to be. The
caller is depending on these facts:
someObject holds employees in a SortedList.
SortedList's add method is addElementWithKey()
foo's method to query its key is getKey()
Instead, this should be:
- LinkedList/C숙제예제 . . . . 10 matches
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct _slist List;
typedef struct _slist{
int num;
List *next;
List *prev;
}List;
#include "ExList.h"
void ShowList(List *plist)
List *p;
p=plist;
printf("%d\n",p->num);
void main()
List *pList,*pNew,*pIns;
pList=(List *)malloc(sizeof(List));
pList->next=0;
pList->prev=0;
pList->num=1;
- WinampPluginProgramming/DSP . . . . 10 matches
winamp SDK 를 받으면 sample 로 있는 dspecho 에 대한 분석.
// Winamp test dsp library 0.9 for Winamp 2
// Copyright (C) 1997, Justin Frankel/Nullsoft
// Feel free to base any plugins on this "framework"...
#include <windows.h>
#include <commctrl.h>
#include "dsp.h"
#include "resource.h"
// avoid stupid CRT silliness
BOOL WINAPI _DllMainCRTStartup(HANDLE hInst, ULONG ul_reason_for_call, LPVOID lpReserved)
int g_pitch=100;
int delta = 1;
// pitch control window
// auxilary pitch buffer (for resampling from)
int pitch_buffer_len=0;
int quit_pitch=0;
winampDSPModule *getModule(int which);
void config(struct winampDSPModule *this_mod);
int init(struct winampDSPModule *this_mod);
void quit(struct winampDSPModule *this_mod);
- 만년달력/인수 . . . . 10 matches
static int DAYS_PER_MONTH[] = {31,28,31,30,31,30,31,31,30,31,30,31};
int year, month;
public Calendar(int year, int month) {
public void set(int year, int month) {
this.year = year;
this.month = month;
DAYS_PER_MONTH[1] = isLeapYear(this.year) ? 29 : 28;
protected int getNumOfDays() {
public int[] getCalendar() {
int ret[] = new int[42];
int start = getMonthStartPoint();
for(int i = start ; i < getNumOfDays() + start ; ++i)
protected int getNumOfLeapYears() {
int ret = 0;
for(int i = 1 ; i < year ; ++i)
if( isLeapYear(i) ) ++ret;
protected int getMonthStartPoint() {
int ret = year + getNumOfLeapYears();
for(int i = 0 ; i < month - 1 ; ++i)
protected boolean isLeapYear() {
- 몸짱프로젝트/BinarySearchTree . . . . 10 matches
=== Before Refactoring ===
class BinartSearchTree:
def __init__(self):
def insert(self, aRoot, aKey):
## child = self.getSingleChild(node)
child = self.getSingleChild(node)
child = self.getSingleChild( largest )
def getSingleChild( self, aNode ):
def __init__(self, aKey = -1):
class BinartSearchTreeTestCase(unittest.TestCase):
bst = BinartSearchTree()
self.assertNotEquals(bst.root.left, None)
self.assertNotEquals(bst.root.right, None)
bst = BinartSearchTree()
def testInsert(self):
bst = BinartSearchTree()
bst.insert(bst.root, 1)
self.assertEquals(bst.insert(bst.root, 1), False)
bst.insert(bst.root, 5)
## bst = BinartSearchTree()
- 알고리즘3주숙제 . . . . 10 matches
from [http://www.csc.liv.ac.uk/~ped/teachadmin/algor/d_and_c.html The university of liverpool of Computer Science Department]
== [BinarySearch] ==
Consider the following problem: one has a directory containing a set of names and a telephone number associated with each name.
The directory is sorted by alphabetical order of names. It contains n entries which are stored in 2 arrays:
Given a name and the value n the problem is to find the number associated with the name.
Input:
A set of n points in the plane.
The distance between the two points that are closest.
Note: The distance DELTA( i, j ) between p(i) and p(j) is defined by the expression:
== Integer Multiplication ==
[http://www.csc.liv.ac.uk/~ped/teachadmin/algor/pic4.gif]
The (2n)-digit decimal representation of the product x*y = z
Note: The algorithm below works for any number base, e.g. binary, decimal, hexadecimal, etc. We use decimal simply for convenience.
= Exercises =
[http://pages.cpsc.ucalgary.ca/~jacobs/Courses/cpsc413/W05/labs/DivideConquer.pdf Divide and conquer lab exercises]
- 위키QnA . . . . 10 matches
Q : 링크에 밑줄이 생길때가 있고 안생길때가 있습니다. 그렇다기 보다는 생기는건 생기고, 어떤건 계속 안생겨 있군요. (in mozilla) --zennith
A : 아. 한번 고쳐봤습니다; 위의 네비게이션 바에 tab index를 주었습니다. 맨 처음 focus 는 바로가기 GO 입력창에 커서가 오고요. 그 다음 Shift + Tab 을 누르면 TAB 이 최근바뀐글 -> 검색 -> 제목색인 순으로 움직입니다. (반발이 3명 이상 나오면 원상복귀 하겠습니다;;) --석천
=== InterWiki 는 무엇인가요? ===
Q : 그리고 글중 ''wiki : NoSmok : 페이지이름'' 식으로 링크를 했는데, 이건 무슨 기능인지 간단히 설명좀
A : InterWiki 라고 합니다. InterWiki 에 등록된 다른 위키의 페이지를 링크 걸때 사용합니다. 위키간 이름공간을 연결해주는 유용한 매크로. ^^; InterWiki 에 가보시면 현재 등록된 다른 위키페이지들을 알 수 있습니다.~
현재의 FrontPage가 하는 역할이 좀 많다고 생각하는데. (Long Method 에 대해서는 Refactoring이 필요한 법. --a) FrontPage가 하는 역할들에 대해 페이지들을 슬슬 나누는 것은 어떨까 생각중. --석천
난 지금이 딱좋은데 더 확장되면 골치 아플껏 같고.. 혹은 사용용도가 ZeroWiki 와 합쳐 져야 한다고도 생각. project의 직접 접근성을 없애는건 반대이고 Starting Point에 사용용도를 링크하는 것이 최적이라고 생각 --상민
FrontPage가 현재 하고 있는일이 (보여주고 있는 것) ZeroWiki 정의, 사용용도, Starting Point (여기에는 프로젝트 열거도 포함), 제안이야. 이중에서 사용용도와 제안은 새 페이지로 빼는 것이 좋을 것 같은데. 그리고 프로젝트 열거 밑에 Starting Point 밑에 두는 것도 생각. 그리고 또하나는 현재 이 프로젝트 관련 글을 Q&A가 아닌 제안페이지에 두는것이 더 좋겠다는 것. 현재 우선적인 직접접근성을 제공받아야 할 것은 project니까. 그에 대해서는 나도 별 이견 없음. --석천
Q: Bioinformatics에 관한 프로젝트를 진행하려고 합니다. 소개와 내용의 재정리를 위해서는 많은 이미지 파일들을 위키에 올려야 될지도 모르겠는데, 위키에서의 이미지 사용은 그렇게 적절하지 않은 것 같습니다. 어떤 방식으로 이를 해결할 수 있을까요?
- 위키를새로시작하자 . . . . 10 matches
2000 페이지에 가까워 지면서, ZeroWiki의 접근성이 점차 감소하고, 기존의 모든 예절과 규칙이 벽으로 작용하는것 같습니다. 그렇다고, 위키의 철학과 개념을 교육하는 기회는 없었던것 같구요.
그래서 ZeroWiki 를 막아버리고, Wiki를 새로 시작하면서, 함께 예절과 규칙을 만들어 나가면서 위갭?다시 시작하는것이 어떨까 싶습니다. 현 ZeroWiki는 읽기만 가능하고, 새로운 위키는 읽기, 쓰기, 삭제(로그인 한 사용자만) 모두를 열어둘 생각입니다. 현 ZeroWiki 상의 예절이나, 규칙은 필요에 따라 재사용, 새롭게 정의 하려고 합니다.
'''OneWiki를 새로 시작해서 1년간 실험을 하였습니다. 허나, ZeroWiki 와 그리 다르지 않다는 경험을 얻었습니다. 그래서 OneWiki 와 ZeroWiki를 통합하였습니다. 통합된 페이지중 DuplicatedPage 는 아직 완전한 통합이 이루어 지지 않은 것이니, 해당 페이지를 고쳐주세요.'''
|| [NeoCoin] || O ||. ||
NeoCoin : 방법은, 현재 위키를 읽기 전용으로, 새로운 위키를 읽기, 쓰기, 지우기 다 열고 새로운 문화, 예절이 만들어 지는 모습을 경험하고 싶습니다. 읽기 전용의 위키의 내용은 전이되거나, 그대로 남거나, NoSmoke:SisterWiki (차후 연결) 하거나 하고 싶습니다. 더 나아가, 모든것에 대한 재정의와 다시금 생각해 보기를 해보았으면 합니다.
모두가 멋지게 쓸수 있는 위키보다. 현재의 위키가 존재함으로서, 새로운 신입회원들이나 02 학번 정도의 사람들은 위키의 페이지가 처음 생기고, 예절과 규칙이 생기는 그러한 경험들을 본의아니게 박탈 당해 버렸다는 생각이 들었습니다. 그런 경험을 돌려주고 싶습니다. --NeoCoin
성사 된다면, 현 위키 데이터는 읽기 전용으로만 접근 가능하도록 할 생각입니다. 경우에 따라서는 삭제 할수도 있을것 같습니다. --NeoCoin
일정기간 읽기 전용, 차후 은근슬쩍 쓰기 가능이며 될까? --NeoCoin
상용 서비스가 아니기에 언제든지 합의만 이끌어 낸다면 가능하지요. 다만 이런 생각을 하기가 힘든것 같습니다. 이러한 시도는 Open Source 나, 상용 프로젝트에서 일정 버전 이후에 완전 새로 작성하는것에 비견하지 않을까요? --NeoCoin
좋고 나쁜것은 모두에게 달려 있습니다. 많은 분들이 적극적으로 참여해야 겠지요. 일단, 새로운 위키를 열겠습니다. --NeoCoin
저에게 그 질문의 답은 '같은 질문을 온라인에 다른 분들이 하는 것' 입니다. --NeoCoin
음.. 저도 1'WIKI에 프로젝트 페이지를 옮기긴 했지만 좀 그랬습니다. 새로운 규약과 규칙이 만들어지자는 의견이 있는걸로 아는데요. 지금 0'WIKI의 내용을 옮겨 놓으면 그냥 예전의 위키가 되어버릴것 같습니다. 차라리 1'WIKI사용을 아직 하지 말로 나중에 시작하는건 어떨런지요? -[상욱]
AnswerMe 여기에서 나중의 의미는 무엇이에요? --NeoCoin
기존의 정보들을 옮겨놓자는 의미가 아니었습니다. 새로 만들어 지는 페이지들이 그쪽으로 가고 있는 것이지요. 지금 그렇게 되고 있고, 어쩌면 프로젝트를 위한 특화된 위키가 될지도 모를것 같군요.--NeoCoin
1'WIKI 페이지를 바로 만들기 보다 규칙을 만드는 페이지를 먼저 만들어서 규칙부터 정해보는 게 어떨까요? -[재니]
둘은 함께 할수 있다고 생각합니다. 하지만 할려고 들지 않은 것이지요. --NeoCoin
이런 의견도 있습니다. ''최소한 지금과 같이 늘어나고 있는 프로젝트 관련 페이지를 분리하자''는 것입니다. --NeoCoin
- 현재 위키에 어떤 습관이 생기고 있는걸까? . . . . 10 matches
우리가 현재 OneWiki(가제 이하 OneWiki로 표현)라는 공원을 돌아다닌지(또는 길을 설계한지) 일주일 이상의 시간이 흐르고 있는데, 그동안 자신들이 어떠한 경로를 만들어내려고 했는지, 또는 어떠한 편한 경로들이 있고 돌아보면서 어떠한 느낌을 받는지 생각해 봤으면 합니다.
* URL이나 dos, unix 디렉토리 구조 같아서 친숙한 것 같다. 프로그래머나 컴퓨터 파워유저는 익숙한것 같지만, 한국말에는 어울리지 않는 것 같다. --NeoCoin
+ 길에 비유를 했었는데 우리는 0'Wiki를 사용함으로 해서 익숙한 길이 있기 때문에 1'Wiki에도 역시 똑같이 사용하는것 같습니다. 이대로 페이지가 쌓인다면 0'Wiki와 똑같이 되지 않을까 합니다.-[상욱]
* 그것이 왜? 편한 길인가 앞으로도 편할수 있는 길인가? 나쁜점은 왜 나쁜가? 하는 것을 이야기 하자는 것이지요. 저 이야기에는 분명 많은 부분이 생략되었을 겁니다. 이 길을 내도 되는건가? 왜 사람들이 많이 다닐까? 하는 고민들이요. OneWiki 에 길을 보면서 생각해 BoA요. --NeoCoin
* 원래 빈칸도 잘 들어 갑니다. 하지만 여전히 검색은 보장 못하지요. --NeoCoin
* 외국에서 개발되어서 어쩔수 없다기 보다, 현재 Web 인코딩을 그대로 filename에 가져다 쓰기 때문입니다. python 스크립트 만들어저 지워요. --NeoCoin
* 페이지가 잘못만들어 지면 로그인해서 지운다. 반하여 ZeroWiki 와 차별되는 점 --NeoCoin
* 좀 이상한(...라기보다는 제로위키에서였다면 생소했을) 페이지(ex) [InterestingCartoon], [GoodMusic], [창섭이 환송회 사진])를 만들어봤다. --[인수]
지금 OneWiki 는 ZeroWiki 에 대해서 어떠한 차별점을 만들어내었습니까? --[1002].
과연 있을까나? --NeoCoin
- Applet포함HTML/진영 . . . . 9 matches
http://nihs.com.ne.kr/temp/NotHelloWorldApplet.html
// NotHelloWorldApplet.html (컨버트 前)
<APPLET CODE=" NotHelloWorldApplet.class" WIDTH=300 HEIGHT=300>
''C:\j2sdk1.4.1_01\bin\HtmlConverter.exe 로 컨버트''
'''ex) htmlconverter.exe NotHelloWorldApplet.html'''
// NotHelloWorldApplet.html (컨버트 後)
codebase = "http://java.sun.com/products/plugin/autodl/jinstall-1_4_1_01-windows-i586.cab#Version=1,4,1,1"
<PARAM NAME = CODE VALUE = " NotHelloWorldApplet.class" >
CODE = " NotHelloWorldApplet.class"
pluginspage = "http://java.sun.com/products/plugin/index.html#download">
<APPLET CODE = " NotHelloWorldApplet.class" WIDTH = 300 HEIGHT = 300>
["JavaStudyInVacation/진행상황"]
- OurMajorLangIsCAndCPlusPlus/stdlib.h . . . . 9 matches
== 함수 (Functions) - String Functions ==
|| double atof(const char *str); || 문자열을 실수(double precision)로 변환 ||
|| int atoi(const char *str); || 문자열을 정수(integer)로 변환 ||
|| double strtod(const char *str, char **endptr); || 문자열을 실수(double precision)로 변환 ||
|| long int strtol(const char *str, char **endptr, int base); || 문자열을 정수(long integer)로 변환 ||
|| unsigned long int strtoul(const char *str, char **endptr, int base); || 문자열을 정수(unsigned long)로 변환 ||
|| int atexit(void (*func)(void)); || 프로그램이 정상적으로 종료될 때 전달인자로 넘겨진 함수포인터를 이용해서 특정 함수 실행 ||
|| void exit(int status); || 정상적인 프로그램 종료를 발생시킨다 ||
|| int system(const char *string); || 전달인자로 받은 명령 실행 ||
== 함수 (Functions) - Searching and Sorting Functions ==
|| void *bsearch(const void *key, const void *base, size_t nitems, size_t size, int (*compar)(const void *, const void *)); || 이진검색 수행 ||
|| void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void*)); || 퀵 소트 수행 ||
|| int abs(int x); || 정수형 절대값 리턴 ||
|| div_t div(int numer, int denom); || 전달인자의 numer를 denom으로 나눈 값과 나머지를 구조체형식으로 리턴 ||
|| long int labs(long int x); || long형 정수의 절대값을 리턴 ||
|| ldiv_t ldiv(long int numer, long int denom); || div()와 동일하고 변수 타입만 long int ||
|| int rand(void); || 0부터 RAND_MAX까지의 범위사이의 난수 리턴||
|| void srand(unsigned int seed); || rand()에 의해 사용되는 난수 생성기에 인자 공급 ||
|| int mblen(const char *str, size_t n); || 다중 바이트 문자의 길이 리턴 ||
|| int mbtowc(whcar_t *pwc, const char *str, size_t n); || 다중 바이트 문자를 wide 문자로 변환 ||
- TheJavaMan/스네이크바이트 . . . . 9 matches
public int MAX = 20;
public int[][] board = new int [MAX][];
for(int i=0; i<MAX; i++)
board[i] = new int[MAX];
public void PrintScreen()
for(int i=0; i<MAX; i++)
for(int j=0; j<MAX; j++)
System.out.print(board[i][j] + " ");
System.out.println();
System.out.println();
int x;
int y;
int count = 0;
x = rmd.nextInt(20);
y = rmd.nextInt(20);
public void Exist(Board aBoard)
int x, y, bx, by;
System.out.println("움직이고자 하는 방향을 입력하세요");
System.out.println("a : 왼쪽 " + "d : 오른쪽 " + "w : 위쪽 " + "x : 아래쪽");
int select = System.in.read();
- ZeroPageHistory . . . . 9 matches
||1학기 ||2기 회원모집. 1학년을 위한 각종 강좌 마련, 스터디 조직. 2학년 각종 스터디 조직(C++, Graphics, OS, System-Programming, 한글 구현). 첫돌 잔치. ||
||겨울방학 ||C++ for windows, X windows Programming, Object Oriented Analysis & Design 등의 Project 수행 ||
* C++, Computer Graphics, OS, System-Programming
* C++ for Windows, X Windows Programming, Object Oriented Analysis & Design
||여름방학 ||C++, C, X-Window, *Utility 세미나 개최. ||
* C, C++, X-Windows, Utility
||2학기 ||X-Window, Visual Basic, C 세미나 개최. ||
||겨울방학 ||X-Window, Data Structure, C, C++ 세미나 개최. ||
* X-Windows, Visual Basic, C
* X-Windows, Data Structure, C, C++
||1학기 ||5기 회원모집. 제 4회 소프트웨어 전시회 및 4주년 기념행사. C 초급, Assembly, Inside PC 강좌. ||
||여름방학 ||C 중급, C++, Network Programming 강좌. ||
||겨울방학 ||UNIX, Delpya, Netword Visual Basic 세미나. 객체지향, C, C++, 게임 제작 강좌. ||
* C, Assembly Language, Inside PC
* C, C++, Network Programming
* UNIX, Delpya, Network Visual Basic, OOP, C, C++, Game
||겨울방학 ||Data Structure 스터디, API 세미나 개최, 게임 제작 온라인 강좌.(긁어 놓은 게시물: Win95 레지스트리, TCP/IP) ||
||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의 프로세스와 스레드.)(긁어놓은 게시물: 타이머, 마우스) ||
FixMe 임베팅한 사이즈 조절 할줄 모르겠음. 오리지날 파일은 아래 참고. 스크린샷 상의 오르지오 메일은 망해서 모자이크 처리 안했음 --NeoCoin
- 프로그래밍/DigitGenerator . . . . 9 matches
[http://acm.kaist.ac.kr/Problems/2005b.pdf 문제 보기]
import java.io.FileNotFoundException;
private static int processOneCase(String line) {
int number = Integer.parseInt(line);
for(int i = 1; i < number; i++) {
int bitSum = 0;
String str = Integer.toString(i);
String [] bits = str.split("");
for(String each : bits) {
continue;
bitSum += Integer.parseInt(each);
public static void main(String[] args) {
String line = br.readLine();
int testCase = Integer.parseInt(line);
for(int i = 0; i < testCase; i++) {
line = br.readLine();
int result = processOneCase(line);
System.out.println(result);
} catch (FileNotFoundException e) {
e.printStackTrace();
- FrontPage . . . . 8 matches
<div style = "float:right"> <a href="https://wiki.zeropage.org/wiki.php/UserPreferences">로그인하러가기</a> </div>
* [https://docs.google.com/spreadsheet/ccc?key=0AuA1WWfytN5gdEZsZVZQTzFyRzdqMVNiS0RDSHZySnc&usp=sharing 기자재 목록]
* [https://docs.google.com/spreadsheets/d/1c5oB2qnh64Em4yVOeG2XT4i_YXdPsygzpqbG6yoC3IY/edit?usp=sharing 도서목록]
== ZeroWiki ==
* '''[[ZeroWiki]] 사용이 처음이시거나 미숙하신 분'''은 [[ZeroWiki]]에서 사용하는 위키엔진인 모니위키의 튜토리얼을 읽어보세요!
* 링크입니다. [[http://moniwiki.kldp.net/wiki.php/MoniWikiTutorial]]
* [[WikiSandBox]] : 위키 문법에 대한 간단한 설명이 있고, 자유롭게 위키 사용을 연습할 수 있는 공간입니다!
* [[ZeroWiki/제안]] : {{{ZeroWiki에 대한 제안을 받고 있습니다.}}}
* 서버 이전으로 ZeroWiki 동작에 문제가 있을 수 있습니다. 문제가 있으면 Mattermost ~devops 채널에 제보바랍니다.
=== Link ===
- JollyJumpers/iruril . . . . 8 matches
import java.io.InputStreamReader;
int [] jumpersArray;
int length;
int differenceValue;
// input()은 getIntArray()에서 사용
public String input()
BufferedReader in = new BufferedReader( new InputStreamReader(System.in));
String input = "";
input = in.readLine();
e.printStackTrace();
return input;
public int [] getIntArray()
String buf = input();
String [] stringArray = buf.split(" ");
length = stringArray.length;
int [] intArray = new int [length];
for(int i = 0; i < length; i++ )
intArray[i] = Integer.parseInt(stringArray[i]);
return intArray;
public void inputJumpers()
- LIB_3 . . . . 8 matches
#if !defined(LIB_SCHE_CPP)
#define LIB_SCHE_CPP
/* Init The Scheduler List
void LIB_Init_Schedu(){
for (int count = 0;count<LIB_MAX_HEAP;count++) {
LIB_INT_COUNT = 0;
여기서는 MAIN에서 본 듯 태스크를 만들어 주는 함수
/* Create The Task
void LIB_create_task (char *task_name,int priority,void (*task)(void),INT16U * Stack)
// Init The Stack
LIB_STACK_INIT(task,Stack); <-------- 스택을 초기화 해준다.....
if ( priority < LIB_MIN_PRIORITY || priority > LIB_MAX_PRIORITY ) return; <--------- 우선순위가 지랄 같으면 그냥 끝낸다.
// Insert Prio Queue;
// Init the TCB by argument <----- 함수에서 얻은 변수들로... 초기화...ok???
pReady_heap[ready_tcb_ptr]->StackSeg = (INT16U)FP_SEG(Stack);
pReady_heap[ready_tcb_ptr]->StackOff = INT16U(Stack) - 28;
int temp_count = ready_tcb_ptr;
void LIB_resume_task(INT16U priority ){
int temp;
for ( int i = 0; i<= suspend_tcb_ptr ; i++ ) {
- Robbery/조현태 . . . . 8 matches
경우의 수가 여러가지 나오는 경우를 어떻게 처리할까 고민했는데.. 못찾은 걸로 할까? 아니면 답으로 간주해서 출력할까? 하다가, 이 경우는 못찾은 걸로 처리하였다. ( "Nothing known." 으로 출력된다. )
이전의 경우 도둑이 특정시간에 존재할 수 없는경우 "The robber has escaped." 를 출력했으나, 지금은 모든 시간의 움직임을 고려해서 존재하지 않으면 "The robber has escaped."를 출력하도록 수정하였다. (사실 소스상에선 그다지 바뀐건 없다..^^)
#include <iostream>
#include <Windows.h>
#include <vector>
#include <algorithm>
#include <atltypes.h>
using namespace std;
#define CAN_MOVE_POINT 0
#define DONT_MOVE_POINT 1
vector< vector< vector<int> > > g_cityMap;
vector< vector<POINT> > g_canMovePoints;
vector<int> g_saveMessageTime;
vector< vector<POINT> > g_maxPoints;
void InitCityMap(int cityWidth, int cityHeight, int keepTime)
g_maxPoints.clear();
g_canMovePoints.clear();
g_canMovePoints.resize(keepTime);
for (register int i = 0; i < (int)g_cityMap.size(); ++i)
for(register int j = 0; j < (int)g_cityMap[i].size(); ++j)
- Star/조현태 . . . . 8 matches
<embed src="http://zerowiki.dnip.net/~undinekr/lunia_ost1.mp3">
[DeadLink]
#include <iostream>
#include <map>
#include <vector>
#include <algorithm>
using namespace std;
#define FALSE 0
#define TRUE 1
struct SavePoint{
int x;
int y;
int z;
SavePoint(int inputX, int inputY, int inputZ)
x = inputX;
y = inputY;
z = inputZ;
bool operator == (const SavePoint& target) const
bool operator < (const SavePoint& target) const
map<SavePoint, int>points;
- TestFirstProgramming . . . . 8 matches
ExtremeProgramming에서는 UnitTest -> Coding -> ["Refactoring"] 이 맞물려 돌아간다. TestFirstProgramming 과 ["Refactoring"] 으로 단순한 디자인이 유도되어진다.
요새는 ["TestDrivenDevelopment"] 라고 한다. 단순히 Test 를 먼저 작성하는게 아닌, Test 주도 개발인 것이다. TestDrivenDevelopment 는 제 2의 Refactoring 과도 같다고 생각. --["1002"]
ex) ["TFP예제/Omok"], ["TFP예제/Queue"], ["TFP예제/WikiPageGather"]
* wiki:Wiki:CodeUnitTestFirst, wiki:Wiki:TestFirstDesign, wiki:Wiki:TestDrivenProgramming
* wiki:NoSmok:TestFirstProgramming
* wiki:Wiki:ExtremeProgrammingUnitTestingApproach
=== Test Code Refactoring ===
프로그램이 길어지다보면 Test Code 또한 같이 길어지게 된다. 어느정도 Test Code 가 길어질 경우에는 새 기능에 대한 테스트코드를 작성하려고 할 때마다 중복이 일어난다. 이 경우에는 Test Code 를 ["Refactoring"] 해야 하는데, 이 경우 자칫하면 테스트 코드의 의도를 흐트려뜨릴 수 있다. 테스트 코드 자체가 하나의 다큐먼트가 되므로, 해당 테스트코드의 의도는 분명하게 남도록 ["Refactoring"] 을 해야 한다.
* wiki:Wiki:RefactoringTestCode
wiki:Wiki:DoTheSimplestThingThatCouldPossiblyWork
Test Driven 에 대한 접근 방법에는 End-To-End (BlackBoxTesting) 식의 접근 방법과 WhiteBoxTesting 의 접근방법이 있을 수 있겠다.
후자의 경우는 해당 코드의 구조를 테스트해나가는 방법으로, 해당 코드의 진행이 의도한 상황에 맞게 진행되어가는지를 체크해나가는 방법이다. 이는 MockObjects 를 이용하여 접근할 수 있다. 즉, 해당 테스트하려는 모듈을 MockObject로 구현하고, 호출되기 원하는 함수들이 제대로 호출되었는지를 (MockObjects 의 mockobject.py 에 있는 ExpectationCounter 등의 이용) 확인하거나 해당 데이터의 추가 & 삭제관련 함수들이 제대로 호출되었는지를 확인하는 방법 (ExpectationList, Set, Map 등의 이용) 등으로서 접근해 나갈 수 있다.
Test Code 를 작성하진 않았지만, 이런 경험은 있었다. PairProgramming 을 하는 중 파트너에게
이 경우에도 ["MockObjects"] 를 이용할 수 있다. 기본적으로 XP에서의 테스트는 자동화된 테스트, 즉 테스트가 코드화 된 것이다. 처음 바로 접근이 힘들다면 Mock Server / Mock Client 를 만들어서 테스트 할 수 있겠다. 즉, 해당 상황에 대해 이미 내장되어 있는 값을 리턴해주는 서버나 클라이언트를 만드는 것이다. (이는 TestFirstProgramming 에서보단 ["AcceptanceTest"] 에 넣는게 더 맞을 듯 하긴 하다. XP 에서는 UnitTest 와 AcceptanceTest 둘 다 이용한다.)
TddRecursiveDescentParsing
["ExtremeProgramming"]
- UML/CaseTool . . . . 8 matches
=== Diagramming ===
''Diagramming'' in this context means ''creating'' and ''editing'' UML [[diagram]]s; that is diagrams that follow the graphical notation of the Unified Modeling Language.
The diagramming part of the Unified Modeling Language seems to be a lesser debated part of the UML, compared to code generation.
The UML diagram notation evolved from elderly, previously competing notations. UML diagrams as a means to draw diagrams of - mostly - [[Object-oriented programming|object oriented]] software is less debated among software developers. If developers draw diagrams of object oriented software, there is widespread consensus ''to use the UML notation'' for that task. On the other hand, it is debated, whether those diagrams are needed at all, on what stage(s) of the software development process they should be used and whether and how (if at all) they should be kept up-to date, facing continuously evolving program code.
''[[Code generation]]'' in this context means, that the user creates UML diagrams, which have some connoted model data, from which the UML tool derives (through a conversion process) parts or all of the [[source code]] for the software system that is to be developed. Often, the user can provide some skeleton of the program source code, in the form of a source code [[template]] where predefined tokens are then replaced with program source code parts, emitted by the UML tool during the code generation process.
There is some debate among software developers about how useful code generation as such is. It certainly depends on the specific problem domain and how far code generation should be applied. There are well known areas where code generation is an established practice, not limited to the field of UML. On the other hand, the idea of completely leaving the "code level" and start "programming" on the UML diagram level is quite debated among developers, and at least, not in such widespread use compared to other [[software development]] tools like [[compiler]]s or [[Configuration management|software configuration management systems]]. An often cited criticism is that the UML diagrams just lack the detail which is needed to contain the same information as is covered with the program source. There are developers that even state that "the Code ''is'' the design" (articles [http://www.developerdotstar.com/mag/articles/reeves_design_main.html] by Jack W. Reeves [http://www.bleading-edge.com/]).
=== Reverse engineering ===
''Reverse engineering'' in this context means, that the UML tool reads program source code as input and ''derives'' model data and corresponding graphical UML diagrams from it (as opposed to the somewhat broader meaning described in the article "[[Reverse engineering]]").
Reverse engineering encloses the problematic, that diagram data is normally not contained with the program source, such that the UML tool, at least in the initial step, has to create some ''random layout'' of the graphical symbols of the UML notation or use some automatic ''layout algorithm'' to place the symbols in a way that the user can understand the diagram. For example, the symbols should be placed at such locations on the drawing pane that they don't overlap. Usually, the user of such a functionality of an UML tool has to manually edit those automatically generated diagrams to attain some meaningfulness. It also often doesn't make sense to draw diagrams of the whole program source, as that represents just too much detail to be of interest at the level of the UML diagrams. There are also language features of some [[programming language]]s, like ''class-'' or ''function templates'' of the programming language [[C plus plus|C++]], which are notoriously hard to convert automatically to UML diagrams in their full complexity.
=== "Round trip" engineering ===
There are UML tools that use the attribute ''round trip'' (sometimes also denoted as ''round trip engineering'') to connote their ability to keep the ''source code'', the ''model data'' and the corresponding ''UML diagrams'' ''in sync''.
This means that the user should be able to change either the ''model data'' (together with the corresponding diagrams) or the ''program source code'' and then the UML tool updates the other part automatically.
== List Of UML Case Tool ==
- [http://en.wikipedia.org/wiki/List_of_UML_tools]
Rational Software Architect, Together가 유명하고, 오픈 소스로는 Argo, Violet 이 유명하다.
UML 케이스 툴과 달리 Visio 같은 경우에는 Diagramming 기능만을 제공한다. Diagramming Tool 이라고 분류하는 듯하다.
- VendingMachine/세연/재동 . . . . 8 matches
#include <iostream>
using namespace std;
struct drink
int price, amount;
class VendingMachine
int _money;
int _selectMoney;
int _insertAmount;
int _maxNum;
drink s_drink[5];
VendingMachine();
void insertMoney();
void buyDrink();
void insertDrink();
void showMainMenu();
void showDrinkMenu();
bool isMoney(int arg);
bool isBuyableDrink(int arg);
bool isSelectableDrink(int arg);
VendingMachine::VendingMachine()
- WikiWikiWebFaq . . . . 8 matches
'''Q:''' So what is this WikiWiki thing exactly?
'''A:''' A set of pages of information that are open and free for anyone to edit as they wish. The system creates cross-reference hyperlinks between pages automatically. See WikiWikiWeb for more info.
See Wiki:WikiWikiWebFaq for more questions & answers.
- XMLStudy_2002/Start . . . . 8 matches
1 Invalid Documents : XML의 태그 규칙을 따르지 않거나,DTD를 사용한 경우에 DTD에 정의된 규칙을 제대로 따르지 않는 문서
3 Valid Documents : XML의 태그 규칙을 지키며 DTD에 정의된 방식으로 바르게 작성된 문서
* 위에 3개중 Invalid Documents는 실제 XML 문서로서의 역할을 할수 없다. XML 파서로 파싱 했을 때 바르게 파싱되지 않기 때문이다.
step3. Well-formed 또는 Valid한 문서가 되도록 XML 문서 작성
*XML 문서는 XML로 기술된 구조적인 정보로 구성되는 문서이며 XML1.0스펙에 맞게 작성하며 XML을 지원하는 프로세서(또는 프로그램)에서 사용하기 위해서 Well-formed나 Valid한 형태로 작성된 문서를 말한다. ---> 정의
<?xml version="1.0" encoding="KSC5601"?>
<!ATTLIST MAIL STATUS (official|informal) 'official'>
<!ATTLIST ADDRESS TYPE (office|home|e-mail) 'e-mail'>
<MAIL STATUS="informal">
1. Processing Instructions(Optional) : XML문서를 어떻게 처리해야 할지를 기술해 주는 부분
=== Processing Instructions(PI) ===
<?xml version="1.0" standalone="yes" encoding="KSC5601"?>
*encoding : 문서 작성시에 사용된 인코딩 방식을 기술
<!ENTITY 엔티티 명칭 PUBLIC Public_indentifier "외부 XML문서의 URI">
<?xml version="1.0" encoding="KSC5601"?>
<CHAPTER_TITLE>Chapter1.Instruction</CHAPTER_TITLE>
<?xml version="1.0" encoding="KSC5601"?>
<!ENTITY % head.misc "SCRIPT|STYLE|META|LINK|OBJECT" -- repeatable head elements -->
<!ENTITY % heading "H1|H2|H3|H4|H5|H6">
<!ENTITY % list "UL|OL">
- [Lovely]boy^_^/Diary/12Rest . . . . 8 matches
* I read a Squeak chapter 3,4. Its sentence is so easy.
* I suprised at Smalltalk's concepts.
* I studied a Grammar In Use Chapter 44,45,46
* I read a Programming Pearls Chapter 6 a little, because I can't understand very well--;. So I read Chapter 7,8,9,10 roughly. In my opinion, there is no very serious contents.
* I can treat D3D, DInput, but It's so crude yet.
* The DInput's message priority is maybe so high... It's very very fast.--; I can't control it.
* I modify above sentence.--; I test GetAsyncKeyState(), but it's speed is same with DInput.--; How do I do~~~?
* I made a SnakeBite with Direct3D and DirectInput. I'll add sound with DirectSound, and I'll test DirectX's almost all contents.
* I saw a very good sentence in 'The Fighting'. It's "Although you try very hard, It's no gurantee that you'll be success. But All succecssfull man have tried."
* I feel that I am getting laziness.--;
- 데블스캠프2009/목요일/연습문제/MFC/정종록 . . . . 8 matches
#include "stdafx.h"
#include "Test.h"
#include "TestDlg.h"
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
int sign = 0;
//{{AFX_DATA_INIT(CAboutDlg)
//}}AFX_DATA_INIT
BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
//{{AFX_DATA_INIT(CTestDlg)
//}}AFX_DATA_INIT
// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
BEGIN_MESSAGE_MAP(CTestDlg, CDialog)
ON_WM_PAINT()
BOOL CTestDlg::OnInitDialog()
CDialog::OnInitDialog();
// IDM_ABOUTBOX must be in the system command range.
CString strAboutMenu;
- 비행기게임/BasisSource . . . . 8 matches
if not pygame.image.get_extended():
raise SystemExit,"sorry, extended image module required"
file = os.path.join('data',file)
raise SystemExit, 'Could not load image "%s"%s'%(file,pygame.get_error)
for file in files:
def __init__(self):
pygame.sprite.Sprite.__init__(self,self.containers)
self.reloading = 0;
self.timing = 0;
def __init__(self, pos, kind, speedy=0) :
pygame.sprite.Sprite.__init__(self, self.containers)
self.image = self.images[kind]
patientOfInducement = 50
speedIncreaseRateOfY = 0.1
def __init__(self, pos, playerPosY) :
pygame.sprite.Sprite.__init__(self, self.containers)
if self.rect.centery<(self.playerPosY-self.patientOfInducement):
self.speedy+=self.speedIncreaseRateOfY
elif self.rect.centery>(self.playerPosY+self.patientOfInducement):
self.speedy-=self.speedIncreaseRateOfY
- 실습 . . . . 8 matches
국어 점수 int m_nKorean
영어 점수 int m_nEnglish
수학 점수 int m_nMath
총점 int m_nTotal
평균 int m_dAvg
입력함수 void Input(char szName[],int nKorean, int nEnglish,int nMath);
총점 함수 int GetTotal(void);
등수 함수 int GetRank(void);
등수 기록 함수 void SetRank(int nRank);
결과출력 함수 void PrintResult();
2. 컴파일러 세팅 (Compiler Setting)
1) Microsoft Visual Studio를 실행시킨다.
4) ListBox에서 Win32 Console Application을 선택한다.
8) An empty project를 선택하고, Finish를 선택한다.
int m_nKorean,m_nEnglish,m_nMath;
int m_nTotal;
int m_nRank;
void Input(char szName[],int nKorean,int nEnglish,int nMath);
int GetTotal(void);
int GetRank(void);
- Gof/Command . . . . 7 matches
== Intent ==
때때로 요청받은 명령이나 request를 받는 객체에 대한 정보없이 객체들에게 request를 넘겨줄 때가 있다. 예를 들어 user interface tookit은 button이나 menu처럼 사용자 입력에 대해 응답하기 위해 요청을 처리하는 객체들을 포함한다. 하지만, 오직 toolkit을 사용하는 어플리케이션만이 어떤 객체가 어떤일을 해야 할지 알고 있으므로, toolkit은 button이나 menu에 대해서 요청에 대해 명시적으로 구현을 할 수 없다. toolkit 디자이너로서 우리는 request를 받는 개체나 request를 처리할 operations에 대해 알지 못한다.
Command Pattern은 request 를 객체화함으로서 toolkit 객체로 하여금 불특정한 어플리케이션 객체에 대한 request를 만들게 한다. 이 객체는 다른 객체처럼 저장될 수 있으며 pass around 가능하다. 이 pattern의 key는 수행할 명령어에 대한 인터페이스를 선언하는 추상 Command class에 있다. 이 인터페이스의 가장 단순한 형태에서는 추상적인 Execute operation을 포함한다. 구체화된 Command subclass들은 request에 대한 receiver를 instance 변수로 저장하고 request를 invoke하기 위한 Execute operation을 구현함으로서 receiver-action 짝을 구체화시킨다. The receiver has the knowledge required to carry out the request.
어플리케이션은 각각의 구체적인 Command 의 subclass들로 각가각MenuItem 객체를 설정한다. 사용자가 MenuItem을 선택했을때 MenuItem은 메뉴아이템의 해당 명령으로서 Execute oeration을 호출하고, Execute는 실제의 명령을 수행한다. MenuItem객체들은 자신들이 사용할 Command의 subclass에 대한 정보를 가지고 있지 않다. Command subclass는 해당 request에 대한 receiver를 저장하고, receiver의 하나나 그 이상의 명령어들을 invoke한다.
예를 들어 PasteCommand는 clipboard에 있는 text를 Document에 붙이는 기능을 지원한다. PasteCommand 의 receiver는 인스턴스화할때 설정되어있는 Docuemnt객체이다. Execute 명령은 해당 명령의 receiver인 Document의 Paste operation 을 invoke 한다.
이러한 예들에서, 어떻게 Command pattern이 해당 명령을 invoke하는 객체와 명령을 수행하는 정보를 가진 객체를 분리하는지 주목하라. 이러함은 유저인터페이스를 디자인함에 있어서 많은 유연성을 제공한다. 어플리케이션은 단지 menu와 push button이 같은 구체적인 Command subclass의 인스턴스를 공유함으로서 menu 와 push button 인터페이스 제공할 수 있다. 우리는 동적으로 command를 바꿀 수 있으며, 이러함은 context-sensitive menu 를 구현하는데 유용하다. 또한 우리는 명령어들을 커다란 명령어에 하나로 조합함으로서 command scripting을 지원할 수 있다. 이러한 모든 것은 request를 issue하는 객체가 오직 어떻게 issue화 하는지만 알고 있으면 되기때문에 가능하다. request를 나타내는 객체는 어떻게 request가 수행되어야 할지 알 필요가 없다.
* undo 기능을 지원하기 원할때. Command의 Execute operation은 해당 Command의 효과를 되돌리기 위한 state를 저장할 수 있다. Command 는 Execute 수행의 효과를 되돌리기 위한 Unexecute operation을 인터페이스로서 추가해야 한다. 수행된 command는 history list에 저장된다. history list를 앞 뒤로 검색하면서 Unexecute와 Execute를 부름으로서 무제한의 undo기능과 redo기능을 지원할 수 있게 된다.
* logging change를 지원하기 원할때. logging change 를 지원함으로서 시스템 충돌이 난 경우에 대해 해당 command를 재시도 할 수 있다. Command 객체에 load 와 store operation을 추가함으로서 change의 log를 유지할 수 있다. crash로부터 복구하는 것은 디스크로부터 logged command를 읽어들이고 Execute operation을 재실행하는 것은 중요한 부분이다.
* 기본명령어들를 기반으로 이용한 하이레벨의 명령들로 시스템을 조직할 때. 그러함 조직은 transaction을 지원하는 정보시스템에서 보편화된 방식이다. transaction은 데이터의 변화의 집합을 캡슐화한다. CommandPattern은 transaction을 디자인하는 하나의 방법을 제공한다. Command들은 공통된 인터페이스를 가지며, 모든 transaction를 같은 방법으로 invoke할 수 있도록 한다. CommandPattern은 또한 새로운 transaction들을 시스템에 확장시키기 쉽게 한다.
* Invoker (MenuItem)
* Invoker 객체는 ConcreteCommand객체를 저장한다.
* invoker는 command에서 Execute를 호출함으로서 request를 issue한다. 명령어가 undo가능할때, ConcreteCommand는 명령어를 undo하기 위한 state를 저장한다.
* ConcreteCommand 객체는 request를 처리하기 위해 receiver에서 operation을 invoke한다.
다음의 다이어그램은 이 객체들이 어떻게 상호작용하는지 보여준다. 이 다이어그램은 또한 어떻게 Command 가 receiver와 처리할 request로부터 invoker를 분리하는지 설명한다.
1. Command는 해당 객체의 명령을 invoke하는 객체와 어떻게 수행해야 할지 알고 있는 객체와의 결합을 해제한다.
constructor는 receiver와 instance 변수에 대응되는 action을 저장한다. Execute는 단순히 action을 receiver에 적용한다.
MyClass의 instance로 있는 Action을 호출할 command를 만들기 위해서, 클라이언트는 단순히 이렇게 코딩한다.
List<Command*>* _cmds;
ListIterator<Command*> i (_cmds);
for (i.First (); !i.IsDone (); i.Next()) {
- HowToStudyXp . . . . 7 matches
ExtremeProgramming을 어떻게 공부할 것인가
* XP Explained (Kent Beck) : XP 선언서
* XP Installed (Ron Jeffries et al) : C3 프로젝트에 적용한 예, 얻은 교훈 등
* Planning XP (Kent Beck, Martin Fowler) : 계획 부분만 설명 (관리자, 코치용)
* ["Refactoring"] (by Martin Fowler) : 리팩토링에 대한 최고의 책
* The Timeless Way of Building : 패턴 운동을 일으킨 Christopher Alexander의 저작. On-site Customer, Piecemeal Growth, Communication 등의 아이디어가 여기서 왔다.
* XP in Practice (Robert C. Martin et al) : 두 세 사람이 짧은 기간 동안 간단한 프로젝트를 XP로 진행한 것을 기록. Java 사용. (중요한 문헌은 아님)
* XP Examined (논문 모음집) : XP 컨퍼런스에 발표된 논문 모음
* Surviving Object-Oriented Projects (Alistair Cockburn) : 얇고 포괄적인 OO 프로젝트 가이드라인
* The Psychology of Computer Programming (Gerald M. Weinberg) : 프로그래밍에 심리학을 적용한 고전. Egoless Programming이 여기서 나왔다.
* Agile Software Development (Alistair Cockburn) : 전반적 Agile 방법론에 대한 책
* IEEE Software/Computer, CACM, ["SoftwareDevelopmentMagazine"] 등에 실린 기사
* 유즈넷, 메일링 리스트, OriginalWiki의 논의들
* http://groups.yahoo.com/group/extremeprogramming
* http://c2.com/cgi/wiki?ExtremeProgrammingRoadmap
* [http://groups.google.co.kr/groups?hl=ko&lr=&ie=UTF-8&newwindow=1&group=comp.software.extreme-programming news:comp.software.extreme-programming]
* http://groups.yahoo.com/group/refactoring
* http://groups.yahoo.com/group/agile-testing
* [http://groups.google.co.kr/groups?dq=&num=25&hl=ko&lr=&ie=UTF-8&newwindow=1&group=comp.object&start=0 news:comp.object]
* XP mailing list
- LoadBalancingProblem/Leonardong . . . . 7 matches
== LoadBalancingProblem ==
def __init__(self):
self.eachWork = list()
self.minWork = 0
def computeMinMaxWork(self):
self.minWork = self.eachWork[0]
for i in range( 1, self.numOfCPU):
if self.minWork > self.eachWork[i]:
self.minWork = self.eachWork[i]
def isCompelte(self):
if self.maxWork - self.minWork > 1:
def input(self, aNumOfCPU, aEachWorks):
self.computeMinMaxWork()
def isThisOverWork(self, aID):
self.computeMinMaxWork()
if self.getWork(aID) > self.minWork:
self.increaseWork(aID-1)
self.increaseWork(aID+1)
def increaseWork(self, aID):
while not self.isCompelte():
- ProjectPrometheus/AT_RecommendationPrototype . . . . 7 matches
def __init__(self):
self.bookList = []
self.bookViewList = {}
self.lightReviewBookList = {}
self.heavyReviewBookList = {}
self.startPoint = 0
def viewBooks(self, aBookList):
for book in aBookList:
point = 0
if self.bookViewList.has_key(aBook):
point += self.bookViewList[aBook] * WEIGHT_VIEW
if self.lightReviewBookList.has_key(aBook):
point += self.lightReviewBookList[aBook] * WEIGHT_LIGHTREVIEW
if self.heavyReviewBookList.has_key(aBook):
point += self.heavyReviewBookList[aBook] * WEIGHT_HEAVYREVIEW
return point
def _addBookRelation(self, aNewBook, anIncrementPoint):
for book in self.bookList:
self.bookList.append(aNewBook)
def _editBookRelation(self, anEditBook, anIncrementPoint):
- ReleaseDebugBuildStartGo의관계 . . . . 7 matches
Sample(bool b_isValid):b_isValid_(b_isValid){}
inline bool isValid(){return b_isValid_;}
bool b_isValid_;
bool b = smpl1.isValid();
-복사생성자에서 멤버 간 대입(member-wise assignment)를 잘 하는가?
- TAOCP/BasicConcepts . . . . 7 matches
양의 정수 m과 n이 주어졌을때, 그것들의 최대공약수(greatest common divisor)
1) 유한성(Finiteness)
2) 명확성(Definiteness)
3) 입력(Input)
* Registers
A, X register
I register - rI1~rI6까지 있음.
J register
Comparison indicator, - EQUAL, LESS, GREATER
Input, Output Devices
* Instruction format
C - 명령어 코드(the poeration code)
F - 명령어의 변경(a modification of the operation code). (L:R)이라면 8L+R = F
±AA - 메모리 주소(the address)
I - 인덱스(the index specification). 값이 1~6으로 rI1~rI6에 있는 내용과 메모리 주소를 더함
* Notation
* Loading operators.
LDA, LDX, LDi, LDAN, LDXN, LDiN이 있다.
* Storing operators.
이 연산에서 M은 메모리 셀을 가리키지 않고, 그냥 부호있는 숫자로 쓰인다. ENTr, ENNr, INCr, DECr가 있다. ( r은 A, X, 1~6)
- 토이/메일주소셀렉터/김정현 . . . . 7 matches
public class Main {
public static void main(String[] args) {
String input;
input= "input.txt";
else input = args[0];
String[] deleteList= {" ", "\n"};
io.insertDeleteList(deleteList);
io.insertSpace(true);
io.write("result.txt", io.getRemadeFromFile(input));
private String[] deleteList= {};
private boolean shouldInsertSpace;
shouldInsertSpace= false;
public void write(String fileName, String text) {
e.printStackTrace();
public String read(String fileName) {
String resultString= "";
resultString += br.readLine();
} catch (FileNotFoundException e) {
e.printStackTrace();
e.printStackTrace();
- 페이지이름 . . . . 7 matches
ZeroWiki에서 ["페이지이름"]에 관한 안내 사항
*. ZeroWiki 에서는 '''/''' 으로 페이지 간의 계층을 구분한다.
* 예를들어서, ["ProjectPrometheus"] 에서 활동하다가 만들어지는 '''Journey''' 페이지의 이름은 ["ProjectPrometheus/Journey"]로 지어지고 이 페이지는 ["ProjectPrometheus"]를 부모로 하는 하위 페이지이이다.
* 당연히, 부모인 ["ProjectPrometheus"] 에 Jouney 에 대한 링크를 찾아보면 있을 것이다. 그리고 ["ProjectPrometheus/Journey"] 의 가장 하단에, 밑줄({{{~cpp ----}}})로 자신의 부모를 링크를 걸어두어 보는 이가 항해하기 편하게 배려한다.
* 이에 반하여 ["ProjectPrometheus/Estimation"]은 부모에 대한 페이지 링크가 가장 상단에 있다. 즉, 부모의 링크는 최상단, 최하단에 올수 있다. 이를 ["역링크"]라고 부른다.
*. 부모가 없는 페이지들은 ["분류분류"] 들에 있는 분류중 하나로 속할수 있다. 만약 자신이 생각하는 분류가 없다면, 당신은 새로운 분류 꺼리를 ZeroWiki에 제공할 수 있다. 새로운 공식적인 분류페이지를 열수 있다는 것은 즐거운 일이다. 축하한다. 해당 분류를 만들어 달라.
아래는 ["제안"]이란 ["페이지이름"]에 대한 토론 내용을 HierarchicalWikiWiki 페이지에서 옮겼습니다. 좀 더 다듬어야 하겠습니다. RefactorMe --["이덕준"]
사실 ["ZeroWiki/제안"] 이나 ["제안"]과 같은 페이지는 그 ["페이지이름"]이 다소 추상적이라고 생각됩니다. ["페이지이름"]에 좀 더 구체성을 주기위해 ZeroWiki에 제안될 사항들은 각각의 주제가 제목이 되어 페이지가 열리는것이 좋을것 같다는 생각을 하고있습니다. 이는 ["페이지이름"] 페이지에서 보다 일반화되어 정리될 내용이라 생각됩니다. --["이덕준"]
- 5인용C++스터디/클래스상속보충 . . . . 6 matches
#include <iostream>
#include <string>
using namespace std;
cout << "Not implemented!\n";
void SendToSMSServer(string number, string message)
cout << "Not implemented!\n";
void DisconnectSMSServer()
cout << "Not implemented!\n";
void SendMessage(string number, string message)
DisconnectSMSServer();
void SendToSMSServer(string number, string message)
void DisconnectSMSServer()
cout << "Disconnect SK SMS Server.\n";
void SendToSMSServer(string number, string message)
void DisconnectSMSServer()
cout << "Disconnect KTF SMS Server.\n";
void main()
#include <iostream>
#include <string>
using namespace std;
- ACM_ICPC . . . . 6 matches
= ACM International Collegiate Programming Contest =
* [http://acm.kaist.ac.kr/2000/standing.html 2000년]
* [http://acm.kaist.ac.kr/2001/standing.html 2001년]
* [http://acm.kaist.ac.kr/2002/standing.html 2002년]
* [http://acm.kaist.ac.kr/2003/rank.html 2003년]
* [http://acm.kaist.ac.kr/2005/standing2005.html 2005년 스탠딩]
* [http://acm.kaist.ac.kr/2007/standing2006.html 2006년 스탠딩] - ZeroPage Rank 17
* [http://acm.kaist.ac.kr/2007/standing2007.html 2007년 스탠딩] - ZeroPage Rank 30
* [http://acm.kaist.ac.kr/2008/fullnums.html 2008년 스탠딩] - ZeroPage Rank 30
* [http://acm.kaist.ac.kr/2009/rank/new_summary_full.html 2009년 스탠딩] - No attending
* [http://acm.kaist.ac.kr/phpBB3/viewtopic.php?f=7&t=129 2010년 스탠딩] - No attending
* [http://acm.kaist.ac.kr/phpBB3/viewtopic.php?f=25&t=657 2011년 스탠딩] - ACMCA Rank 26 (CAU - Rank 12)
* [http://acm.kaist.ac.kr/phpBB3/viewtopic.php?f=28&t=695 2012년 스탠딩] - OOPARTS, GoSoMi_Critical (CAU - Rank 15)
* [http://acm.kaist.ac.kr/phpBB3/viewtopic.php?f=32&t=5656&sid=8a41d782cdf63f6a98eff41959cad840#p7217 2013년 스탠딩] - AttackOnKoala HM
* [http://acm.kaist.ac.kr/phpBB3/viewtopic.php?f=35&t=5728 2014년 스탠딩] - ZeroPage Rank 32 (CAU - Rank 18, including Abroad team)
* [http://icpckorea.org/2015/REGIONAL/scoreboard.html 2015년 스탠딩] - 1Accepted1Chicken Rank 42 (CAU - Rank 18, including Abroad team)
* [http://icpckorea.org/2016/REGIONAL/scoreboard.html 2016년 스탠딩] - Zaranara murymury Rank 31 (CAU - Rank 13, including Abroad team)
* [http://icpckorea.org/2017/regional/scoreboard/ 2017년 스탠딩] - NoMonk, Rank 62 (CAU - Rank 35, including Abraod team)
* [http://icpckorea.org/2018/regional/scoreboard/ 2018년 스탠딩] - ZzikMukMan Rank 50 (CAU - Rank 28, including Abroad team)
* [http://icpckorea.org/2019/regional/scoreboard/ 2019년 스탠딩] - TheOathOfThePeachGarden Rank 81(CAU - Rank 52, including Abroad team)
- AcceleratedC++/Chapter12 . . . . 6 matches
= Chapter 12 Making class objects act like values =
12장에서는 string 클래스의 클론 버전인 Str 클래스를 제작한다. Str 클래스는 string 클래스의 형변환과 연산자의 구현에 초점을 맞추어서 제작한다.
== 12.1 A simple string class ==
std::copy(cp, cp+std::strlen(cp), std::back_inserter(data));
template<class In> Str(In b, In e) {
std::copy(b, e, std::back_inserter(data));
상기의 클래스에는 Str(const char*) 타입의 생성자가 존재하기 때문에 이 생성자가 Str 임시 객체를 생성해서 마치 '''사용자 정의 변환(user-define conversion)'''처럼 동작한다.
'''string 에서 가능했던 연산들'''
cin>>s;
Vec<int> data;
이 구현의 세부적인 작동방식은 모두 Vec 클래스로 위임하였다. 대신에 const 클래스와 const 가 아닌 클래스에 대한 버전을 제공하였고, 표준 string 함수와의 일관성 유지를 위해서 string 대신에 char& 형을 리턴하도록 하였음.
cin>>s;
cin.operator>>(s); // istream 을 우리가 만든 객체가 아니기 때문에 재정의할 수 없다.
s.operator>>(cin); // 표준 istream 의 형태가 아니다.
s>>cin
std::istream& operator>>(std::istream&, Str&);
istream& operator>>(istream& is, Str& s) {
while(is.get(c) && isspace(c)) // 입력이 있고 값이 공백이라면 무시
if(is) { // EOF를 만나면 입력 스트림을 false 값을 리턴한다.
while(is.get(c) && !isspace(C));
- BasicJava2005/5주차 . . . . 6 matches
- max(), min() : 최대/최소값을 구한다.
- 각종 Wrapper클래스(Integer, Double, Character...)
- parseXXX : String을 각 형태로 변환한다.
- toString : 지정한 숫자를 문자열 형태로 반환한다.
public static void main(String[] args) {
int a = Integer.parseInt(args[0]);
int b = Integer.parseInt(args[1]);
System.out.println(a + " / " + b + " = " + (a / b));
} catch(ArrayIndexOutOfBoundsException e) {
System.out.println("숫자를 2개 넣으세요");
System.out.println("0으로 나누지 마세요");
System.out.println("문자열을 넣지 마세요");
5. try~catch~finally
- try ~ catch 구문을 실행후 무조건 finally문장을 실행한다.
- BookShelf/Past . . . . 6 matches
1. ExtremeProgrammingExplained 2e - 20052021
1. 리스크관리(WaltzingWithBear) - 200450407
1. ExtremeProgrammingInstalled - 20050508
1. [BuildingParsersWithJava] - 20050916
1. [Downshifting] - 20051008
1. [TheElementsOfProgrammingStyle] - 20051018
1. [MindMapBook] - 20060123
1. [TheElementsOfStyle] - 20060304
1. [IntroductionToTheTheoryOfComputation]
- Boost/SmartPointer . . . . 6 matches
#include <boost/smart_ptr.hpp>
using namespace boost;
// (C) Copyright Beman Dawes 2001. Permission to copy,
// use, modify, sell and distribute this software is granted provided this
// copyright notice appears in all copies. This software is provided "as is"
// See http://www.boost.org for most recent version including documentation.
// Revision History
// 21 May 01 Initial complete version (Beman Dawes)
// The original code for this example appeared in the shared_ptr documentation.
// Ray Gallimore pointed out that foo_set was missing a Compare template
// argument, so would not work as intended. At that point the code was
// turned into an actual .cpp file so it could be compiled and tested.
#include <vector>
#include <set>
#include <iostream>
#include <algorithm>
#include <boost/shared_ptr.hpp>
// The application will produce a series of
// and by ordering relationship (std::set).
Foo( int _x ) : x(_x) {}
- BoostLibrary/SmartPointer . . . . 6 matches
#include <boost/smart_ptr.hpp>
using namespace boost;
// (C) Copyright Beman Dawes 2001. Permission to copy,
// use, modify, sell and distribute this software is granted provided this
// copyright notice appears in all copies. This software is provided "as is"
// See http://www.boost.org for most recent version including documentation.
// Revision History
// 21 May 01 Initial complete version (Beman Dawes)
// The original code for this example appeared in the shared_ptr documentation.
// Ray Gallimore pointed out that foo_set was missing a Compare template
// argument, so would not work as intended. At that point the code was
// turned into an actual .cpp file so it could be compiled and tested.
#include <vector>
#include <set>
#include <iostream>
#include <algorithm>
#include <boost/shared_ptr.hpp>
// The application will produce a series of
// and by ordering relationship (std::set).
Foo( int _x ) : x(_x) {}
- Chapter I - Sample Code . . . . 6 matches
RenameThisPage : 페이지 이름 수정 필요. 궁리중 --["1002"]
=== Installing uCOS-II ===
=== INCLUDES.H ===
=== Compiler-Independent Data Types ===
각각의 프로세서마다 int 형 데이터의 크기 char 형 데이터의 크기.. 등등이 다르기 때문에 다음과 같은 식으로 재정의를 해준다.
typedef ungisned char BOOLEAN;
typedef unsigned char INT8U
typedef signed int INT16S
// 형 재정의 (#define이용)
#define BYTE INT8S
OS 를 작성하다보면 전역변수가 필요한 경우가 있다. 전역변수는 어떻게 선언하는가? extern 키워드를 사용하면 된다. 하지만 uCOS-II 에서는 extern 키워드마저 #define 해서 다른 매크로로 사용한다.
#define OS_EXT
#define OS_EXT_extern
OS_EXT INT32U OSIdleCtr;
OS_EXT INT32U OSIdleCtrRun;
OS_EXT INT32U OSIdleCtrMax;
extern INT32U OSIdleCtr;
extern INT32U OSIdleCtrRun;
extern INT32U OSIdleCtrMax;
#define OS_GLOBALS
- ClassifyByAnagram/재동 . . . . 6 matches
self.anagram.inputWord('abc')
self.assertEquals(expect, self.anagram.getSplitWordList())
self.anagram.inputWord('cba')
self.assertEquals(expect, self.anagram.getSortWordString())
def testIsWordListInAnagramList(self):
self.anagram.inputWord('cba')
self.anagram.setAnagramList([['abc','cba']])
self.assertEquals(expect1, self.anagram.isWordListInAnagramList())
self.anagram.inputWord('zzz')
self.assertEquals(expect2, self.anagram.isWordListInAnagramList())
self.anagram.inputWord('cba')
self.anagram.inputWord('cba')
self.anagram.inputWord('bac')
self.anagram.inputWord('abab')
def __init__(self):
self.anagramList = []
def inputWord(self, word):
self.wordString = word
self.wordList = []
for i in range(len(self.wordString)):
- ContestScoreBoard/문보창 . . . . 6 matches
#include <iostream>
using namespace std;
#define SWAP(x, y, t) ((t) = (x), (x) = (y), (y) = (t))
const int NUMBER_TEAM = 101;
const int NUMBER_PROBLEM = 10;
const int TIME_PENALTY = 20;
int timeProblem[NUMBER_PROBLEM];
int penalty;
int numberSuccessProblem;
void inputInfoContest(ContestTeam * team, bool * isSumit);
void initialize(ContestTeam * team, bool * isSumit);
void initializeTeam(ContestTeam * team);
void initializeIsSumit(bool * isSumit);
int settingRank(bool * isSumit, int * rankTeam);
void concludeRank(ContestTeam * team, int * rankTeam, int numberSumitTeam);
void printRank(ContestTeam * team, int * rankTeam, int numberSumitTeam);
int main()
int numberCase;
cin >> numberCase;
cin.get();
- ContestScoreBoard/차영권 . . . . 6 matches
#include <iostream>
using namespace std;
#define nTeam 101 // 팀 수
#define nProblem 9 // 문제 번호
int solvedProblem; // 푼 문제의 수
int timePenalty; // 시간 패널티
bool incorrectSubmit[nProblem];
void init(Team *team);
void InputInformation(Team *team, bool *joined);
void RankTeam(Team *team, bool *joined);
int main()
bool joined[nTeam] = {false, };
int nCase;
int count = 0;
cin >> nCase;
cin.get();
cin.get();
init(team);
InputInformation(team, joined);
RankTeam(team, joined);
- HelpOnInstallation . . . . 6 matches
`rcs`가 설치되었는지 확인한다. {{{/usr/bin/rlog /usr/bin/ci /usr/bin/co}}}등등의 실행파일이 있어야 한다. {{{/usr/bin/merge}}}도 필요하다. PHP gettext 모듈이 필요하다. See also MoniWikiRcs
* 윈도우즈에서 모니위키를 설치하는 방법은 ApacheMoniwikiInstaller을 참고 하십시오.
$ tar --same-permissions -xzvf moniwiki-1.1.x.tgz
압축을 풀면 moniwiki라는 디렉토리 밑에 화일들이 있는 것을 볼 수 있다.
디렉토리 이름을 원하는 것으로 바꿀 수도 있다. 예를 들어 {{{/wiki}}}라고 바꿀 수 있으며
기본 값은 {{{/moniwiki}}}이다.
== monisetup.sh를 실행한다 ==
monisetup.sh를 실행하여 디렉토리의 쓰기권한을 조정한다. (기본값은 2777) 이렇게 하여야 MoniSetup.php를 실행시킬 수 있게 된다.
( 실행명령어는 프롬포트상에서 {{{sh monisetup.sh}}} )
/!\ 윈도우즈 환경에서는 곧바로 monisetup.php를 실행하시면 됩니다. (구버전의 모니위키에서는 monisetup.bat를 실행해야 합니다).
== MoniSetup ==
처음 설치할 경우 MoniSetup을 이용해서 config.php를 만들게 된다.
이 값을 제대로 지정하면 MoniSetup에서 다음과 같은 로고 그림을 볼 수 있다.
http://moniwiki.kldp.org/imgs/moniwiki-logo.png
1. 처음 실행하면 {{{monisetup.php}}}가 자동으로 뜨며 자신의 환경에 맞는 config.php를 가 만들어진다.
1. 다시 monisetup.php를 열면 필요한 몇몇 디렉토리가 만들어진다.
1. MoniWiki를 처음 설치할 경우는 WikiSeed를 심을것인지를 선택한다.
/!\ 처음 설치할 때 관리 비밀번호 {{{$admin_passwd}}}를 반드시 설정해 주세요 /!\
{{{secure.sh}}}를 실행해서 다른 사람들이 자신의 Wiki 설정을 볼 수 없게,고칠 수 없게 한다.
* MoniWikiOptions 모니위키의 다양한 옵션을 조정한다.
- HelpOnXmlPages . . . . 6 matches
== XML Pages & XSLT Processing ==
If you have Python4Suite installed in your system, it is possible to save XML documents as pages. It's important to start those pages with an XML declaration "{{{<?xml ...>}}}" in the very first line. Also, you have to specify the stylesheet that is to be used to process the XML document to HTML. This is done using a [http://www.w3.org/TR/xml-stylesheet/ standard "xml-stylesheet" processing instruction], with the name of a page containing the stylesheet as the "{{{href}}}" parameter.
See the following example for details, which can also be found on the XsltVersion page.
/!\ MoniWiki support two type of XSLT processors. One is the xslt.php, the other is xsltproc.php. xslt.php need a xslt module for PHP and xsltproc.php need the xsltproc.
MoniWiki use xsltproc.php by default.
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:output method="html" omit-xml-declaration="yes" indent="no"/>
This Wiki is running an XSLT engine by
implementing XSLT v<xsl:value-of select="system-property('xsl:version')"/>
=== Display ===
[[Include(XsltVersion)]]
[[Navigation(HelpOnEditing)]]
- Hessian . . . . 6 matches
Resin 을 이용하는 경우라면 Hessian 이용해서 간단하게 RPC 를 구현할 수 있다.
hessian simple tutorial (홈페이지의 Servlet 예제) - 이는 Resin Servlet Container 가 동작해야 함.
=== interface 의 정의 ===
RPC 를 위해서는 서버-클라이언트의 대화를 위한 interface 의 정의가 필요하다. 간단하게 정의해본다.
public interface Basic {
public String hello();
public int returnInt();
이를 컴파일 하기 위해서는 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] 를 다운받는다)
public String hello () {
public int returnInt() {
그리고 class 화일을 Servlet 이 돌아가는 디렉토리에 복사한다. 이로서 RPC Publish 기본준비는 ok.
Java 와 Python 둘 다 구현이 가능하다. 여기서는 간단하게 Python Interpreter 를 이용해보자.
>>> proxy.returnInt()
Java 의 경우는 다음과 같다. 위에서 정의한 interface 인 Basic 이 있어야 한다.
public static void main(String[] args) throws MalformedURLException {
String url = "http://localhost:8080/servlet/RpcTest";
System.out.println("Hello ():" + basic.hello());
System.out.println("returnInt : " + basic.returnInt());
- Java Study2003/첫번째과제/장창재 . . . . 6 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 Interpreter) 또는 자바 가상머신(Java Virtual Machine):
자바 가상머신(Java Virtual Machine; Java VM):
자바 가상머신은 자바 플랫폼의기반을 이루며, 다양한 하드웨어기반 플랫폼에 포팅(poring) 됩니다. 다시 말해서, 자바 가상머신은 윈도우 95/98/NT, 유닉스, 또는 매킨토시 등과 같은 기존의 운영체제 또는 인터넷 익스플로러와 넷스케이프 등과 같은 웹 브라우저 등, 여러 가지 플랫폼에 설치되어 사용될 수 있으며, 사용자는 자바 바이트코드로 컴파일된 자바 프로그램을 실행시키기 위해서 이 자바 가상머신을 이용하면 됩니다.
자바 API(Java Application Programming Interface):
자바의 주된 특징은 기존의 C/C++ 언어의 문법을 기본적으로 따르고, C/C++ 언어가 갖는 전처리기, 포인터, 포인터 연산, 다중 상속, 연산자 중첩(overloading) 등 복잡하고 이해하기 난해한 특성들을 제거함으로써 기존의 프로그램 개발자들이 쉽고 간단하게 프로그램을 개발할 수 있도록 합니다.
자바는 C++와는 달리 처음부터 객체지향 개념을 기반으로 하여 설계되었고, 객체지향 언어가 제공해 주어야 하는 추상화(Abstraction), 상속(Inheritance), 그리고 다형성(Polymorphism) 등과 같은 특성들을 모두 완벽하게 제공해 주고 있습니다. 또한, 자바의 이러한 객체지향적 특성은 분산 환경, 클라이언트/서버 기반 시스템이 갖는 요구사항도 만족시켜 줄 수 있습니다.
자바는 서로 다른 이종(Heterogeneous)의 네트워크 환경에서 분산 되어 실행될 수 있도록 설계되었습니다. 이와 같은 환경에서는 응용 프로그램들이 다양한 하드웨어 아키텍쳐 위에서 실행될 수 있어야만 합니다. 이를 위해 자바 컴파일러는 이종의 하드웨어 및 소프트웨어 플랫폼에서 효율적으로 코드를 전송하기 위해 설계된 아키텍쳐 중립적인 중간 코드인 바이트코드를 생성합니다. 이는 동일한 자바 프로그램의 자바 바이트코드가 자바 가상머신이 설치되어 있는 어떤 플랫폼에서도 실행될 수 있도록 하는 것입니다. 또한, 자바는 기본 언어 정의를 엄격하게 함으로써 효율적인 이식성을 제공해 주고 있습니다. 예를 들어, int 형과 같은 기본 데이터형의 크기를 플랫폼과 무관하게 일정하게 하고, 연산자의 기능을 확실하게 규정하고 있습니다. C 언어를 이용하여 int 형을 선언할 때, 도스에서는 16비트, 윈도우 95/98/NT 등 32비트 운영 체제 환경에서는 32비트, 유닉스에서는 32비트 등 그 플랫폼에 따라 크기가 다르지만, 자바에서는 플랫폼에 상관없이 32비트로 고정되도록 하였습니다. 이는 자바 프로그램이 실행되는 환경이 자바 가상머신으로 동일하기 때문입니다.
인터프리터(Interpreter) 방식이다:
자바 언어로 작성된 자바 프로그램을 중간언어 형태인 자바 바이트코드로 컴파일하고, 이렇게 생성된 자바 바이트코드를 자바 인터프리터가 해석함으로써, 자바 인터프리터와 런타임 시스템이 이식(porting)된 모든 플랫폼에서 자바 바이트코드를 직접 실행할 수 있습니다.
JIT(Just-In-Time):
캐싱(Caching):
이러한 문제는 자바가 스레드 스케줄링 정책 구현에 의존하고, synchronized 명령어가 모니터 기반의 동기화 기법만 제공하고 큐 대기 시간을 예측할 수 없으며, notify() 메소드가 스레드를 깨우는 순서가 불명확하고, 우선순위 역전(priority inversion_의 가능성이 있습니다. 이러한 문제는 API 수준에서 해결되어야 하고, 실시간 타스크 처리를 위한 우선순위 레벨을 확장하고, 우선순위 상속(priority inheritance) 또는 우선순위 최고 한도 제한(priority ceiling) 등과 같은 우선순위 역전 방지 (priority inversion avoidance) 프로토콜을 사용하고, MuteX, 이진 세마포어(Binary Semaphore), 계수 세마포어(Counting Semaphore) 등을 사용할 수 있습니다.
이러한 문제점은 느린(Lazy) 클래스 로딩에서 발생하거나 메모리 할당과 가비지 콜렉션이 비결정적이고 느린 최악의 경우(worst-case) 특성을 가지며 stop-start 방식으로 모든 스레드를 멈출 수 있다는 문제점이 있습니다. 이를 해결하기 위해 클래스를 미리 로딩(class preloading)한다거나 정적 초기화(static initializer)를 제거하여 패키지 라이브러리에 대해서는 가상머신 초기화를 사용하고 응용프로그램에서는 명시적인 초기화 를 사용하게 하는 등의 기법을 사용할 수 있습니다. 그리고, 메모리 할당과 쓰레기 수집(garbage collection)에 대해서는 정해진 시간 내에 입터럽트 가능한 쓰레기 수집을 하는 것입니다. 또는 표준화된 실시간 API를 제공함으로써 해결할 수 있습니다.
C언어를 이용하여 C 프로그램을 작성한다면 반드시 main이라는 시작 함수를 정의해 주어야 하고, 윈도우 응용프로그램을 작성한다고 하면 WinMain이라는 함수를 꼭 작성해 주어야 하지요. 이러한 것을 규약(protocol)이라 합니다. 마찬가지로, 자바 언어를 이용하여 여러 가지 종류의 자바 프로그램을 작성할 수 있는데, 이 때 각 자바 프로그램의 종류에 따라 해당 규약이 서로 다릅니다. 이렇듯 자바를 이용하여 자바 프로그램을 작성한다는 것은 각 자바 프로그램에서 제시하고 있는 규약을 지켜 프로그램을 작성한다는 것입니다. 자바 언어를 이용하여 작성할 수 있는 자바 프로그램의 종류를 살펴보면 다음과 같습니다.
public static void main(String args[]) {
System.out.println("Hello World!"); // Display the string
- Java/ReflectionForInnerClass . . . . 6 matches
[http://groups.google.co.kr/groups?hl=ko&lr=&ie=UTF-8&oe=UTF-8&newwindow=1&threadm=3A1C1C6E.37E63FFD%40cwcom.net&rnum=4&prev=/groups%3Fq%3Djava%2Breflection%2Binnerclass%26hl%3Dko%26lr%3D%26ie%3DUTF-8%26oe%3DUTF-8%26newwindow%3D1%26selm%3D3A1C1C6E.37E63FFD%2540cwcom.net%26rnum%3D4 구글에서 찾은 답변]
innerclass 에서는 기본적으로 Inner Class 를 포함하고 있는 상위클래스의 레퍼런스가 생성자로 들어간다. 마치 C++ 에서 메소드들에 대해 this 가 기본 파라메터로 넘어가는 것과 같은 이치랄까.
public class InnerConstructorTest {
public static void main(String[] args) {
Object outer = outerClass.newInstance();
Class innerClass = Class.forName("Outer$Inner");
Constructor innerCons =
innerClass.getDeclaredConstructor(consParamClasses);
Object inner = innerCons.newInstance(consParams);
System.out.println(inner.toString());
System.out.println("Exception: " + e.getMessage());
int y = 3;
class Inner {
public String toString() {
- JavaStudy2002/입출력관련문제 . . . . 6 matches
* 자바에는 C의 cin처럼 간단한 명령어가 없단 말인가!? --[영동]
* 여러분이 어려워하시는것 같아, 입력 부분을 만들었습니다. 해당 static method의 기능은 한줄을 읽고, 공백이나, 탭을 기준으로 배열을 반환합니다. 사용 방법은 해당 함수의 main 을 참고하시고, 다른 소스에서 import해서 그냥 사용하세요. --["neocoin"]
public class StandardInput {
public static String[] getSplitedStringArray(String input, String delim) {
StringTokenizer tokenizer = new StringTokenizer(input,delim);
List arrayList = new ArrayList();
arrayList.add(tokenizer.nextToken());
String[] output = (String[])arrayList.toArray(new String[0]);
static String[] getInputLineData(){
BufferedReader bufferReader = new BufferedReader(new InputStreamReader(System.in));
String input = "";
input = bufferReader.readLine();
e.printStackTrace();
return getSplitedStringArray(input, " \n\t");
public static void main(String[] args){
System.out.println("글자 한줄 입력 받기 예제");
String[] input = StandardInput.getInputLineData();
for ( int i=0;i<input.length;i++)System.out.println(input[i]);
System.out.println("\n글자나누기 예제\n");
String inputData = "123 4 62 45";
- JavaStudy2003/세번째과제/곽세환 . . . . 6 matches
import javax.swing.JOptionPane;
private String name;
public void setName(String n)
public static void main(String[] args) {
== Point.java ==
public class Point {
private int x, y;
public Point() {
public void setX(int xValue) { x = xValue; }
public void setY(int yValue) { y = yValue; }
public int getX() { return(x); }
public int getY() { return(y); }
public void move(int xValue, int yValue) {
import javax.swing.*;
private Point middlePoint = new Point();
private int width;
private int height;
private String info = "";
public void setData(int xValue, int yValue, int width, int height) {
middlePoint.setX(xValue);
- JollyJumpers/Leonardong . . . . 6 matches
return "Not Jolly"
for i in range( 1, aN ):
if i not in aSet:
for i in range( len(aSeries) - 1 ):
resultSet[abs(aSeries[i + 1]-aSeries[i])] = "exist"
inputString = sys.stdin.readline()
seriesChar = inputString.split()
if seriesChar[0] is '0':
seriesInt = []
for char in seriesChar:
seriesInt.append( int(char) )
print JollyJumper().statementForSeries( seriesInt )
self.assertEquals("Not Jolly",
aSet = {3:"exist", 2:"exist", 1:"exist"},
aSet = {1:"exist"},
str({2:"exist", 1:"exist"}) )
str({2:"exist", 1:"exist"}) )
self.assertEquals("Not Jolly", self.jj.statementForSeries( series ) )
if __name__ == '__main__':
## unittest.main()
- LazyInitialization . . . . 6 matches
== Lazy Initialization ==
ExplicitInitialization의 모든 장점은 단점으로, 단점은 장점으로 된다. 당연하다.(--;)
LazyInitialization의 하나의 변수당 두개의 메소드로 나눠서 초기화를 한다. 하나는 변수가 LazyInitialization되는 것을 감추어 주는 getter이고, 다른 하나는 변수에다 디폴트값으로 할당을 해줄 DefaultValueMethod이다. 이 방법은 유연성이 증대된다. 당신이 서브클래스를 만든다면, DefaultValueMethod를 오버라이딩함으로써, 기능을 바꿀 수 있다. 전장에서도 언급했듯이 성능도 증대시킬 수 있다.
int getCount()
int defaultCount()
int getPeriod()
int defaultPeriod()
별로 안쓸듯하지만... 켄트벡 왈 : 일단은 ExplicitInitialzation으로 출발을 하고, 상속될 거 같으면 LazyInitialization을 사용한다.
- ProgrammingContest . . . . 6 matches
== Internet Problem Solving Contest ==
''Registeration 에서 Team Identifier String 받은거 입력하고 고치면 됨. --석천''
수준이 궁금하신 분들은 K-In-A-Row를 풀어보세요. http://ipsc.ksp.sk/problems/prac2002/sampl_r.php
만약 자신이 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는 거의 받을 일이 없겠죠.
http://www.uwp.edu/academic/mathematics/usaco/ or http://www.usaco.org
http://ace.delos.com/usacogate 에서 트레이닝 받을 수 있지요. 중,고등학생 대상이라 그리 어렵지 않을겁니다. ["이덕준"]은 ProgrammingContest 준비 첫걸음으로 이 트레이닝을 추천합니다.
- SmallTalk/강좌FromHitel/강의4 . . . . 6 matches
nosmokmoin 으로 변경시에 이 페이지가 에러가 발생하는 대표적인 예이다. 이 외에도
아직까지 자료실에서 Dolphin Smalltalk를 내리받아 설치하지 않으신 분이라
Smalltalk 환경을 끝낼 때 File > Exit Dolphin 명령을 내리는 대신 알림판
객체 탐색기(object inspector)는 명령을 실행할 떄 나 글
위의 명령을 글쇠로 실행해 보면 "Inspecting a SortedCollection"
서 'Dolphin'이라는 낱말이 들어간 것을 지금 쓰고 있는 본(image)에서 죄다
SmalltalkSystem current browseContainingSource: 'Dolphin'
생각보다 많은 길수에 "Dolphin"이라는 글귀가 포함되어있습니다. 이 길수
있는 창은 현재 Dolphin Smalltalk 환경에 설치되어있는 꾸러미들을 늘어놓
(class definition)을, 길수가 돋이되어 있다면 바탕글 등을 보여줍니다.
창맵씨(View Composer)는 사용자 접속 환경(User Interface)를 만드는 도구
여기서 여러분은 창(window)이나 대화 상자(Dialog box)를 만들어서 프로그
Delphi나 Visual Basic에서는 창을 설계하는 것에 상당히 많은 비중을 둡니
다. "발자취 창"(walkback window)은 Smalltalk 프로그램이 실행되는 상태에
위 명령을 실행하자마자 "SmallInteger does not understand #hello"라는 제
목이 붙은 발자취 창이 표시될 것입니다. 이 내용인즉슨 "SmallInteger는
SmallInteger(Object)>>doesNotUnderstand:
UndefinedObject>>{unbound}doIt
Dolphin의 경우 꾸러미 탐색기나 창맵씨, 자원 탐색기가 있으며, Smalltalk
Express라는 Smalltalk 환경에서는 Disk Browser가 있다고 합니다.
- TugOfWar/김회영 . . . . 6 matches
#include<iostream.h>
//using namespace std;
bool changeTwoPart(int* right,int* left,int gap,int nPeople);
void changeTwoElement(int* rightPart,int i,int* leftPart,int j);
void sort(int* array,int count);
void main()
int nCount;
cin>>nCount;
int nPeople;
int* nWeightOfPeople;
int* leftPart;
int* rightPart;
int rightTotal=0;
int leftTotal=0;
int* rightOfTotal=new int[nCount];
int* leftOfTotal=new int[nCount];
for(int k=0;k<nCount;k++)
cin.get();
cin>>nPeople;
nWeightOfPeople=new int[nPeople];
- User Stories . . . . 6 matches
원문 : http://www.extremeprogramming.org/rules/userstories.html
User stories serve the same purpose as use cases but are not the same. They are used to create time estimates for the release planning meeting. They are also used instead of a large requirements document. User Stories are written by the customers as things that the system needs to do for them. They are similar to usage scenarios, except that they are not limited to describing a user interface. They are in the format of about three sentences of text written by the customer in the customers terminology without techno-syntax.
User stories also drive the creation of the acceptance tests. One or more automated acceptance tests must be created to verify the user story has been correctly implemented.
One of the biggest misunderstandings with user stories is how they differ from traditional requirements specifications. The biggest
difference is in the level of detail. User stories should only provide enough detail to make a reasonably low risk estimate of how long the story will take to implement. When the time comes to implement the story developers will go to the customer and receive a detailed description of the requirements face to face.
Developers estimate how long the stories might take to implement. Each story will get a 1, 2 or 3 week estimate in "ideal development time". This ideal development time is how long it would take to implement the story in code if there were no distractions, no other assignments, and you knew exactly what to do. Longer than 3 weeks means you need to break the story down further. Less than 1 week and you are at too detailed a level, combine some stories. About 80 user stories plus or minus 20 is a perfect number to create a release plan during release planning.
Another difference between stories and a requirements document is a focus on user needs. You should try to avoid details of specific technology, data base layout, and algorithms. You should try to keep stories focused on user needs and benefits as opposed to specifying GUI layouts.
- WikiSandPage . . . . 6 matches
<form method="post" action="http://wiki.zeropage.org/wiki.php/WikiSandPage">
<input type="hidden" name="action" value="userform">
<input type="hidden" size="15" maxlength="20" name="password" value="">
<input type="hidden" size="15" maxlength="20" name="passwordagain" value="">
<input type="hidden" size="40" name="email" value="">
<input type="hidden" class="button" value="Local timezone">
<input type="hidden" size="40" name="user_css" value="">
<span class="button"><input type="submit" class="button" name="logout" value="로그아웃"></span>
[[RSS("http://zerowiki.dnip.net/zero/index.php?mode=getRSS&url=namsang",6)]]
말이 되냐 Uplode ;; 아 moin 1.0 대로 업그레이드 해도, 이런식으로 InterMap 이면 변화없이
http://pragprog.com/katadata/K4Weather.txt
[임인택/ThisIsATestPage]
[[ISBN(0321146530)]]
int main()
[http://www.u-blog.net/gorbinsk/img/logo.png]
http://www.nbc.com/Saturday_Night_Live/index.html
[http://www.nbc.com/Saturday_Night_Live/index.html]
[http://www.nbc.com/Saturday_Night_Live/index.html 쌩토요일밤]
http://zeropage.org/wikis/nosmok/moinmoin.gif
[http://zeropage.org/wikis/nosmok/moinmoin.gif 이쁜이사진]
- [Lovely]boy^_^/USACO/MixingMilk . . . . 6 matches
#include <iostream>
#include <fstream>
#include <map>
#include <vector>
#include <algorithm>
using namespace std;
ifstream fin("milk.in");
void InputInitData(int& suf, int& numf, map<int,int>& data, vector<int>& numlist);
int Process(int& suf, int& numf, map<int,int>& data, vector<int>& numlist);
void OutputData(int& numf, map<int,int>& data, vector<int>& numlist);
int main()
int numf, suf;
map<int,int> data;
vector<int> numlist;
InputInitData(suf, numf, data, numlist);
fout << Process(suf, numf, data, numlist) << endl;
void InputInitData(int& suf, int& numf, map<int,int>& data, vector<int>& numlist)
fin >> suf;
fin >> numf;
int cost, amount;
- html5practice/즐겨찾기목록만들기 . . . . 6 matches
[[pagelist(html5practice/*)]]
* 원래 목적은 naver api를 끌고 와서 별표 찍는 연습을 만들려고 했는데. 이건 뭐. ajax cross domain 문제로 접근 불가. 난이도 하향. 로컬 목록을 사용자가 만들어서 그걸 즐겨찾기 추가 삭제 하는 코드를 만들었음. 기능과 UI가 안습이지만, 그래도. 만들었음.
<title>html favorite list test</title>
<section id="input">
<h1>add to list</h1>
<form name="formInput">
<input type="text" id="textInput"/>
<input type="button" value="add to list" onclick="doSetItem(this.form)"/>
<input type="button" value="clear" onclick="doClearAll()"/>
<section id="favoriteList">
<h1>allList</h1>
<section id="allList">
localStorage.setItem( document.formInput.elements['textInput'].value, "false");
document.formInput.elements['textInput'].value = "";
console.log(eTD.innerHTML);
localStorage.removeItem(eTD.innerHTML);
localStorage.setItem(eTD.innerHTML, "true");
console.log(eTD.innerHTML);
localStorage.removeItem(eTD.innerHTML);
localStorage.setItem(eTD.innerHTML, "false");
- 몸짱프로젝트 . . . . 6 matches
SeeAlso [HowToStudyDataStructureAndAlgorithms] [DataStructure] [http://internet512.chonbuk.ac.kr/datastructure/data/ds1.htm 자료구조 정리]
* 참고한 책 : ProgrammingPearls(번역서 [생각하는프로그래밍])
SeeAlso IntroductionToAlgorithms
|| BinarySearch || [몸짱프로젝트/BinarySearch] ||
|| LinearSearch || . ||
|| Invert 기능 || [몸짱프로젝트/Invert] ||
[몸짱프로젝트/BinarySearchTree]
[몸짱프로젝트/MinimalCostSpanningTree]
|| FindShortestPath || [몸짱프로젝트/ShortestPaths] ||
|| . || [몸짱프로젝트/DisplayPumutation] ||
|| prefix Infix postfix || [몸짱프로젝트/InfixToPostfix], [몸짱프로젝트/InfixToPrefix] ||
* Palindrome
- 변준원 . . . . 6 matches
(define (f x)
(when (< x 10) (begin (print 2) (print *)(print x) (print =)(print (* 2 x)) (newline) (f (+ x 1)))))
(define (f y)
(when (< y 10) (begin
(define (f x) (when (< x 10) (begin (print y)
(print *)
(print x)
(print =)
(print (* 2 x))
(newline)
#include<iostream>
#include<ctime>
using namespace std;
int move();
int check();
int x,y;
int number=0;
int matrix[5][5];
int main()
const int max=5;
- 새싹교실/2012/개차반 . . . . 6 matches
* High-level의 programming skill보단 low-level의 HW적인 구조를 설명하여 low-level에서 접근하는 독특한(...) 코딩 스타일 전수
* binary digit를 비롯한 컴퓨터 시스템의 기초적인 개념 또한 설명
* variable 및 main function의 역할 설명
* #include가 무엇인지 header file이 무엇인지 설명
* 컴파일러의 역할과 compile -> link -> build 과정 설명
* Low-Level 언어에 가까울수록 기계가 이해하기 쉬워진다 (Machine Friendly)
* int, float, char 등
* int는 정수를 나타내고자 할 때 사용하며 출력시 %d를 사용
* int: integer type, 4 bytes
* char: It used to express a character, but also used to express a integer. 1 byte
* float: 4 byte, floating type number. Specification in IEEE 754-2008
* function: input -> output
* Main function
* It has start and end point of a program.
* return 0; : 0 is a flag noticing OS that program is ended.
* Integer type: int(4 bytes), char(1 byte, be often used to express a character)
* float type: float, double (double is more correct than float)
* Maximum, minimum value of int(경우의 수 이용)
* printf, scanf
* #define
- 임인택/내손을거친책들 . . . . 6 matches
* Introduction to Functional Programming using Haskell
* The Haskell School of Expression
* An introduction to functional programming through lambda calculus
* ObjectOrientedReengineeringPatterns
* ReadingWithoutNonsense
* Firefox hacks : tips & tools for next-generation web browsing
* PairProgramming Illuminated
* IPv6 Clearly Explained
* IPv6, The New Internet Protocol
* RefactoringWorkbook
* TheElementsOfStyle + TheElementsOfProgrammingStyle
- 큐와 스택/문원명 . . . . 6 matches
여기서 의문점은 string헤더 파일을 include하지 않고 배열을 char *형으로 하고 #1,#2,#3을 strcpy를 사용하여 고치고 실행한 후,
가능하다면, 전체 코드를 올려주세요. 지금 제 생각대로라면, 불가능한 코드를 말씀하시는 것 같아서요. --NeoCoin
밤(10시 이후)에 답변드리겠습니다. 저에게는 상당한 학습의 기회가 될것 같군요. 재미있네요. 일단, 글로 표현하기에 자신이 없거든요. 주변의 사람들을 붙잡고 물어보는 것도 좋은 방법이 될것 같습니다. 그리고, 학교 교제의, call By Value, call By reference 와 Pointer 관련 부분을 읽으시면 좋겠습니다. --NeoCoin
#include <iostream>
#include <string>
using namespace std;
const int ASIZE = 5;
void main()
std::string a;
char * array[ASIZE]; // Pointer의 배열입니다. 즉, 문자를 저장할 공간은 아닙니다.
// char 를 가리킬수 있는 주소를 저장할수 있는 32bit 값들의 Pointer들 5개
// 각 Pointer들은 의미 없는 값들로 채워져 있습니다.(컴파일러 의존)
int tail = 0, status = 3;
int select, count;
for(int i = 0 ; i < ASIZE ; i++)
strcpy(array[i], "empty"); // Pointer가 가르키는 부분이 우연히 접근 가능한 메모리 공간이라면
cin >> select;
cin >> array[tail]; // array[tail] 은 아직까지 의미없는 메모리 영역을 가리키는
// 하나의 Pointer입니다. 그 영역에 임의로 문자를 채우는 것이므로
array[count] = array[count+1]; // string의 경우와 달리, Pointer 값만 복사됩니다.
- 타도코코아CppStudy/0804 . . . . 6 matches
|| ZeroWiki:RandomWalk || . || . || . ||
|| ZeroWiki:RandomWalk2 || CherryBoy || Upload:randomWork2_CheRy.cpp || . ||
|| ZeroWiki:ClassifyByAnagram || . || . || . ||
|| ZeroWiki:MagicSquare || . || . || . ||
|| Seminar:SpiralArray || . || . || . ||
|| ZeroWiki:Telephone || CherryBoy || Upload:Telephone_CherRy.cpp || . ||
|| ZeroWiki:EightQueenProblem || . || . || . ||
- 토이/숫자뒤집기/임영동 . . . . 6 matches
* 입력받은 문자열을 숫자로 변환한 뒤 10으로 나눠주면서 그 나머지를 String에 붙여버린다. 그 후 출력.
import javax.swing.*;
public class ProgrammingExercise5_04{
public static void main(String[] args)
int inputNumber=Integer.parseInt(JOptionPane.showInputDialog(null, "Input a number that you want to reverse."));
int reversedNumber=reverse(inputNumber);//뒤집을 숫자를 입력받고 reverse()호출
public static int reverse(int number)
String reversed="";
int returnNumber=Integer.parseInt(reversed);
- 회원정리 . . . . 6 matches
경영학에서는 최근들어 조직이론에 패러다임 이동이 있습니다. 흔히들 말하는 군대식, 위계식, 고정적 조직에서 네트워크식, 수평적, 동적 조직으로의 변화이지요. 이합집산이 쉬워졌습니다. 조직과 조직간, 개인과 개인간의 결합력(coupling)이 약해졌습니다. 하지만 한번 모인 이상 응집력(cohesion)은 높습니다. 꼭 원하는 사람들만 모일 수 있죠. 대학사회에서도 비슷한 현상들이 나타나고 있지 않나 생각합니다. 예전에는 뭔가 큰 조직에 발을 담궈놓아야 편안함과 안정감을 느꼈는데 이제는 그렇지 않습니다. "개인주의적"이라고 비판을 받기도 하지만 현실을 부정할 수는 없을 듯 합니다. 그렇다면 변화하는 패러다임에 맞는 동아리 활동은 어떤 모양새여야 할까요?
회원정리의 기준은 회칙에서 정해진 대로 '사전 연락없이 정모 연속 2회이상 불참' 에 근거하였습니다. 미처 게시판,위키에 연락하지 못하고 회장에게 연락한 경우도 감안을 하였습니다. 또한 프로젝트, 스터디 등을 하면서 ZeroWiki 상에서의 활동여부도 참작을 하였습니다. 활동사항이 전혀 없으면서 정모에 연속 2회이상 불참이 경우가 회원정리의 대상이었습니다.(공교롭게도 이렇게하여 나온 명단의 사람들은 정모에 2,3달 이상 불참하였습니다. 자진 탈퇴라고 보아도 될 정도로 말이죠. 아무런 연락도 없이 불참하였으니까요.) 분명히 정모를 하기 전에 '회원정리를 합니다' 라고 명시를 했었고 그에 대하여 아무런 의견도 없었습니다. 회칙을 정모에서 정했던 만큼 동의하는 것으로 간주하여 회원정리 당일 정모에 참여했던 회원들끼리 회칙 기준에 맞추어 회원정리를 단행하였습니다.
그리고 사과의 말씀 FrontPage에도 올렸지만 다시한번 드립니다. 일처리를 함에 있어 경솔하였고, 성급했던 점.. 그리고 회칙을 좀더 눈여겨 보지 않고 회원정리를 한 점에 대하여 회원들은 물론 선배들께 우려를 끼쳐드린점 죄송합니다. 이런 일이 없도록 하겠습니다. 같은 과친구들끼리 서로 웃으며 대하는 친구들끼리 회원정리라는 것때문에 실관계가 서먹해지는 것은 저도 우려하는 바입니다. 홈페이지까지 삭제하는 일은 지나치다는 생각이 들었습니다. 회원정리는 개개인의 추방을 목적으로 하는 것이 아니라 학회의 부흥을 목적으로 하기 때문입니다. 그리하여 상민이 형이 Delete This Page 대신에 ZeroPagers 를 ZeroWikian 으로 바꿔놓으며 차후 연락하여 활동재개의 여지를 남겨놓으신 일에 감사드리며, 형이 미쳐 손대지 못한 홈페이지도 제가 마저 ZeroWikian 으로 바꿔놓았습니다. ZeroPagers 가 아니더라도 ZeroWikian 으로 같이 공부할 수 있다면 좋을 것입니다.
창준이 형 말대로 제로페이지라는 임의적 단체의 가상적 선때문에 함께 공부하지 못한다면 이 또한 비극이 될 것입니다. 따라서 본의 아니게 지나친 조치들을 취했던 것 다시한번 사과드립니다. 회원정리 대상의 친구들 또한 차후 같이 공부할 수 있다면 그보다 더 반가운 소식은 없을 것입니다. 따라서그에 대한 대안으로 함께 공부할 수 있는 여지를 남겨놓기 위해 앞서 말씀드린대로 ZeroWikian 으로 남겨두는 방안을 생각했습니다.(물론 제가 생각했다기 보단 상민이 형의 추가조치에 따른 것이지만요... :) )
이전 99년도 즈음에 소위 'Filtering' 이라는 말이 있었습니다. 초기에 우루루 몰리는 회원, 한학기 반이 지난뒤 우루루 사라지는 현상을 보면서 일종의 회원정리 차원으로 한 일이죠. 하지만, 그 이후 학과 내 비 ZP 사람들이 ZP 에 대해 좋은 시선을 가질리는 없었습니다.
- 5인용C++스터디/멀티미디어 . . . . 5 matches
MFC는 멀티미디어를 위한 별도의 클래스를 제공하지 않는다. Win32 API함수 차원에서 멀티미디어를 지원하기 때문에 MFC에서는 별도의 클래스로 만들어 놓지 않은 것이다.
#include "mmsystem.h"
PlaySound 함수를 사용하려면 mmsystem.h 파일을 먼저 include 해주어야 하고,
Project/ Settings/Link 탭에서 winmm.lib를 링크해 주어야 한다.
리소스에 포함된 사운드를 연주하려면 PlaySound의 세 번째 인수에 SND_RESOURCE 플래그를 주고 첫 번째 인수에 리소스의 ID를 준다. 두 번째 인수에는 리소스를 가진 실행파일의 인스턴스 핸들을 주어야 하는데 MFC에서는 AfxGetInstanceHandle() 전역함수로 인스턴스 핸들을 구할 수 있다. 다음과 같이 코드를 작성해 보자.
void CSoundView::OnLButtonDown(UINT nFlags, CPoint point)
PlaySound(MAKEINTRESOURCE(IDR_WAVE1), AfxGetInstanceHandle(), SND_RESOURCE | SND_ASYNC);
CView:OnLButtonDown(nFlags, point);
1-4) MCI (Media Control Interface)
hWndAVI=MCIWndCreate(this->m_hWnd, AfxGetInstanceHandle(), 0, "cf3.avi");
CView::OnLButtonDown(nFlags, point);
동영상 연주는 Video fot window 라이브러리를 사용하므로 뷰에서 vfw.h를 인클루드 해 주어야 한다.
#include "PlayAVIDoc.h"
#include "PlayAVIView.h"
#include <vfw.h>
또한 프로젝트에서 이 라이브러리를 사용할 수 있도록 Project/Settings/Link 탭에 vfw32.lib를 추가한다. 그리고 동영상 파일을 프로젝트 디렉토리에 넣어두면 된다.
HWND MCIWndCreate(HWND hwndParent, HINSTANCE hinstance, DWORD dwStyle, LPSTR szFile);
hInstance: MCIWnd롤 사용하는 인스턴스 핸들을 지정한다.
- AdventuresInMoving:PartIV . . . . 5 matches
[http://online-judge.uva.es/p/v102/10201.html 원문보기]
=== About [AdventuresInMoving:PartIV] ===
=== Input ===
=== Sample Input ===
|| 문보창 || C++ || 2일 || [AdventuresInMoving:PartIV/문보창] ||
|| 김상섭 || C++ || 2주일 || [AdventuresInMoving:PartIV/김상섭] ||
- Ajax . . . . 5 matches
Ajax or Asynchronous JavaScript and XML is a term describing a web development technique for creating interactive web applications using a combination of:
* HTML (or XHTML) and CSS for presenting information
* The Document Object Model manipulated through JavaScript to dynamically display and interact with the information presented
* The XMLHttpRequest object to exchange data asynchronously with the web server. (XML is commonly used, although any text format will work, including preformatted HTML, plain text, and JSON)
Like DHTML, LAMP, or SPA, Ajax is not a technology in itself, but a term that refers to the use of a group of technologies together. In fact, derivative/composite technologies based substantially upon Ajax, such as AFLAX are already appearing.
Ajax applications use web browsers that support the above technologies as a platform to run on. Browsers that support these technologies include Mozilla Firefox, Microsoft Internet Explorer, Opera, Konqueror and Apple Safari.
= Lookin =
웹 상에선 요새 한참 인기인 중인 기술. RichInternetApplication 은 Flash 쪽이 통일할 줄 알았는데 (MacromediaFlex 를 보았던 관계로) 예상을 깨게 하는데 큰 공로를 세운 기술.;
- C++/SmartPointer . . . . 5 matches
= smart pointer =
#define _SMARTPTR_H
// reference countable smart point
// circular member setting will not free memory
// In other word, each object has the other object's smart pointer.
// CA will be freed after CB is freed, and vise versa.
// Memory will not be freed forever.
int _Refcnt;
IncRefcnt();
IncRefcnt();
if (this != &_Y)
IncRefcnt();
return (*this);
void IncRefcnt()
이런걸 안써도 되어서 Python이 재미있는 것일지도. (하지만 Extending 쪽에서는 결국 써야 하는.. 흑) --[1002]
- Calendar성훈이코드 . . . . 5 matches
#include <stdio.h>
void printCalender(int year, int first);
void printFirstTab(int month, int year);
int printDays(int month, int year, int leftDays);
void print_space();
void print_days(int day);
int daysOfMonth(int month, int year);
int IsLeafYear(int year);
#include "Calender.h"
void printCalender(int year, int first)
int month, leftDays;
printFirstTab(month, year);
leftDays = printDays(month, year, first);
void printFirstTab(int month, int year)
printf(" January %d \n", year);
printf(" February %d \n", year);
printf(" March %d \n", year);
printf(" April %d \n", year);
printf(" May %d \n", year);
printf(" June %d \n", year);
- DataStructure/Tree . . . . 5 matches
* Sibling : 형제(같은 레벨의) 노드
= Binary Tree =
= Binray Tree 의 표현 =
* Linked List
= Binary Tree Traversal =
visit a
* InOrder : Left Child -> Root -> Right Child : 우리에게 가장 익숙한 방식
InOrder(a)
InOrder(a->left)
visit a
InOrder(a->right)
visit a
Visit a;
= Binary Search Trees (우리말로 이진 탐색 트리) =
* Binray Search Tree 니까 당연히 Binary Tree 여야 한다.
* Keys in Left Subtree < Keys of Node
* Keys in Right Subtree > Keys of Node(고로 순서대로 정렬되어 있어야 한단 말입니다.)
* if x = Root's Key then 찾았으니까 알고리즘 끝
= Insert x =
void init(Node** node,char* ch) // 초기화
- ErdosNumbers/문보창 . . . . 5 matches
//#include <fstream>
#include <iostream>
#include <cstdlib>
using namespace std;
//fstream fin("input.txt");
const int MAX_STR = 20;
const int MAX_ERNUM = 100;
int ernum;
void init();
void input_thesis(int num_thesis);
void input_writer(int num_writer);
bool slice_str(char * thesis);
bool make_map(char name[][MAX_STR], int num);
void insert_list(char * name);
int serch_erdos_num(char * name);
int main()
int num_case, num_thesis, num_writer;
cin >> num_case;
for (int i = 0; i < num_case; i++)
init();
- Gof/Facade . . . . 5 matches
== Intent ==
예를 들기 위해, 어플리케이션에게 컴파일러 서브시스템을 제공해주는 프로그래밍 환경이 있다고 하자. 이 서브시스템은 컴파일러를 구현하는 Scanner, Parser, ProgramNode, BytecodeStream, 그리고 ProgramNodeBuilder 클래스를 포함하고 있다. 몇몇 특수화된 어플리케이션은 이러한 클래스들을 직접적으로 접근할 필요가 있을 것이다. 하지만, 대부분의 컴파일러 시스템을 이용하는 클라이언트들은 일반적으로 구문분석(Parsing)이나 코드 변환 (Code generation) 의 세부적인 부분에 대해 신경쓸 필요가 없다.(그들은 단지 약간의 코드를 컴파일하기 원할뿐이지 다른 강력한 기능을 알 필요가 없다.) 그러한 클라이언트들에게는 컴파일러 서브시스템의 강력하지만 저급레벨인 인터페이스는 단지 그들의 작업을 복잡하게 만들 뿐이다.
* 서브시스템에 계층을 두고 싶을 때. 각 서브시스템 레벨의 entry point를 정의하기 위해 facade를 사용하라. 만일 각 서브시스템들이 서로 의존적이라면 서브시스템들간의 대화를 각 시스템간의 facade로 단일화 시킴으로서 그 의존성을 단순화시킬 수 있다.
facade를 구현할 때 다음과 같은 issue를 생각하라.
서브시스템은 인터페이스를 가진다는 점과 무엇인가를 (클래스는 state와 operation을 캡슐화하는 반면, 서브시스템은 classes를 캡슐화한다.) 캡슐화한다는 점에서 class 와 비슷하다. class 에서 public 과 private interface를 생각하듯이 우리는 서브시스템에서 public 과 private interface 에 대해 생각할 수 있다.
서브시스템으로의 public interface는 모든 클라이언트들이 접속가능한 클래스들로 구성되며. 이때 서브시스템으로의 private interface는 단지 서브시스템의 확장자들을 위한 인터페이스이다. 따라서 facade class는 public interface의 일부이다. 하지만, 유일한 일부인 것은 아니다. 다른 서브시스템 클래스들 역시 대게 public interface이다. 예를 들자면, 컴파일러 서브시스템의 Parser class나 Scanner class들은 public interface의 일부이다.
Scanner (istream&);
istream& _inputStream;
virtual void GetSourcePosition (int& line, int& index);
Traverse operaton은 CodeGenerator 객체를 인자로 취한다. ProgramNode subclass들은 BytecodeStream에 있는 Bytecode객체들을 machine code로 변환하기 위해 CodeGenerator 객체를 사용한다. CodeGenerator 클래는 visitor이다. (VisitorPattern을 참조하라)
virtual void Visit (StatementNode*);
virtual void Visit (ExpressionNode*);
CodeGenerator 는 subclass를 가진다. 예를들어 StackMachineCodeGenerator sk RISCCodeGenerator 등. 각각의 다른 하드웨어 아키텍처에 대한 machine code로 변환하는 subclass를 가질 수 있다.
cg.Visit (this);
ListIterator <ProgramNode*> i (_children);
for (i.First (); !i.IsDone (); i.Next ()) {
우리가 토론해온 클래스들은 곧 Compiler 서브시스템을 이룰 것이다. 자 이제 우리는 이 모든 조각들을 함께 묶은 facade 인 Compiler 클래스를 소개할 것이다. Compiler는 소스 컴파일과 특정 machine에 대한 코드변환기능에 대한 단순한 인터페이스를 제공한다.
virtual void Compile (istream&, BytecodeStream&);
istream& input, BytecodeStream& output
Scanner scanner (input);
- Graphical Editor/Celfin . . . . 5 matches
#include <iostream>
#include <queue>
using namespace std;
char instruction;
int x1, x2, y1, y2;
int size_x, size_y;
int i, j;
void brush(int x_1, int y_1, int x_2, int y_2, char b_color)
int tempInt;
tempInt = x_1;
x_2 = tempInt;
tempInt = y_1;
y_2 = tempInt;
void printing()
void regionBrush(int x, int y, char b_color)
const int PLUS_X[8] = {+0, +1, +1, +1, +0, -1, -1, -1};
const int PLUS_Y[8] = {+1, +1, +0, -1, -1, -1, +0, 1};
queue<int> pointList_X;
queue<int> pointList_Y;
pointList_X.push(x);
- HowManyPiecesOfLand?/하기웅 . . . . 5 matches
#include <iostream>
#include "BigInteger.h"
using BigMath::BigInteger;
BigInteger input;
int testcase;
BigInteger Piece_of_Land(BigInteger n)
if(n.isZero())
int main()
cin >> testcase;
cin >> input;
cout << Piece_of_Land(input) << endl;
- JavaStudyInVacation/진행상황 . . . . 5 matches
* awt 와 swing 의 차이를 알아내기.
||영동||["AwtVSSwing/영동"]||
* http://www.jini-club.net/eclipse/dw_EclipsePlatform.html 한글
* http://gnome.or.kr/moin.cgi/JavaSWT 한글(간단 소개)
* http://www-106.ibm.com/developerworks/library/j-nativegui/index.html
See Also ["Java/NestingClass"] 정진균 군이 수고해 주셨습니다. 그냥 이렇구나 하고 읽어 보세요. --NeoCoin
이런것들은 다 같이 찾아보고, 다 같이 토론하고, 다들 이해했으면 하나로 정리해서 써두 될텐데요^^ 위에 AWT와 SWING의 차이도.. 그리고 아래 네트워크를 사용하는 방법도 마찬가지구요~ 이렇게 각자 쓸것까지야... --["상규"]
||상욱||["ConvertAppIntoApplet/상욱"]||
||영동||["ConvertAppIntoApplet/영동"]||
||진영||["ConvertAppIntoApplet/진영"]||
'''''이거부터는 각자 하지 말고 같이 하라고 했는데요....''''' ["JavaStudyInVacation/과제"]를 잘 읽고 하세요. 아무래도 내일 다 끝내는건 무리가 있는듯 하군요. 다음주에는 제가 계속 학교에 있습니다. 다음주에도 계속하겠습니다. 이번주처럼 계속 참여해주세요. --["상규"]
["JavaStudyInVacation"]
- JollyJumpers/임인택 . . . . 5 matches
private int array[];
public void setArray(int[] arr) {
public String testify() {
int size = array.length;
int count=0;
boolean isExist[] = new boolean[size-1];
for(int i=0; i<size-1; ++i) {
int tmp = Math.abs(array[i]-array[i+1]);
if( (tmp<size) && !isExist[tmp-1]) {
isExist[tmp-1] = true;
return (count == size-1)?"Jolly":"NotJolly";
public static void main(String args[]) {
int arr[] = new int[args.length];
for(int i=0; i<arr.length; ++i) {
arr[i] = Integer.parseInt(args[i]);
System.out.println(jj.testify());
int arr1[] = {1,2,3,4};
int arr2[] = {1,2,3,4,5};
int arr3[] = {1,1,2,3};
int arr1[] = {1,2,3};
- ModelViewPresenter . . . . 5 matches
Wiki:ModelViewPresenter
TwistingTheTriad
ConnectingTheDots
* Model - domain data
* Interactor - 키보드나 마우스 이벤트들을 Command 나 Selection 으로 매핑한다.
Model-View-Presenter or MVP is a next generation programming model for the C++ and Java programming languages. MVP is based on a generalization of the classic MVC programming model of Smalltalk and provides a powerful yet easy to understand design methodology for a broad range of application and component development tasks. The framework-based implementation of these concepts adds great value to developer programs that employ MVP. MVP also is adaptable across multiple client/server and multi-tier application architectures. MVP will enable IBM to deliver a unified conceptual programming model across all its major object-oriented language environments.
- MoinMoin . . . . 5 matches
* 모인모인을 사용하는 위키 : [http://wikipedia.org], [http://no-smok.net]
* 모인모인 스크린샷 : [http://moinmoin.wikiwikiweb.de/MoinMoinScreenShots]
=== Links ===
* [http://sourceforge.net/projects/moin/ SourceForge Project Info]
* [http://moin.sourceforge.net/ Project Homepage]
* [http://freshmeat.net/projects/moin FreshMeat Entry]
* [http://www.oreillynet.com/pub/a/python/2000/11/29/pythonnews.html PythonNews article on wikis]
"Moin" meaning "Good Morning", and "MoinMoin" being an emphasis, i.e. "A ''Very'' Good Morning". The name was obviously chosen for its WikiWikiNess.
''No! Originally "MoinMoin" does '''not''' mean "Good Morning". "Moin" just means "good" or "nice" and in northern Germany it is used at any daytime, so "Good day" seems more appropriate.'' --MarkoSchulz
Mmmmh , seems that I can enrich so more info: "Moin" has the meaning of "Good Morning" but it is spoken under murmur like "mornin'" although the Syllable is too short alone, so it is spoken twice. If you shorten "Good Morning" with "morn'" it has the same effect with "morn'morn'". --Thomas Albl
We use it all day in the south too. I always thought it just morphed from a morning greeting to an all-day one. -- J
- MoniWikiTheme . . . . 5 matches
MoniWiki는 기본적으로 header.php와 footer.php를 고쳐서 다양한 모습으로 자신의 개인위키를
* '''include'''로 처리된다.
=== 임의의 Theme 설정 및 지원 ===
http://chemie.skku.ac.kr/wiki/wiki.php/TwinPages?action=theme&theme=kz
http://chemie.skku.ac.kr/wiki/wiki.php/TwinPages?action=theme&theme=blog
http://chemie.skku.ac.kr/wiki/wiki.php/TwinPages?action=theme&theme=samplehome
{{{[[Theme]]}}}매크로를 이용하여 지원 가능한 Theme목록을 볼 수 있다.
[[Theme]]
- MySQL . . . . 5 matches
jdbc:mysql://localhost/database?user=user&password=xxx&useUnicode=true&characterEncoding=KSC5601
* 중지 : myadmin shutdown -p
insert user values('localhost', 'jeppy', password('암호'), 'y','y','y','y','y','y','y','y','y','y','y','y','y','y');
insert user values('%', 'jeppy', password('암호'), 'y','y','y','y','y','y','y','y','y','y','y','y','y','y');
* ZeroPage 회원 ["상민"](99,["neocoin"])에게 해 주십시오.
6 rows in set (0.00 sec)
1 row in set (0.00 sec)
Client characterset: latin1
Server characterset: latin1
앗 탄로 났다. 드뎌 영문으로 설치한 부작용이 다들 영어 써요 ~ 와~~;; 오호 통재라 모든것은 시험끝나고 이루어질것이니.. --["neocoin"]
MySQL에서 한글이 들어간 문자열을 제대로 정렬하려면 char 타입이 아닌 char binary 타입을 쓰면 됩니다. 하지만 이미 char 타입으로 되어있다면 ORDER BY BINARY 필드명 을 사용하면 됩니다. MySQL에서 char 타입은 순수한 아스키(0~127) 값에서만 제대로 동작합니다. 물론 char 타입을 쓴다고 해서 한글이 저장되지 않거나 하는건 아니지만, 검색이나 정렬등에서 제대로 작동하지 않는 경우가 있습니다. --["상규"]
2 rows in set (0.00 sec)
mysql> select * from addressbook ORDER BY BINARY name;
6 rows in set (0.00 sec)
[http://network.hanbitbook.co.kr/view_news.htm?serial=131 MySQL과 Transaction] 테이블 생성시 InnoDB 나 BSDDB 를 사용하면 Transaction 을 이용할 수 있다. (InnoDB 추천)
http://navyism.com/main/memo.php?bd=lib&no=24
[MySQL/PasswordFunctionInPython]
[MySQL/PasswordFunctionInJava]
위의 PHP 버전은 어떻게 만들었을까? 바로.. MySQL 코드를 보고 만들었다고 한다.- UseTheSourceLuke --[1002]
- OurMajorLangIsCAndCPlusPlus/2006.1.12 . . . . 5 matches
템플릿 보충 [OurMajorLangIsCAndCPlusPlus/Function]
[OurMajorLangIsCAndCPlusPlus/time.h]
[OurMajorLangIsCAndCPlusPlus/setjmp.h]
[OurMajorLangIsCAndCPlusPlus/XML]
[OurMajorLangIsCAndCPlusPlus]
- OurMajorLangIsCAndCPlusPlus/print/하기웅 . . . . 5 matches
#include <iostream>
#include <stdarg.h>
#include <stdlib.h>
using namespace std;
int decimal, sign;
#define limit 5
#define IntSize 12
void print(char *n, ...)
va_list l;
if(isdigit(*n))
char st[IntSize];
itoa(va_arg(l,int), st, 10);
for(int i=0; i<(number-48-strlen(st)); i++)
for(int k=decimal+limit; k>=0; k--)
char st[IntSize];
itoa(va_arg(l,int), st, 10);
for(int k=decimal+limit; k>=0; k--)
int *number = va_arg(l,int*);
int count = va_arg(l, int);
for(int i=0; i<count; i++)
- ProgrammingLanguageClass/Report2002_2 . . . . 5 matches
= Principles of Programming Languages Spring, 2002 Programming Assignment #2 =
Design and implement simple test programs in Visual C++(V6.0), Visual Basic(V6.0) and Java(JDK 1.4).
* Visual C++(6.0)과 Visual Basic(6.0), Java(JDK1.4)에서 디자인과 구현에 대한 간단한 테스트
1. To find out the maximum length of a variable name
1. To assess the type-compatibility rule adopted by the Compilers;
1. To evaluate the security of pointers in the Compilers;
1. To check the evaluation order of operands in the Compilers by raising the functional side-effects if possible;
1. To identify a situation in which the “add” operator would not be associative;
1. To determine the largest and smallest positive floating point number in Intel Pentium processor.
* Intel Pentium processor 상에서 양수인 부동 소수점의 가장 큰값과 작은 값 결정
The output should be a sequence of test programs with the results generated from them. Your grade will be highly dependent on the quality of your test programs.
== Hand In ==
As usual, you shall submit a floppy diskette with a listing of your program and a set of test data of your own choice, and the output from running your program on your test data set.
* 보통, floppy diskette에 당신의 프로그램과, 테스트한 데이터들과 실행에 의한 결과를 제출한다.
Be sure to design carefully your test data set to exercise your program completely. You are also recommended in your documentation to include the rationale behind your test programs.
In order words, explain why you design them in such a way and what you intend to demonstrate
["ProgrammingLanguageClass"]
- Refactoring/ComposingMethods . . . . 5 matches
= Chapter 6 Composing Methods =
* You have a code fragment that can be grouped together.[[BR]]''Turn the fragment into a method whose name explains the purpose of the method.''
void printOwing(double amount){
printBanner();
// print details
System.out.println( "name:" + _name);
System.out.println( "amount" + amount);
void printOwing(double amount){
printBanner();
// print details
printDetails( amount );
void printDetails (double amount){
System.out.println( "name:" + _name);
System.out.println( "amount" + amount);
== Inline Method p117 ==
* A method's body is just as clear as its name. [[BR]] ''Put the method's body into the body of its callers and remove the method.''
int getRating(){
int getRating(){
== Inline Temp p119 ==
* You have a temp that is assigned to once twith a simple expression, and the temp is getting in the way of other refactorings. [[BR]] ''Replace all references to that temp with the expression.''
- TAOCP . . . . 5 matches
|| [[ISBN(0201896834,E)]] ||
* Title : TheArtOfComputerProgramming
* Publisher : Addison Wesley
* My Point
* TheArtOfComputerProgramming(TAOCP) vol1. FundamentalAlgorithms을 읽는다.
* 문제(Exercise)를 풀어보고 모여서 서로 답을 비교한 후에 해답을 본다.
== Link ==
[TAOCP/NotesOnTheExercises]
[TAOCP/InformationStructures]
[TAOCP/Exercises]
책사야겠네... [http://kangcom.com/common/bookinfo/bookinfo.asp?sku=199711260004 강컴]보다 싼 데 있으면 알려줘~~
[TAOCP/BasicConcepts]에 있던 Exercise18은 [TAOCP/Exercises]로 옮김
- VisualBasicClass/2006/Exam1 . . . . 5 matches
④ MultiLine은 컨트롤이 문의 여러 줄을 받아 들일 수 있는지 여부를 결정하게 된다. True는 한줄을, False는 여러줄을 사용할 수 있다.
③ 대표적인 언어로서는 Visual, C+ +, Visual Basic등이 있다.
② If Not((a < b) And (a < (b+a)))
④ If (a*a < b) Or Not(a*a < a)
Print I;
Dim m As Integer
Dim j As Integer
Dim temp As String
Picture1.Print temp
Print I
Print "Loop" Print "Loop"
Print "Loop" Print "Loop"
Dim a(1 to 20, 1 to 30) As Single
Print a(5,3)
15. 다음 프로그램에서 List1.Text의 역할에 대한 설명으로 맞는 것은?(1점)
Private Sub List1_Check()
MsgBox "선택한 아이템은“ & List1.Text
① List1에서 현재 선택된 아이템의 인덱스를 나타낸다.
2) String$(7,"*-")
3) InStr("태수금지화목토천혜명", 4)
- VonNeumannAirport . . . . 5 matches
SPEC : http://icpc.baylor.edu/past/icpc2001/Finals/problems.pdf 중 Problem A
* 중간에 창준이형이 "너희는 C++ 로 프로그래밍을 하면서 STL를 안사용하네?" 라고 했을때, 그냥 막연하게 Java 에서의 Collection Class 정도로만 STL을 생각하고, 사용을 잘 안했다. 그러다가 중반부로 들어서면서 Vector를 이용하게 되었는데, 처음 한두번 이용한 Vector 가 후반으로 가면서 전체의 디자인을 뒤집었다; (물론 거기에는 디미터 법칙을 지키지 않은 소스도 한몫했지만 -_-;) 그걸 떠나서라도 Vector를 써 나가면서 백터 비교 assert 문 등도 만들어 놓고 하는 식으로 점차 이용하다보니 상당히 편리했다. 그러다가 ["Refactoring"] Time 때 서로 다른 자료형 (앞에서 array 로 썼던 것들) 에 대해 vector 로 통일을 하다 보니 시간이 비교적 꽤 지연이 되었다.
* ["Refactoring"] Bad Smell 을 제대로 맡지 못함 - 간과하기 쉽지만 중요한 것중 하나로 naming이 있다. 주석을 다는 중간에 느낀점이 있다면, naming 에 대해서 소홀히 했다란 느낌이 들었다. 그리고 주석을 달아가면서 이미 구식이 되어버린 예전의 테스트들 (로직이 많이 바뀌면서 테스트들이 많이 깨져나갔다) 를 보면 디미터 법칙이라던가 일관된 자료형의 사용 (InformationHiding) 의 문제가 있었음을 느낀다.
-> 이에 따라 Input 부분이 바뀌고, Input 부분이 클래스와 합쳐진 코드의 경우 더더욱 골치.
* 가장 트래픽이 많이 발생하는 길을 알아낸다. - 복도에 대해서 InformationHiding.
* 지금 만든 모듈의 소스 수정없이 GUI 버전으로 재작성하기 - Input / Output 먼저 작성하는 사람들은 가장 고생.
* 출력 Output 의 Sorting 을 2가지로 둔다면?
- WindowsTemplateLibrary . . . . 5 matches
{{|The Windows Template Library (WTL) is an object-oriented Win32 encapsulation C++ library by Microsoft. The WTL supports an API for use by programmers. It was developed as a light-weight alternative to Microsoft Foundation Classes. WTL extends Microsoft's ATL, another lightweight API for using COM and for creating ActiveX controls. Though created by Microsoft, it is unsupported.
In an uncharacteristic move by Microsoft—an outspoken critic of open source software—they made the source code of WTL freely available. Releasing it under the open-source Common Public License, Microsoft posted the source on SourceForge, an Internet open-source repository. The SourceForge version is 7.5.
Being an unsupported library, WTL has little formal documentation. However, most of the API is a direct mirror of the standard Win32 calls, so the interface is familiar to most Windows programmers.|}}
WTL은 객체지향적인, Win32 를 캡슐화하여 만들어진 C++라이브러리로 MS 에서 만들어졌다. WTL은 프로그래머에 의한 사용을 위해 API Programming Style을 지원한다. WTL MFC에 대한 경량화된 대안책으로서 개발되었다. WTL은 MS의 ATL를 확장한다. ATL 은 ActiveX COM 을 이용하거나 ActiveX 컨트롤들을 만들기 위한 또 다른 경량화된 API 이다. WTL은 MS 에 의해 만들어졌디면, MS 가 지원하진 않는다.
지원이 되지 않는 라이브러리이기 때문에 WTL에 관한 문서는 거의 없다. 그러나 대부분의 API는 표준 Win32 콜을 거의 직접적으로 반영하므로, WTL의 인터페이스는 대부분의 윈도우즈 프로그래머들에게 친숙하다.
[http://www.microsoft.com/downloads/details.aspx?FamilyID=128e26ee-2112-4cf7-b28e-7727d9a1f288&DisplayLang=en MS WTL]
- ZeroWikian . . . . 5 matches
ZeroWiki 를 사용하는 사람들. ~~ZeroPagers와는 다르다 ZeroPagers와는!~~
[[include(틀:추가바람)]]
2013년 11월 ZeroWikian을 다시 정리합니다. 현재 wiki에 ZeroWikian조차 달리지 않은 페이지가 너무 많습니다. 그런 페이지들을 여기에 링크 달아주시고 해당 페이지에 ZeroWikian을 달아주세요.
* [celfin]
* [Hyacinth]
* [KIN]
* [sisay]
* [ZeroWikian/찾기]
- 권영기/web crawler . . . . 5 matches
* http://hyogeun.tistory.com/107 - try, except.
req = urllib2.Request('http://9632024.tistory.com/974')
print e.reason
for line in urllib2.urlopen(req).readlines():
fo.write(line)
* http://coreapython.hosting.paran.com/howto/HOWTO%20Fetch%20Internet%20Resources%20Using%20urllib2.htm
import string
for line in fo1.readlines() :
pos = string.find(line, '"http')
if pos is not -1 :
for c in range(pos+1, len(line)) :
if line[c] is '"' :
fo2.write(line[c])
* http://docs.python.org/tutorial/inputoutput.html
for line in fo.readlines():
urllib.urlretrieve(line,line.split('/')[-1])
line = 'http://cfile23.uf.tistory.com/original/2001D2044C945F80495C6F'
line.split('/')[-1] == '2001D2044C945F80495C6F'
line.split('/')[-2] == 'original'
say = "This is a line of text"
- 네이버지식in . . . . 5 matches
네이버 지식in은 폐인까지 생겨나면서 비슷한 위키는 이렇게 참여가 저조할까.
지식in이란 서비스는 질문에 답변을 해주는 게시판 형식이긴 하지만, 참여가 자유롭고 한 주제에 대해 글을 쓴다는 점에서 위키랑 비슷하다는 생각이다. '''오픈 백과사전'''이라는 게 있기도 하던데 이게 위키랑은 더 비슷한 형태이지만 지식in에 대면 별로 인기가 없어보인다.
가장 먼저 떠오른 건, 이용자 수였다. 이용자 수가 엄청나게 많다는 점이 지식in서비스를 활발하게 해 주었다. 이용자 수가 많아진 이유는 여러 가지가 있겠지만, 텔레비전 광고까지 낼 정도로 홍보를 해서 그렇지 않을까? 반면 위키 홍보는 몇 번인가 하고는 그 뒤로는 사람들이 알아서 쓰기를 바랬던 것으로 보인다. 알려지지 않은 서비스가 아무리 많은 장점이 있다 한들 사람들이 알아야 쓸테니까, 위키 사용이 활발하지 않은 건 일단 덜 알려져서라고 생각한다.
''왠만큼 소프트웨어를 아고 있는 사람들은 OS독점이라고 알고 있는데요. 아닌가요? :) --NeoCoin''
''말씀하신 익숙함의 의미를 제가 독점으로 바라봐서 생기는 오해인것 같습니다. 분명 청정원 케찹도 있지만 오뚜기 케찹을 선택하고 많이 팔리는 것을 '익숙함'으로 볼수 있습니다. 하지만 오뚜기 케찹을 쓰지 않으면 모든 요리를 할수 없는 상황이 되면 그걸 이제 '익숙함'이라고 설명하기보다 독점으로 바라봐야 한다고 생각하거든요. :) --NeoCoin''
사람들은 [네이버지식in]을 마치 수학 문제 해답지처럼 여기는 것 같습니다. 저도 요즘엔 누가 궁금한 게 있다고 물어봤을 때 모르는 경우''지식in 검색해봐''라는 말을 자주 합니다. 제가 누군가에게 모르는 걸 물어봤을 때도 자주 듣습니다. ''지식in엔 없는게 없다니까''라는 말도 들어보았습니다. 마치 [네이버지식in]에는 살아가며 궁금한 것들에 대한 모든 해답이 있는 듯이 여기고 있다고 느꼈습니다. -[Leonardong]
Knowledge In Naver 의 약자로 KIN 이라는 단어가 url 에 들어간더군요... 그냥 '즐' 이라는 단어만 생각했는데.. Knowledge In Naver 였다니...^^; - 임인택
KIN 은 Knowledge In Naver 의 약자가 아니라 지식In -> Knowledge In -> kin 으로 사용하는 것이지요.
- 데블스캠프2002/진행상황 . . . . 5 matches
* OOP를 바로 설명하기 전에 나의 프로그래밍 사고 방식을 깨닫고, StructuredProgramming 의 경우와 ObjectOrientedProgramming 의 경우에는 어떠한지, 그 사고방식의 이해에 촛점을 맞추었다.
* StructuredProgramming - 창준이형이 역사적인 관점에서의 StructuredProgramming에 대해 설명을 하셨다. 그 다음 ["1002"]는 ["RandomWalk2"] 문제에 대해서 StructuredProgramming을 적용하여 풀어나가는 과정을 설명해 나갔다. (원래 예정의 경우 StructuredProgramming 으로 ["RandomWalk2"] 를 만들어가는 과정을 자세하게 보여주려고 했지만, 시간관계상 Prototype 정도에서 그쳤다)
* ObjectOrientedProgramming - ["RandomWalk2"] 에 대해서 창준이형과 ["1002"] 는 서로 이야기를 해 나가면서 하나씩 객체들을 뽑아내가는 과정을 설명했다. 일종의 CRC 카드 세션이었다. 그러고 나서는 프로젝터를 통해, 직접 Prototype을 만들어 보였다. OOP/OOAD로 접근하는 사람의 사고방식과 프로그래밍의 과정을 바로 옆에서 관찰할 수 있었다.
* Python 기초 + 객체 가지고 놀기 실습 - Gateway 에서 Zealot, Dragoon 을 만들어보는 예제를 Python Interpreter 에서 입력해보았다.
* ["RandomWalk2"] 를 ObjectOrientedProgramming 으로 구현하기 - 위의 Python 관련 실습동안 ["1002"] 는 ["RandomWalk2"] 에 대해서 C++ Prototype을 작성. (["RandomWalk2/ClassPrototype"]) 이를 뼈대로 삼아서 ["RandomWalk2"] 를 작성해보도록 실습. 해당 소스에 대한 간략한 설명, 구현의 예를 설명. 중간에 객체들에 대한 독립적인 테스트방법을 설명하면서 assert 문을 이용한 UnitTest 의 예를 보였다.
Python으로 만든 스타크래프트 놀이는 참가자들이 무척이나 좋아했다. 또 그 직전에 Python Interactive Shell에서 간단하게 남자, 여자, 인간 클래스를 직접 만들어 보게 한 것도 좋아했다. 아주 짧은 시간 동안에 OOP의 "감"을 느끼게 해주는 데 일조를 했다고 본다.
* '''Pair Teaching''' 세미나를 혼자서 진행하는게 아닌 둘이서 진행한다면? CRC 디자인 세션이라던지, Structured Programming 시 한명은 프로그래밍을, 한명은 설명을 해주는 방법을 해보면서 '만일 이 일을 혼자서 진행했다면?' 하는 생각을 해본다. 비록 신입회원들에게 하고싶었던 말들 (중간중간 팻감거리들;) 에 대해 언급하진 못했지만, 오히려 세미나 내용 자체에 더 집중할 수 있었다. (팻감거리들이 너무 길어지면 이야기가 산으로 가기 쉽기에.) 그리고 내용설명을 하고 있는 사람이 놓치고 있는 내용이나 사람들과의 Feedback 을 다른 진행자가 읽고, 다음 단계시 생각해볼 수 있었다.
다른 하나는, 요구사항이 어떻게 제시되느냐가 산출물로서의 프로그램에 큰 영향을 끼친다는 점이다. 요구사항이 어떤 순서로 제시되느냐, 심지어는 어떤 시제로 제시되느냐가 프로그램에 큰 영향을 끼친다. 심리학에서 흥미로운 결과를 찾아냈다. "내일은 한국과 브라질의 경기날입니다. 결과가 어떻게 될까요?"라는 질문과, "어제는 한국과 브라질의 경기가 있었습니다. 결과가 어땠나요?"라는 질문에 대해 사람들의 대답은 큰 차이가 있었다. 후자 경우가 훨씬 더 풍부하고, 자세하며, 구체적인 정보를 끌어냈다. 이 사실은 요구사항에도 적용이 되어서, 요구사항의 내용을 "미래 완료형"이나 "과거형"으로 표현하는 방법(Wiki:FuturePerfectThinking )도 생겼다. "This system will provide a friendly user interface"보다, "This system will have provided a friendly user interface"가 낫다는 이야기다. 어찌되었건, 우리는 요구사항이 표현된 "글" 자체에 종속되고, 많은 영향을 받는다.
처음 ["1002"]가 계획한 세미나 스케쥴은 조금 달랐다. "어떻게 하면 ObjectOrientedProgramming의 기본 지식을 많이 전달할까"하는 질문에서 나온 스케쥴 같았다. 나름대로 꽤 짜임새 있고, 훌륭한(특히 OOP를 조금은 아는 사람에게) 프로그램이었지만, 전혀 모르는 사람에게 몇 시간 동안의 세미나에서 그 많은 것을 전달하기는 무리가 아닐까 하고 JuNe은 생각했다. 그것은 몇 번의 세미나 경험을 통해 직접 느낀 것이었다. 그가 그간의 경험을 통해 얻은 화두는 다음의 것들이었다. 어떻게 하면 적게 전달하면서 충분히 깊이 그리고 많이 전달할까. 어떻게 하면 작은 크기의 씨앗을 주되, 그것이 그들 속에서 앞으로 튼튼한 나무로, 나아가 거대한 숲으로 잘 자라나게 할 것인가.
그래서 ["1002"]와 JuNe은 세미나 스케쥴을 전면적으로 재구성했다. 가르치려던 개념의 수를 2/3 이하로 확 잘랐고, 대신 깊이 있는 학습이 되도록 노력했다. 가능하면 "하면서 배우는 학습"(Learn By Doing)이 되도록 노력했다.
* 세미나 - DevelopmentinWindows, EventDrivenProgramming, Web Programming
* DevelopmentinWindows 세미나는 신입생들에게는 조금 어려웠나봅니다. 준비도 많이 하고 쉽게 설명하려고 복잡한건 다 뺐는데...... 그래도 어려웠나봅니다. 어쨌든 조금이나마 도움이 되었으면 좋겠습니다. --상규
* Web Programming 때 상규의 보충설명을 보면서 상규가 대단하다는 생각을 해봤다. 간과하고 넘어갈 뻔 했었던 Web Program의 작동원리에 대해서 제대로 짚어줬다고 생각한다. --["1002"]
EventDrivenProgramming 의 설명에서 또하나의 새로운 시각을 얻었다. 전에는 Finite State Machine 을 보면서 Program = State Transition 이란 생각을 했었는데, Problem Solving 과 State Transition 의 연관관계를 짚어지며 최종적으로 Problem Solving = State Transition = Program 이라는 A=B, B=C, 고로 A=C 라는. 아, 이날 필기해둔 종이를 잃어버린게 아쉽다. 찾는대로 정리를; --["1002"]
* Unix 가 뭐하는거에요? Linux 랑 다른거에요?
* ["neocoin"] : 정직, 맘 상했다면 정말 미안하다. 미리 언질을 주고 덧붙이기를 하더라도 해야 했는데, 시간이 모자라서 그냥 막무가내로 나와서 이야기를 풀어 놓았구나. 그리고, 앞에서 이야기 하던 중 영문도 모르게, 박수를 받게 만든 남훈이에게도 미안 하다. 엎드려 있는 사람을 완전히 깨우기 위해 '환기의 큰소리'가 필요 했었다. 앉아 있는 사람들은 못느꼈을지 모르겠지만, 앞에서 보고 있던 나는, 그 박수 소리로 마지막 2명이 일어나 칠판을 바라 보는 큰 효과를 보았다. 박수 후 이야기 중 불쾌한 모습 보이지 않아서 고맙다. --["상민"]
- 데블스캠프2005/금요일/OneCard/이동현 . . . . 5 matches
int num;
int face;
ArrayList arr = new ArrayList();
Card delete(int n){
int search(int num, int face){
for(int i=0; i<arr.size(); i++){
int size(){
for(int i=0; i<arr.size(); i++){
System.out.print(i+".("+card.face+" "+card.num+") ");
System.out.print("\n");
boolean isOneCard = false;
Cards discard = new Cards();
void initCards(){
for(int i=0; i<4; i++){
for(int j=0; j<13; j++){
for(int i=0; i<10; i++){
comCards.add(stack.delete(rand.nextInt(stack.size()-1)));
playerCards.add(stack.delete(rand.nextInt(stack.size()-1)));
discard.add(stack.delete(rand.nextInt(comCards.size())));
System.out.println("컴퓨터카드");
- 몸짱프로젝트/InfixToPrefix . . . . 5 matches
def __init__(self, aExpression = ''):
self.list = []
def isOperator(self, aToken):
if aToken in self.precedence:
for l in self.list:
if self.isOperator(aToken):
self.list.append(aToken)
if self.isOperator(self.list[0]) and \
self.precedence[self.list[0]] < self.precedence[aOperator]:
self.list.insert(-1, aOperator)
self.list.insert(0, aOperator)
def convertInfixToPrefix(self):
for e in self.expression:
def testIsOperator(self):
self.assertEqual(e.isOperator(token), False)
self.assertEqual(e.isOperator(token), True)
e.list = '+a'
def testConvertInfixToPrefix(self):
e.convertInfixToPrefix()
e.convertInfixToPrefix()
- 새싹교실/2012/부부동반 . . . . 5 matches
* Facts, Feelings, Findings, Future Action Plan. 즉, 사실, 느낀 점, 깨달은 점, 앞으로의 계획.
* 반드시 ZeroWiki에 작성해주세요. 하위 페이지를 만드는 것도 허용합니다.
* 참고로 ZeroWiki는 MoniWiki Engine을 사용하며 Google Chrome이나 Mozila Firefox, Safari보다는 Internet Explorer에서 가장 잘 돌아가는 것 같습니다.
* Hardware / Programming Language / Software의 상관관계
난 정말 C Programming을 공부한 적이 없다구요 - [http://kangcom.com/sub/view.asp?sku=200812300005&mcd=571]
* Programming Language
* Machine Language
* Interpret Language
* 포인터를 통해 swap(int, int) 작성해보기
* Pointer LOL!!!!
- 위키로프로젝트하기 . . . . 5 matches
== Wiki Project Life Cycle ==
* How - 목표를 위한 방법과 일정의 기록이다. Offline 또는 Online 상에서 한 일에 대한 ["ThreeFs"] 를 남겨라.
* 공동 번역 - 영어 원문을 링크를 걸거나 전문을 실은뒤 같이 번역을 해 나가는 방법이다. Offline 으로만으로도 가능한 방법이지만 효율적인 방법으로 다른 방법들을 곁들일 수 있겠다.
일반게시판에 경우 프로젝트가 어떻게 진행될까? 하나의 프로젝트당 하나의 게시판이 열려있어야 한다. 프로젝트가 10개라고 한다면 게시판이 10개가 열려있어야 하고, 각각의 글들은 시간순서대로 저장이 된다. 위키에서의 page 10개의 의미와 게시판 10개의 의미중 어떤 것이 더 cost가 적게 들까? 그리고, 시간순서의 글 index 나열방식과 텍스트 내의 하이퍼링크중심 글 나열방식중 어느것이 더 의미있는 정보를 담을까?
== ZeroWiki 내에서 프로젝트 하기의 의미 ==
* 온라인이라는 잇점이 있다. 시간과 공간의 제약을 덜 받는다. 하지만, 오프라인을 배제해서는 안된다. 각각의 대화수단들은 장단점들이 존재한다. 위키의 프로젝트는 가급적 Offline에서의 프로젝트, 스터디와 이어져야 그 효과가 클 것이다. ZeroPage 의 ["정모"] 때 자신이 하고 있는 일에 대한 상황을 발표하고, 서로 의사소통을 할 수 있겠다.
이전에 ZeroWiki 내에서 진행되었던 프로젝트는 ["WikiProjectHistory"] 를, 진행중인 프로젝트는 ["프로젝트지도"] 를 참조.
ZeroWiki 에서 프로젝트를 진행하는데 자유의 제약을 느낀다면 ["프로젝트전용위키"]를 설치하고 사용할 수도 있겠다. --["데기"]
- 프로그램내에서의주석 . . . . 5 matches
아..["Refactoring"] 하라는 거군요.. 사실 설계 자체에서도 빠진 상태라 전체 구조 이해하는데 가장 크게 애를 먹었습니다. 아무튼 진짜 이해한 후에 코드를 수정해 놓는 것도 좋은 방법인건 분명하다고 생각합니다. ^^; --창섭
처음에 Javadoc 을 쓸까 하다가 계속 주석이 코드에 아른 거려서 방해가 되었던 관계로; (["IntelliJ"] 3.0 이후부턴 Source Folding 이 지원하기 때문에 Javadoc을 닫을 수 있지만) 주석을 안쓰고 프로그래밍을 한게 화근인가 보군. 설계 시기를 따로 뺀 적은 없지만, Pair 할 때마다 매번 Class Diagram 을 그리고 설명했던 것으로 기억하는데, 그래도 전체구조가 이해가 가지 않았다면 내 잘못이 크지. 다음부터는 상민이처럼 위키에 Class Diagram 업데이트된 것 올리고, Javadoc 만들어서 generation 한 것 올리도록 노력을 해야 겠군.
내가 가지는 주석의 관점은 지하철에서도 언급한 내용 거의 그대로지만, 내게 있어 주석의 주된 용도는 과거의 자신과 대화를 하면서 집중도 유지, 진행도 체크하기 위해서 이고, 기타 이유는 일반적인 이유인 타인에 대한 정보 전달이다. 전자는 command.Command.execute()이나 상규와 함께 달은 information.InfoManager.writeXXX()위의 주석들이고,후자가 주로 쓰인 용도는 각 class 상단과 package 기술해 놓은 주석이다. 그외에 class diagram은 원래 아나로그로 그린것도 있지만, 설명하면서 그린건 절대로 타인의 머리속에 통째로 저장이 남지 않는다는 전제로, (왜냐면 내가 그러니까.) 타인의 열람을 위해 class diagram의 디지털화를 시켰다. 하는 김에 그런데 확실히 설명할때 JavaDoc뽑아서 그거가지고 설명하는게 편하긴 편하더라. --["상민"]
자바 IDE들이 Source Folding 이 지원하거나 comment 와 관련한 기능을 지원한다면 해결될듯. JavaDoc 은 API군이나 Framework Library의 경우 MSDN의 역할을 해주니까. --석천
자네의 경우는 주석이 자네의 생각과정이고, 그 다음은 코드를 읽는 사람의 관점인 건데, 프로그램을 이해하기 위해서 그 사람은 어떤 과정을 거칠까? 경험이 있는 사람이야 무엇을 해야 할 지 아니까 abstract 한 클래스 이름이나 메소드들 이름만 봐도 잘 이해를 하지만, 나는 다른 사람들이 실제 코드 구현부분도 읽기를 바랬거든. (소켓에서 Read 부분 관련 블럭킹 방지를 위한 스레드의 이용방법을 모르고, Swing tree 이용법 모르는 사람에겐 더더욱. 해당 부분에 대해선 Pair 중 설명을 하긴 했으니)
하지만, "확실히 설명할때 {{{~cpp JavaDoc}}}뽑아서 그거가지고 설명하는게 편하긴 편하더라."라고 한말 풀어쓰는 건데, 만약 디자인 이해 후에 코드의 이해라면 {{{~cpp JavaDoc}}} 없고 소스만으로 이해는 너무 어렵다.(최소한 나에게는 그랬다.) 일단 코드 분석시 {{{~cpp JavaDoc}}}이 나올 정도라면, "긴장 완화"의 효과로 먹고 들어 간다. 그리고 우리가 코드를 읽는 시점은 jdk를 쓸때 {{{~cpp JavaDoc}}}을 보지 소스를 보지는 않는 것처럼, 해당 메소드가 library처럼 느껴지지 않을까? 그것이 메소드의 이름이나 필드의 이름만으로 완벽한 표현은 불가능하다고 생각한다. 완벽히 표현했다면 너무나 심한 세분화가 아닐까? 전에 정말 난해한 소스를 분석한 적이 있다. 그때도 가끔 보이는 실낱같은 주석들이 너무나 도움이 된것이 기억난다. 우리가 제출한 Report를 대학원 생들이 분석할때 역시 마찬가지 일것이다. 이건 궁극의 Refactoring문제가 아니다. 프로그래밍 언어가 그 셰익스피어 언어와 같았으면 하기도 하는 생각을 해본다. 생각의 언어를 프로그래밍 언어 대입할수만 있다면야.. --["상민"]
난해한 코드일수록 주석이 필요한 것일것이고 (또는 그 반대로 쉽게 알아볼 수 있도록 짤 방법을 강구해야 한다면 억지쓰는 것이려나.) 개인적으로 읽어본 가장 긴 낯선 코드가 3000~4000 라인을 못넘어 본 관계로 아직은 '정리' 단계로만 끝날 것 같다. CVS 의 history 가 코드 진화과정을 따라가는데 도움을 줄것이라고 생각했지만, 아직은 먼 이야기일듯.
내가 Comment 와 JavaDoc 둘을 비슷한 대상으로 두고 쓴게 잘못인듯 하다. 두개는 좀 구분할 필요가 있을 것 같다는 생각이 들어서다. 내부 코드 알고리즘 진행을 설명하기 위해서는 다는 주석을 comment로, 해당 구성 클래스들의 interface를 서술하는것을 JavaDoc으로 구분하려나. 이 경우라면 JavaDoc 과 Class Diagram 이 거의 비슷한 역할을 하겠지. (Class Diagram 이 그냥 Conceptual Model 정도라면 또 이야기가 달라지겠지만)
그리고, JDK 와 Application 의 소스는 그 성격이 다르다고 생각해서. JDK 의 소스 분석이란 JDK의 클래스들을 읽고 그 interface를 적극적으로 이용하기 위해 하는 것이기에 JavaDoc 의 위력은 절대적이다. 하지만, Application 의 소스 분석이라 한다면 실질적인 implementation 을 볼것이라 생각하거든. 어떤 것이 'Information' 이냐에 대해서 바라보는 관점의 차이가 있겠지. 해당 메소드가 library처럼 느껴질때는 해당 코드가 일종의 아키텍쳐적인 부분이 될 때가 아닐까. 즉, Server/Client 에서의 Socket Connection 부분이라던지, DB 에서의 DB Connection 을 얻어오는 부분은 다른 코드들이 쌓아 올라가는게 기반이 되는 부분이니까. Application 영역이 되는 부분과 library 영역이 되는 부분이 구분되려면 또 쉽진 않겠지만.
이번기회에 comment, document, source code 에 대해서 제대로 생각해볼 수 있을듯 (프로그램을 어떻게 분석할 것인가 라던지 Reverse Engineering Tool들을 이용하는 방법을 궁리한다던지 등등) 그리고 후배들과의 코드에 대한 대화는 익숙한 comment 로 대화하는게 낫겠다. DesignPatterns 가 한서도 나온다고 하며 또하나의 기술장벽이 내려간다고 하더라도, 접해보지 않은 사람에겐 또하나의 외국어일것이니. 그리고 영어가 모국어가 아닌 이상. 뭐. (암튼 오늘 내일 되는대로 Documentation 마저 남기겠음. 글쓰는 도중 치열하게 Documentation을 진행하지도 않은 사람이 말만 앞섰다란 생각이 그치질 않는지라. 물론 작업중 Doc 이 아닌 작업 후 Doc 라는 점에서 점수 깎인다는 점은 인지중;) --석천
''DeleteMe) 부연설명 : 녹색글자는 ["Eclipse"] 에서 내부 주석에 대당. ["IntelliJ"] 는 일반적으로 회색. ["Vi"] 에서의 Java Syntax 에선 파란색.''
if(m_pParent && m_pParent->m_pFirstChild == this)
delete this;
// MODE_ADDBEFORE일 때는, newnode가 this의 자식인 brother의 바로 윗형으로 입양을 간다.
// MODE_ADDAFTER일 때는, newnode가 this의 자식인 brother의 바로 아래 동생으로 입양을 간다.
// brother = NULL
// Constraint
// brother는 반드시 NULL이거나 this의 child node이어야 한다.
// addChild(newnode, MODE_ADDAFTER, brother); //newnode가 brother 바로 뒤에 삽입된다.
// addChild(newnode, MODE_ADDBEFORE, brother); //newnode가 brother 바로 앞에 삽입된다.
- AOI/2004 . . . . 4 matches
* 여름 교재 : 쉽게 배우는 실전 알고리즘 & 정보올림피아드 도전하기 ( Aladdin:8931421923 )
* 겨울 교재 : Programming Challenges ( Aladdin:8979142889 )
|| [EcologicalBinPacking] || O || O || O || O || . || O ||
|| [MultiplyingByRotation] || . || X || X || . || . || X ||
|| [MineSweeper] || . || O || O || O || O || O || . || O ||
|| [TheTrip] || . || X || O || O || O || O || . || O ||
|| [LC-Display] || . || . || O || . || . || 0 || . || O ||
|| [CheckTheCheck] || . || . || O || . || . || . || . || O ||
|| [AustralianVoting]|| . || . || O || . || . || . || . || O ||
|| [TheArcheologist'sDilemma]|| . || . || X || . || . || . || . || . ||
자.. 시작해볼까요? MineSweeper 풀어보아요 -- 재선
void main()
input()
[Refactoring/BadSmellsInCode] --[강희경]
uva robot의 경우 보통 300 번 이상의 test case 를 쓰는 것 같습니다. 동적 메모리가 아닌 정적으로 할당할 경우 이 점을 유의(?)하지 않으면 RE error(포인터 에러)가 납니다. 보창은 이것때문에 하루종일 프로그램을 뜯어고쳤으나, 결국 우연한 기회에 알게 되었습니다. LCD-Display의 경우 robot은 1000줄 이상을 test하는 걸로 보여집니다. -- 보창
한 문제를 풀어본 후에 소요시간이 만족스럽지 못하거나 결과코드가 불만족스럽다면 이렇게 해보세요. 내가 만약 이 문제를, 아직 풀지 않았다고 가정하고, 다시 풀어본다면 어떻게 접근하면 더 빨리 혹은 더 잘 풀 수 있을까를 고민합니다. 그리고 그 방법을 이용해서 다시 한 번 풀어봅니다(see DoItAgainToLearn). 개선된 것이 있나요? 이 경험을 통해 얻은 지혜와 기술을 다른 문제에도 적용해 봅니다. 잘 적용이 되는가요?
- ATmega163 . . . . 4 matches
* 130 Powerful Instruction - RISC MPU
* Master / Slave SPI Serial Interface
* Byte - oriented 2-wire Serial Interface
== 웨비 사운드에서 구한 ATmega 163 L 보드에 관한 Testing ==
* ISR 모듈과 함께 Board에 장착한다.
* 용산 가서 9 pin 짜리 Serial Port 잭과 5.5volt 어덥터에 끼울 것을 준비한다.
* 9 pin 에서 TX는 2번 RX 3번 접지는 5번에 연결 시킨다.
* ISR 모듈을 COM2에 연결하고
* 이후 새롬 데이타맨에서 모뎀에 의한 연결로 SETTING하고 baud rate를 19300(ㅠㅠ) 로 설정 후 reset 버튼을 누르면 [[BR]]
=== AVR GCC Programming ===
c:\avrgcc>에서 install을 실행 시킨 후 바탕화면의 avr-gcc 배치파일을 이용해 도스창을 열어서 쓴다.
include $(AVR)/include/make1
########### change this lines according to your project ##################
HEADER = ../Include
#INCDIR means .h file search path
INCDIR = . -I$(HEADER)
#put the name of the target mcu here (at90s8515, at90s8535, attiny22, atmega603 etc.)
#put the name of the target file here (without extension)
#additional libraries and object files to link
#additional includes to compile
- AcceleratedC++/Chapter11 . . . . 4 matches
= Chapter 11 Defining abstract data types =
3장에서 작성한 Student_info 타입은 복사, 대입, 소멸시에 어떤 일이 수행되는지 명세되어있지 않음.
== 11.1 The Vec class ==
vector<Student_info> vs;
vector<Student_info>::const_iterator b, e;
vector<Student_info>::size_type i = 0;
//vector의 각요소를 살펴보기 위해, size 및 index 연산자를 사용
b=vs.begin();
== 11.2 Implementing the Vec class ==
//interface
begin, end, size 함수를 구현해야 하므로 이러한 작업을 위해서 '''첫 요소의 주소, 마지막 요소를 하나 지난 주소, 요소들의 개수'''를 저장할 수 있어야한다.
size는 begin, end 를 통해서 그 크기를 구하는 것이 가능하므로 여기서는 '''첫 요소의 주소, 마지막 요소를 하나 지난 주소'''를 저장하고 개수는 계산을 통해서 구현한다.
//interface
따라서 어떤 타입이 Vec에서 사용되는진는 정의부가 instiation 되기 전에는 알 수 없다.
Vec<Student_info> vs; // default constructor
Vec<Student_info> vs(100); // Vec의 요소의 크기를 취하는 생성자
Vec<int> vi(100); // Working. int 를 통해 명시적인 생성
Vec<int> vi = 100; // not working. 암묵적으로 Vec를 생성하고 그 값을 vi 에 복사한다. refer 11.3.3
back_inserter(T)함수를 통해서 동적으로 크기를 변경시키기 위해서 '''value_type, push_back''' 타입을 정의함. (value_type 은 현재 저장된 요소가 어떤 타입인지를 알려줌)
list의 반복자를 구현하는 경우라면 ++ 연산을 통해서 노드로 연결된 다음 노드를 리턴하는 함수를 오버로딩해야하나, 여기서는 배열의 요소를 가리키므로 단순이 포인터를 리턴하는 것 만으로 우리는 임의 접근 반복자를 구현하는 것이 가능하다.
- ActiveTemplateLibrary . . . . 4 matches
{{|The Active Template Library (ATL) is a set of template-based C++ classes that simplify the programming of Component Object Model (COM) objects. The COM support in Visual C++ allows developers to easily create a variety of COM objects, Automation servers, and ActiveX controls.
ATL은 템플릿으로 이루어진 C++ 클래스 집합니다. 이 클래스들은 COM 객체를 프로그래밍하는 과정을 단순화시킨다. VisualC++에서 COM의 지원은 개발자들이 쉽게 다양한 COM객체, Automation 서버, ActiveX 컨트롤들을 생성하도록 해준다.
=== String Conversion ===
OLE String 과 PSTR 등의 일반 스트링형 간 형변환 할 일이 있을때.
* [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_atl_string_conversion_macros.asp ATL and MFC String Conversion Macros]
ex) OLE2CA : '''OLE''' string '''2'''(to) '''C'''onst '''A'''nsi sting
ATL string의 형변환시에는 {{{~cpp USES_CONVERSION}}} macro를 형변환 전에 호출하여야함.
{{{~cpp QueryInterface}}} 까지 대신 해주는 smart pointer class
CComQIPtr<IOleWindow> pOleWin(pUnk);
//일반적인 COM interface 사용은
IOleWinodow* pOleWin;
pUnk->QueryInterface(IOleWindow, IID_IOleWindow, &pOleWin);
pOleWin->Release();
- Class/2006Fall . . . . 4 matches
* [IntroduntionToAlgorithms]
=== [(zeropage)ArtificialIntelligenceClass] ===
* LISP - [http://c2.com/cgi/wiki?LispRoadMap], [(zeropage)LispLanguage]
* Programming Report
=== DistributedSystemClass ===
* [http://dblab.cse.cau.ac.kr/FS/index.html Home]
* #1 is due to 23 Nov
* #2 is due to 30 Nov
* Team meeting #1 is on 27 Sep with msn messenger.
* 1st presentation of project is on 28 Sep. - 초기 진행 상황 및 향후 계획
* Team meeting #2 is on 3 Oct
* Team meeting #3 is on 5 Oct
* Team meeting #4 is on 10 Oct
* Team meeting #5 is on 11 Oct
* 2nd presentation of project is on 12 Oct. - 검색 (설계 및 구현)
* Team meeting #6 is on 21 Oct
* Team meeting #7 is on 26 Oct
* 3rd presentation of project is on 31 Oct. - 변경 (설계 및 구현)
* Team meeting #8 is on 9 Nov
* 4th presentation of project is on 14 Nov. - API, 성능평가
- ComputerNetworkClass/Report2006/PacketAnalyzer . . . . 4 matches
3. ethereal의 기능 중 1개 또는 새로운 기능을 한가지 구현
WSA prefix 를 가진 함수의 경우 대부분 Winsock 2에서 제공 되기 시작한 것이며, 이 WSAIoctl 역시도 윈속 2에서 지원된다.
자세한 사항은 MSDN 혹은 Network Programming For Microsoft Windows 를 참조하기 바란다.
※ 윈도우 소켓 프로그래밍을 위해서는 윈속 라이브러리를 같이 linking 해야하며, WSActrl 을 사용하기 위해서는 winsock2 라이브러리인 ws2_32.lib 를 포함해야한다.
#include <mstcpip.h>
#define SIO_RCVALL _WSAIOW(IOC_VENDOR,1)
int _cdecl main(int argc, char **argv)
SOCKADDR_IN if0;
int ret,
unsigned int optval;
// Load Winsock
printf("WSAStartup() failed: %d\n", GetLastError());
// Parse the command line
ValidateArgs(argc, argv);
printf("Source Port: %d\n", usSourcePort);
printf("Dest Port: %d\n", usDestPort);
// Create a raw socket for receiving IP datagrams
s = WSASocket(AF_INET, SOCK_RAW, IPPROTO_IP, NULL, 0, WSA_FLAG_OVERLAPPED);
if (s == INVALID_SOCKET)
printf("WSASocket() failed: %d\n", WSAGetLastError());
- DuplicatedPage . . . . 4 matches
ZeroWiki와 OneWiki의 통합시 제목은 같으나 내용이 다른 페이지 입니다.
DuplicatedPage 란 마크를 기준으로 상단은 ZeroWiki 내용, 하단은 OneWiki 내용 입니다. 적절히 통합해 주세요
- EcologicalBinPacking/황재선 . . . . 4 matches
== EcologicalBinPacking ==
#include <iostream>
#include <string>
#include <cmath>
using namespace std;
void input();
void findMinCount();
bool isMinValue(int aSum, int aMinValue);
void output(int colorResult, int min);
int bottle[9] = {0,};
string color[6] = {"BCG", "BGC", "GBC", "GCB", "CBG", "CGB"};
int colorIndex[6][3] = {{0,5,7}, {0,4,8}, {1,3,8}, {1,5,6}, {2,3,7}, {2,4,6}};
int main()
input();
findMinCount();
void input()
int sum = 0;
for(int i = 0; i < 9; i++)
cin >> bottle[i];
continue;
- EightQueenProblem/이선우2 . . . . 4 matches
import java.io.PrintStream;
public static final char DEFAULT_BOARD_MARK = '.';
public static final char DEFAULT_QUEEN_MARK = 'Q';
public static final char DEFAULT_LINE_BREAK = '\n';
private int size;
private int [] board;
private int numberOfAnswers;
private int hasAnswer;
private char lineBreak;
private PrintStream out;
public NQueen2( int size ) throws Exception
this.size = size;
board = new int[size];
public int getSize()
lineBreak = DEFAULT_LINE_BREAK;
public void setOutputFormat( final char boardMark, final char queenMark, final char lineBreak )
this.boardMark = boardMark;
this.queenMark = queenMark;
this.lineBreak = lineBreak;
public int countAnswers()
- EightQueenProblem/최태호소스 . . . . 4 matches
# include <stdio.h>
# include <conio.h>
# define SIZE 8
int c;
int Check(int in)
int re=0;
for(int i=c;i>0;i--){
if((in-i)>=0 && P[c-i][in-i] ==1){//왼쪽으로..
if( (in+i)<SIZE && P[c-i][in+i]==1 ){//오른쪽으로..
int EQ()
int re;
for(int i=0;i<SIZE;i++){
if(Q[i]==1) continue;// 그 줄에 queen 이있는것이므로 다음칸으로..
void Init()
for (int i=0;i<SIZE;i++){
for(int j=0;j<SIZE;j++) P[i][j]=0;
for(int i=0;i<SIZE;i++){
for(int j=0;j<SIZE;j++)printf("%d ",P[i][j]);
printf("\n");
void main(void)
- GDBUsage . . . . 4 matches
The GNU Debugger, usually called just GDB, is the standard debugger for the GNU software system. It is a portable debugger that runs on many Unix-like systems and works for many programming languages, including C, C++, and FORTRAN.
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#define BUFSIZE 30
int main(int argc, char** argv)
int fd[2];
int state;
Copyright 2005 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i486-linux-gnu"...Using host libthread_db library "/lib/tls/libthread_db.so.1".
== list # ==
(gdb) list
6 #define BUFSIZE 30
8 int main(int argc, char** argv)
10 int fd[2];
13 int state;
- Gof/AbstractFactory . . . . 4 matches
=== Intent ===
* AbstractProduct(Window, ScrollBar)
* ConcreteProduct(MotifWindow, MotifScrollBar)
* 추상 인터페이스(ProductInterface)를 수행한다.
InterViews 는 AbstractFactory 클래스들을 나타내기 위해서 'Kit'를 접미사로 사용한다. 이것은 WidgetKit과 DialogKit abstract factory 들을 명확한 ["룩앤필"] UI 객체를 위해서 정의한다. InterViews는 또한 서로 다른 복합 객체를 생성하는 LayoutKit 을 포함다. 예를 들면, 어떤 layout은 문서의 방향(인물이나 풍경)에 따른 서로 다른 복합 객체를 개념적으로 정렬한다.
ET++[WGM88]은 다른 윈도우 시스템(예를 들면, X Windows 와 SunViews)간의 호환을 수행하기 위해서 Abstract Factory 패턴을 사용했다. 윈도우 시스템의 추상 base 클래스는 윈도우시스템의 자원 객체(예를 들면, MakeWindow, MakeFont, MakeColor)를 생성할 수 있는 인터페이스를 정의한다. Concrete 서브 클래스는 특정 윈도우 시스템에 인터페이스를 수행한다.
- Gof/Composite . . . . 4 matches
== Intent ==
드로우 에디터나 회로설계 시스템과 같은 그래픽 어플리케이션은 단순한 컴포넌트들의 차원을 넘어서 복잡한 도표들을 만들어내는데 이용된다. 사용자는 더 큰 컴포넌트들을 형성하기 위해 컴포넌트들을 그룹화할 수 있고, 더 큰 컴포넌트들을 형성하기 위해 또 그룹화 할 수 있다. 단순한 구현방법으로는 Text 나 Line 같은 그래픽의 기본요소들에 대한 클래스들을 정의한 뒤, 이러한 기본요소들에 대해 컨테이너 역할을 하는 다른 클래스에 추가하는 방법이 있다.
Line, Rectangle, Text 와 같은 서브 클래스들은 (앞의 class diagram 참조) 기본 그래픽 객체들을 정의한다. 이러한 클래스들은 각각 선이나 사각형, 텍스트를 그리는 'Draw' operation을 구현한다. 기본적인 그래픽 구성요소들은 자식요소들을 가지지 않으므로, 이 서브 클래스들은 자식요소과 관련된 명령들을 구현하지 않는다.
A typical Composite object structure might look like this:
* Leaf (Rectangle, Line, Text, etc.)
* Child ordering
* 성능향상을 위한 caching
computer 와 스테레오 컴포넌트들과 같은 장치들 (Equipment) 는 보통 격납 계층의 부분-전체 식으로 구성된다. 예를 들어 섀시 (chassis) 는 드라이브들(하드디스크 드라이브, 플로피 디스크 드라이브 등) 과 평판들 (컴퓨터 케이스의 넓은 판들) 을 포함하고, 버스는 카드들을 포함할 수 있고, 캐비넷은 섀시와 버스 등등을 포함할 수 있다. 이러한 구조는 자연스럽게 CompositePattern으로 모델링될 수 있다.
virtual Currency DiscountPrice ();
class FloppyDisk : public Equipment {
FloppyDisk (const char*);
virtual ~FloppyDisk ();
virtual Currency DiscountPrice ();
virtual Currency DiscountPrice ();
List<Equipment*>_equipment;
CompositeEquipment 는 sub-equipment 에 접근하고 관리하기 위한 명령들을 정의한다. 이 명령들인 Add 와 Remove는 _equipment 멤버에 저장된 equipment 의 리스트로부터 equipment 를 추가하거나 삭제한다. CreateIterator 명령은 이 리스트들을 탐색할 수 있는 iterator(구체적으로 ListIterator의 인스턴스) 를 리턴한다.
for (i->first (); !i->IsDone (); i->Next ()) {
자, 우리는 컴퓨터 섀시를 Chassis 라 불리는 CompositeEquipment의 서브클래스로서 표현할 수 있다. Chassis는 CompositeEquipment로부터 자식-관련 명령어들을 상속받는다.
class Chassis : public CompositeEquipment {
Chassis (const char*);
- Hartals/상협재동 . . . . 4 matches
#include <iostream>
using namespace std;
int term;
int numberOfHartal;
int hartal[100] = {0,};
int strike[3650] = {0,};
int totalStrike[100] = {0,};
void input();
void process(int num);
void output(int testCase);
void arrayInit(int* array, int arrayNum);
void arrayInit(int* array, int arrayNum)
for(int i = 0; i < arrayNum; i++)
void main()
int testCase;
cin >> testCase;
for(int i = 0; i < testCase; i++)
arrayInit(hartal, 100);
arrayInit(strike, 3650);
input();
- HelpOnLists . . . . 4 matches
See also ListFormatting, HelpOnEditing.
If you indent text
like this,
then it is indented
in the output
levels of indent
And if you put asterisks at the start of the line
* list
* which can also be indented
A numbered list, mixed with bullets:
Variations of numbered lists:
If you indent text
like this, then it is indented in the output
you can have multiple levels of indent
And if you put asterisks at the start of the line
* list
* which can also be indented
A numbered list, mixed with bullets:
Variations of numbered lists:
[space]'''term WikiName''':: definition WikiName
- HierarchicalWikiWiki . . . . 4 matches
HierarchicalWikiWiki''''''s can be created by using the InterWiki mechanism.
- HowBigIsIt? . . . . 4 matches
[http://online-judge.uva.es/p/v100/10012.html 원문보기]
=== HowBigIsIt? ===
[http://online-judge.uva.es/p/v100/p10012.gif]
=== Input ===
=== Sample Input ===
|| 하기웅 || C++ || 완전 틀렸음ㅋㅋ || [HowBigIsIt?/하기웅] ||
- ISAPI . . . . 4 matches
=== IIS ===
* IIS(Internet Information Services)란 웹 서버, FTP 서버와 같이 기본적이고 범용적인 인터넷 서비스를 시스템에서 제공할 수 있게 해주는 소프트웨어를 말한다. 기존 윈도우2000 제품군의 경우 기본적으로 IIS 5.0을 제공하였고 윈도우XP의 기존 IIS 5.0의 기능을 개선한 IIS 5.1을 제공하고 있다. 한 마디로 HTTP, FTP, SMTP 서버의 묶음이다.
프로그래 추가/제거 -> Windows 구성 요소 추가/제거 -> 인터넷 정보 서비스(IIS)
=== ISAPI ===
Internet Server Application Programming Interface 의 약자로 개발자에게 IIS 의 기능을 확장할 수 있는 방법을 제공한다. 즉, IIS 가 이미 구현한 기능을 사용해서 개발자가 새로운 기능을 구현할 수 있는 IIS SDK 다. 개발자는 ISAPI 를 이용해서 Extensions, Filters 라는 두 가지 형태의 어플리케이션을 개발할 수 있다.
* High Performance : outperform any other web application technology. (ASP, servser-side component)
* Low-Level Control : access to the whole array of Win32 API or 3rd party API
* Development requires more time : written in C or C++
* Scailability gains are not necessarily automatic : runs faster than others but there is no guarantee of perfect scalability
* ISAPI operates below helpful IIS infrastructure : helpful programming abstractions are absent. (ex: session )
- JollyJumpers/강소현 . . . . 4 matches
||Problem|| 2575||User||talin0528||
public class Main{
public static void main(String [] args)
Scanner scan = new Scanner(System.in);
int[] arr = new int[3000];
while(scan.hasNextInt()){
int size = scan.nextInt();
int i;
arr[i] = scan.nextInt();
if(isJolly(arr, size)){ //졸리점퍼 체크
System.out.println("Jolly");
System.out.println("Not jolly");
public static boolean isJolly(int [] arr, int size){
int [] jollyNum = new int [size];
for(int i=0; i<size-1; i++){
for(int i=1; i<=size-1;i++){
if(jollyNum[i] == 0)//1~n-1 중 하나라도 포함 안하면 not jolly
- MoinMoinDiscussion . . . . 4 matches
Talk about the things on MoinMoinTodo and MoinMoinIdeas in this space...
'''Q''': How do you inline an image stored locally? (e.g. ../wiki-moimoin/data/images/picture.gif)
'''A''': See the {{{~cpp [[Icon]]}}} macro; besides that, fully qualified URLs to the wiki server work, too.
* '''R''': The Icon macro worked well. I wanted to avoid the fully qualified URL because to access the Wiki in question requires password authentication. Including an image using the full URL caused my webserver (Apache 1.3.19) to reprompt for authentication whenever the page was viewed or re-edited. Perhaps a default {{{~cpp [[Image]]}}} macro could be added to the distribution (essentially identical to {{{~cpp [[Icon]]}}} ) which isn't relative to the data/img directory. (!) I've actually been thinking about trying to cook up my own "upload image" (or upload attachment) macro. I need to familiarize myself with the MoinMoin source first, but would others find this useful?
* '''Note:''' Regarding the upload feature - pls note that the PikiePikie also implemented in Python already has this feature, see http://pikie.darktech.org/cgi/pikie?UploadImage ... so I guess you could borrow some code from there :) -- J
- NSIS/예제4 . . . . 4 matches
!include "MUI.nsh"
!include "servicelib.nsh"
LoadLanguageFile "${NSISDIR}\Contrib\Language files\Korean.nlf"
ShowInstDetails show
InstallDir $PROGRAMFILES\RealVNC\VNC4
;WindowIcon on
MiscButtonText "이전" "다음" "취소" "닫기"
InstallButtonText "설치"
AutoCloseWindow false
ShowInstDetails show
ShowUninstDetails show
SetDetailsPrint both
SetOutPath $INSTDIR
!insertmacro SERVICE "stop" "WinVNC4" ""
File "winvnc4.exe"
!insertmacro SERVICE "start" "WinVNC4" ""
[NSIS]
- OOP . . . . 4 matches
'''Object Oriented Programming''' : 객체 지향 프로그래밍. ~~객체를 지향하는 프로그래밍입니다.~~이 이전에 Object Based Progamming 것이 있었다.이 다음 세대의 프로그래밍 기법은 GenericProgramming이라고 이야기된다.
=== Definition ===
Object-oriented programming is based in the principle of recursive design.
1. Everything is an object.
2. Objects perform computation by making requests of each other through the passing of messages.
3. Every object has it's own memory, which consists of other objects.
4. Every object is an instance of a class. A class groups similar objects.
5. The class is the repository for behabior associated with an object.
6. Classes are organized into singly-rooted tree structure, called an inheritance hirearchy.
”Emphasis from verbs to nouns”
It’s a natural way for people to ”think in objects”.
Program consists of objects interacting with eachother Objects provide services.
Easier to maintain
Code is more easily reusable
* [Instance]
* [Inheritance](상속)
* [Interface]
* [Polymorfism]
* [Generic programming]
=== Basic rules to define objects ===
- ProgrammingLanguageClass . . . . 4 matches
||[[ISBN(0201752956)]]||
[ProgrammingLanguageClass/2002]
[ProgrammingLanguageClass/2006]
* ''Programming Language Pragmatics'' by Michael L. Scott : 이제까지 나온 프로그래밍 언어론 서적 중 몇 손가락 안에 꼽히는 명저.
* ''Programming Language Processors In Java : Compilers and Interpreters'' by David A. Watt & Deryck F. Brown
그러므로, 이런 ProgrammingLanguageClass가 중요하다. 이 수업을 제하면 다른 패러다임의 다양한 언어를 접할 기회가 거의 전무하다. 자신의 모국어가 자바였다면, LISP와 Prolog, ICON, Smalltalk 등을 접하고 나서 몇 차원 넓어진 자신의 자바푸(Kungfu의 변화형)를 발견할 수 있을 것이며, 자바의 음양을 살피고 문제점을 우회하거나 수정하는 진정한 도구주의의 기쁨을 만끽할 수 있을 것이다. 한가지 언어의 노예가 되지 않는 길은 다양한 언어를 비교 판단, 현명하고 선택적인 사용을 할 능력을 기르는 법 외엔 없다. --김창준
"Students usually demand to be taught the language that they are most likely to use in the world outside (FORTRAN or C). This is a mistake. A well taught student (viz. one who has been taught a clean language) can easily pick up the languages of the world, and he [or she] will be in a far better position to recognize their bad features as he [or she] encounters them."
-- C. H. Lindsey, History of Algol 68. ACM SIGPLAN Notices, 28(3):126, March 1993.
개인적으로 학기중 기억에 남는 부분은 주로 레포트들에 의해 이루어졌다. Recursive Descending Parser 만들었던거랑 언어 평가서 (C++, Java, Visual Basic) 작성하는것. 수업시간때는 솔직히 너무 졸려서; 김성조 교수님이 불쌍하단 생각이 들 정도였다는 -_-; (SE쪽 시간당 PPT 진행량이 60장일때 PL이 3장이여서 극과 극을 달렸다는;) 위의 설명과 다르게, 수업시간때는 명령형 언어 페러다임의 언어들만 설명됨.
see also SoftwareEngineeringClass
- RandomWalk2/TestCase . . . . 4 matches
Input
Input
Input
Input
- Refactoring/SimplifyingConditionalExpressions . . . . 4 matches
= Chapter 9 Simplifying Conditional Expressions =
* You have a complicated conditional (if-then-else) statement. [[BR]] ''Extract methods from the condition, then part, and else parts.''
charge = quantity * _winterRate + _winterServeceCharge;
if (notSummer(date))
charge = winterCharge(quantity);
* You have a sequence of conditional tests with the same result. [[BR]]''Combine them into a single conditional expression and extract it.''
double disabilityAmount() {
if ( _monthsDisabled > 12) return 0;
if ( _isPartTime) return 0;
// compute the disability amount
double disabilityAmount() {
if( isNotEligableForDisability()) return 0;
// compute the disability amount;
* The same fragment of code is in all branches of a conditional expression. [[BR]]''Move it outside of the expression.''
if (isSpecialDeal()){
if (isSpecialDeal())
* A method has conditional behavior that does not make clear the normal path of execution [[BR]] ''Use guard clauses for all the special cases.''
if( _isDead) result = deadAmount();
if (_isSeparated) result = separatedAmount();
if (_isRetried) result = retiredAmount();
- SecurityNeeds . . . . 4 matches
I actually have a rather different security problem. I would like to set up
a non-firewalled wiki but only a certain group should have access. This may
be for legal reasons, but has been imposed as a requirment that I cannot
get around. Anyone know of a wiki that restricts access in such a way?
Yes, see Wiki:OrgPatterns which runs in Wiki:FishBowl mode. - ''This may be exactly what I was looking for... thanks!!!''
''Why not use webserver passwords to restrict access? Or do you wish to restrict '''editing''' by a restricted group? -- AnonymousCoward ;)''
Even restricting the editing could be done easily using the security the webserver provides.
''OTOH, few users have ".htaccess" enabled for them, and even fewer have access to the "httpd.conf".''
- StacksOfFlapjacks/이동현 . . . . 4 matches
#include <iostream>
using namespace std;
int* cake; //케이크들
int arr_size; //케익 개수
void flip(int n){ //n번에다가 주걱 넣고 뒤집어!
int k = (arr_size-n+1)/2;
for(int i=0; i<k; i++){
int searchBigIndex(int end){ //0~end index까지 검사하여 가장 큰 수의 index리턴.
int big_index=0;
for(int i=1;i<=end;i++){
if(cake[big_index]<cake[i])
big_index = i;
return big_index;
bool isEnd(){ //모든숫자가 정렬되었는지 확인.
for(int i=1;i<arr_size;i++){
void run(int*arr, int size){
for(int j=arr_size-1, n=1;j>=0;j--, n++){
if(isEnd()==true)
if(searchBigIndex(j)==j) //제일 큰 케익이 놓일자리에 이미 놓여있다면 다음뒤집기로.
continue;
- ThePriestMathematician/문보창 . . . . 4 matches
// 10254 - The Priest Mathematician
#include "BigInteger.h"
using namespace BigMath;
int findK(int n)
int i;
void process(int n)
int k, temp;
BigInteger result, kpow2(2);
k = findK(n);
int main()
int n;
while (cin >> n)
[ThePriestMathematician]
- TheWarOfGenesis2R . . . . 4 matches
== Doing ==
[TheWarOfGenesis2R/일지]
[TheWarOfGenesis2R/ToDo]
= Link =
* [http://zeropage.org/pub/Genesis2R/BasicMovement_Source.zip 소스]
* [http://zeropage.org/pub/Genesis2R/BasicMovement.exe 실행파일]
* [http://zeropage.org/pub/Genesis2R//DXTest.rar 소스]
* [http://zeropage.org/pub/Genesis2R/TileEditor.zip 소스]
* [http://zeropage.org/pub/Genesis2R/Stage.zip 스테이지 컨버터]
* [http://zeropage.org/pub/Genesis2R/Tile.zip 타일 컨버터]
* ["DirectDraw/APIBasisSource"]
|| ["TheWarOfGenesis2R/Temp"] ||
["2dInDirect3d"] [Direct3D] ["프로젝트분류"]
- UsenetMacro . . . . 4 matches
This works well with GoogleGroups Beta service. This helps make links to GoogleGroups with text remotely extracted from usenet topic.
* All rights reserved. Distributable under GPL.
global $DBInfo;
list($group, $thread) = @explode(':', $value);
$img = sprintf('<img src="%s/google-16.png" alt="GoogleGroups:"'.
' align="middle" hspace="1" />', $DBInfo->imgs_dir);
return '<!> URL is not found <!>';
return sprintf('%s<a href="%s">%s</a>', $img, $url, $subj);
Write like this,
then it will be displayed like...
[http://nohmad.sub-port.net/wiki/CodingLog/2003-09]
- UserStory . . . . 4 matches
* Story Point 의 계산
* Task Point 의 계산
Wiki:EngineeringTask 란 해당 Story를 구현하기 위해 실질적으로 해야 할 일들에 대한 서술이다. UserStory 의 각 항목이 비교적 사용자 관점에서의 서술이라 한다면, Wiki:EngineeringTask는 구현해야 하는 Developer들 관점에서의 서술이다.
UserStory 들을 작성한 뒤에는 Wiki:EngineeringTask 를 결정하고, estimate (해당 작업에 대해 얼마나 걸릴 것인가에 대한 예측)한 Story Point 와 Task Point 를 기준으로 적절히 계산해 나간다.
물은 물이고 산은 산이다에서 물은 물이 아니고 산은 산이 아니다로 가고 난 후에야 비로소 다시 물은 물이고 산은 산이다로 올 수가 있죠. 항상 초월적으로 모두 다 같다 혹은 모두 다 다르다는 식으로 말하는 태도는 공부를 하고있는 학생으로서는 상당히 위험하지 않을까 하는 우려를 해봅니다. Wiki:UserStoryAndUseCaseComparison 에 양자의 유사점, 차이점에 대한 논의가 있습니다. 참고로 Use Case의 대가라고 불리우는 코번은 다음과 같은 말을 합니다.
''After several years of debating this question and seeing both in use, I now think they have nothing in common other than their first three letters.''
SeeAlso [wiki:"User Stories"]
["ExtremeProgramming"]
- VMWare/OSImplementationTest . . . . 4 matches
gcc였습니다. 하지만 저는 windows 환경하의 vc 개발을 주로 해왔으므로 무척
불편(?)했습니다. Djgpp 라는 dos용 gcc 포팅 버전과 윈도우용 cygwin 패키지를
http://www.execpc.com/~geezer/johnfine/index.htm
Intel은 다른 cpu 벤더보다 역사가 오래되어서 4bit microprocessor인 4004에서
intel x86 cpu에서 돌던 프로그램도 586에서도 수행되도록 하위호환을 갖게 됩니다.
로드할 것입니다. ( no 플로피 부팅디스켓, no 리붓, no test machine )
- Netwide Asm으로 at&t 계열 및 intel 계열 둘다 지원하고 target format도
main.c
[BITS 16] ; We need 16-bit intructions for Real
[ORG 0x7C00] ; The BIOS loads the boot sector into memory location
int 13h ; Call interrupt 13h
jnz reset_drive ; Try again if ah != 0
mov bx, 0h ; Destination address = 0000:1000
mov ch, 0 ; Cylinder = 0
int 13h ; Call interrupt 13h
jnz reset_drive ; Try again if ah != 0
A20Address: ; Set A20 Address line here
JMP Continue
in al,64h
Continue:
- WikiGardening . . . . 4 matches
''실제 위키의 View 구조를 조성하는 사람들이 드물기 때문에, 기존 게시판에서의 스타일과 똑같은 이용형태가 계속 진행되어버렸다는 생각이 든다. (이 경우 RecentChanges 가 Main View 가 된다.) (조만간 위키 전체에 대한 링크 구조 분석이나 해볼까 궁리중. 예상컨데, 현재의 ZeroWiki 는 Mind Map 스타일에 더 가까운 구조이리라 생각. (개념간 연결성이 적을것이란 뜻. 개인적으로는 볼땐, 처음의 의도한 바와 다르긴 하다.) --1002'' (DeleteMe ["1002"]의 글을 다른 페이지에서 옮겨왔습니다.)
실제 위키의 View 구조를 조성하는 사람을 WikiGardening을 하는 사람이라고 보면 될까요? see NoSmok:WikiGardening --["이덕준"]
* [프로젝트분류]와 [프로젝트지도]와 [WikiProjectHistory ]
* [병역문제어떻게해결할것인가]와 [http://zeropage.org/wikis/nowthen2004/_b1_ba_b4_eb 군대]
* [http://165.194.17.15/wiki/FindPage?action=titlesearch&context=0&value=%BC%BC%B9%CC%B3%AA Title search for "세미나"]
SeeAlso [http://no-smok.net/nsmk/_b9_ae_bc_ad_b1_b8_c1_b6_c1_b6_c1_a4#line42 제로위키 가꾸기], [문서구조조정토론]
- XpQuestion . . . . 4 matches
''Why not move these into XperDotOrg?''
- '필요하면 하라'. XP 가 기본적으로 프로젝트 팀을 위한 것이기에 혼자서 XP 의 Practice 들을 보면 적용하기 어려운 것들이 있다. 하지만, XP 의 Practice 의 일부의 것들에 대해서는 혼자서 행하여도 그 장점을 취할 수 있는 것들이 있다. (TestDrivenDevelopment, ["Refactoring"], ContinuousIntegration,SimpleDesign, SustainablePace, CrcCard Session 등. 그리고 혼자서 프로그래밍을 한다 하더라도 약간 큰 프로그래밍을 한다면 Planning 이 필요하다. 학생이다 하더라도 시간관리, 일거리 관리는 익혀야 할 덕목이다.) 장점을 취할 수 있는 것들은 장점을 취하고, 지금 하기에 리스크가 큰 것들은 나중에 해도 된다.
각 Practice 를 공부를 하다보면, 저것들이 이루어지기 위해서 공부해야 할 것들이 더 있음을 알게 된다. (의식적으로 알아낼 수 있어야 한다고 생각한다.) Refactoring 을 잘하기 위해선 OOP 와 해당 언어들을 더 깊이있게 이해할 필요가 있으며 (언어에 대해 깊은 이해가 있으면 똑같은 일에 대해서도 코드를 더 명확하고 간결하게 작성할 수 있다.) CrcCard 를 하다보면 역시 OOP 와 ResponsibilityDrivenDesign 에 대해 공부하게 될 것이다. Planning 을 하다보면 시간관리책이나 일거리 관리책들을 보게 될 것이다. Pair 를 하다보면 다른 사람들에게 자신의 생각을 명확하게 표현하는 방법도 '공부'해야 할 것이다. 이는 결국 사람이 하는 일이기에. 같이 병행할 수 있고, 더 중요한 것을 개인적으로 순위를 정해서 공부할 수 있겠다.
=== UserStory, Engineering Task 의 의존성 문제 ===
어디선가 이야기 나왔었던 문제. 규모가 되는 프로젝트의 경우 100 장의 Index Card 는 보관하기도 어렵고 널려놓기엔 정신을 어지럽힌다.;;
- Story Card 는 Kent Beck 이 사용자와 더 빠른 피드백을 위해 생각한 덜 형식적인 방법이다. 어차피 Story Card 는 전부 AcceptanceTest 로 작성할 것이기에, 테스트가 작성되고 나면 AcceptanceTest 가 도큐먼트 역할을 할 것이다. Index Card 도구 자체가 보관용이 아니다. 보관이 필요하다면 위키를 쓰거나 디지털카메라 & 스캐너 등등 '보관용 도구', 'Repository' 를 이용하라.
- 어차피 실제 고객에게 가치를 주는 중요한 일만을 하자가 목적이기에. Documentation 자체가 중요한 비즈니스 가치를 준다던가, 팀 내에서 중요한 가치를 준다고 한다면 (예를 들어서, 팀원중 몇명이 항시 같이 작업을 할 수 없다던지 등등) Documentation 을 EngineeringTask 에 추가하고 역시 자원(시간)을 분배하라. (Documentation 자체가 원래 비용이 드는 일이다.)
=== PairProgramming 적용하기 ===
PairProgramming 은 XP 에서 논란이 많은 듯 하다. Man-Hour 를 절반으로 깎는다는 생각을 하게 되어서인지.
interface 가 잘 정의하고 둘이서 분업을 하면 훨씬 효과적 아닌가?
- ["1002"] 가 ProjectPrometheus 를 할때엔 거의 전체 작업을 Pair로 진행했다. Integration 비용이 전혀 들지 않았다. (두명이 멤버였으니; 당근!) 그리고 초기 소스와 지금 소스중 초기 모습이 남아있는 부분을 보면 '젠장. 왜 이렇게 짠거야? 이런 허접한...' 이다. 중복된 부분도 많고, 매직넘버도 남아있고, 처음엔 쓸거라 생각했던 일종의 어뎁터 역할을 하는 클래스는 오히려 일만 복잡하게 만들고 등등.
단, 올바른 Pair는, 역시 Pair 하는 사람들 스스로 성숙할 필요가 있는 것 같다. ["1002"] 처럼 삐지기 쉽거나 F 스타일에 더 가까운 MBTI 스타일을 가진 사람은 약간. -_-; (["1002"] 는 INFP 인데, F 스타일이 T 스타일의 3배이다.; 물론 MBTI만으로 사람 전체를 평가하는것은 당근 아님.~)
- 이는 SustainablePace 에 대한 증표이다. 보통 일이 초과되어 진행된다는것은 뭔가 일이 잘 안풀린다는 증거가 되기도 하다.
늘 지속할 수 있는 안정적인 흐름을 만들어내는 것이 중요하다. '40' 숫자가 중요하단 뜻은 아니다. (단, PairProgramming 이 기가막히게 잘 진행되는 경우는, '40시간을 초과' 할 수가 없을 것 같다. 사람 진이 다 빠지니까. -_-;)
- ZeroWikiHotKey . . . . 4 matches
= Zero Wiki Hot Key =
1. [위키설명회2005]에서 [임인택] 형님이 알려준 ZeroWiki의 단축키들을 모아놓은 페이지.
3. 단축키로 기능을 분류하지 않고. 기능으로 단축키를 분류하였습니다. 단축키로 기능을 분류한 페이지는 [woodpage/VisualC++HotKeyTip] 가 있습니다.
AnswerMe [ZeroWiki]의 [HotKey]를 모아놓은 페이지를 본적이 있었는데. 찾을수가 없네요;; - [이승한]
멋진 페이지네요~>__<ㅋ 그런데 이것 말고 [ZeroWiki]의 페이지에서 본적이 있는것 같은데. - 이승한
- [Lovely]boy^_^/Diary/2-2-16 . . . . 4 matches
* I completely destroy the marriage and family final-exam.--;
* I borrow the Role Playing Game with DirectX.
* Today, All final-exams will end.
DeleteMe) I envy you. In my case, all final-exams will end at Friday. Shit~!!! -_- Because of dynamics(In fact, statics)... -_-;; --["Wiz"]
* It's 1st day of a winter school vacation. I must do a plan.
* Let's enumarate. English, Smalltalk, Design Pattern, Accelerated C++, DirectX, etc...
* I read a novel named the Brain all day. Today's reading amount is about 600 pages. It's not so interesting as much as the price of fame.
* Today, I saw a psycho that is only heard. I felt grimness at her.
* '''When I am given a motive, I can do the things extreme.'''
* '''There is no man nicer than a man who has a target, and rushs towards it.'''
* I can't translate english sentence that I writed.--;
* I studied Grammar in Use Chapter 39,40. I have not done study this book since then summer.--;
* I read a little Power Reading. Today's reading's principle content is using a regulator(ex) pen, pinger. etc). but this method is what I have used all the time.--; I should read a lot more.
* I studied ProgrammingPearls chapter 3. When I was reading, I could find familiar book name - the Mythical Man Month, and Code Complete.
* I summarized a ProgrammingPearls chapter 3.
* '''The more general problem may be easier to solve.'''
* I typed directX codes from NeXe sites, because RolePlaying Games with DirectX that I borrowed some days ago is so difficult for me. Let's study slow and steady...
* I studied ProgrammingPearls chapter 4,5. Both 4 and 5 are using a binary search. Its content is no bug programm.
* I studied Grammar in Use Chapter 41,42.
* My mom was leaving a hospital. ^^
- eXtensibleStylesheetLanguageTransformations . . . . 4 matches
Extensible Stylesheet Language Transformations, or XSLT, is an XML-based language used for the transformation of XML documents. The original document is not changed; rather, a new document is created based on the content of an existing one. The new document may be serialized (output) by the processor in standard XML syntax or in another format, such as HTML or plain text. XSLT is most often used to convert data between different XML schemas or to convert XML data into web pages or PDF documents.
XSLT was produced as a result of the Extensible Stylesheet Language (XSL) development effort within W3C during 1998–1999, which also produced XSL Formatting Objects (XSL-FO) and the XML Path Language, XPath. The editor of the first version (and in effect the chief designer of the language) was James Clark. The version most widely used today is XSLT 1.0, which was published as a Recommendation by the W3C on 16 November 1999. A greatly expanded version 2.0, under the editorship of Michael Kay, reached the status of a Candidate Recommendation from W3C on 3 November 2005.
<img src="http://upload.wikimedia.org/wikipedia/en/5/5a/XSLTprocessing.PNG" />
http://www.codeguru.com/Cpp/data/data-misc/xml/article.php/c4565
- 새싹교실/2011/學高 . . . . 4 matches
* Facts, Feelings, Findings, Future Action Plan. 즉, 사실, 느낀 점, 깨달은 점, 앞으로의 계획.
* 반드시 ZeroWiki에 작성해주세요. 하위 페이지를 만드는 것도 허용합니다.
* 참고로 ZeroWiki는 MoniWiki Engine을 사용하며 Google Chrome이나 Mozila Firefox, Safari보다는 Internet Explorer에서 가장 잘 돌아가는 것 같습니다.
* [윤종하]: 수업 준비가 미흡해서 제대로 진행못했고, 실습으로 준비한게 수준이 좀 높았다. 김준호 학생의 경우 visual studio 설치와 Wi-Fi가 안 됨을 계속 불만사항으로 지적했으며 수업태도가 상당히 불량했습니다.
- 새싹교실/2011/무전취식/레벨10 . . . . 4 matches
== Ice Breaking ==
* 헤더(*.h) 파일을 하나 더 알게되었습니다 string.h
#include<stdio.h>
#include<string.h>
void main(){
int count ,i;
{printf("Not Pel") ;
else printf("pel");
#include<stdio.h>
void main()
int num[5];
int newnum[3];
int max = 0 ,min = 9999;
int selectMin,selectMax;
int count=0;
int i;
int sum;
if (num[i]<min){
min=num[i];
selectMin = i;
- 새싹교실/2012/해보자 . . . . 4 matches
* Facts, Feelings, Findings, Future Action Plan. 즉, 사실, 느낀 점, 깨달은 점, 앞으로의 계획.
* 반드시 ZeroWiki에 작성해주세요. 하위 페이지를 만드는 것도 허용합니다.
* 참고로 ZeroWiki는 MoniWiki Engine을 사용하며 Google Chrome이나 Mozila Firefox, Safari보다는 Internet Explorer에서 가장 잘 돌아가는 것 같습니다.
* sizeof(int) = 4, sizeof(char) = 1, sizeof(short) = 2 etc.
1. #define pi 3.141592를 이용하여 구의 겉넓이, 부피를 계산하고 출력하는 프로그램을 만드시오.(코드를 여기에 올려주세요)
2. swap(int num1, int num2)함수를 구현하시오. 함수 호출을 배우지 않았기 때문에, 그리고 포인터를 아직 배우지 않았기 때문에 기본적인 코드를 제공합니다.
void swap(int num1,int num2);
int main(void){
int num1, num2;
printf("정수 2개를 입력하시오: ");
printf("num1: %d, num2: %d\n",num1, num2);
void swap(int num1,int num2){
printf("after swap\nnum1: %d, num2: %d\n",num1, num2);
#include <stdio.h>
int main(void){
int num;
printf("짝수");
printf("홀수");
- parenthesis(괄호)를 이용하여 우선순위를 부여할 수 있다. ex) if((x==2&&y==3)||z==4)
#include <stdio.h>
- 위키설명회2005 . . . . 4 matches
모임일정 : [정모/2005.3.7], 3월 7일 저녁 엠에스엔 회의, 수요일까지 wiki에 대한 자료수집, 당일 리허설.
[데블스캠프2004/월요일]의 [MiningZeroWiki]와 비슷하다
<b>16일 수요일 ZeroPage소개 및 wiki설명회</b>
ZeroPage에서 신입생을 대상으로한 ZP소개 및 wiki 설명회를 준비했습니다.
(아래 wiki에 대한 간단한 소개를 덧 붙였습니다.)
<p href = "http://ko.wikipedia.org/wiki/%EC%9C%84%ED%82%A4%EC%9C%84%ED%82%A4">위키백과사전의 위키위키소개 페이지</p>
Wiki는 ZeroPage 모든 활동에 사용되어 Wiki없는 ZeroPage는
뿐만 아니라 Wiki에 담겨있는 철학과 사용법을 알게 되신다면
* 음 그리고.. 위키위키의 메인 로고이미지 http://zeropage.org/wikis/nosmok/moinmoin.gif 는 그대로 계속 쓰는건가요..? ^.^a - [임인택]
- 위키설명회2005/PPT준비 . . . . 4 matches
6502 는 16bit addressing이 가능한 CPU 였습니다. 즉, $0000 ~ $FFFF 였죠.
6502 는 13가지 메모리 access 방식이 있었는데, 그중 하나가 zero page addressing 입니다.
주소 영역을 8bit 만 사용, 상위 8bit 은 00 으로 가정하고 addressing 을 하면
1992년 : 동남은행 Firm banking system, 치관 운영 관리 프로그램, 세탁소 관리 프로그램, 세일 정보 통신 재해자 관리 프로그램
=== wiki 소개 ===
하와이어로 wikiwiki는 빨리빨리 이다.
- 지금의 위키는 가장 기본적인 디자인이다. 이런(http://hellocity.net/~iolo/moniwiki/wiki.php) 저런(http://whitejames.com/wiki.cgi?대문) 위키들도 있따.
다른 디자인도 있다. [http://hellocity.net/~iolo/moniwiki/wiki.php 이것] 이나 [http://whitejames.com/wiki.cgi?대문 저것]과 같은.
Headings: = Title 1 =; == Title 2 ==; === Title 3 ===; ==== Title 4 ====; ===== Title 5 =====.
리스트: 공백과 * 한개; 1., a., A., i., I. 숫자로 된 items; 1.#n start numbering at n; space alone indents.
SeeAlso, DeleteMe와 같은 WikiTag들은 대괄호로 싸지 않아도 링크표시가 된다.
BackLink 혹은 ReverseLink.
===== WikiTag =====
많은 사람들이 그냥 아무 생각없이 링크 달 수 있다는 편리함으로 SeeAlso의 사용에 유혹을 받지만 SeeAlso에 있는 링크는 [InformativeLink]여야 한다.
위키위키는 한 주제에 대한 기록이 영원히 남는다(WikiNow).
=== WIKIWIKI ===
Upload:WIKI_PPT.ppt
- 장용운/알파벳놀이 . . . . 4 matches
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
int main(void) {
cin>>a>>b;
void draw(char begin, char end) {
for(int i=0; i<= (end-begin); i++) {
for(int j=0; j<=i; j++) {
cout<<(char)(begin+j);
Input:
Input:
Input:
Input:
- 정모/2011.3.21 . . . . 4 matches
== Ice Breaking ==
* [황현] 학우가 제시한 키워드 전기수로 Ice Breaking을 진행했습니다.
* [Spring/탐험스터디]
* SpringFramework를 공부하며 설계 원칙들도 함께 배움.
* wiki에 페이지를 만들테니 참여하고싶은 학우는 이름을 써주세요
* [ZeroWiki/제안] 페이지에서 ZeroWiki에 대한 각종 제안을 받습니다.
* 현재 ZeroWiki Url에 대한 제안이 올라왔습니다. 가서 읽어보시고 의견을 달아주세요.
* ZeroWiki에 대한 새로운 제안도 환영합니다!
== Emacs & Elisp ==
* [이승한] 선배님의 Emacs & Elisp 세미나
* Facts, Feelings, Findings, Future Action Plan. 즉, 사실, 느낀 점, 깨달은 점, 앞으로의 계획.
* Emacs & Elisp 후기 :의 소개를 보면서 다양한걸 사용하는 승한형에게 잘맞는 프로그램이라 생각됬다. 그 프로그램을 사용하기에 다양한걸 좋아하기도 하고 내가 가장많이쓰는건 Eclipse와 그걸 지원하는 플러그인이지만 여러가지를 개발하는 개발자에게 저것은 좋은프로그램이라 생각된다. 하지만 나에게는 아직도 Eclipse를 다루는것조차 아직은 버겁기에 우선 Eclipse를 하자는생각이 들었다.
* 이번에 승한이 형의 Emacs. Elisp 세미나를 들었다. 세미나를 들어보니 Emacs는 매우 자신에 맞게 전환 할 수 있는 도구 인 것 같다. 와우 에드온 같이 자기에게 딱 맞게 설정하는 재미가 있을꺼 같다. 기회가 되면 한번 다뤄봐야겠다. 그리고 다음 OMS로 주제를 키넥트에 관해서 하고싶은데 아직 사지도 않아서!!! 뭘해야될지 고민이다... 그냥 요즘 새로나온 게임 인터페이스들에 대해 통짜로 해버릴까...고민중임 - [임상현]
* Ice braking은 많이 민망합니다. 제가 제 실력을 압니다 ㅠㅠ 순발력+작문 실력이 요구되는데, 제가 생각한 것이 지혜 선배님과 지원 선배님의 입에서 가볍게 지나가듯이 나왔을 때 좌절했습니다ㅋㅋ 참 뻔한 생각을 개연성 있게 지었다고 좋아하다니 ㅠㅠ 그냥 얼버무리고 넘어갔는데, 좋은 취지이고 다들 읽는데도 혼자만 피하려한게 한심하기도 했습니다. 그럼에도, 이상하게 다음주에 늦게 오고 싶은 마음이 들기도...아...;ㅁ; 승한 선배님의 Emacs & Elisp 세미나는 Eclipse와 Visual Studio가 없으면 뭐 하나 건들지도 못하는 저한테 색다른 도구로 다가왔습니다. 졸업 전에 다양한 경험을 해보라는 말이 특히 와닿았습니다. 준석 선배님의 OMS는 간단한 와우 소개와 동영상으로 이루어져 있었는데, 두번째 동영상에서 공대장이 '바닥'이라 말하는 등 지시를 내리는게 충격이 컸습니다. 게임은 그냥 텍스트로 이루어진 대화만 나누는 줄 알았는데, 마이크도 사용하나봐요.. 그리고 용개가 등장한 게임이 와우였단 것도 새삼 알게 되었고, 마지막 동영상은 정말 노가다의 산물이겠구나하고 감탄했습니다. - [강소현]
1. 현이의 Ice Breaking : 어떻게 해야 더 재밌게 할 수 있을까 고민이 됩니다. 재밌는 키워드가 불시에 나와서 빵빵 터지는 것에 비해 그걸 갖고 스토리를 재밌게 짜내는건 쉽지 않았습니다. 차라리 키워드들을 갖고 스피드퀴즈를 해보는건 어떨지 ㅋㅋㅋㅋ
1. 승한오빠 특별 세미나(emacs & elisp) : 교육기간이니 '''칼퇴할때 세미나 한번 해주세요!!''' 라고 요청드렸는데 선배님 펌프질에 보람을 느꼈던 순간이었습니다. 칼보단 감자깎기가 흙당근이나 감자를 깎을때 진리이듯이 좋은 프로그램과 좋은 툴을 적절히 사용하는게 얼마나 중요한지를 다시 생각해볼 수 있었습니다. 이 세미나 이후 아직도 textPad 강제로(?) 사용하고 있는 2학년 학우들이 불쌍해졌습니다......
* 키워드 전기수 재밌었습니다. 괜히 저는 혼자 말도 안돼는 드립치다가 웃음보 터져가지고 민망하게 진행도 못하긴 했었지만요 ㅋㅋㅋ elisp과 emacs 세미나는 파스텔톤 분위기에 취해서 흥미롭게 들었습니다. emacs는 '''단축키가 리눅스랑 같다'''는 이야기때문에 끌렸습니다... ㅋㅋ 그래서 설치하고 튜토리얼도 따라해봤습니다. 재밌더군요 {OK} OMS는 들으면서 놀랐습니다. 실제 마케팅부서에서 마케팅 나온 듯한 인상을 받았습니다. OMS를 보고 와우 스토리에 흥미도 생겼구요. 속으로 이런 생각도 했습니다. '와우는 무저갱이니까 와우 소설이나 읽어서 대리 만족이나 하자.' ㅋㅋㅋ 근데 소설 읽으면 결국 하게 될거 같아서 Stop Thinking! 결국 결론은 '''와우에는 접근도 하지 말자.''' 피자도 맛있게 '냠냠 쩝쩝 우물우물 쓰읍쓰읍 꿀꺽 쯥'하면서 잘 먹었습니다. 아쉬운 점이 있다면, 새싹 교실 트레이드를 못한 것 입니다. 제 반에 같이 햇빛을 못 쬐는 새싹이 있는데 결국 다른 새싹으로 바꾸지 못해서 제 새싹이 양분을 먹지 못했습니다...담번에는 꼭 흙 째로 옮겨주고 싶네요. - [박성현]
* 키워드 전기수.. 키워드 던질때는 신났었는데 전기수를 하려니 음ㅋㅋ 어디서부터 문제였는지 모르겠네요ㅋㅋ emacs&elisp세미나는 조금 어려운감이 없지않아 있었지만 그래서 놓치지 않으려고 더 집중해 들었습니다. 무엇보다 졸업하신 선배님이 정모에 나오셨다는게 좋았어요!! 이렇게 선후배간의 링크가 계속 이어졌으면 좋겠습니다. 피자도 먹고 좋았어요. 와우세미나도 저는 와우를 그닥 좋아하지는 않지만 다들 무척 좋아하더군요ㅋㅋ OMS의 퀄리티가 갑자기 확 높아져서 부담스럽네요ㅜ
- 타도코코아CppStudy/0731 . . . . 4 matches
|| 마방진(홀수) || [CherryBoy] || Upload:MaBangJin_CherRy.cpp || . ||
|| ZeroWiki:RandomWalk2 || [CherryBoy] || Upload:randomWork2_CheRy.cpp || 다시 평가부탁드립니다 - [CherryBoy] ||
ZeroWiki:창섭/BitmapMasking
ZeroWiki:DoubleBuffering
ZeroWiki:MFCStudy_5f2001_2fMMTimer
Upload:DoubleBufferingEX.zip
- 파스칼삼각형/김수경 . . . . 4 matches
#include <stdio.h>
int Pascal(int m, int n){
void main(){
int m,n;
printf("행, 열 차례대로 입력 ex/3,2\n>>>>");
printf("%d행 %d열의 파스칼의 삼각형 숫자는 %d 입니다.\n",m, n, Pascal(m,n));
def pascal(line, element):
if not isinstance(element, int):
print "E = " , element , " : Please input an Integer"
print "E = " , element , " : Please input an Integer greater than 0"
if line < element:
print "Element must less than line"
if (line == 1) or (element == 1) or (line == element):
return pascal(line-1, element-1) + pascal(line-1, element)
if not isinstance(n, int):
print "N = " , n , " : Please input an Integer"
print "N = " , n , " : Please input an Integer greater than 0"
for j in range(0, n-i):
print "",
for j in range(1, i+1):
- 페이지지우기 . . . . 4 matches
삭제하고 싶은 페이지의 내용을 지우거나, 해당 페이지 아무곳에서나 '''DeleteThisPage''' 를 남긴다. 그러면 ZeroWiki 관리자가 해당 문자열 검색을 통해 페이지를 지우게 된다.
'''If you want to delete this page, YouNeedToLogin.''' 현재 ZeroWiki 에서 Delete''''''Page 권한은 계정 관리자가 갖고 있습니다. 로그인한 사용자도 그 권한을 사용할 수 있도록 한 단계 더 공개하는건 어떨까요? security.py 에서 {{{~cpp self.delete = self.delete and user.valid}}} 이 한 라인을 추가하면 됩니다. --["데기"]
See Also DontDeleteThisPage
- 2002년도ACM문제샘플풀이/문제E . . . . 3 matches
#include <iostream>
#include <algorithm>
using namespace std;
struct InputData
int n;
int weight[1000];
int numberOfData;
InputData inputData[10];
int outputData[10];
void input()
cin >> numberOfData;
for(int i=0;i<numberOfData;i++)
cin >> inputData[i].n;
for(int j = 0 ; j < inputData[i].n ; j++)
cin >> inputData[i].weight[j];
InputData temp;
int totalWeight;
for(int i=0;i<numberOfData;i++)
temp = inputData[i];
sort(&temp.weight[0],&temp.weight[inputData[i].n]);
- 2dInDirect3d/Chapter2 . . . . 3 matches
= Creating a Device =
UINT Adapter, // 어댑터의 번호, D3DADAPTER_DEFAULT를 사용
HWND hFocusWindow, // 현재 창의 HWND를 넣어준다.
IDirect3DDevice8** ppReturnedDeviceInterface
2. BehaviorFlag에는 버텍스를 처리하는 방법을 넣어준다. D3DCREATE_HARDWARE_VERTEXPROCESSING, D3DCREATE_MIXED_VERTEXPROCESSING, D3DCREATE_SOFTWARE_VERTEXPROCESSING중 한가지를 사용한다. (사실은 더 많은 옵션이 있다.) 대개 마지막 SOFTWARE를 사용한다.
MinZ = 0.0f : Z의 최소값. 대개 0.0f
== Present The Scene ==
HWND hDestWindowOverride,
1. 결과값은 D3D_OK, 실패했을경우엔 D3D_INVALIDCALL이나 D3D_DEVICELOST가 리턴된다.
["2dInDirect3d"]
- AKnight'sJourney/강소현 . . . . 3 matches
||Problem|| 2488||User||talin0528||
public class Main{
public static int [][] savePath;
public static int [][] direct = {{-1,-2},{1,-2},{-2,-1},{2,-1},{-2,1},{2,1},{-1,2},{1,2}};
public static void main(String [] args){
Scanner sc = new Scanner(System.in);
int count = sc.nextInt();
for(int i=1; i<=count; i++){
int p = sc.nextInt();
int q = sc.nextInt();
System.out.println("Scenario #"+i+":");
int [][] path = new int[p+1][q+1];
savePath = new int[p*q][2];
if(isPromising(1,1, path,0)){
for(int k=0; k<savePath.length; k++){
System.out.printf("%c%d",savePath[k][1]+64, savePath[k][0]);
System.out.print("impossible");
System.out.println("\n");
private static boolean isPromising(int p, int q, int [][] path, int count){
for(int i=0; i<direct.length; i++){
- C++ . . . . 3 matches
C++ (pronounced "see plus plus") is a general-purpose computer programming language. It is a statically typed free-form multi-paradigm language supporting procedural programming, data abstraction, object-oriented programming, and generic programming. During the 1990s, C++ became one of the most popular commercial programming languages.
Bell Labs' Bjarne Stroustrup developed C++ (originally named "C with Classes") during the 1980s as an enhancement to the C programming language. Enhancements started with the addition of classes, followed by, among many features, virtual functions, operator overloading, multiple inheritance, templates, and exception handling. The C++ programming language standard was ratified in 1998 as ISO/IEC 14882:1998, the current version of which is the 2003 version, ISO/IEC 14882:2003. New version of the standard (known informally as C++0x) is being developed.
In C and C++, the expression x++ increases the value of x by 1 (called incrementing). The name "C++" is a play on this, suggesting an incremental improvement upon C.|}}
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]라는 언어에 증가적인 발전이 있음을 암시하는 것이다.
* [RuminationOnC++]
* [C++/SmartPointer]
[ProgrammingLanguage], [C++0x]
[[include(틀:ProgrammingLanguage)]]
- Classes . . . . 3 matches
=== [EngineeringMathmethicsClass] ===
[http://www.yes24.com/Goods/FTGoodsView.aspx?goodsNo=1949638&CategoryNumber=002001026004 Advanced Engineering Mathematics 9/E]
[http://www.aladdin.co.kr/shop/wproduct.aspx?ISBN=8971291346 최신 공업수학]
[http://www.xper.org/wiki/seminar/TheDragonBook]
[http://c2.com/cgi/wiki?TwentyFirstCenturyCompilers]
[http://kangcom.com/common/bookinfo/bookinfo.asp?sku=200012050016 Compilers]
[http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-045JSpring-2005/CourseHome/index.htm MIT open course ware] [[ISBN(0534950973)]]
Upload:CompilerExercises.ppt
[http://kangcom.com/common/bookinfo/bookinfo.asp?sku=200309190006 Database Design Concept]
* #1 is due on 20 Mar
* #2 is due on 10 Apr.
* #3 is due on 22 May.
* Final Demonstration is 5 Jun.
[http://kangcom.com/common/bookinfo/bookinfo.asp?sku=200401090003 Computer Graphics with Open GL 3rd Ed]
[http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-837Fall2003/CourseHome/index.htm MIT open course ware]
[http://ocw.mit.edu/OcwWeb/Mathematics/18-06Spring-2005/CourseHome/index.htm Linear Algebra]
* Assingment
* #1 is due to 20 Mar.
* Intersection - adaptive depth control, bounding volumes, first-hit Speedup
* Anti-aliasing - distributed RT
- CodeConvention . . . . 3 matches
Coding 을 하는데 지켜야할, 혹은 추천되는 관습
* [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvsgen/html/hunganotat.asp Hungarian Notation] : MFC, VisualBasic
* [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/cpconnetframeworkdesignguidelines.asp?frame=true .Net Frameworks Design Guidelines] : C#, VisualBasic.Net
* [http://msdn.microsoft.com/library/techart/cfr.htm Coding Technique and Programming Practices]
* 1980년대 charles simonyi 논문 Meta-programming : A Software Prodution Method
* http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvsgen/html/hunganotat.asp
* http://ootips.org/hungarian-notation.html
* 각 언어마다, Code Convention or Style, Notation, Naming 제각각이지만 일단은 Convention으로 해두었음 --["neocoin"]
SeeAlso Wiki:CodingConventions, CodingStandard
- CompleteTreeLabeling . . . . 3 matches
[http://online-judge.uva.es/p/v102/10247.html 원문보기]
=== About [CompleteTreeLabeling] ===
||Input||standard input||
모든 잎(leaf)의 깊이가 같고 모든 내부 노드의 차수(degree)가 k인(즉 분기계수(branching factor)가 k인) 트리를 k진 완전 트리(complete k-ary tree)라고 한다. 그런 트리에 대해서는 노드의 개수를 쉽게 결정할 수 있다.
=== Input ===
=== Sample Input ===
|| [조현태] || C || . || [CompleteTreeLabeling/조현태] ||
|| [하기웅] || C++ || 1시간 30분 || [CompleteTreeLabeling/하기웅] ||
- ComposedMethod . . . . 3 matches
void controlInitialize() {/* ... */}
void controlTerminate() {/* ... */}
controlInitialize();
controlTerminate();
개인적으로, 간단해보이지만 아주 중요한 이야기라 생각함. ProgrammingByIntention 의 입장에서, 또한 '같은 레벨의 추상화를 유지하라'라는 대목에서. (StepwiseRefinement 를 하면 자연스럽게 진행됨) --[1002]
- Counting/문보창 . . . . 3 matches
|| 2006-01-10 Accepted 0.057 Minimum ||
// 10198 - Counting
#include "BigInteger.h"
using BigMath::BigInteger;
#define MAX_SIZE 1000
static BigInteger Tn[MAX_SIZE+1];
for (int i = 3; i <= MAX_SIZE; i++)
int main()
int n;
while (cin >> n)
[Counting]
- Counting/하기웅 . . . . 3 matches
#include <iostream>
#include "BigInteger.h"
using BigMath::BigInteger;
#define MAX_NUM 1000
int i, j, k, input;
BigInteger number[MAX_NUM+1];
void init(int num)
int main()
init(1000);
while(cin>>input)
cout<< number[input] <<endl;
- CxImage 사용 . . . . 3 matches
== include ==
3. StdAfx.h 에 #include "ximage.h" 선언
5. Additional 에 ./include
6. link-> object/library modules 에 Debug/CxImages.lib
m_pImage->Load(lpszPathName, CxImage::FindType(lpszPathName));
App Class 에서 InitInstance() 의 아래부분 주석 처리
//if (!ProcessShellCommand(cmdInfo))
- DocumentObjectModel . . . . 3 matches
Upload:DOM_Inspector.png
Document Object Model (DOM) is an application programming interface to access HTML and XML documents. It is programming language and platform independent. Behind the interface the document is represented with an object-oriented model.
Different variants of DOMs were initially implemented by web browsers to manipulate elements in an HTML document. This prompted the World Wide Web Consortium (W3C) to come up with a series of standard specifications for DOM (hence called W3CDOM).
DOM puts no restrictions on the document's underlying data structure. A well-structured document can take the tree form using DOM.
Most XML parsers (e.g., Xerces) and XSL processors (e.g., Xalan) have been developed to make use of the tree structure. Such an implementation requires that the entire content of a document be parsed and stored in memory. Hence, DOM is best used for applications where the document elements have to be randomly accessed and manipulated. For XML-based applications which involve a one-time selective read/write per parse, DOM presents a considerable overhead on memory. The SAX model is advantageous in such a case in terms of speed and memory consumption.
- ErdosNumbers/차영권 . . . . 3 matches
#include <iostream.h>
#include <cstring>
#define MAX_LENGTH 100
int erdosNumber;
void checkErdosNumberTo0(Author *p, int n);
void checkErdosNumberTo1(Author *p, char *c, int n);
void checkErdosNumberTo2(Author *p, int n);
bool isThere(Author *p, int n);
int main()
int scenario=1;
int nDataBase, nSearch;
int count = 0, n = 0, m = 0, number = 0;
int i, j, k, l;
int saveBound[10];
cin >> nDataBase >> nSearch;
cin.get();
cin.getline(temp, MAX_LENGTH);
int save[10] = {0, };
int count2 = 0;
continue;
- Euclid'sGame/강소현 . . . . 3 matches
||Problem||2348||User||talin0528||
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNextInt()){
int r1 = sc.nextInt();
int r2 = sc.nextInt();
private static void playGame(int r1, int r2) {
int g, r, count=0;
System.out.println("Ollie wins");
System.out.println("Stan wins");
- FileInputOutput . . . . 3 matches
=== in C++ ===
#include <fstream>
using namespace std;
int main()
ifstream fin("input.txt"); // fin과 input.txt를 연결
int a,b;
fin >> a >> b; // cin으로 화면에서 입력받는다면, fin은 연결된 파일로부터 입력받는다.
input.txt
fin = file('input.txt')
a,b=[int(i) for i in fin.read().split()]
print >> fout,(a+b) #혹은 fout.writeline( str(a+b)+'n' )
fin.close()
input.txt
String inputString;
InputStreamReader isr = new InputStreamReader(new FileInputStream(fileName));
BufferedReader br = new BufferedReader(isr);
while((inputString = br.readLine()) != null) {
buf = buf + inputString ;
System.out.println("Error : "+ e.toString()); {}
- FromCopyAndPasteToDotNET . . . . 3 matches
* [http://zeropage.org/~lsk8248/wiki/Seminar/FromCopyAndPasteToDotNET/FromCopyAndPasteToDotNET.doc 세미나 자료]
* [http://zeropage.org/~lsk8248/wiki/Seminar/FromCopyAndPasteToDotNET/DLLExample.zip DLLExample]
* [http://zeropage.org/~lsk8248/wiki/Seminar/FromCopyAndPasteToDotNET/UsingDLL.zip UsingDLL]
* [http://zeropage.org/~lsk8248/wiki/Seminar/FromCopyAndPasteToDotNET/ATLCOMExample.zip ATLCOMExample]
* [http://zeropage.org/~lsk8248/wiki/Seminar/FromCopyAndPasteToDotNET/UsingCOM.zip UsingCOM]
* [http://msdn.microsoft.com/library/en-us/dnolegen/html/msdn_aboutole.asp What OLE Is Really About]
* [http://msdn.microsoft.com/library/en-us/winui/winui/windowsuserinterface/dataexchange/dynamicdataexchange/aboutdynamicdataexchange.asp About Dynamic Data Exchange]
* [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]
* 듣고 싶은데 아쉽군 --["neocoin"]
- HelpOnProcessingInstructions . . . . 3 matches
지원되는 여러가지 프로세싱 인스트럭션 (PIs):
* '''wiki''': 기본 위키 마크업
* '''plain''': 일반 텍스트
* <!> vim 이나 기타 여러가지 포맷 지정자는 `plugin/processor` 아래의 지원 가능한 모든 프로세서에 대해서 가능합니다.
모든 PI는 페이지의 맨 상단에 위치해야 합니다. 특별히 {{{#redirect}}}는 가장 맨 윗줄에 위치해야 합니다. 주석임을 나타내는 {{{##}}}만은 페이지 어느곳에나 쓸 수 있습니다만, 중간에 쓰는 경우에는 `wiki` 포매팅 문서일 경우에만 {{{##}}}가 주석으로 인식됩니다.
* {{{#filter}}} ''filter1'' | ''filter2'': apply MoniWikiFilters supported by the 모니위키 '''1.1.0'''부터
See also MoniWikiProcessors for more complete supported {{{#FORMAT}}} list.
Please see HelpOnEditing.
- IpscAfterwords . . . . 3 matches
컨테스트는 끝났지만 여전히 도전해보고 싶은 사람은 다음 주(5/18)까지 자신이 얻은 답을 TIS를 1234567890로 해서 ipsc@ksp.sk로 이메일을 보내면 된다.
후.. 좌절(아까 떡볶이 먹을때에도 너무 강조한것 같아서 이제는 다시 자신감 회복모드 중입니다만) 임다. -_-; 결국 5시간동안 한문제도 못풀었네요. 처음 경험해본 K-In-A-Row 문제를 풀때나 Candy 문제를 풀때만해도 '2-3문제는 풀겠다' 했건만. 어흑;[[BR]]
* 전에 K-In-A-Row 같은 경우는 일종의 StepwiseRefinement 의 형식이 나와서 비교적 코딩이 빠르게 진행되었었고, (비록 답은 틀렸지만) Candy 문제의 경우 덕준이가 빨리 아이디어를 내어서 진행이 빨랐었는데, 실전에서는 그런 경우들이 나오지 않아 버겨웠던듯 하네요.
* 중반부로 들어가면서 사람들이 문제들을 못풀다보니 팀플레이도 흐트러진것 같습니다. 이전에 K-In-A-Row 풀때나 Candy 풀때만해도 실마리를 잡아서 '풀 수 있겠다' 라고 생각해서인지 팀플레이가 잘 되었던거 같은데.. 역시 어려울때 잘하기란 힘든것 같네요.
* IPSC Winner 가 발표되었네요. 재밌게도 Open 과 Second 둘 다 러시아이고, 양쪽 팀 다 Pascal 을 이용했다는. ^^
석천군 팀이 B번 문제(Job Balancing)를 풀긴 풀었으나 시간이 너무 걸려서 옵티마이징을 필요로 했습니다. 제가 O(m*n^2)에서 O(m*n)으로 만들어줬는데, 그것으로도 부족했습니다. 집에 돌아와서 잠을 자다가(NoSmok:포앵카레문제해결법 ) 몇 가지 아이디어가 떠오르더군요. 오늘 아침에 일어나서 30분 정도 뚝닥거려서 B Difficult Set을 5초 안에 끝내는 코드를 만들었습니다. 어떻게 사고했냐구요? TDD로 원소 하나 짜리, 두 개 짜리, 세 개 짜리, ... 를 하다보니까 일반해가 보이더군요. 역시 마음에 여유가 있으면 잘 되는 것 같습니다.. see also IpscLoadBalancing
- IsThisIntegration?/김상섭 . . . . 3 matches
4337326 2006-02-15 08:15:39 Accepted 0.352 448 28565 C++ 10209 - Is This Integration ?
#include <iostream>
#include <math.h>
using namespace std;
int main()
cout.setf(ios::showpoint);
cout.precision(3);
while(cin >> temp)
- JSP . . . . 3 matches
== Install and Excute ==
1. http://tomcat.apache.org 에서 4.1 v 받아서 Install
== JSP Programming ==
3. C:\Program Files\Apache Group\Tomcat 4.1\bin 의 startup
== Index ==
- JTDStudy/첫번째과제/영준 . . . . 3 matches
import javax.swing.JOptionPane;
public static void main(String [] args){
int[] num = new int[3];
int i, j ;
num[0] = (int)(Math.random()*10);
num[1] = (int)(Math.random()*10);
num[2] = (int)(Math.random()*10);
int strikeCounter = 0, ballCounter = 0;
int[] temp = new int[3];
int answer = Integer.parseInt(JOptionPane.showInputDialog("세자리수를 입력하세요"));
JOptionPane.showMessageDialog(null, "your answer is right!");
- JTDStudy/첫번째과제/정현 . . . . 3 matches
for(int i=0;i<100;i++) {
String number= extractor.getRandomBall();
game.inputNumber("152");
assertFalse(game.isGameOver());
game.inputNumber("123");
assertTrue(game.isGameOver());
public class GameMain {
public static void main(String[] args) {
Scanner input= new Scanner(System.in);
System.out.println("baseball game");
while(!baseBall.isGameOver()) {
String number= input.nextLine();
if(baseBall.isProper(number)) {
baseBall.inputNumber(number);
System.out.println("what are you doing?");
System.out.print(baseBall.getStrike() + " strike, ");
System.out.println(baseBall.getBall() + "ball");
System.out.println("good");
String playerInput;
private String number;
- JavaScript/2011년스터디/CanvasPaint . . . . 3 matches
ctx.beginPath();
if(drawmethod==1) drawLines();
else if(drawmethod==2) drawDotPoint();
element=document.getElementById('drawLine');
dotx=undefined;
doty=undefined;
ctx.clearRect(0,0,window.innerWidth-15, window.innerHeight-50);
function drawDotPoint()
function drawLines()
ctx.beginPath();
ctx.lineWidth=3;
ctx.lineTo(event.x-7, event.y-7);
<canvas id="drawLine" width="300" height="300" onmousedown="hold();"
<select name="colors"onclick="selectColor(this.selectedIndex)">
<button type="button" onclick="drawMethod(1)"> LINE </button>
element=document.getElementById("drawLine");
element.setAttribute("width", window.innerWidth-15);
element.setAttribute("height", window.innerHeight-50);
context.strokeRect(0, 0, window.innerWidth-15, window.innerHeight-50);
if(window.addEventListener){
- Linux/필수명령어/용법 . . . . 3 matches
- Enter login name for new account (^C to quit): blade
- Editing information for new user [blade]
- banner linux | lqr ,,디폴트 프린터에 확대한 글자를 출력한다.
- is n ,,전자우편 수신 즉시 통고 기능은 설정되어 있지 않음
- is y
디렉토리 이름과 cd 명령 사이에 반드시 공백이 있어야 한다. 디렉토리 이름을 주지 않고 수행하면 사용자의 홈 디렉토리로 이동한다. 자신이 이동하고자 하는 디렉토리는 자신에게 실행 권한(execution permission)이 있어야 한다.
파일의 모드를 바꾼다. 파일의 모드는 권한(permission) 을 제어한다.
- $ chown blade /user/sisap/*
/usr/sisap 디렉토리의 모든 파일을 blade의 것으로 바꾼다.
- document1 document2 differ: char 128, line 13 ,,차이 발견
The Oct 1 15:57:23 KST 1996
-i : 블록 사용 대신 incode 사용 정보를 보고한다.
일반적으로 echo 명령은 프롬프트 상에서 사용되는 일은 없다. 하지만 스크립트 작성시 번번히 사용된다. 셸 스크립트 상에서 echo 명령은 BASIC의 PRINT 명령이나 C 언어의 printf() 함수와 같이 메시지를 출력하는 데에 자주 사용된다. 또한 전혀 필요없을 것 같은 echo의 -n 옵션도 스크립트 상에서는 유용하게 사용될 수 있다.
- $ echo "The RedHat !"
- The RedHat !
- $ echo -e 'Linux\RedHat !'
- Linux RedHat !
: 풀 스크린 에디터를 사용할 수 없는 열악한 환경의 터미널을 위한 라인 에디터(line editor)이다.
find
: 원하는 특정 파일을 디렉토리를 탐색하여 찾는다. find는 매우 강력한 도구로 특정 디렉토리들을 순회하면서 지정된 조건에 만족하는 파일을 찾는다. 파일의 조건은 이름이나 크기, 날짜 등 다양하게 지정할 수 있다.
- MineFinder . . . . 3 matches
* 이름 : Mine Finder
* 개발툴 : Visual C++ 6.0, cppunit 1.62, SPY++, 지뢰찾기 2000, 98버전
* 시스템 : 듀론 1G 256RAM WIN 2000
* '눈' 해당 부분 - 지뢰찾기 프로그램으로부터 비트맵을 얻어 데이터로 변환하는 루틴 관련부. 현재 bitmap 1:1 matching 부분이 가장 부하가 많이 걸리는 부분으로 확인됨에 따라, 가장 개선해야 할 부분.
* 추후 DP 로 확장된다면 StrategyPattern 과 StatePattern 등이 이용될 것 같지만. 이는 추후 ["Refactoring"] 해 나가면서 생각해볼 사항. 프로그램이 좀 더 커지고 ["Refactoring"] 이 이루어진다면 DLL 부분으로 빠져나올 수 있을듯. ('빠져나와야 할 상황이 생길듯' 이 더 정확하지만. -_-a)
* Main Design, Algorithm 1차 완성. 어느정도 Refactoring의 추구.
* Begineer mode 최고기록 1초, 평균 4-7초.
[해성] 오오.. Artificial Intelligence.. -_- 근데 저 스펠링이 맞나..[[BR]]
== Opening ==
["NSISIde"] 소스를 만지작 거리던중 피곤해서 지뢰찾기를 하게 되었다. 조옴 무리를 했는지(?) 손목이 저려오기 시작했다. 그러다가 갑자기 '퍽' 하고 동시 다발적으로 여러가지 생각을 하게 되었는데, 하나는 예전에 학교에서 열렸던 '선배님들과의 만남' 에서 소프트캠프에 있는 환국선배가 했던 말이였다.
* 기본적으로는 Begineer Mode 만을 지원한다.
* Visual C++ (2개 열어두고 쓴다. 하나는 해당 부분부분 연습용 코드 만들 곳. 하나는 메인소스 만들 곳)
* CppUnit - 이번 플밍때 윈도우 메세지 관련 처리에 대해서는 코드를 작성못했다. (이 부분에 대해서는 전통적인 Manual Test방법을 쓸 수 밖에. GUI Testing 관련 글을 더 읽어봐야 겠다. 아직 더 지식이 필요하다.) 단, 나중에 비트맵 분석부분 & Refactoring 시에 TFP 를 할 수 있게 되었다.
지뢰찾기 프로그램의 윈도우클래스 이름이 '지뢰 찾기' 였다. 윈도우 OS 의 특징상 해당 윈도우 핸들간 메세지의 발생에 따라 해당 윈도우프로시저에서 처리가 된다. 해당 윈도우 핸들은 윈도우 클래스 이름을 아는 이상 FindWindow 함수를 이용해서 찾으면 될 것이다.
beginner 에 해당하는 메뉴클릭시 발생하는 메세지는 WM_COMMAND 이고, ID는 wParam 으로 521이 날라간다. 즉, 해당 메뉴의 ID가 521 인 것이다. (우리는 컨트롤 아이디를 쓰지만 이는 resource.h 에서 알 수 있듯 전부 #define 매크로 정의이다.) 각각 찾아본 결과, 521,522,523 이였다.
* [http://zeropage.org/~reset/zb/download.php?id=KDP_board_image&page=1&page_num=20&category=&sn=&ss=on&sc=on&keyword=&prev_no=&select_arrange=headnum&desc=&no=57&filenum=1 1차일부분코드] - 손과 눈에 해당하는 부분 코드를 위한 간단한 예제코드들 모음. 그리고 지뢰찾기 프로그램을 제어하는 부분들에 대해 Delegation 시도. (CMinerControler 클래스는 처음 '막 짠' 코드로부터 지뢰찾기 제어부분 함수들을 클래스화한것임)
== User Story & Engineering Task ==
* 기본적으로는 Begineer Mode 만을 지원한다.
* 유의 : 이때는 Windows ME, Windows 2000 이상에서만 실행가능하다. (지뢰찾기 비트맵이 98과 다르다)
|| CMinerBitmapAnalyzer || 비트맵을 분석, 데이터화한다. ||
- MoniWikiProcessor . . . . 3 matches
== MoniWiki Processor ==
MoinMoin 1.1 이하에서는 Processor와 Parser로 분리되어있었고, 1.3 이후에는 Processor Parser가 Parser로 통합되었다.
MoniWiki에서는 이미 Processor와 Parser개념을 통합및 간소화 하여 Processor라는 이름으로 쓰이고 있다.
MoinMoin Processor및 Parser의 기능을 하며, {{{plugin/processor/}}}하위에 추가할 수 있습니다.
== MoniWiki Processor types ==
- MoreEffectiveC++/C++이 어렵다? . . . . 3 matches
작성자 : 류상민(["neocoin"], ZP 99) [[BR]]
=== Inheritance - Overriding - virtual ===
[http://zeropage.org/moin/moin.cgi/MoreEffectiveC_2b_2b_2fEfficiency#head-fe2478216366d160a621a81fa4e3999374008afa Item 24 Virtual 관련], [http://zeropage.org/moin/moin.cgi/MoreEffectiveC_2b_2b_2fMiscellany#head-ce86e4dc6d00b898731fbc35453c2e984aee36b8 Item 32 미래 대비 프로그램에서 String문제]
* Multiinheritance 에서 제기되는 문제
[http://zeropage.org/moin/moin.cgi/MoreEffectiveC_2b_2b_2fEfficiency#head-4e0fa0edba4b5f9951ea824805784fcc64d3b058 Item 24 다중 상속 관련]
=== RTTI (Real Time Type Information) ===
[http://zeropage.org/moin/moin.cgi/MoreEffectiveC_2b_2b_2fEfficiency#head-df8e5cb1fbb906f15052798c446df0ed08dfeb91 Item 24 RTTI 관련]
==== Double-Dispatch (Multi-Dispatch) ====
[http://zeropage.org/moin/moin.cgi/MoreEffectiveC_2b_2b_2fTechniques3of3 Item 31]
[http://zeropage.org/moin/moin.cgi/MoreEffectiveC_2b_2b_2fTechniques3of3#head-85091850a895b3c073a864be41ed402384d1868c RTTI를 이용해 구현 부분]
=== Polymorphism - Overloading ===
[http://zeropage.org/moin/moin.cgi/MoreEffectiveC_2b_2b_2fMiscellany#head-a8fe938a36d3be47de007ce24f1d367295cd7ea7 Item 34 name mangle 관련]
[http://zeropage.org/moin/moin.cgi/MoreEffectiveC_2b_2b_2fMiscellany#head-9b5275859c0186f604a64a08f1bdef0b7e9e8e15 Item 34]
* 생각해볼 name mangling - overloading
[http://zeropage.org/moin/moin.cgi/MoreEffectiveC_2b_2b_2fMiscellany#head-a8fe938a36d3be47de007ce24f1d367295cd7ea7 Item 34 name mangle 관련]
[http://developer.apple.com/techpubs/macosx/ReleaseNotes/Objective-C++.html]
- NUnit/C++예제 . . . . 3 matches
=== 예제 소스 실행법 (Using C++) ===
* 속성 페이지 가서 C/C++로 간다음, #using 참조확인에다가 NUnit이 깔린 폴더의 bin 폴더를 넣어준다.
* NUnit이 깔린 폴더의 bin안에 보면 NUnit-gui.exe을 실행한다. 컴파일해서 나온 dll을 로딩해주고 run하면 테스트들을 실행해준다.
#using <nunit.framework.dll>
using namespace System;
using namespace NUnit::Framework;
int a, b;
[SetUp] void Init();
#include "stdafx.h"
#include "NUnit6.h"
void Calculator::Init() {
#using <nunit.framework.dll>
using namespace System;
using namespace NUnit::Framework;
int a, b;
void Calculator::Init() {
#include "stdafx.h"
#include "NUnit6.h"
3. 테스트 프로젝트의 속성으로 들어가서 #using 참조에 nunit\bin폴더를 넣어준다.
메인프로젝트에서 만든 새 클래스를 테스트 프로젝트에서 테스트하고 싶다. 어떻게 해야할까? 순진한 인수군은 #include <domain.h> 이렇게 하고, 테스트 클래스에 .h랑 .cpp 참조 넣어주면 될줄 알았다. 이것땜에 어제밤부터 삽질했다. 이렇게만 하면 안되고... 새로 만든 클래스를 일단 보자.
- OurMajorLangIsCAndCPlusPlus/XML/조현태 . . . . 3 matches
== [OurMajorLangIsCAndCPlusPlus/XML/조현태] ==
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef unsigned int bool;
#define FALSE 0
#define TRUE 1
#define INPUT_BUFFUR 255
int nextBlockNumber;
bool isOneTable;
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";
newBlock->isOneTable = FALSE;
SReadBlock* myPoint = NULL;
else if (NULL == myPoint)
const char* nameEndPoint = strchr(readData, '>');
char* textBuffur = (char*)malloc(sizeof(char) * (nameEndPoint - readData + 1));
strncpy(textBuffur, readData, nameEndPoint - readData);
textBuffur[nameEndPoint - readData] = 0;
myPoint = CreateNewBlock(textBuffur, NULL);
AddNewTail(headBlock, myPoint);
- ParserMarket . . . . 3 matches
This is a marketplace for your parsers. Please state your name, your email, and the release your parser is developed for (if you used a CVS snapshot, also state the revision number).
Use a special pagename {{{~cpp ["parser/yourParser.py"]}}} and start your parser with the line {{{~cpp
This way, the parser can directly be put on the page without any modification, and as easily copied from that page. See the examples below.
||'''Parser'''||'''Author'''||'''Email'''||'''Release'''||'''Revision'''||
||HTML: ["parser/html.py"]||Christian Bird||chris.bird@lineo.com||1.0|| ||
There are also some UtilityScripts.
If you are not familiar with Python and/or the MoinMoin code base, but have a need or an idea for a parser, this is the place to ask for it. Someone might find it useful, too, and implement it.
- PersonalHistory . . . . 3 matches
* [http://izyou.net/wireless Moblie computing class term paper]
* [XpWeek] - 2004년 겨울방학 ExtremeProgramming 체험하기
* [ZeroPageMagazine] - 미완성
* 참고 페이지 - [GuiTesting]
* [TheJavaMan] - 2004년 3월 2일 종료
* [TheJavaMan/비행기게임] - 2004년 3월 2일 종료
* [TheJavaMan/숫자야구] - 2004년 1/26일 종료
- PragmaticVersionControlWithCVS/WhatIsVersionControl . . . . 3 matches
|| [PragmaticVersionControlWithCVS] || [PragmaticVersionControlWithCVS/Getting Started] ||
= What Is Version Control? =
== the Repository ==
== Where Do Versions Come In? ==
개발중심축(mainline) : 일반적인 개발환경하에서 개발자들은 동일한 코드 기반을 가지고 작업을 한다. 체크아웃, 개정판을 만들어서, 변경사항을 체크인하면 모든 개발자가 서로의 작업을 공유하게 되는 것이다. 이러한 개발흐름을 일컬어 개발중심축이라 함.
mainline : 1.14 -> 1.15
== Merging ==
브랜치를 이용하면 한명의 개발자가 한개의 컴퓨터를 가지고도 릴리즈 버전의 버그 수정작업과 mainline상의 프로그램의 개발을 동시에 하는 것이 가능하다.
이 경우 브랜치에서 수정된 사항이 mainline상에도 반영되어야할 필요가 있을때 이를 병합의 과정을 통해서 하는 것이 가능하다.
== Locking Options ==
'''Original'''
public String getName() {
public int getSize() {
public String getName() {
public int getSize() {
public String getName() {
public int getSize() {
- ProjectPrometheus/CookBook . . . . 3 matches
ProjectPrometheus 중 나눌만한 Tip 들이나 기타 코드 이디엄들 등등.
Seminar:UsingIdle
String find = "(http|https)+://([^ \t\n<>()"]+)" // 패턴 설정
Pattern pattern = Pattern.compile( find ); // 패턴 컴파일
regular expression 패턴을 정의하기 위해서 ["Komodo"] 를 이용할 수도 있다. 또는 Seminar:TddRegularExpression 을 시도해보는 것도 좋다. ["1002"] 는 Python Interpreter 를 이용, 표현식을 찾아냈다.
PrintWriter out = httpServletResponse.getWriter();
out.println("<HTML> " +
Wiki:SandglassProgramming
* 멀티 타이머 http://www.programming.de/cpp/timer.zip
* 마이크로 에그 타이머 http://users.informatik.fh-hamburg.de/~rohde_i/eggtimer/mr-egg-z.zip
=== ISBN 이란? ===
* http://rs2.riss4u.net/librarian_ch/list/rule/rule_06.html
Java 에서는 HttpURLConnection 을 이용한다. 관련 코드는 http://www.javafaq.nu/tips/servlets/index.shtml 를 참조.
Connection.setRequestProperty("Content-Type", "text/plain");
Python 에서의 string.urlencode 과 마찬가지로 GET,POST 로 넘기기 전 파라메터에 대해 URL Encoding 이 필요하다. URLEncoder 라는 클래스를 이용하면 된다.
URLEncoder.encode (paramString, "UTF-8");
request.setCharacterEncoding("KSC5601");
String serviceName = (String) request.getParameter("service");
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 참고
== Resin ==
- ProjectPrometheus/MappingObjectToRDB . . . . 3 matches
참조 문서 : http://martinfowler.com/isa/OR-mapping.html
For Login
For Recommendation System (Read Book, point )
For Book Information
For cauBook Information (중대 도서관시 유일한 키)
For Recommendation System ( Related Book Point )
ProjectPrometheus 는 RDB-Object 연동을 할때 일종의 DataMapper 를 구현, 적용했었다. 지금 생각해보면 오히려 일을 복잡하게 한게 아닌가 하는 생각을 하게 된다. Object Persistence 에 대해서 더 간단한 방법을 추구하려고 노력했다면 어떻게 접근했을까. --["1002"]
PEAA 의 RDB Mapping 과 관련된 패턴을 바로 적용하는 것에 대한 답변
한편으로 [http://www.xpuniverse.com/2001/pdfs/EP203.pdf Up-Front Design Versus Evolutionary Design In Denali's Persistence Layer] 의 글을 보면. DB 관련 퍼시스턴트 부분에 대해서도 조금씩 조금씩 발전시킬 수 있을 것 같다. 발전하는 모양새의 중간단계가 PEAA 에서의 Table/Row Gateway 와도 같아 보인다.
1. 13개월 프로젝트인데 2만라인짜리라는점 - 뭐.. 꼭 소스 라인수로 세는건 무리가 있긴 하지만. Servlet 프로젝트 2만라인. 내가 전에 팀 프로젝트로 MFC 엑셀 만들때가 1만 7천라인이였는데. -_-a 물론, Refactoring 이 잘 되어있고, XP 가 잘 적용된 프로젝트이라면 적은라인수로 많은 일을 하겠지만.
["ProjectPrometheus"]
- REFACTORING . . . . 3 matches
ISBN:0201485672 , [http://www.wowbook.com/generic/book/info/book_detail.asp?isbn=ISBN89-87939-60-X 리팩토링]
http://www.refactoring.com/catalog/index.html - Refactoring 에 대해 계속 정리되고 있다.
== Refactoring 이란 무엇인가? ==
* 기존의 "디자인 후 코딩' 법칙과 반대된다. (TestFirstProgramming 에서 UnitTest - ["Refactoring"] 이 맞물려 돌아간다)
* Refactoring 을 하기 위해서는 UnitTest code가 필수적이다. 일단 처음 Refactoring에 대한 간단한 원리를 이해하고 싶다면 UnitTest 코드 없이 해도 좋지만, UnitTest code를 작성함으로서 Refactoring 에 대한 효과를 높일 수 있다. (Refactoring 중 본래의 외부기능을 건드리는 실수를 막을 수 있다.)
== Refactoring 을 함으로써 얻는 이득 ==
== Refactoring은 언제 하는가? ==
특별히 때를 둘 필요는 없다. 틈나는 대로. Don Robert 의 The Rule of Three 원칙을 적용해도 좋을 것 같다.
* 다시 또 뭔가 비슷한 일을 한다. - Refactoring을 할 때이다. Refactoring 하라.
Three Strike 법칙은 외우기 쉬워서 처음 Refactoring 을 하는 사람들에겐 적당하다. 하지만, 저 법칙은 주로 중복이 일어날 때의 경우이고, Rename Method/Field/Variable 같은 Refactoring 은 지속적으로 해주는 것이 좋다.
그리고 다음과 같은경우 Refactoring을 함으로써 이득을 얻을 수 있다.
* Bad Smell 이 날때. - ["Refactoring/BadSmellsInCode"]
== Refactoring 공부하기 ==
Refactoring 책을 읽는 사람들을 위해. Preface 의 'Who Should Read This Book?' 을 보면 책을 읽는 방법이 소개 된다.
* Refactoring이 무엇인지 알고 싶다면 Chapter 1의 예제를 읽어나간다.
* 왜 Refactoring을 해야 하는지 알고 싶다면 Chapter 1,2를 읽어라.
* 어떤 부분을 Refactoring 해야 하는지 찾기 원한다면 Chapter 3를 읽어라.
* 실제로 Refactoring을 하기 원한다면 Chapter 1,2,3,4를 정독하고 RefactoringCatalog 를 대강 훑어본다. RefactoringCatalog는 일종의 reference로 참고하면 된다. Guest Chapter (저자 이외의 다른 사람들이 참여한 부분)도 읽어본다. (특히 Chapter 15)
그리고 Refactoring 을 이해하는데 ExtremeProgramming 을 이해하면 도움이 될 것이다.
== Refactoring 관련 토론 ==
- SuperMarket/세연 . . . . 3 matches
#include<iostream.h>
int money;
int max_num;
int cost;
int quanty;
void Inventory();
int temp;
cin >> temp;
int choice;
int quanty;
for(int i = 0 ; i < max_num ; i++)
cin >> choice;
cin >> quanty;
void supermarket::Inventory()
for(int i = 0 ; i < max_num ; i++)
int choice;
int quanty;
cin >> choice;
cin >> quanty;
int main()
- ViImproved . . . . 3 matches
Text Editor인 VI 의 확장판. [[NoSmok:CharityWare]], [[WikiPedia:Careware]] 인 아주 유연한 에디터. 처음에 접근하기 어렵지만, 익숙해지면 여러모로 편리한 응용이 가능하다.
* http://www.vim.org/scripts - vim plugin
* [Linux/Development UsingVIM]
* [[http://vim.wikia.com/wiki/Vim_Tips_Wiki|Vim Tips Wiki]]
* http://kltp.kldp.org/stories.php?topic=25 - kltp 의 vi 관련 팁 모음, 홈페이지 자체는 지원 중단됨 - DeadLink
* [[http://vimawesome.com/|vim plugin 검색 사이트]]
- WhyWikiWorks . . . . 3 matches
Why wiki works:
* any and all information can be deleted by anyone. Wiki pages represent nothing but discussion and consensus because it's much easier to delete flames, spam and trivia than to indulge them. What remains is naturally meaningful.
* anyone can play. This sounds like a recipe for low signal - surely wiki gets hit by the unwashed masses as often as any other site. But to make any sort of impact on wiki you need to be able to generate content. So anyone can play, but only good players have any desire to keep playing.
* wiki is not wysiwyg. It's an intelligence test of sorts to be able to edit a wiki page. It's not rocket science, but it doesn't appeal to the TV watchers. If it doesn't appeal, they don't participate, which leaves those of us who read and write to get on with rational discourse.
* wiki is far from real time. Folk have time to think, often days or weeks, before they follow up some wiki page. So what people write is well-considered.
* wiki participants are, by nature, a pedantic, ornery, and unreasonable bunch. So there's a camaraderie here we seldom see outside of our professional contacts.
See http://www.c2.com/cgi/wiki?WhyWikiWorks for more.
So that's it - insecure, indiscriminate, user-hostile, slow, and full of difficult, nit-picking people. Any other online community would count each of these strengths as a terrible flaw. Perhaps wiki works because the other online communities don't. --PeterMerel
- WordIndex . . . . 3 matches
This is an index of all words occuring in page titles.
* TitleIndex -- a shorter index
[[WordIndex]]
- XMLStudy_2002/Encoding . . . . 3 matches
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="EUC-KR"?>
<?xml version="1.0" encoding="KSC5601"?>
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-16"?>
<?xml version="1.0" encoding="Shift_JIS"?>
*다국어 지원 웹 컨텐츠 제작시 XML과 Unicode의 결합을 역설한 내용 : [http://www.tgpconsulting.com/articles/xml.htm]
Shuart Culshaw. "Towards a Truly WorldWide Web. How XML and Unicode are making it easier to publish multilingual
electronic documents." MultiLingual Communications & Technology. Volume 9, Issue 3
John Yunker, Speaking in Charsets: Building a Multilingual Web Site."
In WebTechniques Volume 5, Issue 9 (September 2000)
- YouNeedToLogin . . . . 3 matches
페이지 수정에 로그인이 필요한 YouNeedToLogin 모드를 적용한다면 다음과 같은 장,단점이 있을 수 있다.
* 보다 좋은 RecentChanges 페이지와 info action(파란아이)를 볼 수 있다.
''제가 페이지수정에 로그인 의무화를 주장하는 가장 큰 이유는 보기좋고 편리한 RecentChanges 입니다. 로그인이 귀찮은건 사실입니다만 보다 잘 정리된 ZeroWiki 를 사용하고 싶습니다.'' --["이덕준"]
주장하는 가장 큰이유는 아마 ["상민"] 이가 로그인 하는 id 번호를 까먹어 버려서 일것인지 모른다는 생각이 든다. id 약 7개 정도 만든것 같은데, 어째 기억나는 것은 하나도 없는지... --["neocoin"]
''id 를 ["neocoin"]페이지에 적어두는건 어떨까요. ["이덕준"] 페이지처럼 말이죠.--["이덕준"]''
''ZeroWiki는 아무나 어떠한 제한없이 로그인할 수 있습니다. 전 후자의 경우는 위키 초보자가 저지르는 실수라고 생각합니다. 로그인을 할수 있는 사용자는 그런 실수를 하지 않으리라 봅니다. 그리고 다시 말씀드리지만 그러한 작은 불편 때문에 YouNeedToLogin을 주장하는 것은 아닙니다. --["이덕준"]''
제가 RecentChanges 에 그렇게 신경이 안쓰이지만, 다른 분들이 신경이 쓰이는것 처럼, 저에게는 작은 불편으로 인식되지 않습니다. 위의 Document 에서 언급한것처럼 틀속에 갖히는 느낌이 가장 싫습니다. 그리고, 처음 오시는 분들이 자유롭게 수정못하는 것에 가장 마음이 걸립니다. 제가 http://c2.com 을 보고 받은 충격을 받고 느낀 자유로움 때문에 이런것이 작은 불편보다 더 크게 다가 옵니다. --["neocoin"]
''["로그인하기"]는 개인차원의 이익으로 개인이 선택할 문제지만, YouNeedToLogin 문제는 공공의 이익을 얘기하는 문제입니다. 전 ["로그인하기"]를 유도하고자 하는것이 아닙니다. --["이덕준"]''
한 보름 정도만 ZeroWiki를 YouNeedToLogin 모드로 사용해보길 제안합니다. 그 이후에 YouNeedToLogin 모드를 유지할지를 결정했으면 합니다. --["이덕준"]
그런데.. 보름 정도 YouNeedToLogin 모드로 사용하게 된다면, 로긴을 하지 않았을 때 글을 쓸 수 없다는 거지요? 그건, '로그인 하지 않고 글 쓰는 것' 을 막는 거겠군요. 개인의 자유에 맏겨두지 않고 말이지요. 전 반대합니다. 일단, 싫고, 자유와 가능성을 제한한다는 것이 싫습니다. --["zennith"]
YouNeedToLogin 모드가 자유와 가능성을 얼마나 크게 제한하는지, 그 제한으로 과연 우리가 얻는게 있는지 한번 경험해보자는 의도입니다. 한달을 하자는 것도 아니고 일년 동안 하자는 것도 아닙니다. 잠시 그렇게 해보자는 겁니다. 절대로 안되겠습니까. 자유와 가능성을 제한하는 것은 저 역시 싫습니다. 하지만 '절대 자유'가 최선이 아닐수도 있다는 생각을 하고 있습니다. DeletePage 액션은 관리자만이 쓸 수 있습니다. 조금만 더 유연하길 부탁드립니다. --["이덕준"]
요새들어 제로페이지 위키에 검색엔진을 통해 생성된 쓰레기 페이지들을 자주 볼 수 있습니다. 볼때마다 매번 지워주기는 하는데, 노스모크처럼 로그인을 해야 글쓰기 권한이 생기게 바꾸어 보는것도 좋겠다는 생각을 합니다. 이 페이지가 생긴게 꽤 오래전인것 같기는 하지만 YouNeedToLogin 에 대해서 다시 한번 생각해봐야 할 때가 아닌가 생각됩니다. 하지만 로그인을 해야하는 것은 방법은 위키의 철학에 위배되는게 아닌가 하는 생각도 할 수 있습니다. 굳이 로그인을 하지 않더라도 스팸성 글을 막을 수 있는 대책이 필요합니다. 예를 들어, 페이지 수정을 할 때에 난수값을 하나 찍어두고 input 필드를 하나 더 두어 이 곳에 생성된 난수값을 그대로 입력하게 하여 초기에 생성된 난수값과 같을 시에만 글을 수정하게 하는 것입니다. 물론 똑똑한 로봇들은 이를 교묘히 피해가겠지만요. - [임인택]
- ZeroWiki에서 언어습관 . . . . 3 matches
NeoCoin은 ZeroWiki 항해를 하면서 ZeroPage 가 [노스모크]와 다른 방향으로 위키의 언어 습관이 관습화 되어 가는 것을 관찰할수 있었습니다. ([노스모크]는 일상어보다 좀더 공개 석상에서 쓰이는 분위기, 어휘로 언어 습관이 형성되어 온것 같습니다.)
''과거 [노스모크]의 전례를 보았을때, 기존 회원들은 자연계처럼 자정작용이 언어습관에 적용되기를 바란것이 아닐까요? 제가 읽는 대부분의 커뮤니티에 저런 패턴의 글들이 자연 소멸했습니다. 지금 저 글을 읽기 힘들다는 느낌 자체가 신기한 경험입니다. 마치 "그놈은 멋있었다."를 읽다가 눈이 피곤한 느낌이라고 할까요? ''--NeoCoin
요즘 제로위키 글을 읽다보면, 전자라서 읽다가 그만두는 경우가 종종 발생합니다. 심하게, '글쓴이가 글이 남에게 읽힐때의 고민이 전무하다' 라고 표현할까요? 읽다 보면, 기존에 쓰여진 글들이 매우 딱딱한 문장이 아님에도 채팅과 같은 글들이 밑에 있어서, 딱딱하게 보입니다. 기말고사 시험지에 써있는 낙서, 생각의 흔적들이랄까요? 묘하게 배치된 글들을 보면서, 시간과 공간의 경험이 서로 다른 사람들의 생각과 글들이 융화되기가 참 힘들다는 생각을 가집니다. --NeoCoin
특히 NoSmok:단락나누기 와 같은 위키 쓰기에 관련한 교육이나 고민을 공유하는 시간이 적은 상태에서 진행방향은 점차 더 달라 지는 것 같습니다. 몇년후 [제로위키]는 상당히 특별한 색깔을 가지게 되지 않을까요? --NeoCoin
문단의 내용이 확인을 부탁하는 것 같아서 답변 답니다.(그렇지 않다면, 중복 문단의 존재 이유가 없겠지요?) 전자의 문장은 잘 정리하셨습니다. 허나, ''앞으로 이모티콘이 가득한 위키라는 특별한 색깔을 [제로위키]가 가지리라는 의견이시고요.'' 에는 전체 긍정을 할수 없습니다. 아직 예단할수는 없지요. '가득가득'이라니요. 내년 신입 회원이 기대되기는 하지만요. --NeoCoin
'' ...전략...위키는 과거글이 꾸준히 읽히고, 타인이 고칠수 있는 시스템입니다. 그래서 모두가 읽는데 의미 전달의 변이가 적은 표준어, 서술 형식으로 수렴되는 것을 당연하게 생각했습니다. (반대로, 게시판은 한번 쓰면 타인이 못고치고 다시는 읽지 않으니 분위기가 수렴되거나 하는 것이 적겠지요.) 그런데, [제로위키]는 최근 2년간의 모습이 재미있거든요? ...후략...'' --NeoCoin 윗글 인용
* 예, 꾸준히 제기되는 문제입니다. 과거 글이 읽히는 것까지 위키라는 시스템이 책임지지는 않지요. 이제 [제로위키]도 2000페이지가 넘었고, 각 페이지당 A4 한장이라고 생각해도, 1000장의 두꺼운 사전이니까요. 휴~, 그 중 우리가 읽고 키울것은 많게 잡아도 20% 내외 일것입니다. (200~300 페이지) 당장 사용하는 것은 10% 정도? 그러나 위키 시스템의 철학적인 면에 대한 학습과 토론의 장이 전무한 상황에서 당연한 결과 같네요. [위키요정]과 NoSmok:문서구조조정 NoSmok:WikiGardening 등의 노력이 적은게 아쉽습니다.
--NeoCoin
위의 [위키요정], 위키철학 공유에 대한 문제를 감안해도 앞으로는 새로운 ZeroWikian과 [위키요정]들이 활동하면서 이들이 공유하는 언어습관이 변화할 것을 기대합니다. 99, 00..년의 사용자들의 개인 페이지나 프로젝트 페이지, 게시판에 작성하는 글의 언어습관은 다릅니다.
--NeoCoin
- [Lovely]boy^_^/EnglishGrammer/QuestionsAndAuxiliaryVerbs . . . . 3 matches
A. In Questions, we usually put the first auxiliary verb(AV) before the subject(S)
B. In simple present questions, we use do/does(do/does)
In simple past questions, we use did
But do not use do/does/did if who/what/which is the subject of the sentence.
- [Lovely]boy^_^/USACO/BrokenNecklace . . . . 3 matches
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
ifstream fin("beads.in");
int len = 0;
string BeadsList;
void InputData();
int Process();
const string CutAndPasteBack(const string& str, int pos);
int main()
InputData();
fin.close();
void InputData()
fin >> len;
fin >> BeadsList;
int Process()
int lnum = 0;
int rnum = 0;
int max = 0;
- ddori . . . . 3 matches
* Born in 1980 November 9th
= Interested In =
=== Pianist ===
* Isao Sasaki - Sky Walker , When you wish upon a star
* Kevin Kern - Hide and Seek
* Brian Crain - Betterfly waltz
* "Legnedary" Nirvana - they were just so awesome! No one won't be able to be better than them
* Rage Against Machine
* Third eye blind - Semi-charmed life
* Boyz 2 men - they are so sweet that will melt my heart away ;)
- eXtensibleMarkupLanguage . . . . 3 matches
The Extensible Markup Language (XML) is a W3C-recommended general-purpose markup language for creating special-purpose markup languages, capable of describing many different kinds of data. In other words XML is a way of describing data and an XML file can contain the data too, as in a database. It is a simplified subset of Standard Generalized Markup Language (SGML). Its primary purpose is to facilitate the sharing of data across different systems, particularly systems connected via the Internet. Languages based on XML (for example, Geography Markup Language (GML), RDF/XML, RSS, Atom, MathML, XHTML, SVG, and MusicXML) are defined in a formal way, allowing programs to modify and validate documents in these languages without prior knowledge of their form.
* [http://www.microsoft.com/downloads/details.aspx?FamilyID=993c0bcf-3bcf-4009-be21-27e85e1857b1&DisplayLang=en MSXML SDK DOWNLOADS]
* 최근의 많은 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에 명세된 구조와 합치되어야 한다고 하네요. 이 내용에 대한 수업을 들으며 씁니다ㅋㅋㅋㅋㅋㅋㅋ - [김수경]
- 겨울방학프로젝트/2005 . . . . 3 matches
|| [ZeroWiki파워업그레이드2005] || 방학을 맞아 위키를 새롭게 업그레이드할 예정(물론 버그 수정도 같이 -_-) || 상협 현태 ||
|| [OurMajorLangIsCAndCPlusPlus] || C/C++을 자신의 주 언어로 삼고 싶은 사람들의 스터디-_- || 현태 민경 도현 수생 끝 ||
|| [PaintBox] || 시험끝났다고 놀지 말고 3일 빡세게 해서 JAVA로 그림판 짜기 || 보창 아영 선호 ||
|| [알고리즘] || Introdution to Algorithm 으로 공부 || 상섭 선호 보창 휘동 민경 도현 ||
- 고슴도치의 사진 마을처음화면 . . . . 3 matches
▶ID : celfin ( Computer Elfin )
▶Hobby : Taking a picture
▶E-mail : celfin_2002@hotmail.com(MSN), celfin@lycos.co.kr(nateon), celfin_2000@hanmail.net
▷Phillippines tour
▷American Visa
▷Mother's Digital Camera
▷Bagic Java & Linux
▷Study English
|| [Picture Link] ||
|| [http://165.194.17.5/wiki/index.php?url=zeropage&no=3818&title=알고리즘&login=processing&id=celfin&redirect=yes algorithms] ||
|| [http://165.194.17.5/wiki/index.php?url=zeropage&no=3817&title=경시대회준비반&login=processing&id=celfin&redirect=yes preparing the ACM] ||
|| [OurMajorLangIsCAndCPlusPlus] ||
|| [Celfin's ACM training] ||
|| [Celfin's English] ||
=== Information ===
ZeroWikian
- 구조체 파일 입출력 . . . . 3 matches
#include <iostream>
using namespace std;
int age;
int main()
cout << "Input name : " ;
cin >> p.name;
cout << endl << "Input age : ";
cin >> p.age;
cout << endl << "Input phone number : " ;
cin >> p.phone;
- 새싹교실/2012/AClass . . . . 3 matches
* 5주차(6/6) - C++ 기초, String + Linked list (쉬는 날도 진행)
[[pagelist(^새싹교실/2012/AClass/)]]
1. 컴파일(Compile), 빌드(Build), 링크(Linking)에 대해 책에서 찾아보고 써 주세요.
1. #include, 전처리과정이 무엇인지 쓰고, include의 예를 들어주세요.
1. #define이 무엇을 의미하는지 쓰고, 이것을 사용한 '간단한' 프로그램을 하나 작성해보세요.
1. 혜림이누나, 상희누나 과제를 for문을 각각 3개, 4개만 써서 해보세요.(hint 2*n-1)
2.#include란?
#include <stdio.h>
int main(){
int a;
printf("%d",a*a);
printf("%d",2*a);
#include <stdio.h>
int main(void)
int i;
int j;
int n;
int k;
printf(" ");
printf("*");
- 새싹교실/2012/주먹밥 . . . . 3 matches
* Linux에서 GCC를 사용한 컴파일 시범
* Wiki작성 법 및 회고 작성법 논의
* 용상훈 : 오늘 경험했던 일은 새싹교실은 "어떻게 된다"라고 설명하는 시간이었다. 처음에 새싹교실에 들어가면 무지 어색할 것 가았는데 그렇지 않았다. 컴퓨터 3대를 앞에두고 wiki에 한해서 처음 이야기를 들었다. 생소한것이어서 많이 신기하셨다. 그리고 버츄얼 박스 받고 리눅스 환경를 처음보았다. 재미있을것 같다. 그리고 가장 신기한 일은 고등학교 선배님인 박성현 선배님을 뵙는데 너무 신기 하였다. 먼저 인사를 드렸어야 했는데.. 인사드리고 전화번호도 알려드렸다. 신기한 하루였다.
* 박도건 : 캡스톤설계실(208-216)에서 김준석 선배님과, 한원표, 용상훈 동기들과 같이 3월 21일 PM6시에 gcc, Linux, android example, wiki작성법 등을 배웠다. 나랑 비슷해보이는 친구가 있어서 같이 프로젝트 할 수 있을것 같다.
* 이소라 때리기 게임을 Linux gedit를 사용해 코딩을 시켜봄.
* printf(), scanf()어떻게 쓰는지 알죠?
* int, char, float, long, double 변수는 무슨 표현을 위해 만들어졌는지 알려주었습니다. 정수, 문자, 실수. 알죠?
* #define 선언문의 사용법에 대해 알려주었습니다. #define으로 매크로를 선언해놓으면 편하게 선언 단어를 만들음으로 쓸수있지용? 그 응용에 대해서는 다음에 기회가 되면 알려주겠습니다.
{{{#!plain cpp
#include<stdio.h>
int main() {
int a,b,c,d;
printf("%d %d %d",a,b,c);
#include <stdio.h>
int main(void)
int num;
printf("Input integer.");
printf("Leap");
printf("Leap");
printf("Normal");
- 알고리즘8주숙제 . . . . 3 matches
==== 1. Friendly Coins ====
Given the denominations of coins for a newly founded country, the Dairy Republic, and some monetary amount, find the smallest set of coins that sums to that amount. The Dairy Republic is guaranteed to have a 1 cent coin.
Give a greedy method, which is heuristic, to solve the 0/1 knapsack problem and also give an example to show that it does not always yield an optimal solution.
The kanpsack problem is defined as follows:
Given positive integers P<sub>1</sub>, P<sub>2</sub>, ..., P<sub>n</sub>, W<sub>1</sub>, W<sub>2</sub>,..., W<sub>n</sub> and M.
Find X<sub>1</sub>, X<sub>2</sub>, ..., X<sub>n</sub>, 0 ≤ X<sub>i</sub> such that
∑P<sub>i</sub>X<sub>i</sub> (1 ≤ i ≤ n) is maximized subject to ∑W<sub>i</sub>X<sub>i</sub> ≤ M (1 ≤ i ≤ n) .
Give a greedy method to find an optimal solution of the knapsack problem and prove its correctness.
==== 4. Job Scheduling ====
Consider the problem of scheduling n jobs on one machine. Describe an algorithm to find a schedule such that its average completion time is minimum. Prove the correctness of your algorithm.
==== 5. Optimal Binary Tree ====
Optimal Binary Tree는 Dynamic Programming 기법으로 풀리는 유명한 문제입니다. 그누스 형님 방법에 의하면 O(n<sup>2</sup>)으로 풀립니다. 그러나 우리는 이보다 점근적으로 더 빠른 휴리스틱 버전을 작성해야 합니다.
다음과 같이 input 이 들어온다고 가정합시다. 여기서 맨 앞 하나의 정수는 노드의 수를 나타냅니다. 그 밑으로 노드에 대한 정보가 입력됩니다. 노드의 처음은 key 값이고, 그 다음 값은 확률(확률은 1이상의 정수로 임의로 입력) 입니다. 하나의 노드를 검색했을때 실패하는 경우는 없다고 가정합시다. 최적의 평균탐색시간을 가지는 이진탐색트리를 구현하고 다음을 출력하시오.
Inorder 순회를 통해 각 키값을 모두 출력하고, 또한 각 키값의 탐색시간의 합계를 출력하시오.
===== input =====
alph 3 beta 7 theta 10 |}}
{{| alph beta theta
|| [Leonardong] || 2h || [http://wiki.zeropage.org/trac/leonardong/browser/AlgorithmTrainning/OptimalBST.py] ||
|| 김상섭 || 엄청 || [AproximateBinaryTree/김상섭] ||
- 인수/Smalltalk . . . . 3 matches
Transcript cr; show: a; show: ' * '; show: b; show: ' = '; show: a*b; printString.
RWBoard>>initialize: aSize
RWBoard>>isAllPut
RWBoard>>setValidLocation: num
^self new initialize:aSize.
curRow := aBoard setValidLocation: curRow.
curCol := aBoard setValidLocation: curCol.
[ aBoard isAllPut = false. ] whileTrue: [ self moveOne:aBoard. ].}}}
- 코바용어정리 . . . . 3 matches
== 동적 호출 인터페이스(DII : Dynamic Invocation Interface) ==
== 동적 스켈레톤 인터페이스(DSI : Dynamic Skeleton Interface) ==
ORB 인터페이스는 애플리케이션에 중요한 지역 서비스에 대한 API들로 구성되어 있지 않다. 이것은 곧바로 ORB로 가는 인터페이스이고 모든 ORB들에 대해 동일하다.ORB 인터페이스는 객체 어댑터 또는 객체 인터페이스에 의존하지 않는다. 대부분의 ORB의 기능이 객체 어댑터, 스텁, 스켈레톤 또는 동적 호출 등을 통해서 제공되므로 몇몇 오퍼레이션만이 모든 객체들에 대해 공통이다. 공통 오퍼레이션에는 get_interface와 get_implementation 같은 함수가 포함되어 있는데, 이것들은 임의의 객체 레퍼런스에 작용하며 각각 인터페이스 저장소 객체와 구현 저장소 객체를 얻는 데 사용된다.
- 콤비반장의메모 . . . . 3 matches
만화 형사 가제트(Inspector Gadget)에서 콤비 반장(Chief Quimby)은 형사 가제트에게 비밀 지령을 내릴땐 항상 자동 폭파되는 특별한 메모지를 사용하곤 했다. 그러나 인터넷 시대를 맞이한 콤비 반장은 이제 메모지 대신 한번만 사용할 수 있는 파일을 사용하려고 한다. ["콤비반장의메모"]와 같은 일회용 정보는 컴퓨터로 어떻게 구현할 수 있을까.
메모리를 mp3 버퍼.. (e.g. 32kByte) 를 더블 버퍼로 잡아서, 네트워크로 더블 버퍼링 시스템으로, 네트웍으로 받은 자료로 다음 버퍼를 채우고.. 이런 형식으로 버퍼를 채운 다음에, 플러그 인 형식으로 배포하는건 어떨까요. 머.. 이건 winamp 에만 한정되겠지요. - [zennith]
그냥 생각이 갑자기 나서 몇자 적어 봅니다. 자기 자신이 압축을 풀 수 있는 Zip - self-..어쩌구였는데 그러한 형태로 만들고 마지막에 분리한 데이타 파일을 지우는 식으로 만들어 봐도 재미있을꺼 같다는 생각이 들어서 .. 다 아는 건가? - fnwinter [정직]
* hint: Zip file format - Self Extractor 와 비슷한 아이디어.
[출처]매일경제 -- fnwinter 헉...화학물질...컴퓨터 공학이 아니넹..
see also UriWiki:InstantMp3Player
- 타도코코아CppStudy/0728 . . . . 3 matches
* TableDrivenProgramming
ZeroWiki:STL
ZeroWiki:DevelopmentinWindows
#include <iostream>
using namespace std;
int main()
|| ZeroWiki:RandomWalk2 || [CherryBoy] || Upload:randomWork2_CheRy.cpp || 다시 ||
|| 마방진(홀수) || [CherryBoy] || Upload:MaBangJin_CherRy.cpp || . ||
- 프로그래밍언어와학습 . . . . 3 matches
DeleteMe) 제목짓는 센스가 없는 관계로;; 원글의 뜻에 맞게 제목을 고쳐주시기를; Rename & Refactor This Page; --석천
* 학교에서 C++ 배운다고 하드웨어 건드리나. -_-; (전전공이라면 몰라도..) 컴퓨터공학과의 경우 학교에서 C++ 배워도 어셈블러 레벨까지 다루는 사람이 별로 없다고 할때, C++ 을 배웠다고 시스템레벨 까지의 깊은 이해가 필요없었다는 점인데.. 글을 읽으면, 마치 '교육용 언어로 C, C++ 을 배웠다면 시스템 레벨까지 이해할 것' 처럼 쓴 것 같다고 생각. (C, C++ 포인터를 레퍼런스 이상의 개념으로 쓴적이 있었나.. --a) 차라리 '우리는 전전공 출신에 하드웨어제어 해본 사람 뽑습니다' 라고 할것이지..쩝. Domain-Specific 한 부분을 생각치 않고서는 시스템 프로그래머에게서는 늘 자바와 Script Language 는 '군인을 나약하게 만드는 무기' 일 수밖에 없으니까.
* Language != Domain. 물론, Domain 에 적합한 Language 는 있더라도. 이 글이건 Talkback 이건.. 두개를 동일시 본다는 느낌이 들어서 좀 그렇군. (나도 가끔은 Java Language 와 Java Platform 을 똑같은 놈으로 보는 우를 범하긴 하군. -_-;)
The fatal metaphor of progress, which means leaving things behind us, has utterly obscured the real idea of growth, which means leaving things inside us.
--G. K. Chesterton (1874-1936), British author. Fancies Versus Fads, "The Romance of Rhyme" (1923).
- 프로그래밍잔치/첫째날 . . . . 3 matches
I. '''ZeroWiki Name Space 설명, 토론 앞으로의 발전 방향 토론 (["페이지이름"]) '''
* ZeroWiki 의 FeedBack 에 관하여 이야기 해보자.
* ZeroWiki를 사용할때 지켜야할 제 1 원칙을 제시 한다.
* '''Think Difference 낯선 언어와의 조우'''
* M VisualBasic - 무
=== 시간 - Think Different! 낯선언어와의 조우! ===
* Python 은 메소드(함수, 프로시저)의 길이가 7줄을 넘으면 안된다. line 기준
- 프로젝트 . . . . 3 matches
* [XpWeek] - 2004년 겨울방학 ExtremeProgramming 체험하기
* [ZeroPageMagazine] - 미완성
* 참고 페이지 - [GuiTesting]
* [TheJavaMan] - 2004년 3월 2일 종료
* [TheJavaMan/비행기게임] - 2004년 3월 2일 종료
* [TheJavaMan/숫자야구] - 2004년 1/26일 종료
- 02_Python . . . . 2 matches
= 02 Python Seminar =
''Who is "내" here?'' - 봐라용 :)
* 대부분의 정보는 Learning Python 에서 발최 .. 그책이 가장 쉬울꺼 같습니다.
= Date of Seminar =
= Main Contents =
* 가장 정확하게 말하자면 객체 지향 스크립 언어이다. (see also Ousterhout's IEEE Computer article ''Scripting: Higher Level Programming for the 21st Century'' at http://home.pacbell.net/ouster/scripting.html )
see also http://fallin.lv/PythonRumors
* Infoseek 이란 포탈 싸이트는 일부 검색엔진을 파이썬 기반으로 사용한다
* Industrial Light and Magic 사는 파이썬을 사용하여 광고용 에니메이션을 제작한다
#include <stdio.h>
int main(void)
printf("Hello World\n");
#include <iostream.h>
int main()
public static void main(String[] args)
System.out.println("Hello World");
Print "Hello World"
=== Quick Sort in Python ===
def qsort(aList):
if not aList:
- 1thPCinCAUCSE/null전략 . . . . 2 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 를 사용했습니다.
["1thPCinCAUCSE/ProblemB"]
한 20분정도 잘못진행했었는데, 첫번째는 ["1002"] 가 B 번문제를 제대로 이해하지 못했고 (앞부분만 읽고, 문제의 input-output 을 거꾸로 판단), 두번째는 input 이 100 일때의 output 예상치를 잘못계산한 상태에서 이를 근거로 Test Driven 을 시도해서 추후 발견뒤 테스트를 수정하는동안 시간을 낭비했습니다.
Sample 로 제공한 데이터들을 만족시키는 코드는 작성하였으나, 여전히 변수들이 다 뽑아져지지 않아서, 임의의 결과데이터 (100인 경우) 에 대해 예상되는 결과를 생각하고 코드를 작성한뒤, 코드와 결과들, 코드로부터 발견되는 변수들을 토대로 연습장에 기록을 했고, 그러던중 ["neocoin"] 이 일반화 공식을 찾아내었습니다.
적절히 중복코드를 삭제하고 난 뒤, 한 5분정도 Input-Output 코드를 iostream 과 ["STL/vector"] 를 사용하여 작성한 뒤 이를 제출, 통과했습니다.
["1thPCinCAUCSE/ProblemA"]
지난번 IPSC 경험때는 맨땅에 해딩하는 느낌이였는데, 이번에는 비록 입상하지 못했지만, 각각의 과정들이 의식적으로 일어난 점에 대해서 개인적으로는 즐거웠고 명쾌했습니다. 급조되어 2주만에 만난 Pair 치고 손발이 잘 맞았습니다. (이건 방학 두달동안 ["ProjectPrometheus"] 때 하도 서로 싸워대어서. -_-;)
마지막으로, 2주만에 만난 팀의 전략을 쓴다니, 약간 사기죠 ^^; --["neocoin"]
["1thPCinCAUCSE"]
- ACM_ICPC/2013년스터디 . . . . 2 matches
* dynamic programming - [http://211.228.163.31/30stair/eating_together/eating_together.php?pname=eating_together 끼리끼리]
* linked list - [http://211.228.163.31/30stair/josephus/josephus.php?pname=josephus&stair=11 josephus]
* 퀵 정렬,이진검색,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 공격적인 소]
* dynamic programming - [http://211.228.163.31/30stair/subset/subset.php?pname=subset 부분 합]
* greedy method - [http://211.228.163.31/30stair/quick_change/quick_change.php?pname=quick_change 거스름돈], [http://211.228.163.31/30stair/germination/germination.php?pname=germination 발아]
* bisection - [http://211.228.163.31/30stair/crossed_ladder/crossed_ladder.php?pname=crossed_ladder crossed ladder]
* BackTracking문제 1문제
* [http://211.228.163.31/30stair/inflate/inflate.php?pname=inflate inflate]
* Binary Indexed Tree
* inflate 모르겠다 알려줘
* jumping_cow
* [http://stackoverflow.com/questions/2631726/how-to-determine-the-longest-increasing-subsequence-using-dynamic-programming Time Complexity O(n log n) 의 Up Sequence]
* [http://211.228.163.31/30stair/bridging/bridging.php?pname=bridging&stair=15 bridging - binary indexed tree를 이용한 Up Sequence 문제]
* Consonants, Pogo, The Great Wall
* 김태진 : Dynamic Programming 6.1~6.3
* Shortest Path : DAG(directed acyclic graphs)로 바꾼 후 Source에서부터 dist(v) = min{dist(v) + l(u,v)}사용
* Longest increasing subsequence : DAG로 바꾼다.(increasing하는 곳에만 edge생성됨) 이후 가장 많이 방문하도록 L(j) = 1+ max{L(i) : (i,j)}수행
* Edit distance : 글자 최소 오류개수 구하기 (exponential과 polynomial의 최소 오류는 6개.)
=== Need to Discuss ===
* Stack부분에서 Histogram 문제
- ACM_ICPC/PrepareAsiaRegionalContest . . . . 2 matches
=== at On-line Preliminary Contest(Oct. 2, 2004) ===
==== Solution of Problem C. Mine Sweeper ====
#include <iostream>
#include <fstream>
using namespace std;
int main()
ifstream fin;
fin.open("C.in");
int nTest;
fin >> nTest;
int nMine;
for ( int t = 0 ; t < nTest ; t++ ){
fin >> nMine;
const int MAX = 1001;
static int workspace[MAX][MAX];
for ( int i = 0 ; i < MAX ; i++ )
for ( int j = 0 ; j < MAX ; j++ )
int x, y;
for ( int m = 0 ; m < nMine ; m++ ){
fin >> x >> y;
- ActiveXDataObjects . . . . 2 matches
{{|Microsoft ADO (ActiveX Data Objects) is a Component object model object for accessing data sources. It provides a layer between programming languages and databases, which allows a developer to write programs which access data, without knowing how the database is implemented. No knowledge of SQL is required to access a database when using ADO, although one can use ADO to execute arbitrary SQL commands. The disadvantage of this is that this introduces a dependency upon the database.
= in .NET Framework =
{{|In the newer programming framework of .NET, Microsoft also present an upgraded version of ADO called ADO.NET, its object structure is quite different from that of traditional ADO. But ADO.NET is still not quite popular and mature till now.
ADO 는 ActiveX 이므로 C++ 이건 VB 이건 Python 이건 어디서든지 이용가능. 하지만, 역시나 VB 나 Python 등에서 쓰는게 편리. 개인적으로는 ODBC 연동을 안하고 바로 ADO 로 C++ Database Programming 을 했었는데, 큰 문제는 없었던 기억. (하긴, C++ 로 DB Programming 할 일 자체가 거의 안생겨서..) --[1002]
- Ajax2006Summer/프로그램설치 . . . . 2 matches
* 전체 SDK를 다 받지 않아도 됩니다. Callisto에 의해서 전부 설치할 수 있습니다.
* 필요한 것은 '''Eclipse 3.2 Platform Runtime Binary''' 입니다. 용량은 33메가 정도입니다 : [http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/R-3.2-200606291905/eclipse-platform-3.2-win32.zip LINK]
3. Workspace 설정 후 '''Help''' - '''Software Updates''' - '''Find and Install''' 을 선택합니다.
4. 다음 다이얼로그에서는 '''Search for new features to install''' 을 선택 후 '''Next>'''를 클릭합니다.
5. 맨 위의 '''Callisto Discovery Site'''에 체크박스를 한 후 '''Finish'''를 클릭합니다.
6. 여러개의 미러사이트가 있지만 맨 위의 것 '''Callisto Discovery Site''' 를 선택합니다.
9. '''Finish''' 를 선택합시다. 그러면 알아서 다운로드를 합니다.
10. 다운로드가 끝나면 중간에 설치할 것이냐고 물어보는데 '''Install All'''을 선택해 줍시다.
- AnEasyProblem . . . . 2 matches
=== Input ===
=== Sample Input ===
- AnEasyProblem/강소현 . . . . 2 matches
||Problem|| 2453||User||talin0528||
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
while(sc.hasNextInt()){
int i = sc.nextInt();
printJ(i);
private static void printJ(int i){
int [] bin = binI(i);
int num = 0, count=0;
while(num<bin.length-1){
if(bin[num] == 1){
if(bin[num+1] == 0){
bin[num+1] = 1;
bin[num] = 0;
bin[num] = 0;
bin[count++] = 1;
int result = 0;
for(int k=0; k<bin.length;k++){
result += bin[k]*Math.pow(2,k);
- AppletVSApplication/영동 . . . . 2 matches
* Thinking In Java에서 찾아 썼습니다.
* main() 함수를 반드시 포함한다.
* 애플리케이션과는 달리 main()함수가 필요없다.
["JavaStudyInVacation/진행상황"]
- Athena . . . . 2 matches
* Object Programming 수업의 숙제를 위한 페이지입니다
|| http://zeropage.org/~mulli2/Athena/Logo.bmp ||
DeleteMe 이름은 좋습니다. 하지만 ["Athena"] 라는 이름의 페이지에는 여신 아테나에 대한 정의와 소개가 들어 있는 것이 올바른 것이겠지요. 그래서 ["ProjectPrometheus"], ["ProjectZephyrus"] 라고 한거랍니다. ;; --["neocoin"]
* 첫 회의 - 프로젝트 이름 결정, 기본 코딩 스타일 결정, 첫 ["PairProgramming"] 호흡
* Contrast Stretching 작성(20분) - 명훈
* Histogram Equlisation (30분) - 명훈
* contrast stretching할때 입력값 받지않는 것으로 수정(20분) - 명훈
* 2.1 Sampling => 모자이크 이미지
* 5.6 Posterizing
* 5.6.2 Thereshold
* 5.7 Clipping
* 5.8 Iso-intensity Contouring
* 5.9 Range- highlighting
* 5.10 Solize using a Threshold
* 6.2 Sharpening
* 6.4 Embossing
* 6.5 Median Filtering
* 7.1 Contrast Stretching
* 7.2 Histogram Equlisation
=== To Do List ===
- AustralianVoting/Leonardong . . . . 2 matches
#include <iostream>
#include <vector>
using namespace std;
#define IntVector vector<int>
#define CandidatorVector vector<Candidator>
#define VoteSheetVector vector<VoteSheet>
int votedCount;
IntVector candidateNum;
bool isWin( const Candidator & candidator, int n )
int current( const VoteSheet & sheet )
int pop_front( VoteSheet & sheet )
return *sheet.candidateNum.erase( sheet.candidateNum.begin() );
void collectVoting( CandidatorVector & candidators, const VoteSheetVector & sheets )
for ( int i = 0 ; i < sheets.size() ; i++ )
void markFall( CandidatorVector & candidators, const int limit )
for ( int i = 0 ; i < candidators.size() ; i++ )
int minVotedNum( const CandidatorVector & candidators )
int result = INT_MAX;
for ( int i = 0 ; i < candidators.size() ; i++ )
bool isUnionWin( const CandidatorVector & candidators )
- BasicJAVA2005/실습1/송수생 . . . . 2 matches
public static void main(String[] args) {
int[] arry = new int[3];
int[] temp = new int[3];
int strike=0;
int ball=0;
for(int i=0; i<3; i++)
arry[i]=number.nextInt(9);
System.out.println("입력:");
Scanner scannumber = new Scanner(System.in);
for(int i =0; i<3; i++)
temp[i]=scannumber.nextInt();
for(int i=0; i<3; i++)
else for(int j=0; j<3; j++)
System.out.print("Strike=");
System.out.print(strike);
System.out.print("Ball=");
System.out.println(ball);
- BasicJava2005/3주차 . . . . 2 matches
== String에 대하여 ==
* String은 Java에서 기본적으로 지원하는 String을 저장하는 자료형
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line = br.readLine();
system.out.println(br);
e.printStackTrace();
Scanner sc = new Scanner(System.in);
int x = sc.nextInt();
* C/C++의 #include 와 using namespace의 결합형
* [http://pllab.kw.ac.kr/j2seAPI/api/index.html] : 한글 5.0 API 문서
== ArrayList ==
- BeeMaja . . . . 2 matches
[http://online-judge.uva.es/p/v101/10182.html 원문보기]
[http://online-judge.uva.es/p/v101/p10182a.gif] [http://online-judge.uva.es/p/v101/p10182b.gif]
=== Input ===
=== Sample Input ===
- CPPStudy_2005_1/STL성적처리_2 . . . . 2 matches
= Info =
= Input Text =
#include <cstdlib>
#include <iostream>
#include <string>
#include <fstream>
#include <map>
#include <vector>
#include <algorithm>
#include <numeric>
using namespace std;
vector<string> tokenize(const string& line);
bool save_map(vector<string>&, map< string, vector<int> >&);
double total(const vector<int>&);
bool print_report(ostream&,
const map< string, vector<int> >,
double accu(const vector<int>&) = total);
int main(int argc, char *argv[]) {
string line;
vector<string> token;
- CPPStudy_2005_1/STL성적처리_2_class . . . . 2 matches
= Info =
= Input Text =
[[NewWindow("http://www.zeropage.org/viewcvs/www/cgi/viewcvs.cgi/accelerated_cpp_stl_grade/?root=sapius", "source code")]]
- CarmichaelNumbers/문보창 . . . . 2 matches
중간에 발생하는 버그를 잡는데 대부분의 시간을 허비했다. 65000 이란 수는 작지만 65000의 제곱은 int형의 범위를 벗어난다. ㅡㅡ; 오버플로우를 교모히 이용한 함정에 고생했다.
Carmichael Numbers를 찾는 Theorem이 있는 듯하다. 그러나 때려맞추기(?)로 문제를 풀어도 풀린다. 그러나 속도는 떨어진다.
#include <iostream>
#include <cmath>
using namespace std;
const int NORMAL = 1;
const int CARMICHAEL = 2;
bool isPrime(int n);
void show(int n, int type);
bool isCarmichael(int n);
bool passFermatTest(int a, int n);
int findModulo(unsigned int a, unsigned int n);
int main()
int n; // n = input integer ( 2 < n < 65,000)
while (cin >> n && n != 0)
if (isPrime(n))
continue;
if (isCarmichael(n))
bool isPrime(int n)
for (int i = 3; i <= sqrt(n) + 1; i += 2)
- CeeThreadProgramming . . . . 2 matches
//http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt__beginthread.2c_._beginthreadex.asp
#include <windows.h>
#include <stdio.h>
#include <process.h>
printf( "In second thread...n" );
printf( "Thread ID %d => %dn", pArguments, Counter);
int main()
printf( "Creating second thread...n" );
// Create the second thread.
hThread = (HANDLE)_beginthreadex( NULL, 0, &ThreadedFunction, NULL, 0, &threadID );
hThread2 = (HANDLE)_beginthreadex( NULL, 0, &ThreadedFunction, NULL, 0, &threadID2 );
InitializeCriticalSection(&cs);
// Wait until second thread terminates. If you comment out the line
// below, Counter will not be correct because the thread has not
// terminated, and Counter most likely has not been incremented to
//WaitForSingleObject( hThread, INFINITE );
//printf( "Counter should be 1000000; it is-> %dn", Counter );
// Destroy the thread object.
= Linux pthread =
#include <stdio.h>
- ChocolateChipCookies . . . . 2 matches
[http://online-judge.uva.es/p/v101/10136.html 원문보기]
=== Input ===
=== Sample Input ===
- ClassifyByAnagram/1002 . . . . 2 matches
hotspot 으로 프로파일링 돌린뒤 중간 쓸데없어보이는 코드들 마구마구 삭제. 가장 병목지점은 Anagram.register, {{{~cpp WordElement}}} (지금은 input 갯수 n 에 대해 n 번 실행)
나중에 Psyco bind 하고 나서는 4.4 초.
P3 933, 128 RAM Win98 Python2.2 + Psyco 에서 돌림.
def __init__(self, anAnagramTable, out=os.sys.stdout):
for key in anAnagramTable.iterkeys():
out.write(' '.join(anAnagramTable[key]) + "\n")
def __init__(self):
def read(self, anIn=os.sys.stdin):
for word in anIn:
self.register(word.strip())
def register(self, aWord):
aw=''.join(WordElement(aWord))
result=list(aWord)
psyco.bind(WordElement)
psyco.bind(Anagram)
psyco.bind(Formatter)
if __name__=="__main__":
print "time : ", end-start
- CommentMacro . . . . 2 matches
특정 페이지 하단에 {{{[[Comment]]}}}를 넣으면 http://moniwiki.kldp.net/''''''에서 보이듯이 맨 하단에 CommentMacro가 붙게 됩니다.
$extra_macros=array('FootNote','Comment');
/!\ Comment 매크로 이외에 자신이 만든 매크로가 맨 하단에 들어가도록 위의 방법을 쓰실 수 있습니다. 위의 방법으로 [[FootNoteMacro]]와 [[CommentMacro]]를 넣은 예입니다.
- CommonPermutation . . . . 2 matches
[http://online-judge.uva.es/p/v102/10252.html 원문보기]
=== Input ===
=== Sample Input ===
walking
the
- Counting . . . . 2 matches
[http://online-judge.uva.es/p/v101/10198.html 원문보기]
=== About [Counting] ===
=== Input ===
=== Sample Input ===
|| 김상섭 || C++ || . || [Counting/김상섭] ||
|| 황재선 || Java || . || [Counting/황재선] ||
|| 문보창 || C++ || . || [Counting/문보창] ||
|| 하기웅 || C++ || 2시간 || [Counting/하기웅] ||
- CryptKicker . . . . 2 matches
[http://online-judge.uva.es/p/v8/843.html 원문보기]
=== Input ===
=== Sample Input ===
또 gh, ing, ed, the, a 와같은 자주출현하는 글자쌍도 존재한다. 만약 암호화된 코드에 덩그라니 한글자짜리 x 가 존재한다면 그것은 a일 가능성이 높아진다. 또 qer가 있따면 이것은 the가 될 확률이 높아지는것이고.
- CryptKicker2 . . . . 2 matches
[http://online-judge.uva.es/p/v8/850.html 원문보기]
알려진 평문 공격법(known plain text attack)이라는 강력한 암호 분석 방법이 있다. 알려진 평문 공격법은 상대방이 암호화했다는 것을 알고 있는 구문이나 문장을 바탕으로 암호화된 텍스트를 관찰해서 인코딩 방법을 유추하는 방법이다.
여러 줄의 텍스트가 주어졌을 때 같은 케이스에서는 모든 줄에서 같은 치환 방법을 사용한다고 가정하고 그 중 한 줄은 the quick brown fox jumps over the lazy dog라는 평문을 암호화한 것이라는 점을 이용해서 암호화된 텍스트를 복호화하라.
=== Input ===
=== Sample Input ===
now is the time for all good men to come to the aid of the party
the quick brown fox jumps over the lazy dog
programming contests are fun arent they
- DPSCChapter3 . . . . 2 matches
== Intent ==
http://zeropage.org/~comein2/design_pattern/31page.gif
== Discussion ==
구조를 가지게 된다. 가령 CarEngine 하위 구조의 엔진들, CarBody 구조의 body 등등을 가지게 된다.
(결국, 각각이 CarEngine을 Base Class로 해서 상속을 통해 Ford Engine,Toyota Engine등등으로 확장될 수 있다는 말이다.)
http://zeropage.org/~comein2/design_pattern/32page.gif
구체화 없이 관계된 혹은 의존적인 객체 집합을 만들기 위한 인터페이스를 제공하는" (Intent 부분에서 언급한 내용)
클래스이다. 그것은 추상적인 상품 생성 함수들(makeCar,makeEngine,makeBody)을 정의한다. 그 때 우리는 상품 집합 당
http://zeropage.org/~comein2/design_pattern/33page.gif
CarPartFactory>>makeEngine
FordFactory>>makeEngine
^FordEngine new
ToyotaFactory>>makeEngine
^ToyotaEngine new
http://zeropage.org/~comein2/design_pattern/34page.gif
"Create the top-level part, the car object which starts out having no subcomponents, and add an engine, body, etc."
addEngine: factory makeEngine;
만약, 팩토리가 FordFactory의 인스턴스였다면, 자동차에 추가되기 위해 얻어진 엔진은 FordEngine일 것이다. 만약 팩토리가 ToyotaFactory였다면, ToyotaEngine은 팩토리의 makeEngine에 의해서 만들어 질 것이고, 그 때 자동차에 추가될 것이다.
car addEngine:
ifTrue: [FordEngine new]
- DataCommunicationSummaryProject/Chapter9 . . . . 2 matches
* cellular networks가 예상보다 빠르게 성장한데 비하여,short-range mobile systems은 덜 성공적이였다.그 이유에는 속도,유선에 비하여 신뢰성의 떨어짐, 경쟁적인 기준이 있다.물론 Cordless phones 처럼 인기있는것도 있지만, 점점 범위를 늘리려고 한다. 또한roaming에서의 실패성이 많다.적외선이 laptop 이나 PDA에서 거의 사용되지만 잘 사용되지 않는다.
* 적외선 사용이 실패였지만 아직도 많은 연구와 회사의 사용이 있다.4세대 모바일 시스템으로 주목 받고 있다.roaming하는데 별 어려움 없이 랜과 3새대 휴대폰과 Bluetooth와의 연결도 가능할 것이다.
* ISM(Industrail,Scientific, and Medical) 는 의사소통을 위한것이 아니다. 따라서 이 범위의 주파수는 국가에서 나두었다. 그래서 무선 전화나 무선 랜에서 사용된다.
* ISM 2.4 는 여러 국가에서 모두 사용가능한 주파수 범위이다.따라서 너무나 많은 곳에서 사용하므로 완전 사장보다 더 복잡하다. 그러니 스프레드 스펙트럼을 사용한다. 하지만 11Mbps이상은 능력이 딸린다.
* IEEE 802.11b보다는 Wi-Fi 나 무선 이터넷이 우리에게 잘 알려져 있다. 물론 IEEE 802.11b를 기준으로 한다. Wireless Fidelity(통신에서 충실도의 뜻으로 많이 쓰인다. 예를 들어 " a high ~ receiver 고성능 라디오(cf. HI-FI) ") 의 약자이다. WECA(the Wireless Ethernet Compatiility Alliance)의 트레이드 마크이기도 하다.
* CCK(Complementary Code Keying)라고 불리는DSSS의 2.4GHZ를 사용한다. 물론 기존의 기계와 호환성을 기진다. MAC하는 방법은 CSMA/CA(여기서 A는 avoidance이다 유선과는 틀리다) half-duples이다.shared이다. 대역폭이 11Mbps이지만 오보헤드가 심하다. 여기에다가 쉐어드이니 장에가 심하면 1-2Mbps밖에 안된다.하지만 데이터 전송률은 쓸만하다. 이러한 낭비를 줄이려고 차세대로 갈수록 물리적인 데이터 율을 줄인다.
* ad-hoc networking
* access point networking
=== Roaming ===
* Ad-hoc networking in HiperLan : 중간의 노드를 거쳐서 가는것 같다. 잘 모르겠다.
=== Weakness in WEP ===
* built-in key management system - 이건 잘 모르겠다. 가증한 키는 제한되어 있고, 해킹하는 데에는 선형시간이 걸린다.
* Infrared LANs : 볼거 없다. 그냥 적외선으로 랜 하는거다.
* Frequency Hopping을 사용한다.
* 짧은 거리 무선 시스템은 허가되지 않은 주파수 영역을 사용한다. 이것들은 대화를 위해 공개될수 있고, ISM 어플리케이션과 공유될수 있다.
* 가장 유명한 무선 랜 기술은 IEEE 802.11b(2.4GHz의 ISM 대역폭에서 11Mbps의 속도를 낼수 있는) 이다.
- DebuggingSeminar_2005 . . . . 2 matches
||[[ISBN(0735615365)]]||
|| [DebuggingSeminar_2005/UndName] || UndName 사용법 ||
|| [DebuggingSeminar_2005/DebugCRT] || Debug CRT 라이브러리 활성화 예제. extracted from Debugging Application ||
|| [DebuggingSeminar_2005/AutoExp.dat] || VC IDE의 Watch 윈도우에 사용자 데이터형의 표현형을 추가하는 파일 ||
|| [http://www.sysinternals.com/ SysInternal] || [http://www.sysinternals.com/Utilities/ProcessExplorer.html Process Explorer Page] ||
|| [http://www.dependencywalker.com/ DependencyWalker] || Dependency Walker (Included at VS6) ||
|| [http://www.compuware.com/products/devpartner/enterprise.htm DevPartner] || Compuware DevPartner ||
|| [http://www.compuware.com/products/devpartner/softice.htm SoftIce for DevPartner] || 데브파트너랑 연동하여 쓰는 SoftIce, [http://www.softpedia.com/get/Programming/Debuggers-Decompilers-Dissasemblers/SoftICE.shtml Freeware Download] ||
|| [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tools/tools/rebase.asp ReBase MSDN] || Rebase is a command-line tool that you can use to specify the base addresses for the DLLs that your application uses ||
|| [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/_core_viewing_decorated_names.asp undname.exe] || C++ Name Undecorator, Map file 분석툴 ||
|| [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런타임 라이브러리 ||
[Debugging] [Debugging/Seminar_2005] [Seminar] [DebuggingApplication]
- DirectVariableAccess . . . . 2 matches
스몰토크 진영에서는 IndirectVariableAccess를 선호했다. 그러다가 켄트아저씨가 DirectVariableAccess를 써 보고는 그것의 가독성에 놀랐다.
하지만 이 클래스가 상속이 될 가능성이 있다면, setter/getter를 오버라이딩 해서 사용할수 있으므로, IndirectVariableAccess를 쓰는 것이 괜찮다.
void Point::setXnY(int xNumber, int yNumber)
- EdsgerDijkstra . . . . 2 matches
* http://www.cs.utexas.edu/users/EWD/indexEWDnums.html - Dijkstra 의 컬럼들을 읽을 수 있는 곳.
* [http://www.cs.utexas.edu/users/EWD/ewd02xx/EWD227.PDF StepwiseProgramConstruction] - Structured Programming
* [http://www.cs.utexas.edu/users/EWD/ewd03xx/EWD340.PDF TheHumbleProgrammer]
위의 Stepwise Program Construction과 The Humble Programmer는 초강력 추천. 감동의 물결. 아마 그 글을 읽고 몇 주 동안은 여러가지 실험을 해보며 흥미진진하게 보내게 될 것이며, 몇 몇은 프로그래밍에 획기적인 전환점을 맞이할 수 있을 것이라 믿음. --김창준
[http://www.cs.utexas.edu/users/UTCS/notices/dijkstra/ewdobit.html 2002년 8월 6일 타계]. 위대하다고 불리는 인물들이 동시대에 같이 살아있었다는 것, 그리고 그 사람이 내가 살아있는 동안에 다른 세상으로 떠났다는 사실이란. 참 묘한 느낌이다. --["1002"]
- EightQueenProblem/강인수 . . . . 2 matches
#include <iostream>
#include <vector>
#include <cmath>
#include <algorithm>
using namespace std;
const int N = 8;
int fac(int n)
int ret = 1;
for(int i = 2 ; i <= n ; ++i)
bool isCorrectChecker(vector<int>& ar)
for(int i = 0 ; i < ar.size() ; ++i)
for(int j = 0 ; j < ar.size() ; ++j)
vector< vector<int> > getCorrectChecker(vector<int>& ar)
vector< vector<int> > ret;
for(int i = 0 ; i < fac( ar.size() ) ; ++i)
next_permutation(ar.begin(), ar.end());
if( isCorrectChecker(ar) )
void showResult(vector< vector<int> >& result)
for(int i = 0 ; i < result.size() ; ++i)
for(int j = 0 ; j < result[i].size() ; ++j)
- EightQueenProblem/임인택/java . . . . 2 matches
int QUEEN;
int Queen[][];
Queen(int noq)
Queen = new int[QUEEN][QUEEN];
for(int i=0; i<QUEEN; i++)
public void get_Queen(int x, int y)
if(y==QUEEN-1) print_result();
for(int i=0; i<QUEEN; i++)
public void print_result()
int i,j;
System.out.print(Queen[j][i] + " ");
System.out.println();
public void reset(int fromline)
int i,j;
for(j=fromline; j<QUEEN; j++)
public boolean check(int i, int j)
int x, y, sum=0;
public static void main(String args[])
System.out.println("ex) java Queen NumofQueens");
Queen myqueen = new Queen(Integer.parseInt(args[0]));
- Ellysavet . . . . 2 matches
아무런 소식이 없어서, ZeroPagers 에서 ZeroWikian 으로 분류를 바꾸었습니다. 원하시면 언제든지 참여해 주세요. --NeoCoin
["홈페이지분류"],["ZeroWikian"]
- English Speaking/The Simpsons/S01E04 . . . . 2 matches
= There's no disgrace like home =
Homer : Another beer, Moe.
Moe : What's-a matter, Homer? Bloodiest fight of the year.
You're sitting there like a thirsty bump on a log.
Police 1 : Evening, Moe.
Moe : Two bucks, boys. Just kidding.
Police 2 : Good one, Moe. We're looking for a family of Peeping Toms...
who's been terrorizing the neighborhood.
Let the nice people enjoy their beers.
Ah, don't worry. This dog has the scent.
Police 1 : What's gotten into Bobo?
Homer : I got some wieners in my pocket.
Homer : You know, Moe, my mom once said something that really stuck with me.
She said, " Homer, you're a big disappointment."
And God bless her soul, she was really on to something.
Homer : You can't talk that way about my kids! Or at least two of them.
[English Speaking/2011년스터디]
- EnglishSpeaking/TheSimpsons/S01E01 . . . . 2 matches
= Title : Simpsons Roasting on an Open Fire =
* Lisa, Patty
* Marge + Lisa
* Interviewer + Teacher
Marge : Hmm. I get the feeling there's something you haven't told me, Homer.
Marge : You tell me that all the time.
Homer : I don't deserve you as much as a guy with a fat wallet...and a credit card that won't set off that horrible beeping.
Marge : I think it does have something to do with your Christmas bonus. I keep asking for it,but--
Homer : Well, I would- I- I wanna do the Christmas shopping this year.
[EnglishSpeaking/TheSimpsons]
- EnglishSpeaking/TheSimpsons/S01E04 . . . . 2 matches
= There's no disgrace like home =
Homer : Another beer, Moe.
Moe : What's-a matter, Homer? Bloodiest fight of the year.
You're sitting there like a thirsty bump on a log.
Police 1 : Evening, Moe.
Moe : Two bucks, boys. Just kidding.
Police 2 : Good one, Moe. We're looking for a family of Peeping Toms...
who's been terrorizing the neighborhood.
Let the nice people enjoy their beers.
Ah, don't worry. This dog has the scent.
Police 1 : What's gotten into Bobo?
Homer : I got some wieners in my pocket.
Homer : You know, Moe, my mom once said something that really stuck with me.
She said, " Homer, you're a big disappointment."
And God bless her soul, she was really on to something.
Homer : You can't talk that way about my kids! Or at least two of them.
[English Speaking/2011년스터디]
- EuclidProblem . . . . 2 matches
[http://online-judge.uva.es/p/v101/10104.html 원문보기]
=== Input ===
=== Sample Input ===
- Expat . . . . 2 matches
Expat is a stream-oriented XML 1.0 parser library, written in C. Expat was one of the first open source XML parsers and has been incorporated into many open source projects, including the Apache HTTP Server, Mozilla, Perl, Python and PHP.
James Clark released version 1.0 in 1998 while serving as technical lead on the XML Working Group at the World Wide Web Consortium. Clark released two more versions, 1.1 and 1.2, before turning the project over to a group led by Clark Cooper, Fred Drake and Paul Prescod in 2000. The new group released version 1.95.0 in September 2000 and continues to release new versions to incorporate bug fixes and enhancements. Expat is hosted as a SourceForge project. Versions are available for most major operating systems.
To use the Expat library, programs first register handler functions with Expat. When Expat parses an XML document, it calls the registered handlers as it finds relevant tokens in the input stream. These tokens and their associated handler calls are called events. Typically, programs register handler functions for XML element start or stop events and character events. Expat provides facilities for more sophisticated event handling such as XML Namespace declarations, processing instructions and DTD events.
Expat's parsing events are similar to the events defined in the Simple API for XML (SAX), but Expat is not a SAX-compliant parser. Projects incorporating the Expat library often build SAX and DOM parsers on top of Expat.
http://www.xml.com/pub/a/1999/09/expat/index.html
- ExtremeProgrammingExplained . . . . 2 matches
[[ISBN(0321278658)]]
ExtremeProgramming 의 철학을 소개한 서적. 저자 KentBeck. TheThreeExtremos 중 한명. 얼마전에 2판이 나왔다.
[책분류] [ExtremeProgramming] [ExtremeProgrammingInstalled] [ExtremeProgrammingExplained2/E]
- Functor . . . . 2 matches
[BuildingParserWithJava]를 보다가 12장에서 처음 접한 단어. FunctionObject를 부르는 말이다.
from Wikipedia:
A function object, often called a functor, is a computer programming construct allowing an object to be invoked or called as if it were an ordinary function, usually with the same syntax. The exact meaning may vary among programming languages. A functor used in this manner in computing bears little relation to the term functor as used in the mathematical field of category theory.
비슷한 구현에 대해서 OO 쪽에서는 MethodObject 라 부르기도 함. (Refactoring에 나옴) 구현 모양상으로 보면 CommandPattern, C++ 진영에서는 Functor 가 일반적인 표현.; --[1002]
- Googling . . . . 2 matches
{{|Google, Inc (NASDAQ: GOOG), is a U.S. public corporation, initially established as a privately-held corporation in 1998, that designed and manages the internet Google search engine. Google's corporate headquarters is at the "Googleplex" in Mountain View, California, and employs over 4,000 workers.|}}
Google, Inc 는 미국의 공공기업이다. 이 기업은 1998년에 개인적으로 설립된 회사이다. 이 회사는 구글 인터넷 검색엔진을 설계하고 운영한다. 구글은 Mountain View 에 Googleplex에 본사를 두고 있다. 그리고 4000명 이상의 사원이 있다.
||Upload:googleplex-mountain-view.jpg||
|| [[ISBN(1931836361)]] ||
|| link || 주어진 URL의 링크를 포함한 모든 페이지를 보여줍니다 ||
|| allintitle || 페이지의 제목만을 이용해서 검색한다. 내용에서는 찾지 않는다. ||
|| allintext || 페이지의 본문을 이용해서 검색한다. ||
|| allinurl || URL 링크에서 존재하는 문장을 통해서 검색한다. ||
|| allinanchor || 링크된 글안에서 검색을 한다. ||
검색엔진에서 {{{~cpp operating system concepts filetype:ppt}}} 를 쳐보자.
[http://www.google.com/apis/ Google API]
[http://www.google.com/apis/maps/ Google Map API]
[http://www.google.com/apis/adwords/ Google AdWords API]
[SearchEngine]
- GotoStatementConsideredHarmful . . . . 2 matches
SeeAlso : PPR:GotoConsideredTheBestProgrammingPracticeEverInvented PPR:GotoStillConsideredHarmful PPR:GotoConsideredHarmful
- GuiTesting . . . . 2 matches
GuiTesting 을 하는 이유는 여러가지가 있을 수 있다. GUI Programming 에 대한 TestFirstProgramming 에 대한 시도를 할 수 있기 때문이다. 해당 UI Control을 하나하나 만드는 일부터 시작할 수 있다. 하지만, 보통의 경우 UI Control을 만드는 일들은 IDE 툴들에서 하는 것이 더 편하다. GuiTesting 은 해당 이벤트 발생시에 따른 처리과정에 대한 TestFirstProgramming 을 시도하려고 할 때 도움을 줄 것이다.
대부분의 경우는 TFP를 하는중에 logic 부분과 UI 부분을 분리함으로서 GuiTesting 을 복잡하게 하는 요소들을 줄일 수 있다. 그러면서 Model - View - Controler 의 형태가 유도되어질 것이다.
MVC 는 View 단을 테스트하기에 적합하지 않은 면이 있다. 그래서 ModelViewPresenter 로 해보니 좋았다. --NeoCoin
See Also wiki:Wiki:GuiTesting, wiki:Wiki:GuiUnitTesting, [http://www.xp123.com/xplor/xp0001/ JavaGuiTesting] , ["GuiTestingWithMfc"], ["GuiTestingWithWxPython"]
- GuiTestingWithWxPython . . . . 2 matches
expected = "testing"
def testListBox(self):
expected = ('testing1', 'testing2', 'testing3')
self.assertEquals(expected, self.frame.getListItemsTuple())
def OnInit(self):
if __name__=="__main__":
unittest.main(argv=('','-v'))
def __init__(self, parent=NULL, id=NewId(), title='test', pos=(400,400), size=(400,400)):
wxFrame.__init__(self, parent, id, title, pos, size)
self.button = wxButton(self, ID_BUTTON, "testing", pos=(100,100), size=(200,50))
self.listBox = wxListBox(self, NewId())
self.listBox.Append('testing1')
self.listBox.Append('testing2')
self.listBox.Append('testing3')
def getListItemsTuple(self):
retList = []
for idx in range(self.listBox.Number()):
retList.append(self.listBox.GetString(idx))
return tuple(retList)
def OnInit(self):
- HanoiTowerTroublesAgain! . . . . 2 matches
[http://online-judge.uva.es/p/v102/10276.html 원문보기]
=== About [HanoiTowerTroublesAgain!] ===
[http://online-judge.uva.es/p/v102/p10276.jpg]
=== Input ===
=== Sample Input ===
|| 문보창 || C++ || 10분 || [HanoiTowerTroublesAgain!/문보창] ||
|| 황재선 || Java || 50분 || [HanoiTowerTroublesAgain!/황재선] ||
|| 하기웅 || C++ || 원랜 1시간, 문보창 XXX 때문에 말렸음ㅡㅡ; || [HanoiTowerTroublesAgain!/하기웅] ||
|| 이도현 || C++ || Closed Form 구하는 데(1시간 30분), 코딩 5분 || [HanoiTowerTroublesAgain!/이도현] ||
|| [조현태] || C++ || ? || [HanoiTowerTroublesAgain!/조현태] ||
- HanoiTowerTroublesAgain!/조현태 . . . . 2 matches
== [HanoiTowerTroublesAgain!/조현태] ==
#include <iostream>
#include <Windows.h>
#include <vector>
#include <cmath>
using namespace std;
bool IsCanPut(int baseBallNumber, int putBallNumber)
if (sqrtNumber == (double)(int)sqrtNumber)
int GetMaxBallNumber(int stickNumber)
int ballCount = 0;
vector<int> lastBallNumbers;
bool isPut = FALSE;
for (register int i = 0; i < stickNumber; ++i)
if (IsCanPut(lastBallNumbers[i], ballCount + 1) || 0 == lastBallNumbers[i])
isPut = TRUE;
if (FALSE == isPut)
void main()
int testCaseNumber;
cin >> testCaseNumber;
for (int i = 0; i < testCaseNumber; ++i)
- HanoiTowerTroublesAgain!/황재선 . . . . 2 matches
public int readNumber() {
return new Scanner(System.in).nextInt();
public boolean canBallPut(int[] prev, int peg, int ballNumber) {
public int maxBall(int numOfPeg) {
int[] prevNumber = new int[numOfPeg + 1];
int ballNumber = 1;
int oldBallNumber = 0;
for(int peg = 1; peg <= numOfPeg; peg++) {
if (ballNumber == Integer.MAX_VALUE) {
public void printNumberOfBall(int numOfBall) {
System.out.println(numOfBall);
public static void main(String[] args) {
int testCase = hanoi.readNumber();
for(int i = 0; i < testCase; i++) {
int numOfPeg = hanoi.readNumber();
int numOfBall = hanoi.maxBall(numOfPeg);
hanoi.printNumberOfBall(numOfBall);
[HanoiTowerTroublesAgain!]
- HardcoreCppStudy/두번째숙제/CharacteristicOfOOP/김아영 . . . . 2 matches
'''* 데이터 은닉(Data Hiding)'''
데이터 은닉이란 모듈이 그것이 갖는 기능들을 명세한 인터페이스(interface)를 통해서만 접근되고, 그 기능을 구현하는 방법은 다른 모듈로부터 은닉되도록 하는 것을 말한다. 캡슐화된 객체의 외부 인터페이스를 엄밀히 정의함으로써 독립적으로 작성된 모듈간의 상호 종속성을 극소화하여 캡슐화된 객체는 외부 인터페이스만을 통하여 접근될 수 있도록 한다면, 세부적인 구현 상세 사항에 대해서는 객체내에 은닉시킬 수 있다. 또한 캡슐화된 객체는 객체 구현내역을 변경, 혹은 향상시킬 때 이 객체를 사용하는 타 객체들을 변경하거나 다시 컴파일하지 않도록 할 수 있다. 또 모듈의 내부 구현 사항들이 외부의 접근으로부터 보호될 수 있음으로, 그 객체의 정당성을 보증할 수 있으며, 오류가 발생되었을 경우에 오류는 한 모듈내로 국지화될 수 있다.
'''* 상속성(Inheritance) '''
추상화란, 객체가 자신의 정보를 안에 감추고 있으면서 외부에 구체적인 것이 아닌 추상적인 내용만을 알려주는 것을 말한다. 때문에 추상화란 정보의 은닉(Information Hiding)이라고도 한다.
'''* 다형성(Polymorphism) '''
- Hartals . . . . 2 matches
[http://online-judge.uva.es/p/v100/10050.html 원문보기]
=== Input ===
=== Sample Input ===
- HaskellLanguage . . . . 2 matches
* [http://en.wikibooks.org/wiki/Programming:Haskell Haskell Programming Wikibook]
* [http://pub.hal3.name/daume02yaht.pdf Yet another haskell tutorial] : Haskell 입문시에 도움이 된다.
* [BeginningHaskellLanguage]
== Haskell Interpreters ==
* 저 위에보면, featuring static typing, higher-order functions, polymorphism, type classes and modadic effects 라고 있는데, 이것들이 아마 haskell language의 큰 특징들이 아닐까 한다. 각각에 대해서 알아두는게 도움이 될듯. ([http://www.nomaware.com/monads/html/ monad관련자료])- 임인택
Multiple declarations of `Main.f'
[[include(틀:ProgrammingLanguage)]]
- HelpOnActions . . . . 2 matches
* `info`: 페이지 정보 및 과거 이력
* `print`: 페이지를 프린트 뷰로 보기. 상단과 하단의 메뉴가 나오지 않고 콘텐츠를 위주로 나옵니다.
* `subscribe`: 페이지 구독 SubscribePlugin 참조
* `titleindex`: 페이지 목록을 텍스트로 보내거나 (Self:?action=titleindex) XML로 (Self:?action=titleindex&mimetype=text/xml'''''') 보내기; MeatBall:MetaWiki 를 사용할 목적으로 쓰임.
모니위키의 모든 액션은 MoniWikiActions 페이지를 통해 보실 수 있습니다.
- HelpOnSubPages/SubPages . . . . 2 matches
This is a example page
* ["../"] (anonymous parent link)
* [wiki:../ free parent link]
* MoniWiki/DownLoad
* XWindows
- History지도 . . . . 2 matches
* ["WikiBackupHistory"] - 위키페이지 발전 현황
* ["WikiProjectHistory"] - 위키에 열렸던 프로젝트에 대한 과거기록
* ["ZPBoardHistory"] - ZeroPage 홈페이지에 있었던 예전 게시판
* ["Z&D토론/History"] - ZeroPage & Devils 통합관련. (추후 정리 필요)
* [ZeroPageHistory] - ZeroPage의 역사정리
- HotterColder . . . . 2 matches
[http://online-judge.uva.es/p/v100/10084.html 원문보기]
=== Input ===
=== Sample Input ===
- HowToStudyRefactoring . . . . 2 matches
["Refactoring"]을 혹은 동명의 책을 공부하는 법
OOP를 하든 안하든 프로그래밍이란 업을 하는 사람이라면 이 책은 자신의 공력을 서너 단계 레벨업시켜 줄 수 있다. 자질구레한 기술을 익히는 것이 아니고 기감과 내공을 증강하는 것이다. 혹자는 DesignPatterns 이전에 ["Refactoring"]을 봐야 한다고도 한다. 이 말이 어느 정도 일리가 있는 것이, 효과적인 학습은 문제 의식이 선행되어야 하기 때문이다. DesignPatterns는 거시적 차원에서 해결안들을 모아놓은 것이다. ["Refactoring"]을 보고 나쁜 냄새(Bad Smell)를 맡을 수 있는 후각을 발달시켜야 한다. ["Refactoring"]의 목록을 모두 외우는 것은 큰 의미가 없다. 그것보다 냄새나는 코드를 느낄 수 있는 감수성을 키우는 것이 더 중요하다. 본인은 일주일에 한 가지씩 나쁜 냄새를 정해놓고 그 기간 동안에는 자신이 접하는 모든 코드에서 그 냄새만이라도 확실히 맡도록 집중하는 방법을 권한다. 일명 ["일취집중후각법"]. 패턴 개념을 만든 건축가 크리스토퍼 알렉산더나 GoF의 랄프 존슨은 좋은 디자인이란 나쁜 것이 없는 상태라고 한다. 무색 무미 무취의 無爲적 自然 코드가 되는 그날을 위해 오늘도 우리는 리팩토링이라는 有爲를 익힌다. -- 김창준, ''마이크로소프트웨어 2001년 11월호''
* Minimize Comments : 코드의 가독성을 떨어뜨리지 않거나 혹은 오히려 올리면서 주석을 최소화하도록 노력한다. 이렇게 하면, 자동으로 리팩토링이 이뤄지는 경우가 많다.
* Pair Refactoring : 함께 리팩토링한다. 혼자 하는 것 보다 훨씬 빨리 훨씬 더 많은 것을 배울 수 있다. 특히, 각자 작성했던 코드를 함께 리팩토링하고, 제삼자의 코드를 또 함께 리팩토링해 보라. 사람이 많다면 다른 페어가 리팩토링한 것과 서로 비교하고 토론해보라.
* Separate The What From The How : "어떻게"와 "무엇을"을 분리하도록 하라. 어떤 리팩토링이 창발하는가?
- InterMapIcon . . . . 2 matches
#redirect InterWikiIcons
- IsBiggerSmarter?/문보창 . . . . 2 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)이다.
#include <fstream>
#include <vector>
#include <algorithm>
#include <iostream>
using namespace std;
fstream fin("input.txt");
const int MAX_ELEPHANT = 1100;
int index;
int weight;
int IQ;
int input_elephant_info(Elephant * e);
void count_elephant(Elephant * elephant, int num_elephant);
int main()
int num_elephant = input_elephant_info(elephant);
int input_elephant_info(Elephant * e)
int count = 0;
while (fin >> e[count].weight >> e[count].IQ)
e[count].index = count + 1;
- Java Study2003/첫번째과제/곽세환 . . . . 2 matches
자바의 주된 특징은 기존의 C/C++ 언어의 문법을 기본적으로 따르고, C/C++ 언어가 갖는 전처리기, 포인터, 포인터 연산, 다중 상속, 연산자 중첩(overloading) 등 복잡하고 이해하기 난해한 특성들을 제거함으로써 기존의 프로그램 개발자들이 쉽고 간단하게 프로그램을 개발할 수 있도록 합니다.
자바는 C++와는 달리 처음부터 객체지향 개념을 기반으로 하여 설계되었고, 객체지향 언어가 제공해 주어야 하는 추상화(Abstraction), 상속(Inheritance), 그리고 다형성(Polymorphism) 등과 같은 특성들을 모두 완벽하게 제공해 주고 있습니다. 또한, 자바의 이러한 객체지향적 특성은 분산 환경, 클라이언트/서버 기반 시스템이 갖는 요구사항도 만족시켜 줄 수 있습니다.
자바는 서로 다른 이종(Heterogeneous)의 네트워크 환경에서 분산 되어 실행될 수 있도록 설계되었습니다. 이와 같은 환경에서는 응용 프로그램들이 다양한 하드웨어 아키텍쳐 위에서 실행될 수 있어야만 합니다. 이를 위해 자바 컴파일러는 이종의 하드웨어 및 소프트웨어 플랫폼에서 효율적으로 코드를 전송하기 위해 설계된 아키텍쳐 중립적인 중간 코드인 바이트코드를 생성합니다. 이는 동일한 자바 프로그램의 자바 바이트코드가 자바 가상머신이 설치되어 있는 어떤 플랫폼에서도 실행될 수 있도록 하는 것입니다. 또한, 자바는 기본 언어 정의를 엄격하게 함으로써 효율적인 이식성을 제공해 주고 있습니다. 예를 들어, int 형과 같은 기본 데이터형의 크기를 플랫폼과 무관하게 일정하게 하고, 연산자의 기능을 확실하게 규정하고 있습니다. C 언어를 이용하여 int 형을 선언할 때, 도스에서는 16비트, 윈도우 95/98/NT 등 32비트 운영 체제 환경에서는 32비트, 유닉스에서는 32비트 등 그 플랫폼에 따라 크기가 다르지만, 자바에서는 플랫폼에 상관없이 32비트로 고정되도록 하였습니다. 이는 자바 프로그램이 실행되는 환경이 자바 가상머신으로 동일하기 때문입니다.
인터프리터(Interpreter) 방식이다:
자바 언어로 작성된 자바 프로그램을 중간언어 형태인 자바 바이트코드로 컴파일하고, 이렇게 생성된 자바 바이트코드를 자바 인터프리터가 해석함으로써, 자바 인터프리터와 런타임 시스템이 이식(porting)된 모든 플랫폼에서 자바 바이트코드를 직접 실행할 수 있습니다.
public static void main(String args[]) {
System.out.println("Hello World!");
- Java/JDBC . . . . 2 matches
* @throws ClassNotFoundException
public static void main(String[] args) throws SQLException, ClassNotFoundException {
String url = "jdbc:oracle:thin:@localhost:1521:NSH2";
예전에 resin 에서 tomcat으로 바꾸면서 jdbc 설정하는거 몰라서 대박이었는데... -_-; - eternalbleu
- Java2MicroEdition . . . . 2 matches
* Profile : Mobile Information Device Profile (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의 기본이 되고 있다.
* [http://zeropage.org/~dduk/development/j2me/midp-2_0-src-windows-i686.zip midp 2.0 (win용)]
* [http://eclipseme.sourceforge.net/ eclipse j2me plugin]
- JavaStudy2002/상욱-2주차 . . . . 2 matches
public static void main(String[] args) {
int xRoach = 1 , yRoach = 1;
int tempX = 0, tempY = 0;
continue;
for (int i = 0 ; i <= 11 ; i++){
for (int j = 0 ; j <= 11 ; j++){
for (int k = 1 ; k <= 10 ; k++){
for (int l = 1 ; l <= 10 ; l++){
public boolean boardState(int x , int y ) {
public int randomNumber_1() {
return rand.nextInt(10000);
public int randomNumber_2() {
return rand.nextInt(40000);
public int moveUpandDown() {
return (randomNumber_1()%3)-1; // -1 is left, 1 is right.
public int moveSide() {
return (randomNumber_2()%3)-1; // -1 is up, 1 is down.
private int boardCount[][] = new int [10][10];
for (int i = 0 ; i <= 9 ; i++){
for (int j = 0 ; j <= 9 ; j++){
- JavaStudy2004/이용재 . . . . 2 matches
import javax.swing.*;
public class HumanBeing
private String name;
private int statue;
public HumanBeing()
name = JOptionPane.showInputDialog("이름 입력");
public void my_name_is()
System.out.println(name);
JOptionPane.showMessageDialog(null, "I am taking a rest =.=;");
JOptionPane.showMessageDialog(null, "I am studying T.T");
public static void main(String [] args)
HumanBeing Lee = new HumanBeing();
Lee.my_name_is();
함수명이나 변수명을 지을 때 mynameis같이 쓰면 나중에 보거나 딴 사람이 보았을 때 이해하기가 힘들 수 있으니 myNameIs나 my_name_is처럼 각 단어끼리 구분 짓는 습관을 갖는 것이 좋다고 생각합니다. --[강희경]
- JollyJumpers/서지혜 . . . . 2 matches
{{{#include <stdio.h>
#include <memory.h>
#include <math.h>
int main(){
int count;
int a[3000];
bool isJ[3000];
if(feof(stdin)) break;
if(feof(stdin)) break;
for(int i=0; i<count; i++){
memset(isJ, false, 3000);
for(int i=1; i<count; i++){
int index = abs(a[i]-a[i-1]);
if(isJ[index]) {
goto NOT_JOLLY;
isJ[index] = true;
for(int i=1; i<count; i++){
if(isJ[i]==true);
goto NOT_JOLLY;
if(count==2&&isJ[1])
- KnowledgeManagement . . . . 2 matches
* Theoretical
* I : Information
* S : Sharing
* http://en.wikipedia.org/wiki/Knowledge_management
- LC-Display . . . . 2 matches
[http://online-judge.uva.es/p/v7/706.html 원문보기]
=== About [LC-Display] ===
=== Input ===
=== Sample Input ===
|| 문보창 || C++ || . || [LC-Display/문보창] ||
|| 곽세환 || C++ || 1시간10분 || [LC-Display/곽세환] ||
|| 상협재동 || C++ || 1시간50분 || [LC-Display/상협재동] ||
|| 김상섭 || C++ || ㅡㅜ || [LCD-Display/김상섭] ||
- Lines In The Plane . . . . 2 matches
==== Recurrent Problems - Lines In The Plane ====
What is the maximum number L<sub>n</sub> of regions defined by lines("unfolding" or "unwinding") in the plane?
===== mathematical expression =====
- Linux . . . . 2 matches
[[include(틀:OperatingSystems)]]
[[https://groups.google.com/forum/#!msg/comp.os.minix/dlNtH7RRrGA/SwRavCzVE7gJ 전설적인 서문]]
Hello everybody out there using minix -
I'm doing a (free) operating system (just a hobby, won't be big and
professional like gnu) for 386(486) AT clones. This has been brewing
since april, and is starting to get ready. I'd like any feedback on
things people like/dislike in minix, as my OS resembles it somewhat
(same physical layout of the file-system (due to practical reasons)
among other things).
I've currently ported bash(1.08) and gcc(1.40), and things seem to work.
This implies that I'll get something practical within a few months, and
are welcome, but I won't promise I'll implement them :-)
Linus (torv...@kruuna.helsinki.fi)
PS. Yes - it's free of any minix code, and it has a multi-threaded fs.
It is NOT protable (uses 386 task switching etc), and it probably never
will support anything other than AT-harddisks, as that's all I have :-(.
리눅스와 비슷한 운영체제로는 정통적인 유닉스 클론 이라고 평가받는 [: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설정에 어느정도 리눅스의 구조에 대해서 익힌 사람들이 리눅스를 운영하기 위한 전반적 기초지식의 대부분을 습득 할 수 있는 수작이라고 생각된다.
[Linux/탄생과의미]
[Linux/배포판]
- MineSweeper . . . . 2 matches
[http://online-judge.uva.es/p/v101/10189.html 원문보기]
=== About MineSweeper ===
=== Input ===
=== Sample Input ===
|| [문보창] || C++/Python || 50분/40분 || [MineSweeper/문보창] ||
|| [이승한] || Flash/java?? || ? || [MineSweeper/이승한] ||
|| [황재선] || Java || ? || [MineSweeper/황재선] ||
|| [신재동] || C++ || 40분 || [MineSweeper/신재동] ||
|| [김회영] || C++ || ? || [MineSweeper/김회영] ||
|| [Leonardong] || [Python] || 3시간 3분 || [MineSweeper/Leonardong] ||
|| [곽세환] || C++ || 30분+ || [MineSweeper/곽세환] ||
|| [김민경] || Py || || [MineSweeper/김민경] ||
|| 김태훈 [zyint] || python || || [MineSweeper/zyint] ||
|| [허아영] || C++ || 1시간 || [MineSweeper/허아영] ||
|| 김상섭 || C++ || 많이..ㅡㅜ || [MineSweeper/김상섭] ||
- MineSweeper/Leonardong . . . . 2 matches
class MineGround:
def __init__(self, aRowSize, aColSize, aInfo ):
self.ground = list()
for row in range( aRowSize ):
for row in range( aRowSize ):
for col in range( aColSize ):
self.ground[row][col] = Room( aInfo[row][col] )
def __init__(self, aKind):
self.kind = aKind
return self.kind is aRoom.kind
def mine(): # static method
mine = staticmethod( mine )
class MineSweeper:
def __init__(self, aGround):
def computeMineCount( self, aRow, aCol ):
for d in self.direction:
if Room.mine().equals(self.ground.getZone( aRow + d[0], aCol + d[1])):
for row in range( self.ground.rowSize ):
for col in range ( self.ground.colSize ):
result[row] = result[row] + str( self.computeMineCount(row, col) )
- MineSweeper/신재동 . . . . 2 matches
=== MineSweeper/신재동 ===
#include <iostream>
#include <vector>
using namespace std;
const int MINE = -1;
const int MOVE[3] = {-1, 0, 1};
void initializeBoard(int maxRow, int maxCol, vector< vector<int> >& board)
for(int i = 0; i < maxRow; i++)
bool isInBoard(int row, int col, int moveRow, int moveCol, const vector< vector<int> >& board)
void checkMine(int row, int col, vector< vector<int> >& board)
for(int i = 0; i < 3; i++)
for(int j = 0; j < 3; j++)
isInBoard(row, col, i, j, board) ||
(board[row + MOVE[i]][col + MOVE[j]] == MINE))
continue;
void setMinesOnBoard(vector< vector<int> >& board)
for(int i = 0; i < board.size(); i++)
cin.get(); // 이 한 줄이 삽질의 원흉!!
for(int j = 0; j < board[0].size(); j++)
char c = cin.get();
- MoniWikiBugs . . . . 2 matches
Please see MoniWiki:MoniWikiBugs
- MoniWikiIdeas . . . . 2 matches
See MoniWiki:MoniWikiIdeas
- MoniWikiTodo . . . . 2 matches
MoniWiki:MoniWikiTodo
- NetworkDatabaseManagementSystem . . . . 2 matches
The network model is a database model conceived as flexible way of representing objects and their relationships. Its original inventor was Charles Bachman, and it was developed into a standard specification published in 1969 by the CODASYL Consortium. Where the hierarchical model structures data as a tree of records, with each record having one parent record and many children, the network model allows each record to have multiple parent and child records, forming a lattice structure.
The chief argument in favour of the network model, in comparison to the hierarchic model, was that it allowed a more natural modeling of relationships between entities. Although the model was widely implemented and used, it failed to become dominant for two main reasons. Firstly, IBM chose to stick to the hierarchical model in their established products such as IMS and DL/I. Secondly, it was eventually displaced by the relational model, which offered a higher-level, more declarative interface. Until the early 1980s the performance benefits of the low-level navigational interfaces offered by hierarchical and network databases were persuasive for many large-scale applications, but as hardware became faster, the extra productivity and flexibility of relational systems won the day.
'''from wikipedia.org'''
- NumberBaseballGame/jeppy . . . . 2 matches
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
void main() {
int i;
printf("%d input number : ", i+1);
printf(" 중복된 숫자를 입력하시면 안됩니다. 다시 입력해주세요.\n");
//printf("%d : %s\n", i, number_log[i]);
printf("You lose~\nThe answer is %c%c%c", hidden_num[0], hidden_num[1], hidden_num[2]);
int number[3];
int i, temp_i, num, j;
printf("Make number..\n");
//printf("%c %c %c \n", p[0], p[1], p[2]);
//printf("%d %d %d \n", number[0], number[1], number[2]);
int i, j, k;
int strike = 0;
int ball = 0;
printf("You win~!!\n");
printf("out!!\n");
- OurMajorLangIsCAndCPlusPlus/string.h . . . . 2 matches
string.h - string과 관련된 라이브러리
|| void * memccpy(void * dest, const void * scr, int c, unsigned int count) || Copies characters from a buffer. ||
|| void * memmove(void * dest, const void * scr, size_t count) || Moves one buffer to another. ||
|| int memcmp(const void * buf1, const void * buf2, size_t count) || Compare characters in two buffers. ||
|| int memicmp(const void * buf1, const void * buf2, unsigned int count) || Compares characters in two buffers (case-insensitive). ||
|| void * memset(void * dest, int c, size_t count) || Sets buffers to a specified character. ||
|| void * memchr(const void * buf, int c, size_t count) || Finds characters in a buffer. ||
|| char * strcpy(char * strDestination , const char * strSource ) || Copy a string. ||
|| char * strncpy(char * strDestination, const char * strSource, size_t count) || Copy characters of one string to another ||
|| char * strcat(char * strDestination, const char * strSource) || Append a string. ||
|| char * strncat(char * strDestination, const char * strSource, size_t count) || Append characters of a string. ||
|| int strcmp(const char *stirng1, const char *string2) || Compare strings. ||
|| int strcmpi(const char *stirng1, const char *string2) || Compares two strings to determine if they are the same. The comparison is not case-sensitive. ||
|| int stricmp(const char *stirng1, const char *string2) || Perform a lowercase comparison of strings. ||
|| int strncmp(const char *string1, const char *string2, size_t count) || Compare characters of two strings. ||
|| int strnicmp(const char *string1, const char *string2, size_t count) || Compare characters of two strings without regard to case. ||
|| char * strset(char *string, int c) || Set characters of a string to a character. ||
|| char * strnset(char *stirng, int c, size_t count) || Initialize characters of a string to a given format. ||
|| size_t strlen(const char *string) || Get the length of a string. ||
|| int strcoll(const char * stirng1, const char * stirng2) || Compare strings using locale-specific information. ||
- PHP . . . . 2 matches
PHP약어를 풀어쓰면 PHP: Hypertext Preprocessor입니다. 약어의 첫번째 글자가 약어이기 때문에 많은 사람에게 혼란을 줍니다. 이와 같은 약어를 재귀적 약어라고 부릅니다. 궁금하신 분은 Free On-Line Dictionary of Computing사이트를 방문해보세요.
- 비슷한 예로 GNU(GNU's Not Unix) 를 들 수 있을까요..? ^.^a - [임인택]
= Study History =
|| [PHP Programming] ||
* [PHPStudy2005/RWAPMInstall]
* [PHP Programming/HtmlTag]
* [zyint/php]
* [http://www.phpschool.com/v2/index.html PHP School]
* [http://ko.blog.influx.kr/2012/04/php.html PHP: 잘못된 디자인의 프랙탈]
- PairProgramming . . . . 2 matches
http://pairprogramming.com/images/pairprogrammers.gif
== Pair Programming Approach ==
PairProgramming 을 적용해보는 방법, 스타일 등등
* Pair Refactoring - 꼭 소스 코드가 아니더라도 위키 페이지에 대한 ["문서구조조정"] 을 하는 경우에도 적용할 수 있다. 특히, 해당 토론이 벌어진뒤 양론으로 나누어졌을 경우, 각 의견 지지자들이 Pair 로 문서구조조정을 할때 이용할 수 있다.
* Protocol Analysis, 지식의 전달 - Seminar:CognitivePsychology 참조. 다른 사람의 사고과정을 관찰하고, 또한 자신의 사고과정을 다른 사람으로 하여금 관찰할 수 있게 해준다. 이는 자신의 프로그래밍 과정중 잘못된 부분을 고치는데 도움을 준다.
== Pair Programming 에 대한 오해? ==
* Junior : Expert 간 격차에 따른 효율성의 문제 - [http://www.caucse.net/phpwiki/index.php?PairProgramming PairProgramming]
PairProgramming 의 다른 적용 예로서 PairSynchronization 이 있다.
== PairProgramming 경험기 ==
* Pair 의 진행을 이끌어가는 것 - 프로그래밍의 흐름이라고 해야 할까. 디자인을 어느정도 선정도로 맞추고 어떠한 문제를 풀 것인가에 대한 약간의 선이 필요할 것 같다. 이 경우에는 초반 디자인이 허술했었다는 약점이 있었다. '전체적인 관점에서 무엇무엇을 하면 프로그램이 완성될 것이다' 라는 것. UserStory 만 생각하고 EnginneringTask 를 간과한 것이 큰 문제였다. (그때 EnginneringTask 에 대한 개념이 없었었다는. 어디서 함부로 주워만 지식. --; 사고를 하자 사고를. -_-)
* ExtremeProgrammingPlanning 이라는 책을 보면 해결책을 구할 수 있을 것 같다. (Xp 책들의 장점이자 단점이라면 얇은 두께의 분책이려나.. --a)
* 아직은 효율성이.. - 일종의 Learning Time 이라고 해야 할까? 대부분 실험에서 끝난다는 점. 퍽 하고 처음부터 효율성을 극대화 할 순 없을 것이다. 참고로 이때는 아날로그 시계 만드는데 거의 3시간이 걸렸다. Man-Hour 로 치면 6시간이 된다.
TestFirstProgramming 과 PairProgramming 은 집중도에 관해서는 가장 훌륭한 선택인 것 같다. (단, Pair와의 담합행위가 이루어지면 곤란하겠다. -_-;)
=== bioinfomatix 프로젝트중 ===
진행한 사람 : 강석천, bioinfomatix 에서 일하시는 분들[[BR]]
학습목적이 아닌 실질적인 개발을 위한 PairProgramming 으로는 처음인듯 하다. 2주간 격일로 일을 했었는데, XP 스타일로 프로젝트를 진행하였다.
* 보통 코딩을 주도하는쪽이 빨리 지치며 집중력도 떨어지게 된다. 특히 PairProgramming 의 경우는 상대편 Pair에 대한 배려상 해당 시간에 작업 이외의 다른 일을 거의 하지 않는다. (화장실도 자주 안간다;;)
* On-Side Customer 와의 PairProgramming - 프로젝트 중간에 참여해서 걱정했었는데, 해당 일하시는 분과 직접 Pair를 하고 질문을 해 나가면서 전체 프로그램을 이해할 수 있었다. 특히 내가 ["BioInfomatics"] 에 대한 지식이 없었는데, 해당 도메인 전문가와의 Pair로서 서로 상호보완관계를 가질 수 있었다.
* Junior 의 위치에서 바라본 학습 효과 - 이전에 상경이형이 채팅 프로그램 만드는 법을 직접 보여줬을때가 생각이 난다. (그때 '자. 15분동안 하나 만들어줄께~' 하면서 후다다닥 MFC로 서버/클라이언트 예제를 바로 보여주던 모습은 잊혀지지 않는다;) Junior 의 입장에서 Expert 행동 하나하나는 Check Point 이다. 좋은 습관과 프로그래밍 스타일, 디버깅하는 모습을 직접 눈으로 확인할 수 있었다.
ProgrammingContest 에 있는 K-In-A-Row 문제를 푸는 일을 했다.
- PairProgrammingForGroupStudy . . . . 2 matches
PairProgramming이란 ExtremeProgramming이라고 하는 새로운 소프트웨어 개발 방법론의 한가지 기법으로, 두명이 한 컴퓨터를 이용해서 같이 프로그래밍을 하는 것을 말합니다.
저는 여기서 PairProgramming의 교육적 효과와 이를 그룹 스터디나 프로젝트 팀 교육에 응용하는 방법을 간략히 서술하겠습니다.
이 방식을 소프트웨어 개발 업체에서 적용한 것은 Apprenticeship in a Software Studio라는 문서에 잘 나와 있습니다. http://www.rolemodelsoft.com/papers/ApprenticeshipInASoftwareStudio.htm (꼭 읽어보기를 권합니다. 설사 프로그래밍과는 관련없는 사람일지라도)
여기서는 단기간에 이런 PairProgramming을 통해서 팀 내에 지식이 확산되게 하거나, 그룹 스터디에 이용할 수 있는 방법을 보도록 하죠.
이렇게 되면 E와 F는 전문가인 A와 B와 직접 PairProgramming을 하고 나머지 네명은 자기들끼리 PairProgramming을 하게 되죠. 처음 pairing에서 C와 G, D와 H는 태스크를 완수해지 못해도 괜찮습니다 -- 대신 문제 영역을 탐색하는 동안 어느 정도의 학습은 발생하거든요.
이 상태에서는 A와 B는 ExpertRating이 0이고, E와 F는 1이 됩니다. 이 개념은 Erdos라는 수학자가 만든 것인데, Expert 자신은 0이 되고, 그 사람과 한번이라도 pairing을 했으면 1이 됩니다. 그리고, expert와 pairing한 사람과 pairing을 하면 2가 됩니다. expert는 사람들의 ExpertRating을 낮추는 식으로 짝짓기 스케쥴링을 맞춰갑니다. 물론 처음에는 C,D,G,H는 아무 점수도 없죠. 이럴 때는 "Infinite"이라고 합니다.
이렇게 pairing을 할 수 있겠죠. 역시 아까와 동일한 태스크를 수행합니다. 대신 좀전 pairing에서 얻은 지식을 기반으로 좀 더 나은 프로그램을 새로 작성하는 겁니다. 각자 이전 경험이 다르므로(다른 사람과 짝짓기를 했으므로) 둘이 협력하면 서로 가르쳐 주고 배우면서 시너지 효과를 낼 수도 있습니다.
여기서는 각각의 ExpertRating은, C=2, D=2, E=1, F=1, G=1, H=1이 되겠죠. (A,B는 시원source이므로 여전히 0)
너무나 좋은 글을 읽은 것 같습니다. 선배님이 써주신 PairProgramming에 관한 글을 순식간에 읽었습니다 ^^ 이런 방법이 스터디의 방법으로 자리잡는다면 초보자의 실력향상에 엄청난 도움이 되겠군요
- PluginInfoMacro . . . . 2 matches
[[PluginInfo(PluginInfo)]]
- PolynomialCoefficients . . . . 2 matches
[http://online-judge.uva.es/p/v101/10105.html 원문보기]
=== Input ===
=== Sample Input ===
- PrimaryArithmetic . . . . 2 matches
[http://online-judge.uva.es/p/v100/10035.html 원문보기]
=== Input ===
=== Sample Input ===
|| Seminar:지원 || Python || 30분 || Seminar:PrimaryArithmetic/지원 ||
|| JuNe || Python || 10분 || Seminar:PrimaryArithmetic/JuNe ||
- ProgrammingPartyAfterwords . . . . 2 matches
2002년 5월 19일 서강대에서 있었던 ["프로그래밍파티"] 후기 (see also ProgrammingPartyPhotos)
다음으로는 요구사항에 대한 해설이 있었다. 당시의 문제는 http://no-smok.net/seminar/moin.cgi/ElevatorSimulation 에 가면 볼 수 있다.
3시 40분쯤. 1002는 시간이 너무 지체된다고 판단, '처음부터 일반화 알고리즘을 생각하시는 것 보다는, 사람수 한명일때라 생각하시고 작업하신뒤 사람수는 늘려보시는것이 더 편할겁니다' 라고 했다. 이는, 금요일, 토요일때 미리 엘리베이터 시뮬레이션을 만들때 느낀점이긴 했다. Moa 팀에서는 동의를 했고 직원 한명에 대한 여정부분을 Hard-Coding 해나갔다.
멘터인 1002는 '저렇게 하면 나중에 main 함수 어떻게 만들까.. OO Style 이라면 main 루틴 부분이 좀 짧긴 하겠지만, C 라면 좀 힘들지 않을까' 라고 생각, 5시가 가까워지는 4시 20분쯤에 각 모듈 부분을 통합할것을 제안 했다. 통합 중간중 의견 조율을 하는 중간에 ZP#2 멘터인 김창준씨는 두 팀으로 나누어졌을 때 서로 엇갈려서도 Pair 를 바꿔보도록 제안, Moa 의 두 팀은 한명씩 서로 바꾸어보기도 하며 일을 진행해 나갔다.
* NoSmok:StructureAndInterpretationOfComputerPrograms 에 나온 Event-Driven Simulation 방식의 회로 시뮬레이션 [http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-22.html#%_idx_3328 온라인텍스트]
* NoSmok:TheArtOfComputerProgramming 에 나온 어셈블리어로 구현된 엘리베이터 시뮬레이션 (NoSmok:DonaldKnuth 가 직접 엘리베이터를 몇 시간 동안 타보고, 관찰하면서 만든 알고리즘이라고 함. 자기가 타고 다니는 엘리베이터를 분석, 고대로 시뮬레이션 해보는 것도 엄청난 공부가 될 것임)
* Discrete-Event System Simulation : 이산 이벤트 시뮬레이션 쪽에 최고의 책으로 평가받는 베스트셀러. 어렵지도 않고, 매우 흥미로움. [http://165.194.100.2/cgi-bin/mcu240?LIBRCODE=ATSL&USERID=*&SYSDB=R&BIBNO=0000351634 도서관]에 있음
* Seminar:ElevatorSimulation 문제, 일반적인 discrete event simulation 패턴 소개 등
- ProjectPrometheus/Iteration9 . . . . 2 matches
* 바구니 기능 - 근데, 우리가 생각한 기능은 아닌듯. 용도가 좀 다름. 이에 따라 login 이 쿠키 스타일로 바뀜. (JSP 를 쓰던데, Session 스타일일 가능성도)
* login 체제 (만일 Java라면 Cookie 를 어떻게 저장할까? 바구니 기능이 겹칠 수도 있겠다 생각)
미스테리 : logging.jsp 파일이 include 시에 과거 코딩으로 돌아온다.
관리자 기능 (Notice 변경 (,사용자 삭제, 수정))
공지(Notice)
- ProjectSemiPhotoshop/요구사항 . . . . 2 matches
i. Sampling => 모자이크 이미지(O)
* Posterizing
* Thereshold Binary Image (O 흑백)
* Clipping ( O 흑백 )
* Iso-intensity Contouring(등명암 윤곽화) ( O 흑백 )
* Range-highlighting(범위-강조) (O 흑백)
* Solarize using a Threshold (O 흑백)
i. Blurring (O)
* Sharpening (O)
* Embossing (O)
* Median Filtering (O)
* Contrast Stretching (O)
* Histogram Equalisation(O)
- ProjectZephyrus/Thread . . . . 2 matches
* ''Database Connection Pool 을 사용하던 하지 않던, DB 자원을 얻어오는 부분을 하나의 end point에서 처리하세요. 처음부터 이를 고려하지 않을 경우, '''*.java''' 에서 Database Connection을 생성하고, 사용하는 코드를 머지않아 보게 될겁니다. 이는 정말 최악입니다. pool을 쓰다가 쓰지 않게 될 경우는?다시 pool을 써야 할 경우는? 더 좋은 방법은 interface를 잘 정의해서 사용하고, 실제 DB 작업을 하는 클래스는 Factory 를 통해 생성하는게 좋습니다. 어떤 방식으로 DB를 다루던 간에 위에서 보기엔 항상 같아야 하죠. --이선우 [[BR]]
* 제가 저번학기에 작업했던 메신져가 있습니다. 이번 프로젝트를 하면서 참고할 수 있는 부분을 참고하세요. 저번 학기에 정보처리 실습이란 과목에서 프로젝트로 했던 것입니다. UP 로 Process 를 진행했었고, 높은(?) 점수를 위해서 많은 문서를 남기긴 했는데.. 부족한 면이 많군요 ㅡ.ㅡ;; http://www.inazsoft.net/projectworktool.html 에서 다운로드 받을 수 있습니다. - 구근
* 제가 JDBC 할때 삽질했던거 다른 사람들은 삽질하지 않도록 하기 위해서 남긴 문서가 있어여.. 조금이나마 삽질 방지하는데 도움이 되면 좋겠네여..^^: - 상협[http://www.caucse.net/cgi-bin/moin/moin.cgi/_c0_da_b9_d9_c7_c1_b7_ce_c1_a7_c6_ae_2f_b9_e6_c8_ad_ba_ae_c6_c0_b8_de_bd_c5_c0_fa_2fJDBC JDBC 관련 삽질 방지용 문서]
가장 이상적인 상태는 예전 창준선배님이 세미나에서 이야기 했었던, '이러 이러한 라이브러리는 여기 있지 않을까 해서 봤더니 바로 그 자리에 있더라.' 하는 상태입니다. 그러면 최악은? '이러 이러한 라이브러리가 필요한데? 음.. 이쁘게 잘 만들어놓기는 귀찮고 에라 다음에 정리하지 뭐' 그리고는 해당 method들을 copy & paste. '''공통 모듈'''을 한곳에서 다루도록 하세요. 공통 모듈은 꽤 많습니다. logging, configuration, resource managing ,..
아 한가지 더 생각나는게 있군요. 자바로 프로젝트를 하니 적습니다. 절대 작성하는 라이브러리나 코드의 중간에서 Exception을 잡아서 삼켜버리지 마세요. Exception은 추후 debugging에 절대적인 정보를 담고 있습니다. 중간에 try ~ catch 로 잡아버리고, 어떠한 형태로도 알려주지 않는것은 상당히 위험합니다. 시간이 나면 이와 관련해서 더 적도록 하지요. --이선우
static synchronized public SocketManager getInstance() {
if (instance == null) {
instance = new SocketManager();
return instance;
public static SocketManager getInstance() {
if (instance == null) {
synchronized( this ) {
if (instance == null) {
instance = new SocketManager();
return instance;
''' ''System.out.println()'' 이 머지않아 재앙을 가져올 것이니.. --삽질 계시록 2장 :)'''
- RandomWalk2 . . . . 2 matches
이 페이지에 있는 활동들은 프로그래밍과 디자인에 대해 생각해 볼 수 있는 교육 프로그램이다. 모든 활동을 끝내기까지 사람에 따라 하루에서 삼사일이 걸릴 수도 있다. 하지만 여기서 얻는 이득은 앞으로 몇 년도 넘게 지속될 것이다. 문제를 풀 때는 혼자서 하거나, 그게 어렵다면 둘이서 PairProgramming을 해도 좋다.
* ObjectOrientedProgramming에서 이 문제를 처음 소개했다.
||인수 || . ||C++ ||["RandomWalk2/Insu"] ||
이런 경험을 하게 되면 "디자인의 질"이 무엇인가 직접 체험하게 되고, 그것에 대해 생각해 보게 되며, 실패/개선을 통해 점차 디자인 실력을 높일 수 있다. 뭔가 잘하기 위해서는, "이런 것이 있고, 난 그것을 잘 못하는구나"하는 "무지의 인식"이 선행되어야 한다. (see also Wiki:FourLevelsOfCompetence )
다른 친구와 PairProgramming을 해서 이 문제를 다시 풀어보라. 그 친구는 내가 전혀 생각하지 못했던 것을 제안하지는 않는가? 그 친구로부터 무엇을 배울 수 있는가? 둘의 시너지 효과로 둘 중 아무도 몰랐던 어떤 것을 함께 고안해 내지는 않았는가?
see also DoItAgainToLearn
- ReverseAndAdd . . . . 2 matches
[http://online-judge.uva.es/p/v100/10018.html 원문보기]
일단 어떤 수를 받아서 그 수를 뒤집은 다음 뒤집어진 수를 원래의 수에 더하는 과정을 뒤집어서 더하기라고 부르자. 그 합이 회문(palindrome, 앞뒤 어느 쪽에서 읽어도 같은 말이 되는 어구. 예:eye, madam, 소주만병만주소)이 아니면 회문이 될 때까지 이 과정을 반복한다.
=== Input ===
=== Sample Input ===
- RoboCode . . . . 2 matches
* [http://robocode.sourceforge.net/ RoboCode Central(English)]
* [http://www-106.ibm.com/developerworks/java/library/j-robocode/ IBM RoboCode site (English)]
* [http://robocode.alphaworks.ibm.com/docs/robocode/index.html RoboCode API(English)]
* [http://www.imaso.co.kr/?doc=bbs/gnuboard_pdf.php&bo_table=article&page=1&wr_id=999&publishdate=20030301 팀플레이]
||[TheJavaMan/로보코드]|| 휘동 ||
||[RoboCode/random], [RoboCode/sevenp], [로보코드/베이비] , [RoboCode/msm], [RoboCode/siegetank],[RoboCode/ing] || 2005년 데블스캠프 ||
[TheJavaMan/로보코드]와 [JavaStudy2004/로보코드]를 여기로 합치면 좋지 않을까요?--[Leonardong]
- STL/참고사이트 . . . . 2 matches
C++ Programming HOW-TO 에서 발췌
Main STL sites:
[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
iterator에 대한 매우 좋은 설명 http://www.cs.trinity.edu/~joldham/1321/lectures/iterators/
Intro to STL SGI http://www.sgi.com/tech/stl/stl_introduction.html
Mumits STL 초보 가이드 (약간 오래된 것) http://www.xraylith.wisc.edu/~khan/software/stl/STL.newbie.html
Joseph Y. Laurino's STL page. http://weber.u.washington.edu/~bytewave/bytewave_stl.html
- Self-describingSequence . . . . 2 matches
[http://online-judge.uva.es/p/v100/10049.html 원문보기]
=== About [Self-describingSequence] ===
[http://online-judge.uva.es/p/v100/10049img2.gif]
=== Input ===
=== Sample Input ===
|| 문보창 || C++ || 2시간 || [Self-describingSequence/문보창] ||
|| 황재선 || Java || 2시간 || [Self-describingSequence/황재선] ||
|| [1002] || Python || 1시간 40분 || [Self-describingSequence/1002] ||
|| [shon] || matlab || 1차 : 1시간 10분, 2차 : 3시간 || [Self-describingSequence/shon] ||
|| [조현태] || C++ || ? || [Self-describingSequence/조현태] ||
- SeminarHowToProgramItAfterwords . . . . 2 matches
SeminarHowToProgramIt에 대한 감상, 후기, 각종 질답, 논의, ThreeFs.
* [창섭]:PairProgramming 자체가 인상적이었습니다. 음악을 아마추어로 하는 저로써는 음악외에도 이렇게 멋지게 콤비를 결성할 수 있다는 것에 놀라울 따름입니다. ^^;; 그리고 변수명을 고치는 것 자체가 Refactoring 에 들어가고 매우 중요하다는 사실도 감명이었습니다. ^^;
* ["neocoin"] : UnitTest에서 추구한 프로그램의 설계에서 Divide해 나가는 과정은 여태 거의 디자인 타임에서 거의 수행을 했습니다. 그래서 여태 Test를 위한 코드들과 디버그용 코드들을 프로그램을 작성할때마다 그런 디자인에도 많은 시간을 소요했는데, 아예 프로그램의 출발을 Test에서 시작한다는 발상의 전환이 인상 깊었습니다. --상민
* ["1002"] : 어제 Test Code : Product Code 간 중복 (return 0 !) 을 OAOO로 풀어서 Refactoring 을 해야 할 상황으로 규정짓는다는 말이 뒤통수를 한대 때리는 기분이였습니다;;
* '테스트코드의 보폭을 조절하라. 상황에 따라 성큼성큼 보폭을 늘릴수도 있지만, 상황에 따라서는 보폭을 좁혀야 한다. 처음 TDD를 하는 사람은 보폭을 좁혀서 걸어가기가 오히려 더 힘들다' wiki:Wiki:DoTheSimplestThingThatCouldPossiblyWork. 이것이 훈련이 아직 덜된, TDD를 하는 사람에게는 얼마나 힘든지는 이번 RDP 짜면서 느꼈었는데. 열심히 훈련하겠습니다.
* ["Refactoring"] 책에서는 ''Refactor As You Do Code Review'' 에 Code Review 를 위한 Refactoring을 이야기 하는데, Refactoring 을 위해서는 기본적으로 Test Code 가 필요하다고 할때 여기에 Test Code를 붙일테니까 상통하는 면이 있긴 하겠군요.
* 흥미로운 것은 시끄러운 프로그래밍이였다는 것이였습니다. 혼자서 하는 프로그래밍(PairProgramming을 알고나니 새로운 개념이 생기는군요. 원래 Programming이라는 것은 혼자하는 거였는데, 이제 프로그래밍하면 pair인지 single인지 구분을 해주어야겠군요)을 하는 경우에는 팀원들이 소란스럽게 떠들면 ''아 지금 설계하고 있구나''하고 생각하고, 조용해지면 ''아 지금 코딩하고 있구나..''하는 생각이 들었는데, PP는 끝까지 시끄럽게 하는거라는 느낌이 들더군요. 그렇게 대화가 많아지는 것은 코딩에 대한 이해도의 증가와 서로간의 협력 등 많은 상승효과를 가져올 수 있다는 생각을 했습니다.
* 그리고 관찰하던 중 PairProgramming에서 Leading에 관한 사항을 언급하고 싶습입니다. 사용하는 언어와 도구에 대한 이해는 확실하다는 전제하에서는 서로가 Pair에 대한 배려가 있으면 좀더 효율을 낼 수 있을꺼라 생각합니다. 배려라는 것은 자신의 상대가 좀 적극적이지 못하다면 더 적극적인 활동을 이끌어 내려는 노력을 기울어야 할 것 같습니다. 실습을 하던 두팀에서 제 느낌에 지도형식으로 이끄는 팀과 PP를 하고 있다는 생각이 드는 팀이 있었는데. 지도형식으로 이끄는 팀은 한 명이 너무 주도적으로 이끌다 보니 다른 pair들은 주의가 집중되지 못하는 모습을 보인 반면, PP를 수행하고 있는 듯한 팀은 두 명 모두 집중도가 매우 훌륭한 것 같아서 이런 것이 정말 장점이 아닌가 하는 생각이 들었습니다. 결국 PP라는 것도 혼자가 아닌 둘이다 보니 프로그래밍 실력 못지 않게 개인의 ''사회성''이 얼마나 뛰어냐는 점도 중요한 점으로 작용한다는 생각을 했습니다. (제가 서로 프로그래밍중에 촬영을 한 것은 PP를 전혀 모르는 사람들에게 이런 형식으로 하는 것이 PP라는 것을 보여주고 싶어서였습니다. 촬영이 너무 오래 비추었는지 .. 죄송합니다.)
- Server&Client/상욱 . . . . 2 matches
public static void main(String[] args) {
System.err.println("실행할 수 없습니다.");
ioe.printStackTrace();
System.out.println("서버에서 접속을 기다립니다.");
System.out.println("접속되었습니다.");
System.out.println(connect.getInetAddress());
if ( connect.isBound() ) {
System.out.println("종료되었습니다.");
System.out.println("예외가 발생하였습니다.");
e.printStackTrace();
public static void main(String[] args) throws Exception {
String a = "165.194.17.86";
["JavaStudyInVacation/진행상황"]
- ServiceOrientedProgramming . . . . 2 matches
Adrian Tang 교수의 UbiquitousComputing 관련 강연에서 잠깐 언급되어서 웹을 뒤져봤는데 자료가 꽤 있는것 같다. UbiquitousComputing 과 SemanticWeb 등등과 맞물려 있는 프로그래밍 패러다임인것 같다. 개념정리를 해서 이곳에 정리를 해볼 예정 - [임인택]
* [http://www.openwings.org/download/specs/ServiceOrientedIntroduction.pdf Introduction to service oriented programming]
- ShellSort . . . . 2 matches
[http://online-judge.uva.es/p/v101/10152.html 원문보기]
여틀 왕(King Yertle)은 그의 거북이 왕관을 재배치해서 가장 계급이 높은 귀족과 가장 가까운 측근들을 더 위쪽으로 올리고 싶어한다. 쌓여있는 거북이들의 순서를 바꾸는 방법은 거북이 한 마리가 원래 자기 위치에서 빠져 나와서 맨 위로 올라가서 자리를 잡는 방법 밖에 없다.
=== Input ===
=== Sample Input ===
Elizabeth Windsor
Michael Eisner
Elizabeth Windsor
Michael Eisner
- SoftwareEngineeringClass/Exam2006_1 . . . . 2 matches
1) ISO12204, ISO 15288 과 ISO 15504를 비교하라
2) Tayloring 과 Deploy를 설명하라.
3) S/W Test 와 Independent Verification & Validation 비교하라
- StacksOfFlapjacks . . . . 2 matches
=== Input ===
=== Sample Input ===
- Steps . . . . 2 matches
[http://online-judge.uva.es/p/v8/846.html 원문보기]
=== Input ===
=== Sample Input ===
- TCP/IP . . . . 2 matches
개발자를 위해서 제공되는 API(Application Programming Interface)의 가장 대표적인 형태가 TCP/IP 이다.
== TCP(Transmission Control Protocol)? UDP(User Datagram Protocol)? ==
* http://cs.ecs.baylor.edu/~donahoo/practical/CSockets/textcode.html <Socket Programming for C>
* http://kldp.org/KoreanDoc/html/GNU-Make/GNU-Make.html#toc1 <using make file>
* http://kldp.org/KoreanDoc/VI-miniRef-KLDP <using vi editer>
* http://kldp.org/KoreanDoc/Thread_Programming-KLDP <using thread>
* http://www.paradise.caltech.edu/slide <sliding window project>
* Effective TCP/IP Programming: 44 Tips to Improve Your Network Programs : TCP/IP 프로그래밍 팁 모음
* Interactive Shell이 지원되는 언어(e.g. Python, Ruby, ...)를 사용하면 TCP/IP의 개념을 아주 빠른 시간 안에 배울 수 있음. (Python은 내부적으로 C 라이브러리를 그대로 사용) 또, 현재 개발된/개발중인 시스템을 테스트 하는 데에도 매우 편리함. 예컨대, 리코에서는 XMLRPC 서버 접속을 파이썬 쉘에서 하고(import xmlrpc 한 다음에...), 거기서 사용자 등록 등의 서비스를 직접 사용하게 한다.
- TdddArticle . . . . 2 matches
류군 이야기로는 Oracle 의 경우 설치하고 딱 실행하는데만 기본 메모리 200메가 잡아먹는다고 한다. -_-; 로컬 테스트를 위해 HypersonicSql를 쓸만도 하군.; (In-memory DB 식으로 지원가능. 인스톨 할것도 없이 그냥 콘솔에서 배치화일 하나 실행만 하면 됨. 근데, JDBC 를 완벽히 지원하진 않는 것도 같아서, 약간 애매. (ResultSet 의 first(), last(), isLast() 등의 메소드들이 실행이 안됨)
그래서 오라클이 크다는 말씀이 아니실까? 나도 찍어봐야겠네 --NeoCoin
Xper:XperSeminar 를 보니 일단 셋팅이 되고 익숙해지면 TDD 리듬이 덜 흐트러지는 방법 같았다. (재우씨랑 응주씨가 원래 잘하시고 게다가 연습도 많이 하셔서이겠지만;) password 추가되고 테스트 돌리는 리듬이 좋아보인다. 단, 테스트 돌아가는 속도가 역시 Real DB 이면서 [Hibernate] 까지 같이 돌아가서 약간 느려보이는데, 이건 해보고 결정 좀 해야겠군.
reference 쪽은 최근의 테스트와 DB 관련 최신기술 & 문서들은 다 나온 듯 하다. 익숙해지면 꽤 유용할 듯 하다. (hibernate 는 꽤 많이 쓰이는 듯 하다. Intellij 이건 Eclipse 건 플러그인들이 다 있는걸 보면. XDoclet 에서도 지원)
간만에 여유가 생겨서 한번 따라해보게 되었는데, [Hibernate] 가 생각보다 복잡한 녀석이라는 것을 알게 되었다. (내가 O-R Mapping Tool 에 대한 경험이 없기 때문에 더더욱) 한번에 습득하기에 쉬운 녀석은 아니였군.;
- TheKnightsOfTheRoundTable/김상섭 . . . . 2 matches
#include <iostream>
#include <math.h>
using namespace std;
cout << "The radius of the round table is: 0.000" << endl;
cout << "The radius of the round table is: " << temp << endl;
int main()
cout.setf(ios::showpoint);
cout.precision(3);
while(cin >> a >> b >> c)
- TheKnightsOfTheRoundTable/하기웅 . . . . 2 matches
#include <iostream>
#include <cmath>
using namespace std;
cout << "The radius of the round table is: 0.000"<<endl;
cout << "The radius of the round table is: " << 1.0*sqrt(halfSum*(halfSum-a)*(halfSum-b)*(halfSum-c))/halfSum << endl;
int main()
cout.setf(ios::showpoint);
cout.precision(3);
while(cin>>a>>b>>c)
- TheOthers . . . . 2 matches
PL 마지막 팀 프로젝트 "The Others"팀의 프로젝트 페이지
* 유덕윤 - C using Win32 API or MFC
* MFC(또는 Win32 API)로 DB와 GUI 코딩하기
-- TheOthers
|__ UIProtoType - UI ProtoType 관련 문서 & Binary
- TheTrip/Leonardong . . . . 2 matches
def getListOfBiggerThan(self, aMean, aList):
resultList = []
for each in aList:
resultList.append(each)
return resultList
def getMeanOfList(self, aList):
return sum(aList, 0) / len(aList)
expensesBiggerThanMean = self.getListOfBiggerThan(
self.getMeanOfList(aExpenses),
for each in expensesBiggerThanMean:
result = result + abs( each - self.getMeanOfList(aExpenses) )
class TheTripTestCase(unittest.TestCase):
def testGetListOfBiggerThan(self):
mean = self.ex.getMeanOfList(expenses) # mean is 1.5
self.ex.getListOfBiggerThan( mean, expenses ))
if __name__ == '__main__':
unittest.main()
[TheTrip], [AOI]
- TheTrip/문보창 . . . . 2 matches
// no10137 - The Trip
#include <iostream>
#include <cmath>
#include <cstdlib>
using namespace std;
const int MAX = 100;
int exchangeMoney(const int * cost, const int n);
void showExchange(const int * ex, const int count);
int main() // cent단위로 계산
int n; // 학생수
int exchangeCost[MAX]; // 교환값
int i, c;
int count = 0;
while (cin >> n)
cin.get();
int costs[1000]; // 각 학생들의 지출 비용
while (cin.peek() != 'n')
if (cin.peek() == '.')
cin.get();
cin.get(money[c++]);
- ThinkRon . . . . 2 matches
aka {{{~cpp WhatTheyWouldDoInMyShoes}}}
여기서 Ron은 Think Big에서처럼 부사의 역할을 하며, "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 같은 사람이 이 자리에 나 대신 있었다면 이 문제에 어떻게 대응했을런지. 그리고 거기서 얻은 해답을 꼭 실행에 옮겨 보세요. 자신은 물론 상대방도 놀라게 될 것입니다. 해답은 늘 안에 있습니다.
Let me tell a brief story about how that came about. Our president, at the time was Bob Doherty. Doherty came from General Electric via Yale, and had been one of the bright young men who were taken under the wing of the famous engineer Stiglitz. Every Saturday, Stiglitz would hold a session with these talented young men whom General Electric had recruited and who were trying to learn more advanced engineering theory and problem-solving techniques. Typically, Bob Doherty would sometimes get really stuck while working on a problem. On those occasions, he would walk down the hall, knock on Stiglitz’s door, talk to him — and by golly, after a few minutes or maybe a quarter of an hour, the problem would be solved.
One morning Doherty, on his way to Stiglitz’s office, said to himself, "Now what do we really talk about? What’s the nature of our conversation?" And his next thought was, "Well Stiglitz never says anything; he just asks me questions. And I don’t know the answer to the problem or I wouldn’t be down there; and yet after fifteen minutes I know the answer. So instead of continuing to Stiglitz’s office, he went to the nearest men’s room and sat down for a while and asked himself, "What questions would Stiglitz ask me about this?" And lo and behold, after ten minutes he had the answer to the problem and went down to Stiglitz’s office and proudly announced that he knew how to solve it.
- TowerOfCubes . . . . 2 matches
[http://online-judge.uva.es/p/v100/10051.html 원문보기]
=== Input ===
=== Sample Input ===
- ToyProblems . . . . 2 matches
ToyProblems를 풀게 하되 다음 방법을 이용한다. Seminar:TheParadigmsOfProgramming [http://www.jdl.ac.cn/turing/pdf/p455-floyd.pdf (pdf)]을 학습하게 하는 것이다.
*준비물: 기본적으로 이클립스와 Python 2.3b1( + idlefork), NetMeeting 설치
ToyProblems를 풀면서 접하게 될 패러다임들(아마도): CSP, Generators, Coroutines, Various Forms of Recursion, Functional Programming, OOP, Constraint Programming, State Machine, Event Driven Programming, Metaclass Programming, Code Generation, Data Driven Programming, AOP, Generic Programming, Higher Order Programming, Lazy Evaluation, Declarative Programming, ...
* PairProgramming
- 창준 - Higher Order Programming과 로우레벨에서의 설명(예컨대 단순한 함수 포인터로 설명하는 것)의 차이는 미묘하고, 또 크다. 동사(달리다)를 명사(달림)의 품 안에 넣는 것이다. 이 사고에서 엄청난 차이가 생길 수 있다.
- 창준 - 교육의 3단계 언급 Romance(시, Disorder)-Discipline(예, Order)-Creativity(악, Order+Disorder를 넘는 무언가) , 새로운 것을 배울때는 기존 사고를 벗어나 새로운 것만을 생각하는 배우는 자세가 필요하다. ( 예-최배달 유도를 배우는 과정에서 유도의 규칙만을 지키며 싸우는 모습), discipline에서 creativity로 넘어가는 것이 중요하다.
Higer order programming에서 중요한 것은 동사를 명사화해준다는 것인데, Command Pattern도 이와 비슷한 것 같습니다.
* CTMCP http://www.info.ucl.ac.be/~pvr/
* The Art and Craft of Problem Solving
- Vending Machine/dooly . . . . 2 matches
package dooly.tdd.vending;
public class VendingMachineTest extends TestSuite {
TestSuite suite = new TestSuite("Test for dooly.tdd.vending");
//$JUnit-BEGIN$
suite.addTestSuite(RegistItemTest.class);
package dooly.tdd.vending;
private static final int GREEN_TEA_PRICE = 500;
private static final int COFFEE_PRICE = 400;
private static final int TEA_PRICE = 300;
private VendingMachine vm;
vm = new VendingMachine();
package dooly.tdd.vending;
public class RegistItemTest extends TestCase {
private VendingMachine vm;
vm = new VendingMachine();
public void testEmptyMatchine() {
package dooly.tdd.vending;
public class VendingMachine {
private int money;
public void add(String item, int price) {
- WardCunningham . . . . 2 matches
ExtremeProgramming의 세 명의 익스트리모 중 하나. WikiWiki 창안자.
see NoSmok:WardCunningham
- WeightsAndMeasures . . . . 2 matches
[http://online-judge.uva.es/p/v101/10154.html 원문보기]
=== Input ===
=== Sample Input ===
테스트 케이스가 필요하다면 꽁수가 있기는 하다. Java로 standard input으로 읽는 라인을 합쳐다가 모조리 특정 URL에 포스트 하도록 하는 코드를 만들어 업로드 한다. 그러면 심사때 사용하는 테스트 케이스를 알 수 있다. --JuNe
- WikiEngine . . . . 2 matches
See Wiki:WikiEngine
- XsltVersion . . . . 2 matches
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:output method="html" omit-xml-declaration="yes" indent="no"/>
This Wiki is running an XSLT engine by
implementing XSLT v<xsl:value-of select="system-property('xsl:version')"/>
- ZeroPage . . . . 2 matches
=== ZeroPage Wiki ===
현재는 02년도부터 도입한 wiki 시스템을 통하여 각 프로젝트나 스터디를 진행할때마다 문서 산출물을 만들어 내어 양질의 정보들을 축적해 나가고 있다. 이 시스템은 스터디와 프로젝트를 팀으로 진행할때 공동 knowledge repository 의 역할을 함으로서 진행하는 회원 들에게 도움이 되고, 추후에 다른 회원이 비슷한 스터디나 프로젝트를 할때 그 wiki 페이지를 참고 함으로써 같은 곳에 쏟을 노력을 줄이고, 그 wiki 페이지를 다시 키워 나감으로써 지속적으로 양질의 정보를 축적하여왔다. 이로서 제로페이지의 wiki 시스템은 현재의 회원과 학교를 떠난 회원그리고 앞으로 제로페이지에 들어올 회원들 모두에게 도움이 되는 시스템으로서 자리매김하고 있다.
* 2002 ZeroWiki 시스템 도입. Devils 통합.
* ZeroPage 가이드북 발간 - '''코드의 바다를 여행하는 ZeroPager를 위한 안내서''' [https://drive.google.com/file/d/0B5V4LW7YTwbjeDdDZk9ITmhvWmM/edit?usp=sharing 가이드북]
* team 'ProteinMalloc' 35등 : [김태진], [곽병학], [권영기]
* 11회 중앙대학교 프로그래밍 경진대회(Programming Championship)
* 장려상(4등) : Online Judge - [정진경],[추성준]
* 프로젝트 pinple : Pinple팀
* PinPle 프로젝트 - [변형진],[안혁준],[김민재],[정진경],[김수경],[서민관],[서영주],[권순의],[김태진]
* 대상 - Prometheus(도서관 랩퍼 시스템) : 강석천, 류상민
* 2002 1회 [http://www.natepda.com/popup/winner.htm SK 모바일 프로그램 경진대회 대상 수상] ([\"erunc0\"])
* 1992 동남은행 Firm banking system, 치관 운영 관리 프로그램, 세탁소 관리 프로그램, 세일 정보 통신 재해자 관리 프로그램
- ZeroPage_200_OK/note . . . . 2 matches
* this
* func.apply(ec, arguments) 나 func.call(ec, arg1, arg2, ... )으로 func안에서의 실행문맥(this)를 명시적으로 변경할수 있다.
* 1. create instance
* 2. instance.__proto__ = Person.prototype;
* 3. 실행문맥을 instance로 한 생성자를 호출한다.
|| VTable || <-----------------> || prototype chain (__proto__) ||
==== dispatch ====
* instance의 __proto__에서 찾고 없으면 그위에 __proto__에서 찾고...
if (("f" in _proto) && typeof _proto["f"] === "function")
* 자바스크립트는 함수와 일반 변수와의 구분이 없기때문에 변수 또한 dispatch가 된다.
* 상속을 위해서는 prototype chain에 등록하면 된다.
=== same origin policy ===
* document.domain 을 조정함으로써 동일한 도메인의 범위를 바꿀수 있다.
* wiki.zeropage.org 와 www.zeropage.org 를 동일한 도메인으로 취급하기 위해 document.domain을 zeropage.org로 설정할수 있다.
==== Same Origin Policy를 극복하기 위한 방법 ====
* 원래 same origin policy를 적용받지 않음으로 극복할수 있으나 바이너리므로 애시당초 우리가 쓸수 없다.
* Same origin policy를 적용받지 않고 자바스크립트를 불러올수 있으나 바로 실행이 되므로 다른 방식을 써야한다.
* 이 응답은 마치 JSON에 함수만 감싼형식이기 떄문에 JSON with Padding, JSONP라 부른다.
* IIS
* windows 에서 쓰이고 역시 안정성이 뛰어나고 GUI관리가 가능하다.
- ZeroPagers . . . . 2 matches
ZeroWiki 에 활동중인 ZeroPage 회원들의 개인 페이지 모음입니다. 기본 양식은 ["HomepageTemplate"] 입니다.
* 이영서 : ["Lupin'sHome"]
* 이정직 : ["fnwinter"]
* 류상민 : NeoCoin
* 이광민 : ["geniumin"]
* 정진균 : ["comein2"]
* 정해성 : ["phoenix_insky"]
["홈페이지분류"], ["제로페이지분류"], ["ZeroWikian"]
- [Lovely]boy^_^/Diary/2-2-11 . . . . 2 matches
== ToDo List of a this week ==
== In Korean ==
* 선호랑 ["TheWarOfGenesis2R"]의 일환으로 타일 에디터를 만들었다. BMP 파일 약간 개조해서 뒤에다가 타일 데이터를 덧붙였다.
- [Lovely]boy^_^/Diary/2-2-15 . . . . 2 matches
* A data communication course ended. Professor told us good sayings. I feel a lot of things about his sayings.
* A computer architecture&organization course ended too. I am worrying about a final test.
* A merriage and family course ended too, Professor is so funny. A final test is 50 question - O/X and objective.
* My mom went into hospital. My father is not a good status too. I worry their health. I wish that they'll recover a health.
* A algorithm course ended. This course does not teaches me many things.
* A object programming course ended. Professor told us good sayings, similar to a data communication course's professor. At first, I didn't like him, but now it's not. I like him very much. He is a good man.
* I and other ZP '01 distribute junior and senior agreement papers that ZP is a formal academy.
* Tomorrow is a unix system programming final test. It's so difficult. I'll try hard.
* I have suprised at system programming's difference. It's so difficult. In my opinion, if I want to do system programming well, I must study OS.
* sources for Unix system programming's final-test is so strange.--; mis-typings are so many. I am confused professor's intention.
* Today, I went to the hospital, to see my mom. I felt easy at my mom's health.
* Because my mom's absent, I had to work all day at our store. but a dishwashing was so interesting.
* Today too, I have worked our store. but today is not as busy as yesterday, so I could study rest final-test.
* I worry about father's smoking... after my mom was hospitalization, he decreases amount of drinking, but increases amount of smoking.
* Ah.. I want to play a bass. It's about 2 months since I have not done play bass. And I want to buy a bass amplifier. A few weeks ago, I had a chance that can listen a bass amplifier's sound at Cham-Sol's home. I was impressed its sound. ㅠ.ㅠ.
- [Lovely]boy^_^/Diary/7/15_21 . . . . 2 matches
* Grammar In Use 39-41
* Grammar in use 42-45
* Grammar In Use 46~49
- [Lovely]boy^_^/USACO . . . . 2 matches
|| ["[Lovely]boy^_^/USACO/YourRideIsHere"] ||
|| ["[Lovely]boy^_^/USACO/PrimePalinDromes"] ||
|| ["[Lovely]boy^_^/USACO/MixingMilk"] ||
|| ["[Lovely]boy^_^/USACO/WhatTimeIsIt?"] ||
- 강희경/도서관 . . . . 2 matches
* Pleasure Of Finding Things Out (리처드 파인만)
|| 4 || NoSmoke:TheArtOfComputerProgramming || 카누스 || [강희경] || [TAOCP] ||
|| 1 || NoSmoke:TheArtOfComputerProgramming || 카누스 || [강희경] || [TAOCP] ||
* 역사 : [로마인이야기](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 단숨에읽는조선왕조오백년], 학생부군과 백수건달
- 격언 . . . . 2 matches
AnswerMe 노스모크에서 url 디코딩하는게 달라졌는지 InterWiki 매크로를 쓸수가 없네요. 해결책 아시는분? - [임인택]
- 김희성/MTFREADER . . . . 2 matches
#include"ntfs.h"
#define FILE_LOAD_ERROR 1
#define OUT_OF_MEMORY_ERROR 2
int ErrorCode;
__int64 ReadCluster(unsigned char* point,unsigned char* info);
hVolume = CreateFile(drive, GENERIC_READ,FILE_SHARE_READ | FILE_SHARE_WRITE, 0,OPEN_EXISTING, 0, 0);
int LastErrorCode(); //최근에 일어난 클래스 내부의 에러를 반환한다.
void MakeBinaryFile(char* filename); //MFT를 Binary 그대로 저장한다.
#include"_MFT_READER.h"
unsigned __int64 point,i,j,k,temp;
unsigned __int64 HeaderSize;
unsigned __int64 offset;
point=*((unsigned short*)((unsigned char*)$MFT+20));//Offset으로 포인터 이동
while(*((unsigned long*)((unsigned char*)$MFT+point))!=0xFFFFFFFF)
*((unsigned char*)MFT+point+9) = Attribute Name Size
if(*((unsigned char*)$MFT+point+8))
HeaderSize=64+*((unsigned char*)$MFT+point+9);
HeaderSize=24+*((unsigned char*)$MFT+point+9);
switch(*((unsigned long*)((unsigned char*)$MFT+point)))
MFT=PFILE_RECORD_HEADER(new U8[*((unsigned __int64*)((unsigned char*)$MFT+point+40))]);
- 논문번역/2012년스터디/이민석 . . . . 2 matches
* 「Experiments in Unconstrained Offline Handwritten Text Recognition」 번역
* 다음 주까지 1학년 1학기에 배운 Linear Algebra and Its Applications의 1.10, 2.1, 2.2절 번역하기
== Experiments in Unconstrained Offline Handwritten Text Recognition(제약 없는 오프라인 필기 글자 인식에 관한 실험) ==
원문 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) 필기 글자 인식을 위한 시스템은 거의 없다. 그 이유는 이러한 작업이 크게 복잡하기 때문인데 글자 또는 단어의 경계에 대한 정보가 없는 데다 헤아릴 수 없을 정도로 어휘가 방대한 것이 특징이다. 그럼에도 필기 글자 인식 기법을 더 조사하는 것이 가치 있는 이유는, 계산 능력이 향삼함에 따라 더욱 복잡한 처리를 할 수 있기 때문이다.
글을 한 걸음 더 처리하기 위해 각각의 줄을 추출하여야 한다. 그러기 위해 이미지를 필기 라인의 핵심 영역(core region)들 사이를 분리한다. 핵심 영역, 즉 텍스트 라인의 위 베이스라인과 아래 베이스라인 사이의 영역은 threshold를 적용하여 찾는다. threshold는 줄들이 핵심 영역에 속하기 위해 필요한 전방foreground 픽셀들의 최소 개수를 나타낸다. 이 threshold는 이진화한 필기 영역의 수평 밀도 히스토그램을 이용하여 Otsu의 방법 [12]를 적용하면 자동으로 결정된다. 그 다음 수평 투영 히스토그램에서 각 줄의 검은 픽셀의 개수가 축적되고 이미지는 이 투영 히스토그램의 minima를 따라 핵심 영역별로 나눠진다.
수직 위치와 기울임은 [15]에 서술된 접근법과 비슷한 선형 회귀(linear regression)를 이용한 베이스라인 측정법을 적용하여 교정한 반면에, 경사각 계산은 가장자리edge 방향에 기반한다. 그러므로 이미지는 이진화되고 수평 흑-백과 백-흑 전환을 추출하는데 수직 stroke만이 경사 측정에 결정적이다. canny edge detector를 적용하여 edge orientation 자료를 얻고 각도 히스토그램에 누적한다. 히스토그램의 평균을 경사각으로 쓴다.
필기의 크기를 정규화하기 위해 각 줄의 극값(local extrema) 개수를 세고 줄의 너비와의 비율을 얻는다. 비례(scaling) 계수는 이 비율에 선형인데 비율이 클 수록 글씨체는 더 좁아지기 때문이다.
필기 줄을 전처리한 이미지는 특징 추출 단계의 입력 자료로 사용된다. sliding window 기법을 [11]이 설명하는 접근법과 비슷하게 적용한다. 우리의 경우 이미지의 높이와 열 네 개 크기의 창이 이미지의 왼쪽에서 오른쪽으로 두 열씩 겹치면서 움직이고 기하 추출의 쌍을 추출한다.
sliding window의 각 열에서 특징 7개를 추출한다. (1) 흑-백 변화 개수(windowed text image의 이진화 이후), (2) 베이스라인에 대한 강도 분포의 평균 값 위치, (3) 최상단 글자 픽셀에서 베이스라인까지의 거리, (4) 최하단 글자 픽셀에서 베이스라인까지의 거리, (5) 최상단과 최하단 텍스트 픽셀의 거리, (6) 최상단과 최하단 텍스트 픽셀 사이의 평균 강도, (7) 그 열의 평균 강도. 특징 (2)-(5)는 core size, 즉 하단 베이스라인과 상단 베이스라인(극대값을 통한 line fitting으로 계산)의 거리에 의해 정규화되어, 글씨 크기의 변동에 대해 더욱 굳건해진다. 그 후에 모든 특징은 윈도우의 네 열에 걸쳐 평균화된다.
강도 분포의 평균값의 변화 뿐 아니라 하단 contour와 상단 contour의 방향을 고려하기 위해 추가적으로 세 가지 방향성 특징을 계산한다. 말인 즉 우리는 네 lower countour 점, upper contour 점, sliding window 내 평균값을 통해 줄들을 재고 선 방향들을 (8), (9), (10) 특성으로 각각 사용한다. (뭔 소리) 더 넓은 temporal context를 고려하여 우리는 특징 벡터의 각 성분마다 근사적인 수평 미분을 추가로 계산하고 결과로 20 차원 특징 벡터를 얻는다. (윈도우당 특징 10개, 도함수 10개)
특징 벡터들을 decorrelate하고 종류 분별력을 향상하기 위해 우리는 훈련 단계와 인식 단계에서 LDA를 통합한다. (cf. [6]) 원래 특징 표현을 일차 변환하고 특징 공간의 차원을 점차 줄이며 최적화한다. 일차 변환 A를 구하기 위해 훈련 자료의 클래스내 분산(within class scatter) 행렬 Sw와 클래스간 분산(between class scatter) 행렬 Sb를 이용하여 고유 벡터 문제를 해결한다. 이 분산(scatter) 행렬들을 계산하여 각 특징 벡터의 HMM 상태와 함께 이름표를 붙여야 한다. 우리는 먼저 일반적인 훈련을 수행하고 훈련 자료들을 상태를 기준으로 정렬한다. 분산 행렬을 구했으면 LDA 변환은 다음 고유 벡터 문제를 풀어 계산한다.
필기 글자 인식을 위한 HMM의 구성, 훈련, 해독은 ESMERALDA 개발 환경[5]이 제공하는 방법과 도구의 틀 안에서 수행된다. HMM의 일반적인 설정으로서 우리는 512개의 Gaussian mixtures with diagonal covariance matrice(더 큰 저자 독립 시스템에서는 2048개)를 포함하는 공유 코드북이 있는 semi-continuous 시스템을 사용한다. 52개 글자, 10개 숫자, 12개 구두점 기호와 괄호, 공백 하나를 위한 기본 시스템 모형은 표준 Baum-Welch 재측정을 사용하여 훈련된다. 그 다음 한 줄 전체를 인식하기 위해 글자 모형에 대한 루프로 구성된 conbined model이 사용된다. 가장 가능성 높은 글자 시퀀스가 표준 Viterbi beam- search를 이용하여 계산된다.
위 식에서 P(W)는 글자 시퀀스 w의 언어 모형 확률이고 P(X|W)는 이 글자 시퀀스를 그 글자 모형에 따라 입력 데이터 x로서 관찰한 확률이다. 우리의 경우 absolute discounting과 backing-off for smoothing of probability distribution을 이용한 바이그램 언어 모형을 적용하였다. (cf. e.g. [3])
추가로 Bern 대학의 Institute of Informatics and Applied Mathematics, 즉 Horst Bunke와 Urs-Viktor Marti에게 감사한다. 이들은 우리가 필기 양식 데이터베이스인 IAM[10]을 인식 실험에 쓰는 것을 허락하였다.
== Linear Algebra and Its Applications (4th ed.) by David C. Lay ==
http://en.wikipedia.org/wiki/Hilbert_matrix
- 니젤프림/BuilderPattern . . . . 2 matches
쉽게 말해서, 아주 복잡한 오브젝트를 생성해야하는데, 그 일을 오브젝트를 원하는 클래스가 하는게 아니라, Builder 에게 시키는 것이다. 그런데 자꾸 나오는 생성/표현 의 의미는, 바로 director 의 존재를 설명해 준다고 할 수 있다. director 는 Building step(construction process) 을 정의하고 concrete builder 는 product 의 구체적인 표현(representation) 을 정의하기에.. 그리고, builder 가 추상적인 인터페이스를 제공하므로 director 는 그것을 이용하는 것이다.
http://www2.ing.puc.cl/~jnavon/IIC2142/patexamples_files/pateximg2.gif
http://upload.wikimedia.org/wikipedia/en/6/6e/Builder2.png
Product 를 생성하는 템플릿. Abstract Interface 라고도 할 수 있다.
Builder 를 구현한 부분. 일반적으로 다수개의 Concrete Builder 가 존재하며, Builder 가 제공하는 인터페이스를 이용해서 late binding 의 형식으로 사용하게 된다. 물론, builder pattern 에서의 주 관심하는 Product 를 만들어내는 것이다.
==== Wikipedia 의 Java code ====
private String dough = "";
private String sauce = "";
private String topping = "";
public void setDough (String dough) { this.dough = dough; }
public void setSauce (String sauce) { this.sauce = sauce; }
public void setTopping (String topping) { this.topping = topping; }
public abstract void buildTopping();
public void buildTopping() { pizza.setTopping("ham+pineapple"); }
public void buildTopping() { pizza.setTopping("pepperoni+salami"); }
pizzaBuilder.buildTopping();
/** A customer ordering a pizza. */
public static void main(String[] args) {
protected String name;
protected String description;
- 데블스캠프2004/세미나주제 . . . . 2 matches
* ObjectOrientedProgramming
* 개발 방법론( ExtremeProgramming )
* Linux (또는 UNIX) 기초. 간단한 커맨드들과 쉘 프로그래밍
|| 목 || [STL] || 영동 || 2h || [STL/string]이나 [STL/vector] 등의 1학년도 쓰기 편리한 자료구조 위주로 ||
|| 금 || OOP(ObjectOrientedProgramming) || 수민 석천이형 || ? || OOP ||
- [STL]의 경우 사용법을 세미나하는것도 좋지만 GenericProgramming 의 개념과 왜 그러한 패러다임이 나왔는지, 그 배경에 대한 설명도 있으면 좋을 것 같습니다 - [임인택]
- 그 정도 주제까지 간다면, ProgrammingLanguage 관련 전체를 다루는 수업의 연장선에 놓는게 좋지 않을까요? --NeoCoin
* 월요일 처음 시작 3~4시간을 저 주시면 안될까요? --NeoCoin
* ZeroWiki탐험
* [NeoCoin/Temp] CrcCard
정도로 계획을 짜 놓았는데 전부다하기에는 캠프의 첫날이 다 필요합니다. 월요일에 저렇게 예약된게 많으니, 3시간 정도만 해서 Wiki탐험과 ZeroPage역사+OT 정도만 진행할수 있으면 좋겠어요. 흐흐 벌써 [1002]를 섭외(?)해 놓았고, 다른 분들도좀 섭외를 해서 적절한 요일에 만나면 될것 같습니다. :) --NeoCoin
* RevolutionOS 별로 재미없습니다. 다 아는 내용이고, 당시의 장미빛 미래와 지금이 많이 달라진 상황이라, 슬픈 느낌마져 들었습니다. 시청하는데 의의가 있었죠. :) 제 생각은 ZeroPage 역사를 가지고 스냅샷으로 몇장 정도면 어떨까 합니다. 즉석 역할극도 재미있겠네요. 그런데 [1002] 시험은 언제 끝나요? --NeoCoin
* 예로서는 좋은데, 직접 보기에는 너무 단조롭더라. 설명 자체도 그리 친절하지 않고, 암튼 그런 좋은 영화 같은거 없나? --NeoCoin
* 월요일 처음 시작 3~4시간을 저 주시면 안될까요? 시작이 아니면 그리 큰 의미가 없는데요. 재동, 상규 의 그래픽스 시간이 힘든가요? --NeoCoin
* 지금 Accelerated C++을 보고 있는데 STL에 대해 흥미가 생기네요... 그래서 이거 세미나 계획하고 있습니다. 세미나 방향은 char배열을 대신해서 쓸 수 있는 string이나, 배열 대신 쓸 수 있는 vector식으로 기존의 자료구조보다 편히 쓸 수 있는 자료구조를 설명하려 합니다.-영동
영웅인가요? :) 제가 기억하는 영웅들은 ZeroPage(페이지 하단 기재) 91,92,93 년도에 경진대회로 학교 PC실을 하나 새로 만든 분들 정도 아닐까요? --NeoCoin
얼마전(2달?) 동생이 KTF Future List 인지, Feature List 인지를 통과해서 활동을 시작했는데요. 처음에 3박 4일로 훈련(?)을 와서 자신이 굉장히 놀란 이야기를 해주었습니다. 이 것은 전국 수십개 대학에서 5명씩 모여서 조성된 캠프입니다. 이 집단의 개개인 모두가 적극적인 면이 너무 신기하다는 표현을 하더군요. 뭐 할사람 이야기 하면, 하려고 나오는 사람이 수십명인 집단...
환타 FunCamp 라던지, TTL에서 주최했던 모임, 바카스 국토 대장정, KTF Future List...
--NeoCoin
[STL]을 할때 단순히 자료구조를 사용하는 방법을 같이 보는것도 중요하겠지만 내부구조 (예를 들어, vector는 동적 배열, list은 (doubly?) linked list..)와 같이 쓰이는 함수(sort나 또 뭐가있드라..그 섞는것..; ), 반복자(Iterator)에 대한 개념 등등도 같이 보고 더불어 VC++6에 내장된 STL이 ''표준 STL이 아니라는 것''도 같이 말씀해 주셨으면;; (SeeAlso [http://www.stlport.org/ STLPort]) - [임인택]
- 데블스캠프2011/셋째날/String만들기/김준석 . . . . 2 matches
#include<iostream>
using namespace std;
class String{
int offset;
int count;
String(){
String(const char *original){
count = strlen(original);
strcpy(value,original);
String(const String& str, const int offset,const int count){
this->value = '\0';
this->value = str.value + offset;
this->offset = 0;
this->count = count;
void print(){
for(int i =0;i<count;i++){
char charAt(const int at){
int indexOf(String& str){
for(int i =0; i < this->count; i++){
int select = -1;
- 동문서버위키 . . . . 2 matches
http://dongmun.cse.cau.ac.kr/phpwiki/index.php?RecentChanges
동문서버위키가 현 상황에서 제로페이지의 위키나 다른 성공적 위키 사이트에 비해 상대적으로 사용이 저조하고 NoSmok:DegreeOfWikiness 가 낮고 무엇보다도 사람들이 해당 위키를 통해 얻는 "삶 속에서의 가치"(혹은 효용)가 없어서 한마디로 실패한 커뮤니티 사이트가 된 이유는 무엇일까.
* 테스트 기간때의 개인페이지의 영향 - 동문서버팀에서 '좋은 선례' 를 만들어보기 위해 동문서버 프로젝트 자체가 돌아가는 모습 (ex - [http://dongmun.cse.cau.ac.kr/phpwiki/index.php?PPGroup_Board 동문서버게시판프로젝트]) 을 일부러 위키에 남겨보고, 몇몇 사람들이 공동번역페이지나 스터디 페이지 같은 것들을 열어봤었지만. 이미 그때 사람들의 주 관심사들은 자신들의 페이지들에 일기를 남기는 것이였었죠. 그 이후, 인식을 바꿀만한 사건들이 나오지 않은 것 같습니다.
* 주제의식의 부족 - 이것은 앞의 이야기와 이어지는데요. 인식을 바꾸지 못했던 점과 이어지죠. 주제에 대해서 [http://dongmun.cse.cau.ac.kr/phpwiki/index.php?%B5%BF%B9%AE%C0%A7%C5%B0 동문위키] 페이지에서 언급을 했었으면서도 실제로 열려있는 페이지들이 그러하지 못했죠. 이는 시험서비스였다는 점도 작용하겠지만, 시험서비스가 기간이 너무 길었죠. (기약없는 시험서비스기간) --석천
* 할말이 없네요. 다 옳은 말이니. 생각해 보면 동문위키를 프로젝트의 구심점으로 삼은 사람이 없다는게 이상할 정도 입니다. 더구나, 현재의 감정사전과, 개인의 신변 잡기식 글들이 늘어나면서 해당 툴의 접근 폭력성이 더 늘어나 사태가 더 심해지는 것 같네요. 현재 ZeroWiki 도 침체의 길을 가느냐, 아니면 꾸준히 활성화냐 이렇게 될것 같은데 약간 걱정입니다. --상민
- 문원명 . . . . 2 matches
* [TheJavaMan]
[홈페이지분류], ZeroWikian, ZeroPagers
- 문자열검색/허아영 . . . . 2 matches
His teaching method is very good.
만약에 Hot이라는 단어를 저 문장에서 찾았을때, 먼저 H로 시작하는 단어가 있기 때문에 His와 비교를 당하게 된다.
#include <stdio.h>
void exist_word(char x[40], int exist_str[10]); //x[i]에 문자열의 유무
int compare_str(char x[40], char search_str[15], int exist_str[10]); // 문자열 비교
int word_num = 1, search_str_num = 0;
int found = 0; int temp = 0;
void main()
char x[40] = "His teaching method is very good.";
int exist_str[10]; // exist_str[i]에는 x문자열중 i번째 문자열이 몇번째 문자에 나오나
printf("끝내려면 ""EE""입력\n"); //출력.
printf("자료 -> %s", x);
printf("\n찾을 문자열 -> ");
fprintf(fp,"자료 -> %s", x); //result.out에 저장.
fprintf(fp, "\n찾을 문자열 -> ");
fprintf(fp, "%s", search_str);
exist_word(x, exist_str);
found = compare_str(x, search_str, exist_str);
fprintf(fp, "\nfirst found -> %d\n\n", exist_str[word_num]+1);
fprintf(fp, "\nNot found!\n\n");
- 병희 . . . . 2 matches
수개월간 아무런 소식이 없어서, ZeroPagers 에서 ZeroWikian 으로 분류를 바꾸었습니다. 원하시면 언제든지 참여해 주세요. --NeoCoin
["홈페이지분류"], ["ZeroWikian"]
- 새싹교실/2011/Pixar/4월 . . . . 2 matches
* Type Casting
* Infinite loop
#include <stdio.h>
#include <assert.h>
int main()
int score;
printf("%c \n", grade);
#include <stdio.h>
#include <assert.h>
int main()
int score;
printf("%c" , grade);
* Infinite loop
- 새싹교실/2011/學高/4회차 . . . . 2 matches
* Input three integers: 2 3 7
* The sum of your integers plus 7 is 19
* Hint
#include <stdio.h>
int main()
int x,y,z;
// printf()로 결과 출력하기
* printf 사용법
* %d: decimal integer
* 정수형 data type: int, char
#include <stdio.h>
#define PI 3.141592
int main()
int price;
printf("직경: "); scanf("%f",&diameter);
printf("가격(단위 원): "); scanf("%d",&price);
printf("넓이: %.2f\n",PI*diameter*diameter);
printf("조각 당 가격: %d\n",price/8);
#include<stdio.h>
int main()
- 새싹교실/2013/케로로반/실습자료 . . . . 2 matches
Social Executive of Computer Science and Engineering will hold a bar event. There are many pretty girls and handsome guys. It will be great day for you. Just come to the bar event and drink. There are many side dishes and beer. Please enjoy the event. but DO NOT drink too much, or FBI will come to catch you. Thank you.
- 서지혜 . . . . 2 matches
Someday you'll say something that you'll wish could take back - drama, House
* dead line, 중간 목표 필요
* Accountable Goal Setting
1. Training 1000시간
== ON DOING ==
1. Training Diary
* [http://wiki.zeropage.org/wiki.php/Ruby/2011%EB%85%84%EC%8A%A4%ED%84%B0%EB%94%94/%EC%84%B8%EB%AF%B8%EB%82%98 루비 세미나](3.7) : 2. 본격 문법 + 실습 (30-40분)
* 엔포지 : [http://nforge.zeropage.org/projects/bigtablet/wiki/FrontPage?action=show 빅테이블 분석및설계]
* 위키 : [http://swmaestro.openflamingo.org]
1. English Speaking Study
* see also [EnglishSpeaking/2012년스터디]
* see also [Spring/탐험스터디]
1. English Speaking Study
* see also [EnglishSpeaking/2012년스터디]
* 기념으로 Jetbrain사의 RubyMine구매 (12/21 지구멸망기념으로 엄청 싸게 팔더라)
* [http://wiki.zeropage.org/wiki.php/RubyLanguage 루비문법]
* [http://nforge.zeropage.org/projects/deletewastes/wiki/FrontPage?action=show 엔포지 링크]
* [http://wiki.zeropage.org/wiki.php/JavaScript/2011%EB%85%84%EC%8A%A4%ED%84%B0%EB%94%94 JavaScript 스터디]
* see also [Spring/탐험스터디]
* 꾸준 플젝인듯. 처음엔 reverse polish notation으로 입력식을 전처리하고 계산하다가 다음엔 stack 두개를 이용해서 계산하여 코드 수를 줄임.
- 여섯색깔모자 . . . . 2 matches
|| [[ISBN(8988798864,K)]] ||
* Title : 생각이 솔솔 여섯 색깔 모자 ( Wiki:SixThinkingHats )
* Publisher : 한언출판사
* My Point
* NeoCoin : B) B) B) B) B)
어떻게 하면 생각을 잘 모을 수 있을까? 어떻게 하면 신속한 회의를 할 수 있을까? 라는 고민에 내려놓은 제 결론이 얼마나 부족한가를 일깨워 주었습니다. 두께가 그리 두껍지 않으니, 가볍게 들고 다니면서 볼수 있습니다. --NeoCoin
See Also Wiki:SixThinkingHats
평소에 의견을 교환 하다가 보면 어느새 자신의 자존심을 지키려는 논쟁 으로 변하게 되는 경우가 많다. 이 논쟁이란게 시간은 시간대로 잡아 먹고, 각자에게 한가지 생각에만 편향되게 하고(자신이 주장하는 의견), 그 편향된 생각을 뒷받침 하고자 하는 생각들만 하게 만드는 아주 좋지 못한 결과에 이르게 되는 경우가 많다. 시간은 시간대로 엄청 잡아 먹고... 이에 대해서 여섯 색깔 모자의 방법은 굉장히 괜찮을거 같다. 나중에 함 써먹어 봐야 겠다. 인상 깊은 부분은 회의를 통해서 지도를 만들어 나간후 나중에 선택한다는 내용이다. 보통 회의가 흐르기 쉬운 방향은 각자 주장을 하고 그에 뒷받침 되는것을 말하는 식인데, 이것보다 회의를 통해서 같이 머리를 맞대서 지도를 만든후 나중에 그 지도를 보고 같이 올바른 길로 가는 이책의 방식이 여러사람의 지혜를 모을수 있는 더 좋은 방법이라고 생각한다. 이 책도 PowerReading 처럼 잘 활용 해보느냐 해보지 않느냐에 따라서 엄청난 가치를 자신에게 줄 수 도 있고, 아무런 가치도 주지 않을 수 있다고 생각한다. - [상협]
- 오페라의유령 . . . . 2 matches
http://www.aladdin.co.kr/Cover/8970752366_1.gif
소설이 먼저였지만, 개인적으로 Webber 와 Sarah 의 노래를 엄청나게 좋아하는 관계로. 소설을 읽는 내내 머릿속에서 Think of Me, The Music of Night, Wishing you were somehow here again 가 배경음악으로 깔리었다.
웨버아저씨에게 상상력을 선사해준 소설이란? 원작에 상관없이 자신스타일로 작품을 만들어내는 웨버아저씨여서 (그래봤자 본건 하나뿐이지만; 한편은 대본읽음). 개인적인 결론은 해당 소설로부터 자신의 주제의식을 뽑아낸 웨버아저씨 멋져요 이긴 하지만, 이 소설이 태어나지 않았더라면 Phantom of the opera 가 나타나지 않았을 것이란 생각이 들기에. (소설의 구성 등을 떠나서, Phantom 이라는 캐릭터를 볼때)
뮤지컬의 이미지때문인지 (한번도 안본 뮤지컬에 대해 이미지를 떠올리는것도 우스운 일이다. OST와 Sarah 의 뮤직비디오는 많이 보긴 했지만) 크리스틴을 볼때마다 사라아주머니의 젊었을때의 사진을 떠올렸고, Phantom 이 등장할때엔 그 Main Theme (Phantom 의 그 멋진 웃음소리와도 같게 들리는...) 를 떠올렸다.
http://www.westegg.com/unmaintained/alw/webber.jpg [[BR]]
* EBS 에선가 Joseph and the Amazing Technicolor Dreamcoat를 방영해줬던 기억이 난다. 성경에서의 요셉이야기를 이렇게 표현할 수 있을까; 형 왈 '아마 성경을 이렇게 가르친다면 교회에서 조는 사람들 없을꺼야;' 어떻게 보면 '아아 꿈많고 성공한 사람. 우리도 요셉처럼 성공하려면 꿈을 가져야해;' 이런식이였지만, 아주 신선했던 기억이 난다.
* 암튼 Phantom of the opera 에서 가장 멋진 목소리는 Phantom 이라 생각. 그리고 당근 Sarah 아주머니; Phantom 이라는 캐릭터 이미지가 맘에 들어서. 그리고 노래도.
* 소설에서의 Angle of the music 은 Phantom 을 이야기하는것 같은데, 왜 Webber 의 노래에선 크리스틴을 지칭할까.
- 이영호/64bit컴퓨터와그에따른공부방향 . . . . 2 matches
C, C++, Assembly, Linux Kernel, Network, Compilers
내가 걸어야할 길은 지금과 같은 Network, Linux Kernel이 아니라
(C를 사용할 시 Inline Assmbly만을 허용한다.)
* Global Optimization 관점에서, 어느 부분은 생산성을 살리고 어느 부분은 퍼포먼스를 추구할까? 퍼포먼스를 추구하는 모듈에 대해서는, 어떻게 하면 추후 퍼포먼스 튜닝시 외부 모듈로의 영향력을 최소화할까? (InformationHiding)
참고로 저는 82년부터 기계어(Machine Code)로 프로그래밍을 해본 사람입니다. 그렇지만 그 경험이 제가 현재 컨설턴트로, 프로그래머로 살아가는데 결정적 도움이 되었다는 생각은 들지 않습니다.
컴퓨터 계의 대부 다익스트라(EdsgerDijkstra)는 이런 말을 했죠. "천문학이 망원경에 대한 학문이 아니듯이, 컴퓨터 과학 역시 컴퓨터에 대한 것이 아니다."(Computer science is no more about computers than astronomy is about telescopes.) 망원경 속을 들여파봐야 거기에서 명왕성이 뭔지 알 수가 없고, 컴퓨터를 속속들이 이해한다고 해서 컴퓨터 과학에 달통할 수는 없다 그런 말이죠.
- 일반적인사용패턴 . . . . 2 matches
* ["HelpOnFormatting"]
* ["HelpOnEditing"]
연습은 ["WikiSandBox"] 에서 해보시기 바랍니다.
해당 주제에 대해 새로운 위키 페이지를 열어보세요. Edit Text 하신 뒤 [[ "열고싶은주제" ]] 식으로 입력하시면 새 페이지가 열 수 있도록 붉은색의 링크가 생깁니다. 해당 링크를 클릭하신 뒤, 새로 열린 페이지에 Create This Page를 클릭하시고 글을 입력하시면, 그 페이지는 그 다음부터 새로운 위키 페이지가 됩니다. 또 다른 방법으로는, 상단의 'Go' 에 새 페이지 이름을 적어주세요. 'Go' 는 기존에 열린 페이지 이름을 입력하면 바로 가게 되고요. 그렇지 않은 경우는 새 페이지가 열리게 된답니다.
위키위키의 장점중 하나로 자유로운 링크에 있습니다. 기본적으로 auto link를 지원하므로 해당 위키 페이지 링크 뿐만 아니라 다른 웹 페이지의 링크도 자유롭습니다. (쓰다가 보면 가끔 위키 내에서 다른 페이지로 날라가기 허다해진다는. --;) 위키페이지 링크는 [[ "해당페이지이름" ]] 을 하시면 되고, 일반 웹 페이지는 URL을 그냥 입력해주시면 됩니다.
- 임시분류 . . . . 2 matches
일회용 페이지들에 대한 분류.DeleteThisPage 의 대상이 될수 있는 페이지다. 경우에 따라 보존될 가능성도 있는 페이지들. 가령 설문조사등은 일회용이 될수 있지만 일종의 자료로 남을 수도 있다. DeleteThisPage 가 아니라면 추후 재분류 대상 페이지.
- 정규표현식 . . . . 2 matches
[[pagelist(^정규표현식/*)]]
* 환경 : [http://groups.google.com/group/zeropageregex google 그룹메일]을 통한 메시지 전달 / Wiki를 통한 스터디 내용 저장.
* Wiki 문서 작성시 안의 내용은 자유이나 맨위에 정규표현식 내용 링크 리스트는 모두 나와야하며 스터디문서에서는 정규표현식 링크와 스터디 링크만 나와야 하며 반대로 모임문서에서는 정규표현식 링크와 모임 링크만 나와야한다.
- 정모/2011.7.18 . . . . 2 matches
* [Spring/탐험스터디]
* 월요일에는 [wiki:JosephYoder방한번개모임]에 다녀옴.
* 해결이 안 된 PIGS와 The lazy programmer를 다같이 풀기로 함.
* [EnglishSpeaking/2011년스터디]
* Free talking과 Theme talking으로 나누어 진행.
* Joseph Yoder와의 만남에서 배운 것. Naming은 상당히 중요합니다. Naming이 적절하면 자세한 구현을 보지 않아도 됩니다. - [김수경]
* [wiki:JosephYoder방한번개모임]을 참고해주세요.
- 제안 . . . . 2 matches
["제안"]이라는 ["페이지이름"]이 너무 모호하다고 생각합니다. ["ZeroWiki/제안"]으로 ["페이지이름바꾸기"]하겠습니다. --["이덕준"]
2004년 7월 25일 ["ZeroWiki/제안"]으로 ["페이지이름바꾸기"]하였습니다. --[Leonardong]
- 졸업논문/요약본 . . . . 2 matches
Web environment has became a standalone platform. Object-oriented languages, such as python, are suitable for web. Django is a web application framework written by python, and helps web developers writting web application more agile by abstracting database. Django provides high level abstraction on database, higher than CLI which uses ODBC. Django, for instance, creates database tables when developer writes classes in python, and modifies tables when developer modifies classes in python. In addition, django helps developers using database on host-language(python) level by abstracting insertion, deletion, update, retrieving of recodes to class method. Therefore, web developers make programs more agile.
- 좋은위키페이지 . . . . 2 matches
["상민"] 이도 ["데기"] 가 말하는 부분들이 아쉽다. 그러한 느낌을 기록하고, 그것을 공유하는 것이 위키의 순기능중 하나라고 생각한다. 하지만, 그런 모습이 ZeroWiki에 부족한 이유가 느낌을 기록하기 위해 글을 쓰는 '''용기'''가 부족하기 때문이라고 생각한다. ZeroWiki에서는 경험과 느낌이 표현되는 곳은 프로젝트 페이지의 '''여정'''이나 '''느낌''' 기록하는 부분이나 이벤트의 '''후기''' 같은 부분이 주가 되고 있다. --["상민"]
- 컴퓨터고전스터디 . . . . 2 matches
요즘 전산학과 대학생들이 모여서 리눅스 해킹법이니, MFC API니 하는 걸 같이 스터디하는 것도 나름대로 의미가 있겠지만 컴퓨터계의 고전 하나를 제대로 스터디하는 것은 어떨까 합니다. ''군자무본 본립이도생. 군자는 근본에 힘을 쓰니, 근본이 서야 길이 생기기 때문이다.''라는 말이 논어에 나오죠. 나이가 아직 어리고, 시간적 여유가 있는 때에는 어떤 구체적인 "기술"보다 좀더 일반적이고 보편적이며 이론적인 사유를 훈련하는 것이 좋지 않을까요. 구체적 기술은 거기에 갖혀버리는(Lock-In) 경향이 있습니다. 2-3년 뒤에는 쓸모없어진다든가 하는 것이죠. 하지만 고전은 대부분 앞으로도 10년은 족히 유효한 것들입니다. 꾸준히 재해석될 가능성이 있는 것들이고, 무엇보다 문제의식과 함께 치밀한 사유를 배우는 겁니다. 생각하는 법 말이죠.
* 2004년 여름방학 현재 TheArtOfComputerProgramming으로 진행
- 타도코코아CppStudy/객체지향발표 . . . . 2 matches
상대적으로 각 객체는 소속 클래스의 인스턴스(instance)가 된다.
* Polymorphism(다형성) - 같은 연산 기능이 부여되어도 그 기능을 수행하는 클래스에 따라 다른 행위로 나타날 수 있다.
* Inheritance(상속) - 계층(hierarchy)관계에 놓여 있는 클래스들 간에 속성이나 연산 기능들을 공유한다.
* 캡슐화(encapsulation) : 객체의 내부적인 사항과 객체들간의 외부적인 사항들을 분리시킨다. 이렇게 캡슐화된 객체의 행위는 외부에서 볼 때는 구체적인 아닌 추상적인 것이 되므로 정보 은닉(information hiding) 개념이 존중된다. 주어진 클래스의 특정 연산 기능은 메소드(method)라고 한다. 캡슐화는 무슨 메소드로 구현되었는가에 구애받지 않고 추상적으로 정의된 연산 기능을 통해 객체가 사용되고 시스템의 상태(state)를 변화시키도록 해준다.
* combining data and behavior : 특정한 연산 기능을 수행시킬 때 단순히 메세지만 전송하면 된다.
* sharing : 자료 구조및 행위의 공유화(sharing)는 계층 관계에 놓여 있는 클래스들 간의 상속성(inheritance)으로 가능하다.
* 상속성(Inheritance) : 객체를 이루는 클래스를 만들때 이전의 정의했던 클래스와 비슷하나 다른 특이한 특성을 지니는 클래스를 만드는것이다.
* 다형성(Polymophism) : 상속성에서 다형의 개념이 많이 왜곡되어 보여진감이 없지않으나 다형도 객체지향에서 빼놓을수 없는 특성이다.
1. 객체지향 분석(object-oriented anaysis : OOA)
객체 모형(object model) : 객체들과 그 특성을 식별하여 객체들의 정적 구조(static structure)와 그들간의 관계(interface)를 보여주는 객체 다이어그램(object diagram)을 작성한다.
3. 객체지향 구현(object-oriented programming : OOP)
설계 모형을 특정 프로그램 언어로 번역하는 작업이다. 객체, 클래스, 상속의 개념을 다 포용하는 객체지향 언어(object-oriented programming language : C++, Smalltalk 등)가 가장 좋지만 객체의 개념만 인정하고 클래스, 상속 등은 고려하지 않은 객체기반 언어(object-oriented based programming language : Ada 등)도 좋다.
또한, 일반적인 구조적 프로그래밍 언어(structured programming language : C, Pascal 등)도 객체지향 개발에 활용될 수 있는가 하면 객체 지향 데이타베이스 관리시스템(OODBMS)이 개발의 도구로 이용될 수도 있다.
- 튜터링/2013/Assembly . . . . 2 matches
* Virtual, 2진수, 메모리 공간, ALU연산, Pipeline, Multitasking, 보호모드, Little-endian, RISC&CISC
1. Instruction Execution Cycle을 도식하고, 설명하세요.
1. Directive와 instruction의 차이점에 대해 설명하시오.
4.다음 방식(indirect, indexed)로 코드를 작성하고, 설명하시오.
indirect operands indexed operands
* Interrupt
* Disk HW적인 요소, SW적인 요소
- 프로그래밍잔치/첫째날후기 . . . . 2 matches
* 계층위키에 대해서는 좀 더 신중할 필요가 있다. (NoSmok:HierarchicalWiki)
=== Think Different! 낯선언어와의 조우 ===
학부생이 공부해볼만한 언어로는 Scheme이 추천되었는데, StructureAndInterpretationOfComputerPrograms란 책을 공부하기 위해서 Scheme을 공부하는 것도 그럴만한 가치가 있다고 했다. 특히 SICP를 공부하면 Scheme, 영어(VOD 등을 통해), 전산이론을 동시에 배우는 일석삼조가 될 수 있다. 또 다른 언어로는 Smalltalk가 추천되었다. OOP의 진수를 보고 싶은 사람들은 Smalltalk를 배우면 큰 깨달음을 얻을 수 있다.
1. 충격 이었다.. 라고 하면 너무 일반적인 수식어 일까. 사실 앉아서, 해당 언어들에 대하여 집중 할 수 있는 시간이 주어 지지 않았다는 것이 너무나 아쉬웠다. To Do 로 해야 할일이 추가 되었다. 아니 Memory List로 표현해야 할까?
>>> handan=lambda a:[a*b for b in range(1,10)]
>>> gugudan=lambda :[handan(a) for a in range(1,10)]
>>> gugudan=[[a*b for b in range(1,10)] for a in range(1,10)]
>>> gugudanpair=[(a,b) for a in range(2,10) for b in range(1,10)]
>>> printgugupair=lambda pair: sys.stdout.write("%d * %d = %d\n"%(pair[0],pair[1],pair[0]*pair[1]))
>>> ign=map(printgugupair,gugudanpair)
- 프로젝트기록의필수요소토론 . . . . 2 matches
* ZeroWiki내 프로젝트 페이지의 6하 원칙
["neocoin"] 지금 프로젝트중 어정쩡한 상황으로 가는게 있는데, 반달정도에 한번도 업데이트 안되는 것을 그 예라고 생각합니다. 프로젝트의 끝이 명확해야 하지 않을까요? 비록 팀원들간에 사정으로 해당 프로젝트가 와해 되었다면, 팀원들중 아무나, 혹은 다른 회원의 지적으로 종료 시점을 기록해서 와해 이유와, 차후 방지에 관하여 한번쯤 생각해 봐야 할것이라고 생각 됩니다. [[BR]]
[1002] 프로젝트 이름에 대해서 한마디 한다면, 'Java', 'ExtremeProgramming' 은 공부하려고 하는 지식의 종류이지 프로젝트의 이름으로 부적절하다고 봅니다. 만일 Java Study 팀이 두 개인 경우라면? 문제가 발생할 수 밖에 없습니다. 초창기에 해당 기술부분으로 페이지를 열 수는 있지만, 나중에 프로젝트가 끝나고 난다음에는 일반화시켜서 본래의 이름을 반환해주는 것이 좋다고 생각합니다. (즉, 'Java' 페이지는 Java 에 대한 소개나 기술 등을 넣어주고, 'Java' 페이지이름을 썼던 프로젝트팀은 프로젝트팀 이름의 새 페이지를 만들어서 경과보고를 하는식으로..)
[1002] 한가지 더 지적한다면, 해당 토론 또한 기간이 있어야 할 것 같다는 생각. --; (사람들이 이야기는 많지만, 정작 '어떻게 하자', '예. 동감합니다', '아니요. 그건 그렇게 생각하지 않습니다', '이러이러한 방향이 더 좋겠습니다' 라는 이야기를 안하니. -_-;) 기간이 길어지고 아무 이야기 없으면 해당 주제에 대한 결론을 영원히 유보해야 하겠습니까.. 쩝. 전에도 이야기 했지만, WIKI 자주 이용해주시고, 불편하시면 다른쪽 게시판이나 해당 사람에게 e-mail 로 답변을 주시기를. (동보메일이라도 보낼까요? --a ZP 에 sendmail 이 돌고있던가 기억이 안나는군. --;)
["neocoin"] ZeroWiki의 프로젝트 페이지를 위한 6하 원칙을 생각해 봤습니다. 저정도면 될것 같네요. 어디서(where)이 있지만 이것은 보나마나 여기서 여기서니 프로젝트 이름으로 대체해서 했습니다. 앞으로의 모든 페이지가 저 정보가 꼭 있어야 한다고 정모에서 건의 함이(이거 원 정모를 해야 --;) --상민
- 화이트헤드과정철학의이해 . . . . 2 matches
계속 화이트헤드에 주목하는 이유라면 (김용옥씨 관점의 화이트헤드해석일지도 모르겠다. ["이성의기능"] 때문이지만.) 점진적 발전과 Refactoring 에서 뭔가 연결고리를 흘핏 봐서랄까나. 잘못하면 뜬구름 잡는 넘이 될지 모르겠지만. 이번에도 역시 접근방법은 '유용성' 과 관련해서. 또 어쩌면 용어 차용해서 써먹기가 될까봐 걱정되지만. 여유를 가지고 몇달 생각날때 틈틈히 읽으려는 책.
비유의 아이디어로서 ["NumericalAnalysisClass"] 때 배운 Interpoliation 기법들이였다. 수치해석시간의 Interpolication 기법들은, 몇몇개의 Control Point들을 근거로 Control Point 를 지나가는 곡선의 방정식을 구하는 법이다. 처음 Control Point 들의 갯수가 적으면 그만큼 오차도 많지만, Control Point 들을 늘려가면서 점차 본래의 곡선의 모양새를 수렴해간다.
Control Point 들은 일상의 경험들이다. 그 경험들이 삶의 방정식들을 만들어간다. 비록 그 방정식들이 오차가 많을지더라도, (라그랑주일지, Cubic Spline 일지. 어쩌면 결국 현실을 누가 더 잘 설명하느냐라는 유용성의 문제일까) 어느정도 유용하다. 공식이 완성된 선은 재계산과정없이 빨리 그릴 수 있다.
우리는 진리를 찾기 위해 오늘도 자신의 공식에 Control Point 를 하나더 추가하고 있는것일지도 모른다. (단, 라그랑주일경우엔 좀 더 정확해보이는 Cubic Spline 으로 페러다임 전환을 하자. ^^;)
- 1002/TPOCP . . . . 1 match
Seminar:ThePsychologyOfComputerProgramming 맡은 챕터 정리궁리중.
Part 3 Programming as an individual activity
Variations in the programming task
Professional versus amateur programming
What the programmer is trying to do
case) 물리 교수로부터 해당 메트릭스를 반전하는 프로그램 작성. 한 개발자는 (A) 뭔가 배울 수 있는 좋은 기회라고 생각, buffering 을 이용하여 문제를 해결하려고 함.
Stages of programming work
- 2010Python . . . . 1 match
* 교재 : How to think like a computer scientist
* [김수경] - [http://wiki.zeropage.org/wiki.php/%ED%8C%8C%EC%8A%A4%EC%B9%BC%EC%82%BC%EA%B0%81%ED%98%95/%EA%B9%80%EC%88%98%EA%B2%BD#s-3 파스칼삼각형/김수경2]
* [박정근] - 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]
- 2011년독서모임 . . . . 1 match
* [김준석] - [http://www.aladin.co.kr/shop/wproduct.aspx?ISBN=8934940069 나는 아직 어른이 되려면 멀었다]
* [김수경] - [http://www.aladin.co.kr/shop/wproduct.aspx?ISBN=8955614101 왜 사람들은 이상한 것을 믿는가]
* [서지혜] - [http://www.aladin.co.kr/shop/wproduct.aspx?ISBN=8988964373 작심후 3일]
* [강소현] - [http://www.aladin.co.kr/shop/wproduct.aspx?ISBN=8984314307 1등만 기억하는 더러운 세상]
* [김수경] - [http://www.aladin.co.kr/shop/wproduct.aspx?ISBN=8986509814 우리말 달인]
* [강소현] - [http://www.aladin.co.kr/shop/wproduct.aspx?ISBN=896330020X 중독의 이해와 상담의 실제]
* [정의정] - [http://www.aladin.co.kr/shop/wproduct.aspx?ISBN=8956604231 꿈의 도시]
* [김준석] - [http://www.aladin.co.kr/shop/wproduct.aspx?ISBN=8952723147 나니아 연대기]
* [강소현] - [http://www.aladin.co.kr/shop/wproduct.aspx?ISBN=890110511X 더 박스]
* [권순의] - [http://www.aladin.co.kr/shop/wproduct.aspx?ISBN=8937831090 GO] (가네시로 가즈키)
* 이와 관련해서 외국 음악이랑 외국 영화에 나오는 한국에 대해 찾아보려 했는데요,, 급 귀차니즘 때문에 외국 음악에 나오는 한국 관련된 것만 찾았다는...; 뭐,, 그래서 찾은 것이 Gary Moore의 Murder in the skies 라는 노래인데, 이 노래는 1983년 9월 1일에 뉴욕에서 출발한 한국행 비행기가 소련의 영공에 침범 했나(? -_-;; 죄송;;) 그래서 소련의 전투기가 Kal기를 격추시키는 일이 발생하였는데, 그것을 내용으로 소련의 만행으로 무고한 사람들이 죽음을 당했다는 것을 비판한 노래라 소개 했었고, 또 하나 찾아봤었던게 Deftones의 Korea라는 노래인데... 알고보니까 그냥 노래 내용이 어떤 소녀에 대한 이야기인데 그 소녀의 이름이 한국인 성과 비슷해서 그냥 그렇게 썻다고 해서 패스했습니다.
* [강소현] - [http://www.aladin.co.kr/shop/wproduct.aspx?ISBN=8937831090 GO] (가네시로 가즈키)
* [송지원] - 선물 The Present
* [권순의] - [http://book.interpark.com/meet/webzinePapa.do?_method=intvDetail&sc.mreviewNo=26730&bkid1=webzin&bkid2=main&bkid3=flashBan&bkid4=004 고구려] (김진명)
* [강소현] - [http://www.aladin.co.kr/shop/wproduct.aspx?ISBN=899006225X 수집이야기]
* [강소현] - '''[http://www.aladin.co.kr/shop/wproduct.aspx?ISBN=8990984610 자존감]'''
* 사실 이런 주제를 정한 것도 District 9라는 영화를 보면서 (내용이 지구에 불시착 한 외계인들이 District 9이라는 곳에 살게 되었는데 그들의 인생이 빈민가의 인생인데 실제 빈민가를 소재로 외계인으로 바꾸어 영화화 했다고 합니다.) 이 소설이 불현듯 생각난 것도 있고 해서 읽게 되었습니다.
* [김태진] - 이번주도 어려운(아마 내일 무슨 책을 읽었는가 정모에서 물어본다면 대답하지 못할..) 책 제목이네요. 음.. 책읽으면서 느낀 결론은, 아 영어 공부 해야지 -_- 였습니다. 1년간 반쯤 손 놓고 있었더니 Eng2에서도 EnglishClinic에서도 말이 제대로 안나오는군요. 흠..
- 2012년독서모임 . . . . 1 match
* [권순의] - Fault Line
* [박한기] - The Goal
* [권순의] - 오랜만에 시작하는군요. Fault Line은 보이지 않는 균열이 세계 경제를 위협한다는 내용으로 지표면에서 단층면이 접하는 선인 단층선이 Fault Line인데 그 곳에서 지진이 발생한다는 것 때문에 따 왔다고 하더군요. 그래서 과거 시행했던 정책이나 여러 사건들을 통해 현재의 경제가 어떠한 상황에 이르게 되었는지에 대해서 서술한 책입니다. 사실 무지 재미 없습니다. -_- 읽은지 꽤 됬는데 눈에 잘 안 들어오고 하다 보니 아직도 다 못 읽었..
- 2학기파이선스터디/문자열 . . . . 1 match
1. 인덱싱(Indexing) = [k]
2. 슬라이싱(Slicing) = [[ s : t ]
5. 멤버십 데스트(Membership Test) = in
>>> s = 'i like programing'
'I LIKE PROGRAMING'
'i like programing'
'I like programing' # 첫 문자를 대문자로
>>> s = 'i like programing, i like swimming'
>>> s.find('like')
>>> s.find('my')
>>> s.rfind('like')
>>> s.index('like')
>>> s.index('my')
File "<pyshell#40>", line 1, in ?
s.index('my')
valueError : substring not found in string.index
>>> ':'.'''join(t)''' # ':' 문자로 결합. 틀리기 쉬우니 주의할것!!
>>> print '\n'.join(t) # 줄바꾸기로 결합.
2. 문서 문자열(doucmentation string)을 이용하는 방법
- 3D업종 . . . . 1 match
[[ISBN(8956742529,KR)]]
http://kangcom.com/common/bookinfo/bookinfo.asp?sku=200503100003
http://kangcom.com/common/bookinfo/bookinfo.asp?sku=200311100001
'''Visual Studio 2005 프로젝트로 되있습니다.
http://www.xmission.com/~nate/glut.html
헤더: C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Include\gl
라이브러리: C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Lib
dll: C:\WINDOWS\system32
vc6이나 2003을 쓸 경우, 비슷한 경로에 glut를 복사하고, 프로젝트를 만들때 win32 console로 해서 링커 옵션에 opengl32.lib glu32.lib glut32.lib 파일을 추가합니다.'''
- 3N 1/김상섭 . . . . 1 match
4358392 2006-02-24 00:56:30 Accepted 2.207 4360 28565 C++ 100 - The 3n + 1 problem
#include <iostream>
#include <vector>
using namespace std;
const int Min = 1;
const int Max = 1000000;
int table[Max];
int num;
int pre_count;
int i, j, k, count;
for(i = Min; i < Max; i++)
if(num > Min && num < Max && table[num] == 0)
if(num > Min && num < Max && table[num] == 0)
int main()
int i, j, k, max_num;
while(cin >> i >> j)
- 3N+1/김상섭 . . . . 1 match
4358392 2006-02-24 00:56:30 Accepted 2.207 4360 28565 C++ 100 - The 3n + 1 problem
#include <iostream>
#include <vector>
using namespace std;
const int Min = 1;
const int Max = 1000000;
int table[Max];
int num;
int pre_count;
int i, j, k, count;
for(i = Min; i < Max; i++)
if(num > Min && num < Max && table[num] == 0)
if(num > Min && num < Max && table[num] == 0)
int main()
int i, j, k, max_num;
while(cin >> i >> j)
- 3N+1Problem/문보창 . . . . 1 match
// no100 - The 3n+1 Problem
#include <iostream>
using namespace std;
int findMaxCycle(int a, int b);
int main()
int a, b; // 입력되는 두 개의 수
while (cin >> a >> b)
int maxCycle = findMaxCycle(a, b); // 최대 사이클
int findMaxCycle(int a, int b)
int t;
int nCycle; // 사이클 길이
int maxCycle = 0; // 최대 사이클
int i;
- 5인용C++스터디/타이머보충 . . . . 1 match
Project -> Settings -> Link -> Object/library modules: 에 winmm.lib 추가
#include <afxwin.h> // MFC core and standard components
#include <afxext.h> // MFC extensions
#include <afxdisp.h> // MFC Automation classes
#include <afxdtctl.h> // MFC support for Internet Explorer 4 Common Controls
#include <afxcmn.h> // MFC support for Windows Common Controls
#include <mmsystem.h>
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
void CALLBACK TimerProc(UINT uID, UINT uMsg, DWORD dwUser, DWORD dw1, DWORD dw2)
int CMMTimerView::OnCreate(LPCREATESTRUCT lpCreateStruct)
m_TimerID = timeSetEvent(1, 0, TimerProc, (DWORD)this, TIME_PERIODIC);
BEGIN_MESSAGE_MAP(CMMTimerView, CView)
- AKnight'sJourney . . . . 1 match
||Total Submissions||15350||Accepted||5124||
=== Sample Input ===
- AM/AboutMFC . . . . 1 match
자료는 소스분석으로 만들어 졌기 때문에 철저히 MFC 6.0(mfc42.dll Visual C++ 버전 6.0)을 기반합니다. 지금이 7.1 (mfc71.dll Visual C++ .NET 2003) 까지 올라 왔지만, 메세지 핸들링을 다룬 이 내용의 변화는 언급이 없습니다. ( from MSDN 2003 )
--NeoCoin
F12로 따라가는 것은 한계가 있습니다.(제가 F12 기능 자체를 몰랐기도 하지만, F12는 단순 검색에 의존하는 면이 강해서 검색 불가거나 Template을 도배한 7.0이후 부터 복수로 결과가 튀어 나올때가 많죠. ) 그래서 MFC프로그래밍을 할때 하나의 새로운 프로젝트를 열어 놓고 라이브러리 서치용으로 사용합니다. Include와 Library 디렉토리의 모든 MFC관련 자료를 통째로 복사해 소스와 헤더를 정리해 프로젝트에 넣어 버립니다. 그렇게 해놓으면 class 창에서 찾아가기 용이하게 바뀝니다. 모든 파일 전체 검색 역시 쉽게 할수 있습니다.
--NeoCoin
그런데요. C# 관련해서 프로그래밍 프로젝트는 없어요? Windows플랫폼이라면, 일반 어플리케이션은 C# 뿐만아니라, Embeded 까지 .NET 계열이 맡게 될텐데 말이죠 :) --NeoCoin
- AOI . . . . 1 match
'''O'''lympiad in
* 여름방학 중 교재 : Programming Challenges ( Aladdin:8979142889 )
* 원문 : http://online-judge.uva.es/problemset/
|| [CompleteTreeLabeling]||. ||. ||. ||. ||. ||. ||. ||. ||
|| [Bicoloring] ||O ||. ||. ||. ||. ||. ||. ||. ||
|| [IsBiggerSmarter?] || O ||. ||
== LINK ==
* [http://acm.kaist.ac.kr/forum/viewtopic.php?t=129]
* http://online-judge.uva.es/problemset/ <-- 여기에서 로봇이 실시간으로 답이 맞았는지 채점도 해준답니다. 푸신분들은 한번 해 보세요 - 보창
- AcceleratedC++/Chapter3 . . . . 1 match
= Chapter 3 Working with batches of data =
== 3.1 Computing student grades ==
#include <iostream>
#include <iomanip>
#include <string>
using std::cin;
using std::setprecision;
using std::streamsize;
using std::cout;
using std::string;
using std::endl;
int main() {
// ask for and read the students's name
string name;
cin >> name;
const string greeting = "Hello, " + name + "!";
// ask for and read the midterm and final grades
cout << "Please enter your midterm and final exam grades: ";
double midterm, final;
cin >> midterm >> final;
- AcceleratedC++/Chapter9 . . . . 1 match
= Chapter 9 Defining new types =
|| 기본 타입 || char, int, double 등 기본언어의 일부 ||
|| 클래스 타입 || string, vector, istream 등 기본언어를 가지고 구현된 타입 ||
== 9.1 Student_info revisited ==
4.2.1절 Student_info 구조체를 다루는 함수를 작성하고, 이를 한개의 헤더파일로 통합을 하는 것은 일관된 방법을 제공하지 않기 때문에 문제가 발생한다.
struct Student_info {
std::string name;
double midterm, final;
프로그래머는 구조체를 다루기 위해서 구조체의 각 멤버를 다루는 함수를 이용해야한다. (Student_info 를 인자로 갖는 함수는 없기 때문에)
'''왜 using-선언문을 사용하지 않는가?'''
string, vector 와 같은 것들은 Student_info의 내부 구현시에 필요한 사항이기 때문에 Student_info를 사용하는 프로그램의 또다른 프로그래머에게까지 vector, string을 std::에 존재하는 것으로 쓰기를 강요하는 것은 옳지않다.
'''상기의 구조체안에 Student_info 를 다룰 수 있는 멤버함수를 추가한 것'''
struct Student_info {
std::string name;
double midterm, final;
std::istream& read(std::istream&); //입력 스트림으로 부터 입력을 받아서 4개의 멤버변수를 초기화한다.
* s:Student_info 라면 멤버함수를 호출하기 위해서는 s.read(cin), s.grade() 와 같이 함수를 사용하면서 그 함수가 속해있는 객체를 지정해야함. 암묵적으로 특정객체가 그 함수의 인자로 전달되어 그 객체의 데이터로 접근이 가능하게 된다.
istream & Student_info::read(istream& in)
in>>name>>midterm>>final;
read_hw(in, homework);
- ActionMarket . . . . 1 match
moinmoin 의 Action 들 관련. Action은 Macro와는 달리 Show, Edit, Delete, Diff, Info (우측 상단 아이콘들 기능) 등 해당 페이지에 가하는 행위를 말합니다.
http://purl.net/wiki/moin/ActionMarket 를 참조하세요.
- AdventuresInMoving:PartIV/문보창 . . . . 1 match
// 10201 - Adventures in Moving: Part IV
#include <iostream>
using namespace std;
//#include <fstream>
//fstream cin("in.txt");
#define MAX_OIL 200
#define MAX_SIZE 101
#define MAX_NUM 1000000000
int length;
int price;
static int totalLength; /* 워털루에서 대도시까지의 거리 */
static int numStation; /* 주유소 수 */
static int d[2][MAX_OIL+1]; /* 다이나믹 테이블 */
inline
int getDistance(int i)
void input()
cin >> totalLength;
cin.get();
while (cin.peek() != EOF && cin.peek() != '\n')
cin >> station[numStation].length >> station[numStation].price;
- Algorithm/DynamicProgramming . . . . 1 match
http://en.wikipedia.org/wiki/Dynamic_programming
Introduction To Algorithm 에도 이에 대한 설명이 있습니다.
[http://www-b2.is.tokushima-u.ac.jp/~ikeda/suuri/dijkstra/Dijkstra.shtml]
== Optimal Binary Search Tree ==
[http://linneus20.ethz.ch:8080/binary.html]
- AnalyzeMary . . . . 1 match
주변에서 남들과 비슷하게 일을 하는 듯 하면서 늘 더 나은 성과를 보이는 사람들이 있다. 대부분은 "메리에겐 뭔가 특별한 것이 있다"(There is something about Mary) 수준의 감탄사를 외치는 데에서 끝난다. 그러면서 나는 왜 그들처럼 될 수 없을까 한탄하고, 곧 까맣게 잊는다.
NeoCoin은 02년도 기말 시험에서 너무나 시간이 없게되는 상황을 맞이 하였다. 학교 출발까지 15분, 통학 시간 1:30 분 남은 상태에서 밥먹으면서 교수님에 성향 대하여 AnalyzeMary를 하고 15분은 강의 노트에 대한 AnalyzeMary , 그리고 도착전까지 열심히 외웠다. 도착 직전까지 외운 내용 조차 시험에 그대로 출제되어 있었다. 결국, 시험의 1문제의 부분적것 외에 전부 정답 작성이 가능했다. 여태까지 살아오면서, 최고의 효율이란 무엇인가를 느낄수 있었다. --NeoCoin
* [http://www.nyxity.com/wiki/wiki.pl/AnalyzeMary 사례] -[김태진]
- AngularJS . . . . 1 match
<h3 ng-init="todos=[]"> Topic </h3>
<li ng-repeat="todo in todos" class="done-{{todo.done}}">
<input type="checkbox" ng-model="todo.done"/>
<button ng-click="todos.splice($index,1)">x</button>
<input type="text" ng-model="test"/>
<button>Input</button>
http://wiki.zeropage.org/wiki.php/Challengers3/140111
- AppletVSApplication/진영 . . . . 1 match
* "'''Application'''"은 main()함수를 포함하고 있어서 자기 스스로 실행이 되는 반면에
* "'''Applet'''"은 main()함수 없이 자기 스스로 실행되지 않고 html에 의해 돌아가는 것 같습니다.
DeleteMe 그럼 여기에서 html 은 무엇이죠? --NeoCoin
["JavaStudyInVacation/진행상황"]
- Applet포함HTML/상욱 . . . . 1 match
codebase = "http://java.sun.com/products/plugin/autodl/jinstall-1_4_1_01-windows-i586.cab#Version=1,4,1,1"
pluginspage = "http://java.sun.com/products/plugin/index.html#download">
["JavaStudyInVacation/진행상황"]
- Applet포함HTML/영동 . . . . 1 match
* 음... HTML 컨버터로 컨버트하긴 했는데 ftp사용법을 몰라서 계정에 올리는 법을 모르겠네요. 그러한 관계로, 상욱이처럼 파일 내용만 올릴게요. ftp쓰는 법 배워서 링크시킬게요... [http://165.194.17.15/pub/util/WinSCP2.exe WinSCP 2.0 Beta]
--NeoCoin
http://java.sun.com/getjava/index.html
--NeoCoin
codebase="http://java.sun.com/products/plugin/autodl/jinstall-1_4_0_03-win.cab#Version=1,4,0,30">
pluginspage="http://java.sun.com/products/plugin/index.html#download">
["JavaStudyInVacation/진행상황"]
- ArtificialIntelligenceClass . . . . 1 match
교재 [[ISBN(0137903952)]]
Upload:namsang:AI - Prentice Hall - Artificial Intelligence - A Modern Approach - 1995.pdf
[[ISBN(8988397886,KR)]]
[http://www.wowbook.com/generic/book/info/book_detail.asp?isbn=ISBN89-88397-88-6 인공지능 개념및 응용]
실습 : 팀 프로젝트로 othello Game AI 작성.
* [http://aima.cs.berkeley.edu/instructors.html 미국대학 시험문제들]
* [http://www.aistudy.co.kr/ AIStudy], [http://www.aistudy.co.kr/heuristic/breadth-first_search.htm breadthFirstSearch]
요새 궁리하는건, othello team 들끼리 OpenSpaceTechnology 로 토론을 하는 시간을 가지는 건 어떨까 하는 생각을 해본다. 다양한 주제들이 나올 수 있을것 같은데.. 작게는 책에서의 knowledge representation 부분을 어떻게 실제 코드로 구현할 것인가부터 시작해서, minimax 나 alpha-beta Cutoff 의 실제 구현 모습, 알고리즘을 좀 더 빠르고 쉬우면서 정확하게 구현하는 방법 (나라면 당연히 스크립트 언어로 먼저 Prototyping 해보기) 등. 이에 대해서 교수님까지 참여하셔서 실제 우리가 당면한 컨텍스트에서부터 시작해서 끌어올려주시면 어떨까 하는 상상을 해보곤 한다.
* Logical Language(Lisp) 와 Procedure Language(C, C++) 의 차이점 및 인공지능 분야에서 Logical Language가 유리한 이유
* [http://www.isle.org/~sbay/ics171/ 문제와답]
- AstroAngel . . . . 1 match
["홈페이지분류"], ["ZeroWikian"]
- AttachmentMacro . . . . 1 match
모니위키 1.1.3부터 제대로 지원하게 된 WikiWyg GUI를 사용하면 좀 더 쉽게 파일을 업로드 하실 수 있습니다.
- AwtVSSwing/영동 . . . . 1 match
= Swing =
* AWT는 사용하긴 쉽지만 한계가 있다. 롤오버 이미지를 사용하는 등 실제로 많이 쓰는 기능을 AWT로 구현하기 어려우며, 운영체제마다 버그가 생기기 때문에 사용하기 불편하다. Swing은 Top-Level의 컨테이너만을 운영체제의 자원을 사용할 뿐 그 하부에 있는 모든 것은 자바 코드에 의해 만드는 방식을 가진다. 발생하는 버그도 자바 가상머신의 범위 내에서 처리가 가능하다. 게다가 컴포넌트의 모양도 사용자의 입맛에 맞게 맞춰주는 것이 가능하다.
* javax.swing.*;
["JavaStudyInVacation/진행상황"]
- BasicJAVA2005/실습2/허아영 . . . . 1 match
안에꺼는 int-> string 형으로 변환해서
import javax.swing.*;
public class GridLayoutDemo extends JFrame implements ActionListener{
private Container container;
container = getContentPane();
container.setLayout(grid1);
exitItem.addActionListener(
new ActionListener() {
for(int count = 0; count < 25; count++) {
buttons[count] = new JButton(Integer.toString(count));
buttons[count].addActionListener(this);
container.add(buttons[count]);
setVisible(true);
container.validate();
public static void main(String[] args) {
- BaysianFiltering . . . . 1 match
그리고 PatternClassification 관련한 여러 알고리즘에도 BayesTheory 를 기본으로 하는게 상당히 많다.
- Benghun . . . . 1 match
다른 곳으로 이사중 [http://earth.uos.ac.kr/~puteri/cgi-bin/puteri/wiki.cgi?강병훈 강병훈]
nosmok - moin 으로 바꾸어서 이런 [FrontPage] 링크가 됩니다. 그리고 로그인 기능을 풀어 놨으니 해보세요. 편해요. --NeoCoin
혹시 다음에서 일하세요? --NeoCoin
그렇군ㅇ. ^^; 제가 지금 다음에 머무르고 있어서, 혹시나 했습니다. --NeoCoin
그냥 뭐 홈페이지 만들지요 ;; --NeoCoin
["홈페이지분류"],["ZeroWikian"]
- BusSimulation/영창 . . . . 1 match
= Info =
[[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", "탑승하차상황 가정 버전")]]
왜 OOP적 접근법이 필요한지 약간 감이 잡힌다고 해야할까? 이런 현실의 내용을 simulation 하기에는 structured programming의 접근법으로는 참 다루기가 힘든점들이 많을 것 같다. - [eternalbleu]
- Button/상욱 . . . . 1 match
import javax.swing.*;
public class Test extends JFrame implements ActionListener
button1.addActionListener(this);
button2.addActionListener(this);
public static void main(String[] args){
f.setVisible(true);
JOptionPane.showMessageDialog(this, "Dialog 1", "1",
JOptionPane.showMessageDialog(this, "Dialog 2", "2",
["JavaStudyInVacation/진행상황"]
- COM/DCOMPrimerPlus . . . . 1 match
|| [[ISBN(0672314924)]] ||
= Introduction =
- CPPStudy_2005_1/STL성적처리_1 . . . . 1 match
= InputText =
#include <iostream>
#include <string>
#include <fstream>
#include <vector>
#include <algorithm>
#include <numeric>
using namespace std;
#define SUBJECT_SIZE 4
struct Student_info {
string name;
vector<int> subjects;
int total;
double Sum(Student_info &s);
void totalSum(vector<Student_info> &students);
double average(Student_info &s);
void totalAverage(vector<Student_info> &students);
bool totalCompare(const Student_info &s1, const Student_info &s2);
void sortBySum(vector<Student_info> &students);
ostream& displayScores(ostream &out, const vector<Student_info> &students);
- CPlusPlus_ . . . . 1 match
== Index ==
- CanvasBreaker . . . . 1 match
* 2002학년도 2학기 ObjectProgramming 3번째 프로젝트
1. Blurring
2. Sharpening
4. Embossing
5. Median Filtering
1. Contrast Stretching
2. Histogram Equalization
2. Sampling
* Posterizing - 30분
* Clipping ,Iso-intensity, Range-Highlighting, Solarize - 40분
* Blurring, Sharpneing - 1시간
* 유사연산자, 차연산자, embossing, Median Filtering, 영상 질 향상 그리고 나머지 - 3시간
= Link =
- CategoryEmpty . . . . 1 match
A category for empty pages. See also DeleteThisPage.
- CauGlobal/Interview . . . . 1 match
* 수업이 한국에서와의 다른점은? ( ex Theory 위주인지? Practical 위주인지? )
- ClearType . . . . 1 match
Microsoft 에서 주도한 폰트 보정 기법의 하나로 기존의 안티얼라이징 기법과 최근에 나오고 있는 LCD Display 의 표현적 특성을 조합하여 폰트 이미지의 외관을 가히 극대화하여 표현하는 방식.
* [http://www.microsoft.com/typography/ClearTypeInfo.mspx ClearType기술 홈페이지] - 윈도우 적용 방법이나 기술에대한 자세한 소개.
* 컴퓨터 Display 에서 bitmap으로 표현되는 글자들의 가독률이 나빠, 종이에 인쇄되는 것과 같은 수준의 글자 가독률 얻기 위해서 만들어 졌다.
* 특허문제로 Adove, Linux, Apple 들이 각 다른 방식의 벡터 드로잉 방법을 가지고 있다고 한다.
- ClipMacro . . . . 1 match
[[Clip(linux)]]
[[Clip(linux)]]
잘 안되네요. 윈XP pro !SP2 , Internet Explore 6.0 !SP2 에서 테스트 했습니다. paste와 copy는 별 반응없고, Unload 괜히 눌렀다가 위의 그림만 지웠네요 ^^;
익스플로러 XP프로 SP2에서 잘 되는군요. print screen키를 누르신다음에 paste해보세요 -- Anonymous [[DateTime(2005-03-31T16:55:09)]]
- Code/RPGMaker . . . . 1 match
= Orthogonal projection coordinate system 만들기 =
public void onSurfaceChanged(GL10 gl, int width, int height) {
this.m_width = width;
this.m_height = height;
// making background plane
float[] coordinates = { // position of vertices
int[] indices = { // index of each coordinate
Object3D plane = new Object3D(coordinates, uvs, indices, RMObject2D.getTextureIDByColor(Color.white));
// FOV settings
buffer.dispose();
buffer = new FrameBuffer(m_width, m_height, FrameBuffer.SAMPLINGMODE_NORMAL);
init(x1, y1, x2, y2, color);
init(vStart.x, vStart.y, vEnd.x, vEnd.y, color);
private void init(float x1, float y1, float x2, float y2, Color color)
int[] indices = {
m_polygon = new Object3D(coords, uvs, indices, getTextureIDByColor(color));
= 2D line class =
public class RMLine extends RMObject2D {
private static final Vector3f vectorZ = new Vector3f(0, 0, -1);
public RMLine(Vector2f vStart, Vector2f vEnd, float width, Color color)
- CompilerTheory/ManBoyTest . . . . 1 match
begin real procedure A(k, x1, x2, x3, x4, x5);
value k; integer k;
begin real procedure B;
begin k := k - 1;
if k <= 0 then A := x4 + x5 else B
Donald Knuth 가 Algol 60의 구현 정도를 판변하기위해서 만든 프로그램. 테스트의 목적은 올바르게 구현된 scoping rule, call-by-name의 구현 정도를 판별해서 boys(algol 60 구현물)들중에서 men (쓸만한 놈)을 가려내는 용도로 고안되었습니다.
[CompilerTheory]
- ComputerNetworkClass/Exam2006_2 . . . . 1 match
인터넷 보안 관련된 문제에서 문제로 출제 될 만하다고 생각했던 부분인 Authencation Protocol (3-way-handshake, keberos, using RSA)에 대한 내용역시 미출제되었음. 덕분에 시험 난이도는 낮아졌지만, PEM 의 구조에 대한 설명이 들어갔기 때문에 따로 관심을 가지고 공부한 사람이 아니면 약간 어려웠을지도 모르겠음.
secrecy(interception -> DES, RSA)
authenticate(fabrication -> 3-way handshake, keberos, using RSA)
integrigy(modification -> keyed MD5)
availability(interruption, DoS, Jamming -> Firewall, Proxy-base Network System)에 대한 설명과 수업때 배운 보안기술들을 분류하고 설명하는 문제임.
playback point, playback time 에 대한 이해를 묻는 문제임. adaptive playback 에대한 문제도 출제되었음.
Integrated Service(flow-based), Differentiated Service(service-based) 에대한 전반적인 이해를 하는 문제. 해당 기법에 WFQ를 적용하는 방법에 대한 이해를 묻는 문제로 약간 응용해서 적으란 것으로 보임. 책에 DS에 대한 설명은 WRED, RIO에 대한 설명만 되어있었고, 이 방식은 Queuing 에 의한 WFQ의 사후 처리가 아닌 사전 체리에 관련된 내용이었음. 솔직히 WFQ 왜 냈는지 모르겠음. -_-;;
- ConstructorMethod . . . . 1 match
class Point
void setXnY(int x, int y) { /* ... */ }
Point* pt = new Point;
class Point
void setXnY(int x, int y) { /* ... */ }
static Point* makeFromXnY(int x, int y)
Point* pt = new Point;
Point* pt = Point::makeFromXnY(0,0);
class Point
void setXnY(int x, int y) { /* ... */ }
static Point* makeFromXnY(int x, int y) { /* ... */ }
static Point* makeFromRnTheta(int r, int theta)
return makeFromXnY(r*cos(theta),r*sin(theta));
- CubicSpline/1002/CubicSpline.py . . . . 1 match
class MainFrame(wxFrame):
def __init__(self, parent=NULL, id=NewId(), title='Graph', pos=wxDefaultPosition, size=wxDefaultSize):
wxFrame.__init__(self, parent, id, title, pos, size)
self._initChildControl()
def _initChildControl(self):
def OnInit(self):
frame = MainFrame(pos=(100,100), size=(720,400))
if __name__=="__main__":
theApp = App(0)
theApp.MainLoop()
- CuttingSticks/문보창 . . . . 1 match
// 10003 - Cutting Sticks
#include <iostream>
using namespace std;
//#include <fstream>
#define MAX_CUT 53
#define MAX_NUM 0x7fffffff
//fstream fin("in.txt");
static int lenStick, numCut;
static int cut[MAX_CUT];
static int d[MAX_CUT][MAX_CUT];
bool input()
cin >> lenStick;
cin >> numCut;
for (int i = 1; i <= numCut; i++)
cin >> cut[i];
void initTable()
for (int i = 0; i <= numCut; i++)
int process()
initTable();
int j, min;
- DebuggingSeminar_2005/DebugCRT . . . . 1 match
|| _CRTDBG_CHECK_ALWAYS_DF || _CrtCheckMemory() 함수를 모든 new, delete 함수에 대해서 자동 호출 되도록 지정한다.[[BR]] 이 함수는 할당된 공간의 유효성을 지속적으로 체크한다. 즉 domainerror나 기타 메모리 access에 관한 부분을 검사한다. 대신 오버헤드가 상당하다. 그러나 그만큼 디버깅의 효율성을 높여줄 수 있다. ||
''_CRTDBG_ALLOC_MEM_DF 는 기본적으로 on, 기타 플래그는 디폴트 off이므로 bitwise 연산자를 이용해서 적절하게 플래그를 설정해야한다.''
int flas = _CrtSetDbgFlag(_CRTDBG_REPORT_FLAG);
//this define must occur before any headers are included.
//반드시 include 전처리기의 앞부분에 선언되어야함.
#define _CRTDBG_MAP_ALLOC
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <tchar.h>
// include crtdbg.h after all other headers.
// 전처리 문장이 끝난뒤에 include
#include <crtdbg.h>
int main(int argc, char *argv[]) {
//turn on the full heap checking
{{{~cpp int _CrtSetReportMode(int reportType, int reportMode);
{{{~cpp _HFILE _CrtSetReportFile(int reportType, _HFILE reportFile);
= output in debug console (vc++6) =
참조) [http://zeropage.org/wiki/AcceleratedC_2b_2b_2fChapter11#line287 The rule of Three]
[http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vsdebug/html/_core_c_run2dtime_library_debugging_support.asp MSDN]
- DecomposingMessage . . . . 1 match
=== Decomposing Message ===
controlInitialize();
controlTerminate();
- DevelopmentinWindows . . . . 1 match
* '''Windows 서브시스템 - GUI 모드 에플리케이션 운영'''[[BR]]
(앞으로 Windows 서브시스템 기반의 프로그래밍을 윈도우즈 프로그래밍이라고 하겠다.)
* Windows CE 서브시스템 - Windows CE 에플리케이션 운영
* 표준 사용자 인터페이스 제공 (["DevelopmentinWindows/UI"])
http://zeropage.org/~lsk8248/wiki/Seminar/DevelopmentinWindows/Message.jpg
http://zeropage.org/~lsk8248/wiki/Seminar/DevelopmentinWindows/Hardware.jpg
* 윈도우즈 API (Application Program Interface)
* Static-Link Library[[BR]]
http://zeropage.org/~lsk8248/wiki/Seminar/DevelopmentinWindows/SLL.jpg
* Dynamic-Link Library[[BR]]
http://zeropage.org/~lsk8248/wiki/Seminar/DevelopmentinWindows/DLL.jpg
DirectX - dplay.dll, dsound.dll, dinput.dll, ddraw.dll)
||INT||signed int||
||UINT||unsigned int||
* 윈도우를 만드는 함수는 CreateWindow, 메시지를 보내는 함수는 SendMessage
||n 또는 i||INT 타입의 변수||
||u||UINT 타입의 변수||
* ["DevelopmentinWindows/APIExample"] - 소스 보기
* http://zeropage.org/~lsk8248/wiki/Seminar/DevelopmentinWindows/API.zip - 다운 받기
* ["DevelopmentinWindows/MFCExample"] - 소스 보기
- DispatchedInterpretation . . . . 1 match
== Dispatched Interpretation ==
역시 코드로 이해하는 것이 빠르다. Shape 객체는 line, curve, stroke, fill 커맨드들의 순차적인 조합으로 이루어져 있다. 이것은 commandAt(int)라는 n번째 커맨드를 리턴해주는 메세지와, argumentsAt(int)라는 커맨드에 넘겨줄 인자들의 배열을 리턴해주는 메세지를 제공해준다.
class PostScriptShapePrinter
void display(Shape& aShape)
for(int i = 0 ; i < aShape.size() ; ++i)
if(command == lineFunc)
printPoint(argument.at(1));
printPoint(argument.at(2));
nextPutAll("line");
모든 커맨드를 위한 case 구문을 쓰지 말고, PostScriptShapePrinter에 모든 커맨드를 두자.
void PostScriptShapePrinter::line(Point& from, Point& to)
printPoint(from);
printPoint(to);
nextPutAll("line");
void PostScriptShapePrinter::curve(/* ... */) { /* ... */ }
또한, commantAt이나 argumentAt같은 메세지 말고, sendCommand(at,to) 같은 메세지를 제공하자. 위의 line,curve도 이꼴이므로 같이 다룰수 있다.
void PostScriptShapePrinter::display(Shape& aShape)
for(int i = 0 ; i < aShape.size() ; ++i)
aShape.sendCommand(i,this);
for(int i = 0 ; i < size() ; ++i)
- EXIT MUSIC처음화면 . . . . 1 match
* Intaek Lim, masterhand {{{at}}} gmail {{{dot}}} com
- EnglishSpeaking/TheSimpsons . . . . 1 match
[[pagelist(^EnglishSpeaking/TheSimpsons/S01)]]
[EnglishSpeaking/2011년스터디]
- FromDuskTillDawn/변형진 . . . . 1 match
var $train;
$ln = explode("\n", "2\n3\nUlm Muenchen 17 2\nUlm Muenchen 19 12\nUlm Muenchen 5 2\nUlm Muenchen\n11\nLugoj Sibiu 12 6\nLugoj Sibiu 18 6\nLugoj Sibiu 24 5\nLugoj Medias 22 8\nLugoj Medias 18 3\nLugoj Reghin 17 4\nSibiu Reghin 19 6\nSibiu Medias 20 3\nReghin Medias 20 4\nReghin Bacau 24 6\nMedias Bacau 4 6\nLugoj Bacau");
$this->train = array();
$this->days = 0;
list($from, $to, $start, $end) = explode(" ", trim($ln[$k+$i+1]));
if(($start<18&&$start>6)||($end<18&&$end>6)||($start<=6&&$start>=$end)||($end>=18&&$end<=$start)) continue;
$this->train[$from][] = array("to"=>$to, "start"=>($start+6)%24, "end"=>($end+6)%24);
list($from, $to) = explode(" ", trim($ln[$k+$i+1]));
$this->track($from, $to);
if($this->days) echo "Vladimir needs $this->days litre(s) of blood.<br>";
else echo "There is no route Vladimir can take.<br>";
for($i=0; $this->train[$from][$i]; $i++)
$next = $this->train[$from][$i][to];
if($city[$next]) continue;
if($this->train[$from][$i][start]>=$start)
if($this->days>$days||!$this->days) $this->days = $days;
$today[$next] = min(($today[$next])?$today[$next]:0, $this->train[$from][$i][end]-12);
else $tomorrow[$next] = min(($tomorrow[$next])?$tomorrow[$next]:0, $this->train[$from][$i][end]-12);
foreach($today as $next => $end) $this->track($next, $to, $end+12, $days, $city);
if($this->days>$days+1||!$this->days) $this->days = $days+1;
- FromDuskTillDawn/조현태 . . . . 1 match
참고 : 나름대로 약간의 최적화가 되어있다. 그러나~ vector가 아닌 list를 사용한다면 좀더 효과적일듯하다.ㅎ 이런 귀차니즘~
#include <iostream>
#include <vector>
#include <string>
using namespace std;
const char DEBUG_READ[] = "2\n3\nUlm Muenchen 17 2\nUlm Muenchen 19 12\nUlm Muenchen 5 2\nUlm Muenchen\n10\nLugoj Sibiu 12 6\nLugoj Sibiu 18 6\nLugoj Sibiu 24 5\nLugoj Medias 22 8\nLugoj Medias 18 8\nLugoj Reghin 17 4\nSibiu Reghin 19 9\nSibiu Medias 20 3\nReghin Medias 20 4\nReghin Bacau 24 6\nLugoj Bacau";
const int BUFFER_SIZE = 255;
#define TRUE 1
#define FALSE 0
STown(const char* inputName)
name = inputName;
string name;
vector<int> startTime;
vector<int> timeDelay;
string g_suchStartTown;
string g_suchEndTown;
int g_minimumDelayTime = 0;
for (register unsigned int i = 0; i < g_myTowns.size(); ++i)
int startTime;
int delayTime;
- GarbageCollection . . . . 1 match
컴퓨터 환경에서 가비지 컬렉션은 자동화된 메모리 관리의 한가지 형태이다. 가비지 컬렉터는 애플리케이션이 다시는 접근하지 않는 객체가 사용한 메모르 공간을 회수하려고 한다. 가비지 컬렉션은 John McCarthy 가 1959년 Lisp 언어에서 수동적인 메모리 관리로 인한 문제를 해결하기 위해서 제안한 개념이다.
2번째 경우에 대한 힌트를 학교 자료구조 교재인 Fundamentals of data structure in c 의 Linked List 파트에서 힌트를 얻을 수 있고, 1번째의 내용은 원칙적으로 완벽한 예측이 불가능하기 때문에 시스템에서 객체 참조를 저장하는 식으로 해서 참조가 없으면 다시는 쓰지 않는 다는 식으로 해서 처리하는 듯함. (C++ 참조 변수를 통한 객체 자동 소멸 관련 내용과 관련한 부분인 듯, 추측이긴 한데 이게 맞는거 같음;;; 아닐지도 ㅋㅋㅋ)
= disadvantage =
특정 주기를 가지고 가비지 컬렉션을 하기 때문에 그 시점에서 상당한 시간상 성능의 저하가 생긴다. 이건 일반적 애플리케이션에서는 문제가 되지 않지만, time critical 애플리케이션에서는 상당한 문제가 될 부분임. (Incremental garbage collection? 를 이용하면 이 문제를 어느정도 해결하지만 리얼타임 동작을 완전하게 보장하기는 어렵다고 함.)
[http://en.wikipedia.org/wiki/Garbage_collection_%28computer_science%29]
- Gof/Mediator . . . . 1 match
== Intent ==
MediatorPattern은 객체들의 어느 집합들이 interaction하는 방법을 encapsulate하는 객체를 정의한다. Mediator는 객체들을 서로에게 명시적으로 조회하는 것을 막음으로서 loose coupling을 촉진하며, 그래서 Mediator는 여러분에게 객체들의 interactions들이 독립적으로 다양하게 해준다.
비록 하나의 시스템에 많은 객체들이 참여하는 것이 일반적으로 재사용성을 강화할지라도 interconnections이 늘어나는 것은 재사용성을 감소시키려는 경향이 있다. 너무나 많은 객체간의 상호 연결들은 객체들의 독립성을 떨어뜨릴 수 있다. - 그런 시스템은 마치 완전히 통일된 것 같이 행동한다.
대게 다이얼로그의 도구들 사이에는 어떤 dependency들이 존재한다. 예를 들면, 어떤 버튼은 어떤 입력 필드가 비어있을때는 비활성화 되어있는다. list box라 불리는 선택 목록에서 객체를 선택하는 것은 입력필드의 내용을 바꿀 것이다. 바꿔말하면, 입력필드에 문자를 타이핑하는 것은 자동적으로 리스트 박스에서 하나이상의 대응대는 입력을 선택하는 것이다. 한번 텍스트가 입력 필드에 나타나면, 다른 버튼들은 아마 활성화 될것이다. 그래서 사용자가 텍스트로 어떤 일을 하게 하게할 것이다. 예를 들자면, 관련있는 것을 삭제하거나 변경하거나 하는 따위의 일을 할 수 있을 것이다.
다른 다이얼로그 박스들은 도구들 사이에서 다른 dependency들을 지닐 것이다. 그래서 심지어 다이얼로그들이 똑같은 종류의 도구들을 지닌다 하더라도, 단순히 이전의 도구 클래스들을 재사용 할 수는 없다. dialog-specific dependency들을 반영하기 위해서 customize되어져야 한다. subclassing에 의해서 개별적으로 도구들을 Customize하는 것은 지루할 것이다. 왜냐하면 많은 클래스들이 그렇게 되어야 하기 때문이다.
별개의 mediator 객체에서 집단의 행위로 encapsulate하는 것에 의해서 이런 문제를 피할 수 있다. 하나의 mediator는 객체들 그룹 내의 상호작용들을 제어하고 조정할 책임이 있다. 그 mediator는 그룹내의 객체들이 다른 객체들과 명시적으로 조회하는 것을 막는 중간자로서의 역할을 한다. 그런 객체들은 단지 mediator만 알고 있고, 고로 interconnection의 수는 줄어 들게 된다.
예를 들면, FontDialogDirector는 다이얼로그 박스의 도구들 사이의 mediator일 수 있다. FontDialogDirector객체는 다이얼로그 도구들을 알고 그들의 interaction을 조정한다. 그것은 도구들 사이의 communication에서 hub와 같은 역할을 한다.
다음 interaction diagram은 객체들이 리스트박스의 선택에서 변화를 다루기 위해 협동하는 방법을 묘사하고 있다.
Here's the succession of events by which a list box's selection passes to an entry field.
여기서는 list box에서의 선택이 entry field 로 전달되고 있는 이벤트들의 흐름이 있다.
* 어떤 객체들의 집합이 잘 정의되었지만, 복잡한 방법으로 통신할 때. interconnection의 결과는 구조화되지 못하고 이해를 어렵게 한다.
* 몇몇의 클래스들 사이에 분산되어진 하나의 행위가 많은 subclassing하는 작업 없이 customize되어져야 할 때.
* Colleague classes(listBox, Entry Field)
1. MediatorPattern은 subclassing을 제한한다. mediator는 다시말해 몇몇개의 객체들 사이에 분산되어질 행위를 집중한다. 이런 행위를 바꾸는 것은 단지 Mediator를 subclassing하기만 하면 된다. Colleague 클래스들은 재사용되어질 수 있다.
2. MediatorPattern은 colleague들을 떼어놓는다. Mediator는 colleague들 사이에서 loose coupling을 촉진한다. colleagued와 Mediator를 개별적으로 다양하게 할 수 있고, 재사용 할 수 있다.
4. MediatorPattern은 객체가 협동하는 방법을 추상화 시킨다. Mediation를 독립적인 개념으로 만들고 하나의 객체에 캡슐화하는 것은 여러분으로 하여금 객체의 행위는 제쳐두고 그 interaction에 집중하게 해준다. 이는 객체가 시스템 내에서 어떻게 interact하는 방법을 명확히 하는데 도움을 준다.
5. MediatorPattern은 제어를 집중화한다. Mediator는 interaction의 복잡도를 mediator의 복잡도와 맞바꿨다. Mediator가 protocol들을 encapsulate했기 때문에 colleague객체들 보다 더 복잡하게 되어질 수 있다. 이것이 mediator를 관리가 어려운 monolith 형태를 뛰게 만들 수 있다.
다음 구현과 관련된 issue들은 MediatorPattern과 관련이 있다.
1. 추상 Mediator 클래스 생략하기. 추상 Mediator 클래스를 선언할 필요가 없는 경우는 colleague들이 단지 하나의 mediator와만 작업을 할 때이다. Mediator클래스가 제공하는 추상적인 coupling은 colleague들이 다른 mediator subclass들과 작동학게 해주며 반대의 경우도 그렇다.
또 다른 방법은 colleague들이 보다 더 직접으로 communication할 수 있도록 특별한 interface를 mediator에게 심는 것이다. 윈도우용 Smalltalk/V가 대표적인 형태이다. mediator와 통신을 하고자 할 때, 자신을 argument로 넘겨서 mediator가 sender가 누구인지 식별하게 한다. Sample Code는 이와 같은 방법을 사용하고 있고, Smalltalk/V의 구현은 Known Uses에서 다루기로 하겠다.
- HelloWorld/영동 . . . . 1 match
public static void main(String args[])
System.out.println("HelloWorld");
["JavaStudyInVacation/진행상황"]
- HelpOnInstallation/SetGid . . . . 1 match
이러한 것을 방지하기 위해서 [모니위키]가 특별한 파일을 생성하게 되는 몇몇 디렉토리에 대하여 그룹 아이디로 퍼미션을 가지게 할 수 있습니다. 이렇게 Setgid를 사용하도록 그룹 퍼미션을 주게되면 wiki.php에 의해 새롭게 만들어지는 모든 파일은 진짜 사용자의 그룹아이디와 같게 되며, 그룹 아이디가 가지는 퍼미션을 진짜 사용자도 누릴 수 있게되어 읽거나 고치거나 지울 수 있게 됩니다.
Setgid 퍼미션을 작동시키려면 간단히 "`chmod 2777 ''dir''` 명령을 내리면 되는데, 모니위키가 여러 파일들을 만들게되는 디렉토리에 대해 이 명령을 내려주면 됩니다. 모니위키를 최초 설치하는 과정에서 setgid를 사용하려면 우선 모니위키 최상위 디렉토리를 먼저 `chmod 2777`을 해 줍니다. 아마 wiki.php가 들어있는 디렉토리가 될것입니다.
그런 다음 monisetup.php를 웹상에서 실행시키면 monisetup.php는 필요한 여러 디렉토리를 만들게 되며 이 디렉토리들은 setgid에 적용을 받게 되고, 이렇게 최초 setgid 설정을 마친 후에는 최상위 디렉토리의 퍼미션을 원래의 퍼미션으로 되돌려야 합니다. (보통 `chmod 755`로)
/!\ 모니위키는 config.sh/monisetup.php 설치 스크립트를 통해 setgid를 최초 설치할 때 부터 지원하고 있습니다.
Please see http://www.pmichaud.com/wiki/PmWiki/ErrorMessages
- HelpOnUserPreferences . . . . 1 match
* '''[[GetText(Name)]]''': 사용자의 실제 이름 혹은 별명. WikiName 형식으로 만들면 편리합니다.
* '''[[GetText(Preferred theme)]]''': 원하는 테마를 고르실 수 있습니다.
* '''[[GetText(Your time is)]]''': 원하는 시간대를 설정하면 자신이 원하는 시간대로 시간이 표시됩니다.
* '''[[GetText(Server time is)]]''': 서버의 시간대를 보여줍니다.
* '''[[GetText(Quick links)]]''': 최상단에 있는 메뉴에 자신이 원하는 링크를 추가하거나 원하는 위키페이지에 대한 링크를 넣을 수 있습니다. QuickLinks 페이지를 참조해주세요.
* '''[[GetText(Subscribed wiki pages (one regex per line))]]''': 모든 페이지의 변경알림을 받아보고 싶은 경우에 '''`.*`''' 를 집어넣으시면 됩니다. (위키위키가 많은 변경이 있는 경우 권장하지 않습니다.) 각 페이지를 보고싶은 경우에는 각각의 페이지 이름을 줄 단위로 넣으시면 됩니다. 정규식에 익숙하신 사용자의 경우에 정규식을 사용하실 수도 있습니다. 설정에 따라서 상단의 아이콘 툴바에 [[Icon(email)]]이 나타날 수 있으며, 이메일 아이콘을 누르면 해당 페이지를 구독하는 폼이 뜨게 됩니다.
/!\ 이메일 구독은 `config.php`에서 설정을 해야 합니다. 자세한 내용은 SubscribePlugin을 참조하세요.
- HomepageTemplate . . . . 1 match
[홈페이지분류], ZeroPagers, ZeroWikian ( DeleteMe 복수개로 선택해 주세요. )
- HowToStudyDataStructureAndAlgorithms . . . . 1 match
제가 생각컨데, 교육적인 목적에서는, 자료구조나 알고리즘을 처음 공부할 때는 우선은 특정 언어로 구현된 것을 보지 않는 것이 좋은 경우가 많습니다 -- 대신 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''도 강력 추천합니다. 전세계의 짱짱한 프로그래머/전산학자들이 함께 꼽은 "위대한 책" 리스트에서 몇 손가락 안에 드는 책입니다. 아마 우리 학교 도서관에 있을 것인데, 아직 이 책을 본 적 없는 사람은 축하드립니다. 아마 몇 주 간은 감동 속에 하루하루를 보내게 될 겁니다.). 만약 함께 스터디를 한다면, 각자 동일한 아이디어를 (같은 언어로 혹은 다른 언어로) 어떻게 다르게 표현했는지를 서로 비교해 보면 또 배우는 것이 매우 많습니다. 우리가 자료구조나 알고리즘을 공부하는 이유는, 특정 "실세계의 문제"를 어떠한 "수학적 아이디어"로 매핑을 시켜서 해결하는 것이 가능하고 또 효율적이고, 또 이를 컴퓨터에 어떻게 구현하는 것이 가능하고 효율적인지를 따지기 위해서이며, 이 과정에 있어 수학적 개념을 프로그래밍 언어로 표현해 내는 것은 아주 중요한 능력이 됩니다. 개별 알고리즘의 카탈로그를 이해, 암기하며 익히는 것도 중요하지만 더 중요한 것은 알고리즘을 생각해 낼 수 있는 능력과 이 알고리즘의 효율을 비교할 수 있는 능력, 그리고 이를 표현할 수 있는 능력입니다.
알고리즘을 공부하면 큰 줄기들을 알아야 합니다. 개별 테크닉들도 중요하지만 "패러다임"이라고 할만한 것들을 알아야 합니다. 그래야 알고리즘을 상황에 맞게 마음대로 응용할 수 있습니다. 또, 자신만의 분류법을 만들어야 합니다. (see also HowToReadIt Build Your Own Taxonomy) 구체적인 문제들을 케이스 바이 케이스로 여럿 접하는 동안 그냥 지나쳐 버리면 개별자는 영원히 개별자로 남을 뿐입니다. 비슷한 문제들을 서로 묶어서 일반화를 해야 합니다. (see also DoItAgainToLearn)
이와 관련해서 Anany Levitin의 ''A NEW ROAD MAP OF ALGORITHM DESIGN TECHNIQUES''(DDJ, 2000 Apr)를 권합니다. 그는 알고리즘 디자인 테크닉을 다음 네가지로 크게 나눕니다:
- IDL . . . . 1 match
[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 을 사용하도록 하자.
- IdeaPool/PrivateIdea . . . . 1 match
|| 나휘동 || 위키 정원사의 도구상자 || 2007.3.13 || - || - || [WikiGardeningKit] ||
* 구상한 아이디어에 대한 자세한 사항은 관련 페이지를 만들어서 옮겼습니다. 시작하려는 사람들은 그 페이지를 Starting Point 로 하여 시작하면 되겠지요. :) --[창섭]
- JUnit . . . . 1 match
* http://www.yeonsh.com/index.php?display=JUnit - 연승훈씨의 홈페이지. Cook Book (주소변경)
* http://huniv.hongik.ac.kr/~yong/moin.cgi/JunitSampleCode - 박응용씨의 위키페이지. JUnit 간단한 예제.
그리고 배치화일 디렉토리에 path 를 걸어놓고 쓰고 있죠. 요새는 JUnit 이 포함되어있는 IDE (["Eclipse"], ["IntelliJ"] 등등)도 많아서 이럴 필요도 없겠지만요. ^^ --석천
java junit.swingui.TestRunner %1
JUnit 에서 UnitTest (PyUnit) 에서처럼 testing message 나오게 하려면 어떻게 해야 하죠..? -임인택
그 '''에서처럼''' 이란것이 무엇이지요? --NeoCoin
PyUnit 에서 argument 로 -v 를 주면 testing message 가 나오지 않습니까..?
- Java Script/2011년스터디/박정근 . . . . 1 match
document.write("Infor : "+s,"<br>")
for (var i in person)
for (var i in person)
- Java Study2003/첫번째과제/방선희 . . . . 1 match
* Interpreted Environment 제공
-- 기존의 compile/link/load방식의 언어에 비해 source를 compile만 하면 최종 수행코드가 생성됨으로 개발시간을 단축할 수 있다.
* Java Virtual Machine (JVM)
* 하드웨어 환경에 따른 구분 : JSEE(Enterprise Edition), J2SE(Standard Edition), M2ME(Micro Edition)
* 2. 서블릿이나 JSP 는 J2EE의 구성원들로서 서버사이드 스크립트라고 합니다. JSP가 만들어진 이유가 뭐냐하면, 서블릿의 문제점을 해결하기 위해서라고나 할까... 웹 프로그래밍이란게 본질적으로 웹디자이너와의 협력이 불가피한데 서블릿의 경우에는 DISPLAY 부분을 수정하기 위해서 웹디자이너가 접근하기 어렵다는 단점이 있죠.. 이때문에 JSP가 만들어졌다고 알고 있습니다. JSP라는 파일은 웹 디자이너가 페이지를 수정하기 편하게 되어있다는게 장점이죠. JSP가 컴파일되면 서블릿이 됩니다.(이게 전부임...) 그리고 서블릿이 실행되면 실제 HTML 페이지가 클라이언트에게 전송되는 것입니다.
빈즈에 대해서 이야기 하자면 웹 서비스라는 큰 테두리 내에서 이야기를 해야 하는데, 간단하게 말하자면 빈즈라는 것이 만들어진 이유는 프로그램의 DISPLAY 부분과 LOGIC 부분을 분리해서 좀 더 확장성있고 유연한 시스템을 개발하고자 하는 취지에서 탄생한 것입니다.(언뜻 이해가 안될 수도 있음...)
public static void main (String args[]) {
System.out.println("Hello World!");
* Java란 프로그램언어는 enterprise 급 기업의 web시스템에서부터 작은 핸드폰에 이르기까지어디든지 사용할 수 있다. 다시 말해 Java를 할 줄 알면 어느 곳에나 적용 가능한 프로그램을 개발 할 수 있다는 말이다. 그 뿐만 아니라, Java로 개발된 시스템은 다른 언어로 개발된 시스템보다도 훨씬 쉽게 확장이 가능하다.
* MicroSoft windows에서 신나게 실행되는 게임이 Linux에서도 잘 돌까? 아마도 답은 '아니다' 일 것이다. 그러나 만약 그 게임이 Java로 제작되었다면 답은 '예' 이다. 다시 말해 Java로 개발된 프로그램은 PC, Macintosh, Linux등 machine이나 O/S에 종속되지 않는다.
기존에 Sun OS에서 Java로 개발한 인사시스템을 Windows NT로 이관하고 싶다. 이때 프로그램 수정없이 가능할까? Windows NT를 지원하는 JDK가 있다면 가능하다. 그러고 Windows NT를 지원하는 JDK는 있다.
- Java/스레드재사용 . . . . 1 match
private static int id=0;
private static synchronized int getID() { return id++;}
this.target = target;
if(threads.isEmpty()) {
thread = new Thread(this, "ReThread-" + getID());
reThread.start0(this);
this.reThread = reThread;
notify();
public synchronized void interrupt () {
thread.interrupt ();
reThread.interrupt0 (this);
protected synchronized void interrupt0(ReThread reThread) {
if((target!=null) && ((reThread==this.reThread))) {
thread.interrupt();
ex.printStackTrace();
ex.printStackTrace ();
threads.addElement(this);
} catch(InterruptedException ignored) { }
- JavaStudy2002/영동-2주차 . . . . 1 match
Class main--메인함수 클래스
public class main{
public static void main(String[] args)
System.out.println("RandomWalk");
public int x=0;
public int y=0;
public int way;
public int count=0;
way=rand.nextInt()%8;
System.out.print("\n");
public int board[][]={
for(int i=0;i<5;i++)
for(int j=0;j<5;j++){
System.out.print(board[i][j]);
System.out.print("\t");
System.out.print("\n");
- JavaStudy2004/자바따라잡기 . . . . 1 match
자바는 가전 제품에 들어갈 소프트웨어를 만들기 위해 탄생했다. 자바를 개발한 사람은 선 마이크로시스템즈 사의 제임즈 고슬링(James Gosling)이라는 사람이다. 그는 특정한 컴퓨터 칩에 대해 컴파일하여야 하는 널리 알려진 컴퓨터 언어인 C 언어의 문제점, 또 가전 제품의 긴 수명으로 인한 완벽한 호환을 가진 소프트웨어의 개발 요구, 가전 제품에 사용될 소프트웨어의 높은 신뢰성 필요 등의 문제에 대한 해결방안을 모색 해야만 됬다.
* No More Typedefs, Defines, or Preprocessor
* No More Multiple Inheritance
* No More Operator Overloading
* No More Pointers
출전 : 1997년 9월호 디스커버 잡지 72쪽에 실린, David Gelernter의 "Truth, Beauty, and the Virtual Machine".
* http://zeropage.org/~iruril/jdk-1_5_0_01-windows-i586-p.exe
* http://idaizy.com/util/eclipse-SDK-3.0-win32.zip
http://myhome.naver.com/histidine/start/start_home.htm
http://java.sun.com/docs/books/tutorial/getStarted/cupojava/index.html
- JavaStudy2004/클래스상속 . . . . 1 match
이러한 메커니즘을 subclassing이라고부른다.
예를 들어 Motorcycle클래스와 같이 Car라는 클래스를 만드는 것을 생각하자. Car와 Motorcycle은비슷한 특징들이 있다. 이 둘은 엔진에 의해 움직인다. 또 변속기와 전조등과 속도계를 가지고 있다. 일반적으로 생각하면, Object라는클래스 아래에 Vehicle이라는 클래스를 만들고 엔진이 없는 것과 있는 방식으로 PersonPoweredVehicle과 EnginePoweredVehicle 클래스를 만들 수 있다. 이 EnginePoweredVehicle 클래스는 Motorcycle, Car, Truck등등의 여러 클래스를 가질 수 있다. 그렇다면 make와 color라는 속성은 Vehicle 클래스에 둘 수 있다.
만일 하위클래스에서 상위클래스의 메소드의 이름과 인자의 타입을 똑같이 가진 메소드를 정의한다고 하면 어떻게 되는가? 이것은 계층적으로 아래에 있는 것이 먼저 실행되게 되어 있다. 이러한 방식으로 임의로 상의클래스의 메소드를 감추고 하위클래스에 필요한 메소드를 정의할 수 있다. 바로 중복(overriding)이라고 부르는 것이다.
=== Point 클래스 ===
import javax.swing.JOptionPane;
public class Point {
private int x;
private int y;
public Point() {
public Point(int aX, int aY) { //생성자 입니다.
this.x = aX;
public int getX() {
public int getY() {
public void setX(int Ax) {
public void setY(int Ay) {
public String getName() {
return "Point";
public void Say(String str) {
public void Say(int temp) {
String str = Integer.toString(temp);
- Jolly Jumpers/정진경 . . . . 1 match
n,a,b,k,c[3000];main(){for(;scanf("%d%d",&n,&a)+1;puts(k-1?"Not jolly":"Jolly"))for(memset(c,0,n*4),k=n;--n;a=b){scanf("%d",&b);a=abs(a-b);if(!c[a])c[a]=1,k--;}}
- JollyJumpers/곽세환 . . . . 1 match
#include <iostream>
using namespace std;
int main()
int n;
int input[3000];
int i;
bool isJolly;
while (cin >> n)
isJolly = true;
cin >> input[i];
diff[abs(input[i] - input[i + 1])] = true;
isJolly = false;
if (isJolly == true)
cout << "Not jolly\n";
- JollyJumpers/김태진 . . . . 1 match
#include <stdio.h>
int jolly(int A[], int val, int B[]);
int bubbleSort(int A[], int n);
int main()
int a[3001]={0};
int b[3001]={0};
int i,val,result;
if(feof(stdin)) break;
printf("Jolly\n");
if(feof(stdin)) break;
continue;
if(result==val-2) printf("Jolly\n");
else printf("Not jolly\n");
if(feof(stdin)) break;
int jolly(int A[], int val, int B[])
int x=0,j;
int bubbleSort(int C[], int n)
int i,j,temp;
- JollyJumpers/정진경 . . . . 1 match
c[3000];main(n,a,b,k){for(;scanf("%d%d",&n,&a)+1;puts(k-1?"Not jolly":"Jolly"))for(memset(c,0,n*4),k=n;--n;a=b)scanf("%d",&b),c[abs(a-b)]++?0:k--;}
- JollyJumpers/허아영 . . . . 1 match
#include <iostream>
using namespace std;
int main()
int num, i, j, value, temp;//, maxNum;
int numbers[3000], compare[3000];
while(cin >> num)
cin >> numbers[i];
cout << "Not jolly" << endl;
- LinuxSystemClass . . . . 1 match
|| [[ISBN(0131019082)]] ||
[LinuxSystemClass/Report2004_1] - PosixThread 를 이용, 스레드를 만들고 그에 따른 퍼포먼스 측정.
[LinuxSystemClass/Exercise2004_1]
[LinuxSystemClass/Exercise2004_2]
[LinuxSystemClass/Exercise2004_3]
=== examination ===
[LinuxSystemClass/Exam_2004_1]
개인적으로 교재가 마음에 든다. 단, 제대로 공부할 것이라면 가능한 한 원서를 권한다. 한서의 경우 용어의 혼동문제와, 중간 오역문제가 눈에 띈다. (inexpensive를 expensive 로 정 반대의 뜻으로 해석한) 뭐, 물론 그럼에도 불구하고 아마 사람들은 한서 읽는 속도가 원서 읽는 속도의 3배 이상은 될테니. 알아서 잘.
||[[ISBN(0132017997)]]||[[ISBN(5000186201,k)]]||
학교 수업공부를 하거나 레포트를 쓰는 경우 위의 학교 교재와 함께 'The Design of the Unix Operating System' 을 같이 보면 도움이 많이 된다. 해당 알고리즘들에 대해서 좀 더 구체적으로 서술되어있다. 단, 책이 좀 오래된 감이 있다.
- MFC/DynamicLinkLibrary . . . . 1 match
#define _MFC_
Win32API역시도 DLL을 통해서 구현이 되어있다.
= Runtime Dynamic Linking =
early binding, load-time dynamic linking
runtime dynamic linking
runtime dynmaic linking 의 중요한 점은, 런타임 상에서 해당 모듈을 교체할 수 있다는 점이다. winamp 의 나 KMP 등와 같은 플러그인을 제공해주는 프로그램의 경우 대부분 이러한 runtime-dynamic linking 방법을 이용한다.
== DLL Interface ==
== DllMain() 함수 ==
독립적 실행은 불가능하지만 main함수의 변형된 형태를 포함한다. 이 곳에서는 dll이 사용되기 전에 초기화되는 내용들이 포함되게 된다. DLL초기 로드시 운영체제가 호출한다.
- MIB . . . . 1 match
= Man in Black =
http://www.meninblack.com
* 요즘 ["상민"]이는 "MIB들이 처리해 줄꺼야" 라는 말을 많이 쓴다. dcinside에서 "MIB들이 처리 했습니다." 라는 소리 한마디 듣고 전염이 되어 버렸다. 여기에서 MIB라면 일전에 창준 선배가 말씀하신 그린베레 프로그래머(Green Beret Programmer(Wiki:GreenBeretCoding) 정도의 의미가 될 것이다. 후에 MIB Programmer가 더 적당한 말이 될수 있겠다고 생각하곤 한다.
- MoinMoinMailingLists . . . . 1 match
There are two mailing lists for MoinMoin:
* http://lists.dragon-ware.com/mailman/listinfo/moin-users
Talk about ''using'' MoinMoin (very low-traffic).
* http://lists.dragon-ware.com/mailman/listinfo/moin-dev
Talk about MoinMoin development, bugs, new features, etc. (low-traffic)
- MoniSetup . . . . 1 match
MoniWiki:MoniSetup
- MoniWiki/HotKeys . . . . 1 match
||I||action=info ||[[Icon(info)]] 파란색 i||
||P||action=print ||[[Icon(print)]] 프린터||
||R(not Safari)||action=show ||Refresh||
||Q, S, R(Safari only)[[BR]]또는 F3(Firefox only)|| ||[[Icon(search)]] FindPage ||
||T|| ||TitleIndex ||
||``<ESC>``||Go 'into'/'out of' the 'Go' form|| ||
||Z + ``<BACKSPACE>``||Go 'into' the 'Go' form|| ||
* MoinMoin:MoinMoinExtensions/Hotkeys
- NumericalAnalysisClass . . . . 1 match
주교재 : http://images.amazon.com/images/P/083113111X.01.MZZZZZZZ.jpg wiki:ISBN:083113111X
강의내용 : 최근의 수치해석 수업은 그래픽스 수업의 선수과목으로서 성격이 이전과 달라졌다. 주로 line, curve, plane, matrix 등 그래픽스와 관련된 내용을 배운다.
* ["NumericalAnalysisClass/Report2002_1"] - ["TriDiagonal/1002"]
* ["NumericalAnalysisClass/Report2002_2"] - ["CubicSpline/1002"]
=== examination ===
* ["NumericalAnalysisClass/Exam2002_1"]
* ["NumericalAnalysisClass/Exam2002_2"]
* ["NumericalAnalysisClass/Exam2004_2"]
http://images.amazon.com/images/P/1558606793.01.__PE_PIm.arrow,TopLeft,-2,-19_SCMZZZZZZZ_.jpg wiki:ISBN:1558606793
''Object-Oriented Implementation of Numerical Methods : An Introduction with Java and Smalltalk'', by Didier H. Besset.
과목 자체의 진행은 괜찮다고 생각. 교과내용이 바뀐뒤의 첫 적용이여서 그런지, 교재내용에 없는 내용이 자주 언급되었다. (근데, 이게 그 예전 책의 내용인듯 하다는. -_a) 도서관에서 두권정도 책을 섞어봐야 할듯. (Applied Numerical Analysis 던가.. 이 책에서 내용이 수업과 비슷했던걸로 기억). 뭐. 중간에 설명하시다가 틀리시는것만 빼면 -_-; 그래도 인간성과 중간중간 인생선배 (실제로도 학과 선배이시니)로서의 조언으로 보완을. ^^;
- Omok/재니 . . . . 1 match
#include <iostream.h>
#include <conio.h>
void board_display();
int key, x = 9, y = 9;
int winner = 0;
int main()
board_display();
while(winner == 0)
if (winner != 0)
continue;
cout << "Winner is ";
if(winner == 1)
else if(winner == 2)
void board_display()
for (int i = 0 ; i < 19 ; i++)
for (int j = 0 ; j < 19 ; j++)
int cx, cy, num;
winner = 2;
winner = 1;
winner == 0;
- OperatingSystem . . . . 1 match
[[include(틀:OperatingSystems)]]
== What is OS(OperatingSystem)? ==
사전적인 정의를 살펴보연 다음과 같다. ([[http://wikipedia.org wikipedia]]에서 발췌)
In computing, an operating system (OS) is the system software responsible for the direct control and management of hardware and basic system operations. Additionally, it provides a foundation upon which to run application software such as word processing programs and web browsers.
일종의, [[SeparationOfConcerns]]라고 볼 수 있다. 사용자는 OperatingSystem (조금 더 엄밀히 이야기하자면, [[Kernel]]) 이 어떻게 memory 와 I/O를 관리하는지에 대해서 신경쓸 필요가 없다. (프로그래머라면 이야기가 조금 다를 수도 있겠지만 :) )
* [[windows|MicrosoftWindows]]
* [[Linux]]
* Palm, WindowsCE
- OurMajorLangIsCAndCPlusPlus/Variable . . . . 1 match
register - CPU 레지스터를 변수로 할당
const int a;
int const b;
const int *c;
int * const d;
const int * const e;
#include <stdio.h>
#include <time.h>
void main()
clock_t start, finish;
volatile int a = 10, b = 20, c;
for(int i = 0 ; i < 1000000000 ; i++)
finish = clock();
duration = (double)(finish - start) / CLOCKS_PER_SEC;
printf("%2.1f seconds\n", duration);
[OurMajorLangIsCAndCPlusPlus]
- OurMajorLangIsCAndCPlusPlus/float.h . . . . 1 match
== Floating Point ==
||FLT_MANT_DIG ||float형 floating point로 표현 할 수 있는 significand의 비트 수 ||24 ||
||DBL_MANT_DIG ||double형 floating point로 표현 할 수 있는 significand의 비트 수 ||53 ||
||LDBL_MANT_DIG ||long double형 floating point로 표현 할 수 있는 significand의 비트 수 ||53 ||
||FLT_MAX ||float형으로 표현할 수 있는 가장 큰 floating point 값 ||3.402823466e+38F ||
||DBL_MAX ||double형으로 표현할 수 있는 가장 큰 floating point 값 ||1.7976931348623158e+308 ||
||LDBL_MAX ||long double형으로 표현할 수 있는 가장 큰 floating point 값 ||1.7976931348623158e+308 ||
||FLT_MAX_10_EXP ||float형으로 표현할 수 있는 가장 큰 floating point의 10의 지수값 ||38 ||
||DBL_MAX_10_EXP ||double형으로 표현할 수 있는 가장 큰 floating point의 10의 지수값 ||308 ||
||LDBL_MAX_10_EXP ||long double형으로 표현할 수 있는 가장 큰 floating point의 10의 지수값 ||308 ||
||FLT_MAX_EXP ||float형으로 표현할 수 있는 가장 큰 floating point의 2의 지수값 ||128 ||
||DBL_MAX_EXP ||double형으로 표현할 수 있는 가장 큰 floating point의 2의 지수값 ||1024 ||
||LDBL_MAX_EXP ||long double형으로 표현할 수 있는 가장 큰 floating point의 2의 지수값 ||1024 ||
||FLT_MIN ||float형으로 표현할 수 있는 가장 작은 양의 floating point 값 ||1.175494351e–38F ||
||DBL_MIN ||double형으로 표현할 수 있는 가장 작은 양의 floating point 값 ||2.2250738585072014e–308 ||
||LDBL_MIN ||long double형으로 표현할 수 있는 가장 작은 양의 floating point 값 ||2.2250738585072014e–308 ||
||FLT_MIN_10_EXP ||float형으로 표현할 수 있는 가장 작은 floating point의 10의 지수값 ||–37 ||
||DBL_MIN_10_EXP ||double형으로 표현할 수 있는 가장 작은 floating point의 10의 지수값 ||–307 ||
||LDBL_MIN_10_EXP ||long double형으로 표현할 수 있는 가장 작은 floating point의 10의 지수값 ||–307 ||
||FLT_MIN_EXP ||float형으로 표현할 수 있는 가장 작은 floating point의 10의 지수값 ||–125 ||
- OurMajorLangIsCAndCPlusPlus/print/이상규 . . . . 1 match
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdarg.h>
#include <ctype.h>
int dec, sign;
void print(const char *format, ...)
va_list args;
int align = 0;
if(isdigit((int)*c))
int d = va_arg(args, int);
int space = align - strlen(str);
for(int i = 0 ; i < space ; i++)
fputc((int)' ', stdout);
int *darr = va_arg(args, int *);
int len = va_arg(args, int);
for(int i = 0 ; i < len ; i++)
int len = va_arg(args, int);
for(int i = 0 ; i < len ; i++)
int len = va_arg(args, int);
- OurMajorLangIsCAndCPlusPlus/stdio.h . . . . 1 match
|| int fclose(FILE *) || 해당 스트림을 닫습니다. ||
|| FILE * fdopen(int, const char *) || 파일 지정자 필드로 부터 스트림을 얻습니다. ||
|| int feof(FILE *) || 스트림의 끝이 아닌곳에서는 0, 끝에는 0이 아닌값을 리턴 합니다. ||
|| int ferror(FILE *) || 스트림에 오류가 있을경우 0이 아닌값을 리턴 합니다. ||
|| int fflush(FILE *) || 해당 스트림을 비운다. ||
|| int fgetc(FILE *) || 해당 스트림에서 한 글자를 받아온다. ||
|| int fgetpos(FILE *, fpos_t *) || 해당 스트림의 포인터의 위치를 fpos_t에 저장한다. ||
|| char * fgets(char *, int, FILE *) || char*에 int의 길이만큼 스트림에서 읽어서 저장한다. 파일의 끝이나 오류일 경우 NULL을 리턴한다. ||
|| int fileno(FILE *) || 해당 스트림의 핸들을 반환한다. ||
|| int fprintf(FILE *, const char *, ...) || 해당 스트림에 문자열을 기록한다. ||
|| int fputc(int, FILE *) || 해당 스트림에 한 문자를 기록한다. ||
|| int fputs(const char *, FILE *) || 해당 스트림에 문자열을 기록한다. ||
|| int fscanf(FILE *, const char *, ...) || 해당 파일에서 문자열을 지정한 형식으로 읽어들인다. ||
|| int fsetpos(FILE *, const fpos_t *) || 해당 스트림의 포인터를 지정한 위치로 옮긴다. ||
|| int fseek(FILE *, long, int) || 해당 스트림의 포인터를 세번째 인자를 기준으로 두번째 인자만큼 옮긴다. SEEK_SET : 스트림 시작, SEEK_CUR : 현재 포인터 위치, SEEK_END : 스트림 끝 ||
|| int getc(FILE *) || 해당 스트림에서 한 글자를 받아온다. ||
|| int getchar(void) || 표준 입출력으로 부터 한 글자를 읽어온다. ||
|| int printf(const char *, ...) || 해당 형식의 문자열을 출력한다. ||
|| int putc(int, FILE *) || 해당 스트림으로 문자를 출력한다. ||
|| int putchar(int) || 표준 입출력으로 문자를 한개 출력한다. ||
- PHPStudy2005 . . . . 1 match
* [PHPStudy2005/RWAPMInstall]
* [PHP Programming/HtmlTag]
* [http://zeropage.org/~namsangboy/wiki/wiki.php/RegularExpressions 정규식]
* [http://zeropage.org/~namsangboy/wiki/wiki.php/JavaScript PHP에서 자주쓰는JavaScript 모음]
* [http://165.194.17.15/~namsangboy/wikiProject/rwapm.exe rwapm]
- PatternTemplate . . . . 1 match
== Intent ==
- Plex . . . . 1 match
Seminar:Plex - http://www.cosc.canterbury.ac.nz/~greg/
Pyrex 를 만든 개발자가 만들었다. [1002]가 Regular Expression 보다 좋아하는 Text Analysis Library.
특히 좋아하는 이유로는 State Machine 의 개념으로 텍스트를 파싱하고 가지고 놀 수 있다는 점이 있겠다. 예를 들어 HTML에서 span 태그에 대해 파싱한다고 할때 <span 시작 - span 내용 - </span> 끝이라면 그냥 이를 서술해버리면 된다는.~
BuildingWikiParserUsingPlex
- PragmaticVersionControlWithCVS/HowTo . . . . 1 match
|| [PragmaticVersionControlWithCVS/Getting Started] || [PragmaticVersionControlWithCVS/AccessingTheRepository] ||
== Organizing a Version Control System ==
- PragmaticVersionControlWithCVS/UsingTagsAndBranches . . . . 1 match
|| [PragmaticVersionControlWithCVS/CommonCVSCommands] || [PragmaticVersionControlWithCVS/CreatingAProject] ||
= Using Tags and Branches =
== Tags, Branches and Tagging ==
== Creating a Release Branch ==
== Working in a Release Branch ==
== Generating a Release ==
== Fixing Bugs in a Release Branch ==
== Working With Experimental Code ==
== Merging The Experimental Branch ==
- ProjectPrometheus/BugReport . . . . 1 match
Prometheus 의 버그 보고 페이지
* {{{~cpp RecommendList}}} 에 나오는 수가 너무 많다. 줄여야 한다.
* notice변경 사항에 관하여, DB에 넣는 방향으로 바꾸던지(게시판을 하던지), file path 비의존적으로 바꾸어야 한다. 현재 file path문제로 직접 고쳐주어야 하는 상황이고, ant 로 배포시 해당 file의 쓰기 읽기 권한 문제로 문제가 발생한다. --["neocoin"]
-- notice 에 대해서 DB 게시판 형식으로 수정하기
* ant build를 상민, 석천 두 계정 사이에 아무런 차이 없이 가능하도록 조정할수 있어야 한다. 문제는 내 계정이 이상하다는것 --["neocoin"]
- 자주 바뀌는 부분에 대해서 Page -> Object Mapping Code Generator 를 만들어내거나, 저 부분에 대해서는 텍스트 화일로 뺌 으로서 일종의 스크립트화 시키는 방법(컴파일을 하지 않아도 되니까), 화일로 따로 빼내는 방법 등을 생각해볼 수 있을 것 같다.
- 매번 FORM 으로 넘어가는 변수들이 바뀔때 HTML 내 FORM 변수들을 찾거나 WEB DEBUG 등으로 프로토콜 분석을 하는데, 이를 자동화 할 수 있을 것 같다. <FORM> 태그, <INPUT> 태그 부분만 추출해내고 그 변수값 종류, 변수 이름을 얻어내는 코드만 작성해도, 반복작업을 줄일 수 있을듯. --["1002"]
* 동감, 해당 프로토콜을 분석해서 property로 만들어 버리는 작업을 수행해야 할것 같군. 이작업을 한달에 한번 수행시키도록 해야 할까 ;; --["neocoin"]
* WAR 알아보기. ProjectPrometheus 배포가 편하도록.
* '''호밀밭의 파수꾼''' 2002 년 판의 LendBookList 가 추출되지 않음.RecommendList 추출시에 역시 에러
* '''The Goal''' View Book 시 DB에 들어가지 않음.
* {{{~cpp RecommendList}}} 가 깨지는 문제
* 도서관이 저번주에 뭐 바꾼답시고 삽질중이라고 있다고 공지가 있었거든. 난 내부 DB 작업만 중단 하는것인줄 알았는데, UI부분이 약간 변경된듯 하다. 어이가 없어서.. My Page 눌러보면 공지 해놓았으니 참고--["neocoin"]
* {{{~cpp DBConnectoinManager}}} 관련 주의 사항 http://javaservice.net/~java/bbs/read.cgi?m=dbms&b=jdbc&c=r_p&n=1019574430&p=2&s=d#1019574430
* 다른 Conntion Pooling 용으로 http://www.bitmechanic.com/ 를 생각할수 있으며, 한글 자료는 http://javaservice.net/~java/bbs/read.cgi?m=dbms&b=jdbc&c=r_p&n=1034293525&p=1&s=d#1034293525 에 소개되어 있다.
* 모든 connection Pooling 관리자에게 이런 문제사항은 노출되어 있으며, bitmechanic 도 예외는 아니다. ;;
우리는 여기에서 frequent release(give workable system to the customer every week)가 얼마나 중요한가 새삼 확인할 수 있다. --JuNe
- ProjectPrometheus/LibraryCgiAnalysis . . . . 1 match
(http://www.cyberclip.com/webdebug/index.html, http://sourceforge.net/projects/webdebug)
* Server: Apache/1.3.22 (Win32) mod_jk
* Servlet-Engine: Tomcat Web Server/3.2.1 (JSP 1.1; Servlet 2.2; Java 1.3.1_01; Windows 2000 5.0 x86; java.vendor=Sun Microsystems Inc.)
Windows 2000 아파치 톰켓 조합에 Java JDK 가 1.3.1_01 이라. 약간 신기한 조합같다는 생각이.. --a
* 같은 POST 커맨드라 하더라도 IP가 다르면 결과값이 나오지 않는다. (이로 볼때 서버 내부에서 IP와 History 가 연관되어 저장된다.)
* 한번 검색 하고 다음 페이지가 넘어갈때는 HISNO 의 값이 유지되고, SEQNO 가 증가한다.
#'maxdisp': '10',
"Referer":"http://165.194.100.2/cgi-bin/mcu100?LIBRCODE=ATSL&USERID=*&SYSDB=R",
"Accept":"image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */*"}
conn.request("POST", "/cgi-bin/mcu200", params, headers)
print response.status, response.reason
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
ISBN
&pKeyWordC=%28+%28-TI-+WITH+%28extreme+programming+%29+.TXT.%29++%29 - 검색 관련 키워드
&iSNo=1 - 처음 보여주는 페이지 리스트에서의 첫번째 번호.
["ProjectPrometheus"]
- ProjectSemiPhotoshop/계획서 . . . . 1 match
* 10/24 pm1:00~pm4:00 VC예제 작성 , GDI, BMP, Key Input 예제 작성
* Sampling 구현
* 11/26 화 2차 integration ( 히스토그램, Quantization)
* 11/28 목 3차 integration ( 남은 기본 기능, 명암 변화들 )
* 11/30 토 4차 integration ( 추가 기능 )
- ProjectZephyrus/Client . . . . 1 match
[http://zeropage.org/browsecvs/index.php?&dir=ProjectZephyrusClient%2F Zephyrus Client CVS] 참조.
+ ---- MainSource - 메인 프로그램 소스 & JCreator 프로젝트 화일이 있는 디렉토리
== 작업해야 할 일들 Todo List (계속 추가시킬 것) ==
|| Story Point || 내용 ||
노동의 양으로 생각해야 하는건 Engineering Task 가 아닌가요? 암튼 이번의 경우는 필수 기능 기준으로 잡아보긴 했습니다. (엄격하게 나눈건 아니긴 하지만요.~) --석천
''Engineering Task나 User Story 모두 노동의 양으로 estimation을 해서, 포인트를 준다. 이렇게 "비용"이 적힌 카드들을 놓고, 어느 것을 하고, 미루고, 먼저하는 지 등의 순위 결정은 "중요도 중심", "위험도 중심"이 있는데, 작년 이후 익스트리모들(KRW)은 복잡하게 이런 걸 따지지 말고 그냥 비지니스 가치로 순서를 정하라고 한다. --JuNe''
Task Point - 영서 & 석천이 Main Frame 연습용 코드 작성했을때 기준을 1 Task Point 로 잡음. (대강 120 라인정도/1시간 정도의 난이도 & 속도)
|| '''내용''' || '''Task Point''' || '''완료여부(○)''' ||
|| buddy List 에 있는 모든 유저 삭제해주기 || 0.5 || ○ (50분) 6/6 ||
|||||| ''' 등록한 친구들을 buddy list 에 표시 - 2 ''' ||
|| JTree 이용, buddy list class 작성 || 1 || ○ (40분) 5/31 ||
|| buddy list class refactoring (tree model move method) || . || ○ (20분) 6/5 ||
|| 서버로부터 친구상태 받고 buddy list 에 처리 || 0.5 || ○(25분) 6/7 ||
|| 친구 등록 입력창 만들기 || 0.5 || ○(1분 -_-; {{{~cpp InputDialog}}}로 해결) (6/7) ||
|| ZephyrusClient Refactoring || 0.5 || . ||
|| 로그인/로그아웃시 관련 메뉴들 Enable/Disable || 0.5 || . ||
|| 내용 || Task Point || . ||
|| 내용 || Task Point || . ||
- ProjectZephyrus/간단CVS사용설명 . . . . 1 match
= CVS 사용 in linux =
= WinCVS in Windows =
설치 [http://www.wincvs.org WinCVS]를 [http://sourceforge.net/project/showfiles.php?group_id=10072&release_id=83299 다운로드] 해서 설치
=== WinCVS Gui 환경 ===
메뉴->Admin->Preference
메뉴->Admin->login , 암호입력
=== Command line에서 ===
cvs98 login
= Admin 세팅 in ZeroPage Server(2002.5) =
설치 과정은 생략 (linux 배포본에 들어 있다.)
cvs -d /home/CVS init
cvs:x:536:neocoin,reset
'''2. ZeroPage 서버는 현재 Redhat 7.0이므로 xinetd를 이용하므로 세팅'''
vi /etc/xinetd.d/cvspserver
# description: The cvspsever serves CVS Passowrd Server sessions; it uses \
# unencrypted username/password pairs for authentication.
disable = no
server = /usr/bin/cvs
/etc/rc.d/init.d/xinetd restart
cvs_man:*:548:536:Pubilc CVS Account for Project Dummy:/home/CVS/:/bin/false
- PyIde . . . . 1 match
* Xper:ExtremeProgramming 을 지원해줄 도구들 만들어나가보기.
* Prototyping & 외부 공개소스 Review & Copy & Paste 하여 가능한한 빠른 시간내에 원하는 기능 구현법이나 라이브러리들을 연습하여 익힌뒤, Refactoring For Understanding 을 하고, 일부 부분에 대해 TDD 로 재작성.
* 기타 - CyberFomulaSin의 아스라다와 오우거, Sarah Brightman 의 Harem 앨범, NoSmok:시간관리인생관리
* [Eclipse] - [wxPython] 과 PDE 중 어느쪽이 더 효율적일까.. CVS 관련 기능들등 프로젝트 관리면에서는 Eclipse 의 Plugin 으로 개발하는 것이 훨씬 이득이긴 한데.. Eclipse Plugin 도 [Jython] 으로 프로그래밍이 가능할까?
[PyIde/FeatureList]
* [PyIde/Scintilla]
* BoaConstructor - Scintilla 가 사용된 예를 볼 수 있다.
* BicycleRepairMan - idlefork, gvim 과의 integration 관계 관련 코드 분석.
* Eclipse 이나 IntelliJ 에서 제공해주는 여러가지 View 들. 그리고 장단점들.
* http://st-www.cs.uiuc.edu/users/brant/Refactory/RefactoringBrowser.html - Smalltalk refactoring browser
- PythonLanguage . . . . 1 match
'~을 하기에 적합한' 언어는 있어도 '~을 하기 위한' 것이란 없다. -_-; ('~을 하기 위한 API'는 존재할 수 있겠다.) 이녀석도 프로그래밍 언어이므로 프로그래밍을 하기 위한 언어이다. ^^; (PHP도 사람들이 웹프로그래밍으로만 접근해서 그렇지 원래는 shell script programming 도 가능하다. perl 보다 편하게 쓰는 사람들이 많다.)
* '''ExtremeProgramming 과 잘 어울린다.'''
* TestFirstProgramming, UnitTest(PyUnit 참고), ["Refactoring"] 등의 방법론을 같이 접목시키면 더욱 큰 효과를 발휘할 수 있다.
* ["wxPython"] - linux, windows 둘 다 이용가능한 GUI Toolkit.
* [PythonNetworkProgramming]
* [GuiTestingWithWxPython]
* [PythonMultiThreading]
* [PythonWebProgramming]
* [Seminar:HotShot]
* [PythonThreadProgramming]
이미 다른 언어들을 한번쯤 접해본 사람들은 'QuickPythonBook' 을 추천한다. 예제위주와 잘 짜여진 편집으로 접근하기 쉽다. (두께도 별로 안두껍다!) Reference 스타일의 책으로는 bible 의 성격인 'Learning Python' 과 Library Reference 인 'Python Essential Reference' 이 있다.
Python 으로 무엇을 할 수 있는지를 알고 싶다면 'Programming Python'를 추천.
* [http://wikidocs.net/read/book/136 왕초보를 위한 파이썬]
~~[http://www.python.or.kr:8080/python/LectureNotes/ 파이썬정보광장PPT_강추]~~
~~http://python.netian.com/index.html~~
* ~~http://fallin.lv/PythonRumors~~
* http://www.gpgstudy.com/gpgiki/python_script - 파이썬의 Extending 과 Embedding 의 응용.
* http://www.hanb.co.kr/network/networkmain.html - python 으로 search 해보시라. 재미있는 기사들이 많다.
- PythonXmlRpc . . . . 1 match
* http://python.kwangwoon.ac.kr:8080/python/Internet/xmlrpc.html
* http://kldp.org/HOWTO/html/XML-RPC-HOWTO/index.html
print "Dispatching: " , method, params
raise AttributeError, "No XML-RPC procedure %s" % method
if __name__=='__main__':
- QuestionsAboutMultiProcessAndThread . . . . 1 match
1. Single CPU System에서 프로세서 A 가 Run 중일 때, I/O 작업을 해야 돼서 다른 프로세서 B로 스위칭을 하는 상황이다.
* 만약 그것이 아니라면, I/O 작업을 CPU가 담당하지 않는 것인가? CPU 내부 ALU와 I/O 작업 회로가 따로 있는 Independent 상황이기 때문에 그런 것인가?
* A) 다음 링크를 참조하세요. [http://en.wikipedia.org/wiki/Direct_memory_access DMA] - [변형진]
2. Single CPU & Single-processor & Multi-thread 환경이다.
* 그렇다면 개념적으로 Single CPU에서 Processor Switching과 같은 것인가?
* A) processor라고 쓰신 것이 아마도 process를 의미하는 것 같군요? scheduling 기법이나, time slice 정책, preemption 여부 등은 아키텍처와 운영체제 커널 구현 등 시스템에 따라 서로 다르게 최적화되어 설계합니다. thread 등의 개념도 운영체제와 개발 언어 런타임 등 플랫폼에 따라 다를 수 있습니다. 일반적으로 process의 context switching은 PCB 등 복잡한 context의 전환을 다루므로 단순한 thread 스케줄링보다 좀더 복잡할 수는 있으나 반드시 그런 것은 아닙니다. - [변형진]
* Single Processor & Single Thread
* Single Processor & Multi Thread
* Multi Processor & Single Thread
* Single CPU 환경이라면
* 어느 바쁜 음식점(machine)입니다. 두 명의 요리사(processor)가 있는데, 주문이 밀려서 5개의 요리(process)를 동시에 하고 있습니다. 그 중 어떤 한 요리는 소스를 끓이면서(thread) 동시에 양념도 다지고(thread), 재료들을 오븐에 굽는데(thread) 요리를 빠르게 완성하기 위해 이 모든 것을 동시에 합니다. 한 명의 요리사는 특정시점에 단 한 가지 행위(instruction)만 할 수 있으므로, 양념을 다지다가 (context switching) 소스가 잘 끓도록 저어주기도 하고 (context switching) 다시 양념을 다지다가 (context switching) 같이 하던 다른 요리를 확인하다가, 오븐에 타이머가 울리면(interrupt) 구워진 재료를 꺼내어 요리합니다. 물론 두 명의 요리사는 같은 시점에 각자가 물리적으로 서로 다른 행위를 할 수 있으며, 하나의 요리를 두 요리사가 나눠서(parallel program) 동시에 할 수도 있습니다. - [변형진]
- RTTI . . . . 1 match
#Redirect RunTimeTypeInformation
- RandomWalk2/ExtremePair . . . . 1 match
def testIsBoardAllPassed(self):
self.assertEquals(False, self.man.isBoardAllPassed())
self.assertEquals(True, self.man.isBoardAllPassed())
def __init__(self):
self.board = [[0 for c in range(self.col)] for r in range(self.row)]
self.movingCount = 0
self.movingCount += 1
while (len(self.journey) != self.movingCount or self.isBoardAllPassed()):
def isBoardAllPassed(self):
for r in range(self.row):
for c in range(self.col):
print self.movingCount
for r in range(self.row):
for c in range(self.col):
print self.board[r][c],
print
if __name__ == '__main__':
#unittest.main()
row = int(raw_input())
col = int(raw_input())
- RandomWalk2/상규 . . . . 1 match
#include <iostream>
#include <cstring>
using namespace std;
#define MAX_JOURNEY 1024 // 최대 여정 수
int walk(int m, int n, int starti, int startj, char journey[MAX_JOURNEY], int **board);
void main()
int m, n;
int starti, startj;
cout << "Input :\n";
cin >> m >> n;
cin >> starti >> startj;
int offset=0;
cin.getline(buffer,MAX_JOURNEY);
int count;
int **board=new int*[m];
for(int i=0;i<m;i++)
board[i]=new int[n];
for(int j=0;j<n;j++)
for(int j=0;j<n;j++)
int walk(int m, int n, int starti, int startj, char journey[MAX_JOURNEY], int **board)
- Redmoon . . . . 1 match
DeletThisPage ? or DeleteTestAndWelcome ?
무언가 해보려는 페이지 같기는 한데요... --NeoCoin
- Refactoring/RefactoringTools . . . . 1 match
= Chapter 14 Refactoring Tools =
== Refactoring with a Tool ==
== Technical Criteria for a Refactoring Tool ==
== Practical Criteria for a Refactoring Tool ==
=== Integrated with Tools ===
["Refactoring"]
- RubyLanguage/InputOutput . . . . 1 match
[[pagelist(^RubyLanguage)]]
== InputOutput ==
* STDOUT << , STDIN >>
* each_line : 세퍼레이터를 넘겨 한 단위(세퍼레이터로 구분)씩 읽어옴
* readlines : 배열로 읽어옴
puts.client.readlines
* [http://lambert.tistory.com/167 참고 사이트]
- SICP . . . . 1 match
#redirect StructureAndInterpretationOfComputerPrograms
- Score/1002 . . . . 1 match
def toInt(aList): return [{'O':1,'X':0}[v] for v in aList]
def ox(aList):
for idx in range(1,len(aList)):
aList[idx]=aList[idx]*(aList[idx-1]+1)
return sum(aList)
input 에 대해서 여러 방법으로 변형을 시도. 그 중 좋은 아이디어가 떠오름.
def ox(aList): return sum((len(e)*(len(e)+1))/2 for e in aList.split("X") if e!='')
for each in ['OOXXOXXOOO','OOXXOOXXOO', 'OXOXOXOXOXOXOX', 'OOOOOOOOOO','OOOOXOOOOXOOOOX']: print ox(each)
- SeminarHowToProgramIt/Pipe/VendingMachineParser.py . . . . 1 match
#VendingMachineParser.py
from cStringIO import StringIO
from VendingMachine import *
# //putCoin
# //verifyCoin
class VendingMachine:
def putCoin(self, anAmount):
print '%d inserted' % anAmount
print aButtonType + ' pushed'
def verifyCoin(self, anAmount):
print anAmount
print aStatus
v=VendingMachine()
class VendingCmd:
def __init__(self,cmd,**kwargs):
for item in self.__dict__.items():
raise NotImplementedError
class PutCmd(VendingCmd):
self.vm.putCoin(self.amount)
class PushCmd(VendingCmd):
- Server&Client/영동 . . . . 1 match
public static void main(String[] args) throws IOException
System.out.println(server);
System.out.println("접속을 기다립니다.");
System.out.println(accepted);
System.out.println("종료합니다.\n");
public static void main(String[] args) throws IOException
System.out.println(connect);
["JavaStudyInVacation/진행상황"]
- SharedSourceProgram . . . . 1 match
MS는 3년 전부터 `소스공유 이니셔티브'(Shared Source Initiative)라는 프로그램을 통해 협력업체들과 정부에 윈도 소스코드를 공개해왔다. 특히 최근 몇 년간 각 국 정부가 오픈 소스 진영으로 전환하는 것을 막기 위해, 정부와 특정 회사가 소스코드를 볼 수 있는 프로그램을 확대해왔다.
- SmallTalk/강좌FromHitel/강의3 . . . . 1 match
1.4.1. Dolphin Smalltalk 등록하기
1.4.1. Dolphin Smalltalk 등록하기
이제까지 우리는 Dolphin Smalltalk를 사용하면서 저장 기능을 사용할 수 없
Arts사(社)는 공개용으로 사용할 수 있는 Dolphin Smalltalk 98 / 1.1판을
도록 하고 있습니다. 이는 Dolphin Smalltalk를 사용하는 사람들이 어떤 계
Dolphin Smalltalk를 시작합니다. 그런 다음 File > Exit Dolphin 메뉴를 실
행시켜서 Dolphin Smalltalk를 종료합니다. 이 때 현재 Smalltalk의 상황을
* Product: 사용하고 있는 Dolphin Smalltalk의 종류. 우리는 1.1판을 고르
* Where did you hear about this product?
Dolphin Smalltalk에 대해 처음어로 접한 매체를 고릅니다.
* Intended use of this product?
Dolphin Smalltalk를 어떤 목적에 사용할 것인지를 묻습니다.
* How many attempts did it take you to download this software?:
Dolphin Smalltalk를 몇 번만에 전송받았는지를 묻습니다.
등록 절차를 마치면 이제부터 여러분의 컴퓨터에 설치되어 있는 Dolphin
이렇게 해서 발급받은 password를 (1)과 마찬가지로 입력하게 되면 Dolphin
을 것입니다. 이제 저장 기능을 사용할 수 있는 여러분의 Dolphin Smalltalk
font: (Font name: 'Arial' pointSize: 36) bold;
text: Time now printString at: 10@10;
> Exit Dolphin 메뉴를 사용해서 Dolphin Smalltalk를 끝내봅시다. 이 때
- SpikeSolution . . . . 1 match
어떻게 보면 우리가 일반적으로 하고 있는 것이다. Visual C++로 해당 라이브러리를 이용한 프로그래밍을 할때 우리는 어떻게 할까? 아마도 Visual C++을 2개를 띄울 것이다. 그리고 한 창에서는 해당 라이브러리가 제대로 작동하는지, 대강 값들을 넣어보고 이리저리 제대로 원하는 일을 하게끔 여러 시도들을 하게 될 것이다. 그렇게 함으로서 미지인 부분에 대한 대강의 선을 잡아놓는다.
(ex) DB를 연결하기 위해 DB를 Install 하기, DB 작동이 어떻게 되는지 query 날려보기. 해당 라이브러리가 어떻게 작동하는지 간단한 예제 프로그래밍 등
["ExtremeProgramming"]
- StephaneDucasse . . . . 1 match
OORP(ObjectOrientedReengineeringPatterns) 의 저자중 한명.
최근 Stephane 은 Squeak 에 대한 책을 쓰고 있다. http://scgwiki.iam.unibe.ch:8080/StephaneDucasseWiki 에서 읽을 수 있다. Turtle Graphics 를 이용한 튜토리얼을 제공하는데 정말 재미있다! Smalltalk 를 입문하려는 사람에게 추천.!
Refactoring 책에서 acknowledgement 를 읽던중 StephaneDucasse 이름을 보게 되었다. 이전이라면 저 이름을 그냥 지나쳤을텐데. 신기하다. --[1002]
- StringOfCPlusPlus/상협 . . . . 1 match
== String0.h ==
//String0.h
#ifndef _STRING0_H_
#define _STRING0_H_
class String
int n;
String();
String(const char *in_st);
~String();
int nval() const {return n;}//문자열 길이를 알려줌.
int search(char se);//찾고자 하는 문자열의 갯수로 알려줌
String operator+(const String &s) const;
friend ostream& operator<<(ostream &os, String &s);
== String0.cpp ==
//String0.cpp
#include <iostream>
#include <cstring>
using namespace std;
#include "String0.h"
String::String()
- SummationOfFourPrimes . . . . 1 match
[http://online-judge.uva.es/p/v101/10168.html 원문보기]
== Input ==
[http://www.n2n.pe.kr/util/find_prime.php 소수판정기]로 답을 확인해볼 수 있겠네요. --[Leonardong]
- SwitchAndCaseAsBadSmell . . . . 1 match
케이스문이 줄줄이 나오는 것이나 비슷한 구조가 반복되는 것이나 모두 "나쁜 냄새"(Moa:BadSmell )입니다. 조금이라도 나쁜 냄새가 나면 바로바로 냄새 제거를 해야 합니다. 예컨대, 반복되는 케이스문은 테이블 프로그래밍(Table/Data Driven Programming)으로 해결할 수 있습니다.
def getWinner(p1,p2):
"""return 1 when p1 wins, 2 when p2 wins, 0 when a tie"""
def getWinner(p1,p2):
"""return 1 when p1 wins, 2 when p2 wins, 0 when a tie"""
>>> getWinner(GAWI,BO)
>>> getWinner(BO,GAWI)
>>> getWinner(BAWI,GAWI)
>>> getWinner(BO,BO)
see also Seminar:가위바위보 , Wiki:SwitchStatement
- TestDrivenDevelopmentBetweenTeams . . . . 1 match
관련 문서 : http://groups.yahoo.com/group/testdrivendevelopment/files 에 Inter-team TDD.pdf
일단 각 팀들끼리 TDD 를 하면서 팀들간의 대화를 통해서 일종의 공통 interface 를 빼낼 수 있다. 일단은 일종의 MockObject 로 가짜값을 채워서 테스트를 통과시킨뒤, 실제 Object 가 구현되면, 천천히 하나씩 실제 Object 의 interface 를 끼워가면서 테스트를 통과하는지를 확인한다. 그리고 최종적으로 실제 Object 로 MockObject 를 대체시킨다.
Java 의 경우 inteface 키워드나 abstact class 를 이용하여 interface 를 정의할 수 있다. 팀의 구성원끼리 Pair를 교체한 뒤 interface를 정의하면 더욱 효과적이겠다.
- The Tower of Hanoi . . . . 1 match
==== Recurrent Problems - The Tower of Hanoi ====
T<sub>n</sub> is the minimum number of moves that will transfer n disks from one peg to another under Lucas's rules.
===== mathematical expression =====
- TheLargestSmallestBox/허준수 . . . . 1 match
#include <iostream>
#include <cmath>
using namespace std;
double min_v = l < w ? l : w;
cout << max_v << " " << 0.0 << " " << min_v/2 <<endl;
int main()
cout.setf(ios::showpoint);
cout.precision(3);
while(cin >> l >> w)
[TheLargestSmallestBox]
- ThePragmaticProgrammer . . . . 1 match
[[ISBN(020161622X)]]
SeeAlso : PPR:ThePragmaticProgrammer
- TheWarOfGenesis2R/ToDo . . . . 1 match
[TheWarOfGenesis2R]
- TheWarOfGenesis2R/일지 . . . . 1 match
* 파일을 읽고 쓸 수 있다. (Text모드도 Binary모드도 OK)
* 초기에는 Text모드로 스크립트를 만들고, 추후에 Binary모드로 스크립트를 만들 계획
[TheWarOfGenesis2R]
- TkinterProgramming . . . . 1 match
= Tkinter =
Tkinter 는 Tk GUI 툴킷의 파이선 바인딩 구현물이다. 현재 Tkinter 는 파이선의 가장 일반적인 GUI 툴킷임.
[http://en.wikipedia.org/wiki/Tk_%28computing%29 Wikipedia.org]
01. [TkinterProgramming/HelloWorld]
02. [TkinterProgramming/SimpleCalculator]
03. [TkinterProgramming/Calculator2]
만약 파이선으로 GUI 프로그래밍을 한다면 Tkinter 이것 만큼은 피하라!!!! -_-
[TkProgramming], [wxPython], [PyGTK], [PyQt]
- TourMacro . . . . 1 match
#keywords linux,GNU
MoinMoin MoniWiki HelpContents
[[Tour(arena=backlinks,HelpContents)]]
[[Tour(arena=keylinks,GPL)]]
- Trac . . . . 1 match
Trac is an enhanced wiki and issue tracking system for software development projects. Trac uses a minimalistic approach to web-based software project management. Our mission; to help developers write great software while staying out of the way. Trac should impose as little as possible on a team's established development process and policies.
It provides an interface to Subversion, an integrated Wiki and convenient report facilities.
Trac allows wiki markup in issue descriptions and commit messages, creating links and seamless references between bugs, tasks, changesets, files and wiki pages. A timeline shows all project events in order, making getting an overview of the project and tracking progress very easy.
Trac 은 이슈에 대한 서술과 커밋 메세지에 대해서 위키 태그를 지원하며, 버그,테스크,체인지셋,화일,그리고 위키 페이지들 간에 대해서 seamless 한 참조가 가능하게 해준다. timeline(타임라인)은 모든 프로젝트 이벤트를 순서에 맞게 보여주며, 프로젝트에 대한 오버뷰를 얻는 것과 트래킹 진행을 매우 쉽게 해준다.
http://wiki.kldp.org/wiki.php/trac 트랙 설치방법
http://projects.edgewall.com/trac/wiki/TracTermsKo - Trac 용어에 대한 한글 버전
http://nohmad.sub-port.net/wiki/Trac - nohmad 님의 설명
http://trac.edgewall.org/wiki/TracModPython - Trac을 Apache+mod_Python과 함께 돌리기
dev를 위해서는 사실 위의 링크들의 설치 방법은 거의다 쓸모 없다. Trac이 10->11로 넘어가는데 오래 정체되고 있는 이유는 내부를 대폭 개선하고 있기 때문이다. Template engine과 소스 컬러링 엔진을 바꾸었고, 기존의 plugin으로 존재하던 유용한 관리 도구들을 모두 결합하고 있다. 자료 구조도 손보고 있다. NeoCoin이 몇달간 dev버전을 사용해 보면서 별 무리 없이 이용하고 있다.
[http://neocoin.cafe24.com/cs/moin.cgi/Trac 아파치 없이, 설치 방법과 운용 방법]
http://biohackers.net/yongslib/timeline
* 데미안이면 아마 apt 로 설치 가능할걸? (요새 linux 쪽은 거의 손을 놓아서 상황이 어떻게 굴러가는지도 모르겠군;) --[1002]
- UglyNumbers/JuNe . . . . 1 match
from bisect import bisect
if not ugs: ugs=[1]
tris=[bisect(ugs,lastug/p)
for lastug,p in zip([ugs[-1]]*len(prim),prim)]
ts=[ugs[ind]*mul for ind,mul in zip(tris,prim)]
ugs.append(min(ts))
if __name__=='__main__':
print "The 1500'th ugly number is",ugly(1500)[-1]
- UnixSocketProgrammingAndWindowsImplementation . . . . 1 match
페이지의 컨텐츠를 보아하니, 따로 페이지를 뽑아내도 될것 같아 [문서구조조정] 하였습니다. 원래 페이지 이름은 '''데블스캠프2005/Socket Programming in Unix/Windows Implementation'''였습니다. - [임인택]
주제 : Socket Programming의 기초적인 부분을 알아본다.
#include <sys/types.h>
#include <sys/socket.h>
int socket(int domain, int type, int protocol);
=== domain: ===
PF_INET : 인터넷 프로토콜 체계 사용
PF_INET6 IPv6 : 프로토콜 체계 사용
PF대신 AF를 사용해도 무방. (ex. PF_INET -> AF_INET)
main(){
int sockfd;
sockfd = socket(AF_INET, SOCK_STREAM, 0);
fprintf(stderr, "socket 함수에서 에러"), exit(1);
struct sockaddr_in {
short sin_family; // 주소 체계를 나타낸다.
u_short sin_port; // port 번호
struct in_addr sin_addr; // ip 주소
char sin_zero[8]; // 쓰지 않는 주소
※ 왜 sockaddr과 sockaddr_in의 structure가 같을까?
=== sin_family: // 주소체계 ===
- ViImproved/설명서 . . . . 1 match
1.VI(Visual interface Editor)
▶파일 데이터 파일 응용 프로그램의 데이터(binary)
▶Editor(unix system) Line editor 줄 단위 편집(ex ed)
▶Vi 저자 vi와 ex는 The University of California, Berkeley California computer Science Division, Department of Electrical Engineering and Computer Science에서 개발
삽 입(insert)
^D 한 문자 back tab. autointent의 왼쪽 마진을 리셋
행의 선두에 back tab. autointent의 왼쪽 마진을 리셋하지 않음
O^D 행의 선두에 back tab autointent의 왼쪽 마진을 리셋
예 제 :map V :w^M:!ispell -x $^M:e!^M^M (영문철자 검사)
0(영) 현 line의 첫번째 문자로 이동 I 줄의 첫번째에 삽입 :11,22w <file> 줄 11과 12사이 내용 저장
$ 현 line의 끝으로 이동 ^i tab (삽입모드에서) :w >> <file> 작업중인 화일<file>에 저장
^ 현 line의 첫번째 문자로 이동 j 아래로 이동 :w! 작업중인 화일 덮어쓰기
autoindent(ai) noai 들여 쓰기 기능 자동설정
autoprint(ap) ap 각 명령 후에 변화를 자동적으로 화면출력
beautify(bf) nobf 입력하는 동안 모든 제어 문자를 무시 단 tab, newline, formfeed는 제외
lisp nolisp indentation을 lisp형식으로 삽입
list nolist 모든탭 문자 대신 ^I, 행의 끝에 $를 표시
showmode noshowmode 입력 모드에서 화면의 우측하단에 "input mode"출력
window=(w=) 편집된 내용이 저장되지 않고 쉘 명령을 사용할 경우 경고 메시지를 출력
wrapmargin=(wm=) 0 화면상에 보여줄 행의 수를 설정
- VonNeumannAirport/남상협 . . . . 1 match
Input 과 output 예제가 왜 그렇게 나왔는지 이해 하는데에서 많은 오해를 해서 의도하지 않은 삽질을 하게 되었습니다. 나름대로 시작은 testCase 만들면서 했지만 제대로 테스트 케이스 만들면서 진행은 하지를 못했습니다. 그래서 테스트 케이스는 올리지 않았습니다.
def __init__(self,cityNum,trafficList, configureList):
self.trafficList = []
self.configureList = []
for trafficData in trafficList:
for traffic in trafficData[:-1]:
trafficOfCity.append(int(traffic))
self.trafficList.append(trafficOfCity)
for configureData in configureList:
for configure in configureData:
for conf in configure[:-1]:
eachConfigure.append(int(conf))
self.configureList.append(configureOfCity)
for configure in self.configureList:
for con in configure[0]:
for i in range(2,len(self.trafficList[departureGate-1]),2):
arrivalGate = self.trafficList[departureGate-1][i]
traffic+=(abs(configure[1].index(arrivalGate)-configure[0].index(departureGate))+1)*self.trafficList[departureGate-1][i+1]
def __init__(self):
self.airportList = []
- WebGL . . . . 1 match
[http://www.khronos.org/registry/webgl/specs/latest/1.0/ Spec]
[Javascript]임에도 불구하고 마치 C프로그래밍 스타일의 함수들이 존재한다. [WinAPI]가 C스타일의 [OOP]이듯 WebGL 또한 C스타일의 OOP이다. 모든 함수는 WebGLcontext라는 객체에 있는데 보면 그냥 접두어를 붙이는 느낌이다.
위의 코드를 보면 [쉐이더] 프로그램에 fragmentShader와 vertexShader를 Link 시키는 구문인데 주체인 shaderProgram은 첫번쨰 인자이고 gl은 그냥 접두어 처럼 보인다. 저 구문만 그런것이 아니라 다른 모든 함수들이 저 gl 객체에 붙어있다. 하지만 정작 gl이 주체가 아닌 것들이 많다. 따라서 래핑한 객체를 만들어 쓰는 것이 속편한데 어설프게 했다가는 무척 꼬이게 된다.
* WebGL은 기존 OpenGL과 다르게 직접 그리기가 지원되지 않는다. 기존의 glBegin()와 glEnd()사이에서 값을 계속적으로 전달하수 없고 오직 glDrawElement()를 통한 배열을 한꺼번에 전달하는 것'만' 지원한다. 초보자들의 첫난관이다.
Attribute는 각 포인트 별로 전달되는 정보이고 uniform 은 전체에서 공통적인 정보이다. 일반적으로 Attribute는 각 정점의 위치 정보와 각 지점의 법선 벡터 정보를을 전달한다. uniform은 일반적으로 카메라의 위치나 환경광의 위치처럼 전체적인 것을 전달한다. Attribute나 uniform은 일종의 변수인데 핸들을 얻어와서 그것을 통해 값을 전달할수 있다. 즉 Atrribute나 Uniform은 Javascript측에서 쉐이더로 정보를 보내는 것이다. varying은 쉐이더 간의 정보 전달에 사용된다. vertex shader에서 fragment shader로 값이 전달되며 반대는 불가능하다(파이프라인 구조상 당연한 것이다). 이때 vertex shader는 각 정점(꼭지점) fragment shader는 각 픽셀에 한번 호출되게 되는데 각 정점 사이의 값들은 [보간법]을 거쳐 전달되게 된다(그라디언트 같은 느낌이다 중간값을 알아서 만들어 준다).
각 정점 사이에 있는 픽셀 마다 호출된다. 주로 광원효과를 적용한 픽셀의 최종적인 색깔이나 텍스쳐 연산에 사용된다. varying변수를 vertex shader에서 fragment shader로 넘겨주면 각 정점 사이에는 보간법으로 변환된 값이 넘어 온다.
varying vec4 vFinalColor;
varying vec3 vNormal;
void main(void){
vFinalColor = Id;
vFinalColor.a = 1.0;
precision highp float;
varying vec4 vFinalColor;
varying vec3 vNormal;
void main(void) {
gl_FragColor = vFinalColor + vec4(0.01,0.01,0.01, 1.0);
"indices" : [
var init = function(){
setTimeout(init, 0);
gl.bindBuffer(gl.ARRAY_BUFFER, buffer.vertex);
- Westside . . . . 1 match
* Minihome : [http://www.cyworld.com/pyung85]
[홈페이지분류], ZeroPagers, ZeroWikian ( DeleteMe 복수개로 선택해 주세요. )
- WikiGardeningKit . . . . 1 match
http://no-smok.net/nsmk/WikiGardening 이걸 전부 할 수는 없고
- ZP&COW세미나 . . . . 1 match
* Java 2 SDK: http://165.194.17.15/pub/language/java/j2sdk-1_4_2_01-windows-i586.exe
* Platform: http://165.194.17.15/pub/language/java_eclipse/eclipse-platform-3.0M3-win32.zip
* Test-Driven Development by Example, Kent Beck, Addison-Wesley
* Extreme Programming Installed, Ron Jeffries, 인사이트
def __init__(self,amount):
if __name__=='__main__':
unittest.main()
|| 이상규, 오세윤, 신재동 || Upload:win.Winner_1.0.jar ||
|| 나휘동, 이대웅 || Upload:fisherman.FisherMan_1.0.jar ||
|| 이상규, 오세윤, 신재동 || Upload:win.Winner_2.0.jar ||
|| 나휘동, 이대웅 || Upload:FisherMan_1.1.jar ||
- ZPHomePage . . . . 1 match
* http://www.click4u.pe.kr/index_0.html - 홈페이지를 만드는데 필요한 다양한 내용들이 들어있습니다.^^
* http://cafe.naver.com/rina7982.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=750 - 웹안전색상
건의사항입니다. 위의 모인모인 캐릭터를 Upload:ZeroWikiLogo.bmp 로 교체하고 기본 CSS를 clean.css로 바꿨으면 합니다. 모인모인 캐릭터의 경우 00학번 강지혜선배께서 그리신 거라는데(그래서 교체하더라도 원본은 삭제하지 않는 것이 좋겠습니다.) 제로위키에 대한 표현력이 부족하다고 생각해서 제가 새로 그려봤습니다. 그리고 clean.css가 기본 바탕이 흰색이고 가장 심플한 것으로 보아 기본 CSS로 가장 적합하다고 생각합니다. -[강희경]
- ZeroPageServer/set2002_815 . . . . 1 match
* mm.mysql -> MySQL Connector/J -- for connecting to MySQL from Java (공식 JDBC드라이버)
* Resin , Apache 시작 순서 문제
* Terminal에서 Home키와 End키 먹도록 세팅
* httpd/WEB-INF/classes/woodpage, home/httpd/html/woodpage 삭제
* Admin 툴은 누가 만들었고, 정확한 용도는 무엇인가? 모든 게시판이 표시되지는 않는다, 이유는 무엇인가?
''게시판 Admin 툴을 이야기하는건지? 맞다면.. '''만든이는''' ["sun"]이고 '''용도'''는 게시판 생성/삭제를 쉽게 하려는 의도에서 였으며, '''모든''' 게시판이 표시되지는 않는것은 툴을 만들었던 시점이, 자게,질/답 등 이미 몇몇 게시판이 만들어진 이후였기 때문(변경을 게을러서 안했음). --["sun"]''
* 커널 컴파일시 필요없는 거의 모든 옵션을 뺐다. ISA지원이라던지, 구형 cd-rom, usb, ieee, agp 등 전부 제거 했다. 앞으로의 성능 차이가 기대된다.
* ZeroWiki - moinmoin 0.10 으로 돌리는중
* ["CVS"] 이용가능 (["neocoin"] 에게 신청)
* CGI Script (Perl, ["Python"] 1.53), PHP (4.2 일것임), JSP & Servlet (Resin 1.2 )
* Web에서 CGI권한을 허용 받으려면 관리자(["neocoin"])에게 문의
== About Setting ==
* Pain
* 류상민 (99, ["neocoin"] ) : 하겠다고 덤빈 사람
* no Pain
* 이번 세팅의 목적은 '''좀더 편한 패키지 관리, 안정된 환경'''을 위해서이다. 그래서 상민이의 물망에 오른 것이 Zentoo Linux와 Debian, FreeBSD 정도 인데, 기본적으로 Linux를 택해서, FreeBSD와 Zentoo Linux와 Debian 비교에서 사용자 층과 편이성면에서 Debian이 더 우수하게 느껴져 선택하였다.
* Encoding
* Resin
* Resin 상태 확인
* JSP (Encoding 테그 추가)
- ZeroPage_200_OK . . . . 1 match
[wiki:ZeroPage_200_OK/note 강의노트]
* Cascading Style Sheet
* '''JavaScript 1.4~1.6''' / JScript (ECMAScript)''' - http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf
* Google Chrome for Windows
== Integrated Development Environment ==
* Microsoft Visual Studio (AJAX.NET -> jQuery)
* JetBrains WebStorm
* Mozilla Bespin -> Mozilla Skywriter -> Ajax.org Ace -> Cloud9 -> http://c9.io/
* http://support.cloud9ide.com/entries/21068062-ide-file-saving-hangs ... 풋!
* 위에 링크한 저의 Workspace Project의 index.html 파일에 메뉴 샘플을 구현해두었습니다. 상단의 Preview로 확인하면서 적절히 참조해서 만들면 도움이 될겁니다.
* 자바스크립트에서 자주 this 얘기가 나오던데, 이번에 이야기를 들을 수 있어서 좋았습니다. 개인적인 느낌을 말하자면 함수가 데이터로 취급되는데 함수 내부에서 함수를 호출한 객체(execution context)의 정보를 사용하기 위해서 this를 사용한다는 느낌이는데 맞는지 모르겠군요. p.print를 넘기는 것도 실제로 class p에 있는 함수를 넘기는 게 아니라 p.print에 바인딩 된 어떤 함수를 넘기는 것이니까 내부의 this가 기존 OOP와 같이 해당 class의 인스턴스는 될 수 없겠죠. 그리고 제일 마음에 들었던 것은 역시 예전에 했던 스터디에서 다뤘던 자바스크립트의 네 가지 특징에 대해서 들을 수 있었다는 점이었습니다. 사실 예전 스터디 떄 무척 듣고 싶었는데 개인적인 사정으로 참가를 할 수 없어서 꽤 아쉬웠던 터라 ;;; 마지막에는 개인적인 사정으로 시간이 안 맞아서 좀 급하게 나갔는데, 그래도 최대한 들을 수 있는 데까지 듣기를 잘 한 것 같은 느낌이 들었습니다. - [서민관]
* 자바스크립트의 언어 특성에 따라서 배우고 기본적인 사용 문법에 대해서 배웠습니다. 명령형 구조적 프로그래밍 언어적인 부분에 대해서는 그렇게 어려운건 없었는데 그 뒤의 함수형 선언적 프로그래밍 언어 부분에서 클로저랑 함수에 함수를 인자로 주는 부분이 같이 쓰이니까 좀 복잡했었습니다. 조금 더 공부해야 할 것 같습니다. var Person = function(){}; 같은 부분나 this가 new를 했을 때에만 제대로 동작한다는 부분도 특이했습니다. 문법적인 부분 자체는 그렇게 어려운 것 같지 않은데 함수를 중첩해서 쓰거나 그런 부분이 약간 알아보기 힘든 것 같습니다. - [서영주]
* 서버에서 데이터를 가져와서 보여줘야 하는 경우에 싱글스레드를 사용하기 때문에 생기는 문제점에 대해서 배우고 이를 처리하기 위한 방법을 배웠습니다. 처음에는 iframe을 이용한 처리를 배웠는데 iframe 내부는 독립적인 페이지이기 때문에 바깥의 렌더링에 영향을 안주지만 페이지를 이동하는 소리가 나고, iframe이 서버측의 데이터를 읽어서 렌더링 해줄 때 서버측의 스크립트가 실행되는 문제점 등이 있음을 알았습니다. 이를 대체하기 위해 ajax를 사용하는데 ajax는 렌더링은 하지 않고 요청 스레드만 생성해서 처리를 하는 방식인데 xmlHttpRequest나 ActiveXObject같은 내장객체를 써서 요청 스레드를 생성한다는걸 배웠습니다. ajax라고 말은 많이 들었는데 구체적으로 어떤 함수나 어떤 객체를 쓰면 ajax인건가는 잘 몰랐었는데 일반적으로 비동기 처리를 하는거면 ajax라고 말할 수 있다고 하셨습니다. 그리고 중간에 body.innerHTML을 직접 수정하는 부분에서 문제가 생겼었는데 innerHTML을 손대면 DOM이 다시 만들어져서 핸들러가 전부 다 사라진다는 것도 기억을 해둬야겠습니다. - [서영주]
* JSON.stringify() 메소드와 JSON.parse() 메소드를 이용해서 JSON의 Serialization <-> Deserialization이 가능하다.
* Builder Pattern의 일종으로 jQuery의 메소드를 실행한 이후에 jQuery 배열 객체를 반환함으로써 함수의 chainning을 해서 사용할 수 있다.
* DOM 객체를 wrapping 한 것으로 CSS selector 문법으로 DOM에서 Element를 찾아 올 수 있다.
* Private instance property
* escape, unescape (deprecated) : encoding 스펙이 정해져 있지 않아서 브라우저마다 구현이 다를 수 있다.
* window.history
* window.location
- ZeroWiki/Mobile . . . . 1 match
ZeroWiki를 모바일 웹 환경에 맞추어 띄우는 웹 페이지 개발을 준비중.
다음 링크를 참조하세요. http://kldp.net/projects/moniwiki/forum/315967
- [Lovely]boy^_^/Arcanoid . . . . 1 match
CArcaMissile : public CArcaObject - 미사일
* 지난번엔 x로 1, y로 1 이렇게 움직였지만.. 이번에 대각선 길이 루트2에다가 cos22.5, sin22.5 이런걸 해버리면.. 캐스팅 될때 1,0 이 되면서 수직, 또는 수평으로만 움직일 수가 있다.
// 소스 OnInitialUpdate() 맞나? 어쨌든 초기화 하는거에서
나는 좀더 욕심을 부려서, pDC 까지 보관하여 {{{~cpp GetDC}}}로 얻지도 않고 그릴려고 시도 했는데, 해봐 결과를 알수 있을꺼야. pDC는 끊임없이 변화를 시도하는 녀석이라 상태 유지가 되지 않더군. 바로 전까지 가진 pDC는 옛날 녀석이라 이거지, 결론으로 네가 의도하는 대로 상태 저장이 가능한 GDI Object를 그렇게 쓰는거 부담없다. --["neocoin"]
여담으로, 전에 MFCStudy 로 할때 각도 계산까지 넣었다면 좋을뻔 했지? ^^;; 하지만 아마 그때 넣었으면 더 시간이 걸렸을꺼 같아서;; 어이 인수 과거 소스를 나에게 넘겨 쿨럭. 농담이고, 아 진작 소스 겉어 둘껄 ^^;; --["neocoin"]
진짜 소스 겉어서 링크 해둘껄 다들 옛날 소스 보면 정말 재미있을텐데 --["neocoin"]
= English =
* Game can check a collision shuttle and ball.
* Game can check a collision ball and blocks, but it has a few bugs. maybe ball's move amount is 2, not 1.
* I change a background picture from a Jang na ra picture to a blue sky picture. but my calculation of coordinate mistake cuts tree picture.
* My previous arcanoid could process 1ms of multi media timer, but this version of arcanoid can't process over 5ms of multi media timer. why..
* When a ball collides with a moving bar, its angle changes, but it's crude. Maybe it is hard that maintains a speed of a ball.
* I resolve a problem of multi media timer(10/16). its problem is a size of a object. if its size is bigger than some size, its translation takes long time. So I reduce a size of a object to 1/4, and game can process 1ms of multi media timer.
* A array's row and column is so confused. A long time, screen picture rotates a 90 angle, but I fixed that as change row and column.
* Now sources become very dirty, because I add a new game skill. I always try to eliminate a duplication, and my source has few duplication. but method's length is so long, and responsiblity of classes is not divided appropriately. All collision routine is focusing on CArcaBall class.
* I don't want pointers in container, so I had to make a copy constructor, substitute operator.--;
* I change a design of a arcanoid. - previous version is distribute, but this version is that god class(CArcanoidDoc)' admins a total routine. in my opinion, it's more far from OOP.--;
* It becomes like the badball--;
- callusedHand . . . . 1 match
* 좋아하는 밴드: NIRVANA, RENAISSANCE, SAVAGE ROSE, SONGS OHIA
* 최근 관심있는 밴드: LASSE LINDH, MANDALAY, PEDRO THE LION
* Add-On Linux Kernel Programming
* SWING - Beginning Java 2 & SWING
* JDBC - Beginning Java 2
* GTK++ - Teach Yourself GTK+ In 21days
''(move to somewhere appropriate plz) 논리학 개론 서적으로는 Irving Copi와 Quine의 서적들(특히 Quine의 책은 대가의 면모를 느끼게 해줍니다), Smullyan의 서적들을 권하고, 논리학에서 특히 전산학과 관련이 깊은 수리논리학 쪽으로는 Mendelson이나 Herbert Enderton의 책을 권합니다. 또, 증명에 관심이 있다면 How to Prove It을 권합니다. 대부분 ["중앙도서관"]에 있습니다. (누가 신청했을까요 :) ) --JuNe''
* 네티즌 체조 ["callusedHand/physicalExercise"]
- dlaza . . . . 1 match
[홈페이지분류], ZeroWikian
- fnwinter . . . . 1 match
InsideCPU
http://wiki.zeropage.org/wiki.php/Gnutella-MoreFree
Python/Win32/델파이/VB/MFC/기타등등에 쓰일 범용 Skin Library
http://netgroup-serv.polito.it/windump/ -zennith.
도서관에 메모리 관련 패턴책이 들어왔던데. ISBN:0201596075 . 웬지 자네나 남훈이 틱한 책 같아서. 혹시 신청하신건지? --[1002]
- imays . . . . 1 match
[홈페이지분류], ZeroWikian
- jQuery . . . . 1 match
- jQuery.com introduction
* Internet Explorer, Firefox, Safari, Opera 모두에서 작동
- ljh131 . . . . 1 match
- 항상 마들만 사귀는 The O
- lostship . . . . 1 match
[http://zeropage.org/pub/util/vncviewer.exe VNC View] [http://zeropage.org/pub/util/putty.exe putty Client] [http://zeropage.org/pub/util/WinSCP2.exe WinSCP 2.0 Beta]
|| ["lostship/MinGW"] || 윈도우 환경에 gcc 와 STLport 설치 ||
|| ["Boost/SmartPointer"] || 스마트 포인터 쓰기 ||
["홈페이지분류"], ["ZeroWikian"]
- pragma . . . . 1 match
Each implementation of C and C++ supports some features unique to its host machine or operating system. Some programs, for instance, need to exercise precise control over the memory areas where data is placed or to control the way certain functions receive parameters. The #pragma directives offer a way for each compiler to offer machine- and operating-system-specific features while retaining overall compatibility with the C and C++ languages. Pragmas are machine- or operating-system-specific by definition, and are usually different for every compiler.
[snowflower]는 Accelerated C++ 에 있는 map예제를 Visual C++에서 치면서 엄청난 양의 경고를 경험했다. 이것을 어떻게 할 수 있을까 자료를 찾던 중 다음과 같은 방법을 찾았다.
#pragma warning(disable: 4786 4788)
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 이상 버전을 사용해야 한다.
혹시라도.. 저 #pragma warning(disable: n ... m) 을 써서 언제나 문제를 해결 할 수 있을거라고 생각하시면 안됩니다. 저 위의 설명에도 씌여있듯이, pragma directive 는 지극히.. 시스템에 의존적입니다. 그러므로, VC 에서는 먹힌다는 저 명령어가 GCC 에서는 안될수도 있고.. 뭐 그런겁니다. 확실하게 쓰고싶으시다면.. 그 컴파일러의 문서를 참조하는것이 도움될겁니다.
- sakurats . . . . 1 match
wiki:NoSmok:노스모크 에서 여기 링크되어 있는 것을 보고, 네가 전에 제로페이지 회원이라고 했던 것이 기억나서 와봤는데, 역시 있구나. 반갑다. 공부는 잘 되니? -- wiki:NoSmok:이응준
["홈페이지분류"],["ZeroWikian"]
- spaurh . . . . 1 match
* Nappingin:취미생활
SeeAlso Nappingin:spaurh
[홈페이지분류], ZeroPagers, ZeroWikian ( DeleteMe 복수개로 선택해 주세요. )
- stuck!! . . . . 1 match
모두 담임 MSN을 추가해 주세요. silverfishlee골뱅이hotmail.com
설치법 - [DevCppInstallationGuide]
'''[http://winapi.co.kr/clec/cpp1/cpp1.htm winapi.co.kr의 C기초강좌] 매우 자세하며 양이 많다. 이것이 교재 적당히씩 읽고 와주세요'''
숙제는 담임선생님 메일 silverfishlee골뱅이hotmail.com으로 제출합니다.
- tempOCU . . . . 1 match
[WikiSandBox]
- teruteruboz . . . . 1 match
["홈페이지분류"], ["ZeroWikian"]
- whiteblue . . . . 1 match
* ["whiteblue/LinkedListAddressMemo"]
* ["JavaStudyInVacation"]
- wlsdud1616 . . . . 1 match
[홈페이지분류], ZeroPagers, ZeroWikian ( DeleteMe 복수개로 선택해 주세요. )
- zennith/w2kDefaultProcess . . . . 1 match
Win32.sys가 Win32 subsystem의 커널모드 부분인데 비해서 Csrss.exe는 사용자모드 부
작업관리줄, 바탕화면 등과 같은 사용자 셸로서 Windows의 작동에 있어 필수적인 요소
Internat.exe - 작업관리자에서 종료 가능
disable되는 것처럼
로컬 보안 인증 서버로서 Winlogon 서비스가 사용자를 인증하는데 필요한 프로세스를
만들어 내고 이 프로세스는 Msgina.dll과 같은 인증 패키지를 이용함으로써 수행된
되며 Winlogon 및 Win32 (Csrss.exe) 프로세스를 구동하고 시스템 변수를 설정하는 등
이들 프로세스를 구동시킨 다음 Winlogon이나 Csrss가 종료할 때까지 대기하되, 종료
확인하려면 윈2000 CD에 있는 Tlist.exe를 이용하면 되고 구문은 명령 프롬프트에서
tlist -s 이다.
Winlogon.exe - 작업관리자에서 종료 불가
Winmgmt.exe - 작업관리자에서 종료 불가
- zozo . . . . 1 match
[홈페이지분류],[ZeroWikian]
- ★강원길★ . . . . 1 match
[홈페이지분류], ZeroWikian
- 강규영 . . . . 1 match
* DeleteMe 실명도 알려 주시면 주시면 안될까요? ;; --NeoCoin
* DeleteMe 깨갱 ;; --NeoCoin
["홈페이지분류"], ["ZeroWikian"]
- 강희경/그림판 . . . . 1 match
Upload:ZeroWikiLogo.jpg
- 검색에이전시_temp . . . . 1 match
= ToDoList =
* 핵심 : 브레이크 포인트는 원하는 라인 왼쪽 부분을 클릭, Run As Debug, F5 Step into, F6 step over
* [http://www.python.or.kr:8080/python/LectureNotes/ 상협이처음파이썬익힌곳]
* [http://www.zvon.org/other/python/PHP/search.php 파이썬라이브러리검색]
http://minihp.cyworld.nate.com/pims/visitbook/visitbook_list.asp?tid=24808212&urlstr=bang
프레임있는 미니홈 : http://minihp.cyworld.nate.com/pims/main/pims_main4.asp?tid=24808212&urlstr=main
미니룸 : http://minihp.cyworld.nate.com/pims/main/main_inside.asp?tid=24808212
방명록 : http://minihp.cyworld.nate.com/pims/visitbook/visitbook_list.asp?tid=24808212&urlstr=bang
사진첩 : http://minihp.cyworld.nate.com/pims/board/image/imgbrd_list.asp?tid=24808212
게시판 : http://minihp.cyworld.nate.com/pims/board/general/board_list.asp?tid=24808212
[[PageList("Python")]]
- 겨울과프로젝트 . . . . 1 match
= Theread =
- 고한종 . . . . 1 match
>Mongo, Redis 사용 경험 있습니다.
||{{{LinkedIn}}} ||http://www.linkedin.com/pub/han-jong-ko/8a/445/875 ||
||{{{tistory}}} ||http://rino0601.tistory.com/ ||
||{{{github}}} ||https://github.com/rino0601 ||
- [고한종/업적/WinAPI를 통한 테트리스]
- ~~[고한종/업적/WinAPI로 만든 학과주점 포스기]~~
* JAVA의 Swing으로 만든 시간표 대신 만들어주는 프로그램 (...) 사실 만들어 놓고 안쓴다. 2학년 말에 만들어 놓고 이번 학기(2013년 1학기)에 본인조차 안 쓴걸 보면 기획부터가 잘못된 물건. 일단 소개를 하자면, 수강신청 기간이 되면 포탈에 그 학기에 개강될 과목들을 정리해서 xls 파일로 올려줍니다. 이걸 받아서, poi 라는 JAVA 라이브러리? 에 넣고 돌리면 "[cell값]" 형식으로 String이 나옵니다. 그럼 이걸 stringTokenizer에 ]와 [를 토큰으로 해서 잘게 쪼개줍니다. (애초에 그런거 없이 CSV로 나오면 최고겠지만.. 할줄 모름 ㅠ). 사실 그냥 엑셀에서 CSV로 만들어 쓰면 되는 데, 그때 당시엔 사용 편의성을 도모한답시고 뻘짓 함. 어짜피 아무도 안 쓸텐데 ㅠㅠ 그렇게 얻어낸 과목의 시간정보를 ArrayList에 넣고, 그걸 가지고 backtraking인지.. 를 했던것 같음. 결국 속도는 처참했지만 -_-... 모든 결과가 나오는 것도 아님. 마지막으로 코드를 수정하고나서 테스트로 돌렸을때, 내가 실제로 수강신청했던 시간표는 나오지 않았음 ㅇㅈㄴ... - [고한종], 13년 3월 16일
* 근데 이거 덕분에 JAVA로 작업할때는 모든 것을 얕은 복사라고 생각해야 한다는 것을 발견함. 아니 ArrayList에서 빼고 싶어서 빼버리라고 하면, 다른 ArrayList에서도 빠져버리는 건데?! (Objective-C 처럼 말하자면, release를 원했는데 dealloc이 되어버림.) 결국 그냥 모든 대입문에 .clone을 붙였더니 메모리 폭발, 속도 안습. - [고한종], 13년 3월 16일
-[고한종/업적/MALogin]
* 그래픽스 연구실에서 서울시특허 과제로 만들고 있는 것 (13년 3월) 거의 완성했는데, 기반이 된 OpenCV가 intel CPU최적화라 아이패드에서 돌리면 겁나 느려서 시연불가능 급이다 -_- 속도만 해결하면 완성인 과제. - [고한종], 13년 3월 16일
[[pagelist(고한종)]]
- 권영기 . . . . 1 match
* [Nand 2 Tetris]
* [정모/2013.2.26] - OMS : 재미있는 문제 (Indexed Binary Tree)
* [MachineLearning 스터디]
* [Nand2Tetris]
* [정모/2014.1.13] - OMS : Robot Path Planning
* [정모/2014.11.19] - OMS : Bit Masking
* 4월 쯤에 혼자서 공부를 하면서 wiki에 기록을 남기려고 했던 것 같은데... 반성을 하게 됩니다. - [권영기] 2013/11/03
- 권형준 . . . . 1 match
[홈페이지분류], ZeroPagers, ZeroWikian ( DeleteMe 복수개로 선택해 주세요. )
- 김경환 . . . . 1 match
[홈페이지분류], ZeroPagers, ZeroWikian
- 김도현 . . . . 1 match
[홈페이지분류], ZeroPagers, ZeroWikian ( DeleteMe 복수개로 선택해 주세요. )
- 김상협 . . . . 1 match
이멜 : sainthyup@ 핫 멜 점 컴
엠에스엔 : sainthyup@ 핫맬컴
[홈페이지분류], ZeroWikian
- 김영준 . . . . 1 match
== Link (!) ==
[홈페이지분류], ZeroWikian
- 김태진/Search . . . . 1 match
== Linear Continuous Search ==
#include <stdio.h>
int linear_search(int a[], int size, int val);
int main()
int arr[10]={5,8,13,2,4,15,13,17,18,20};
int index, val;
for(index=1;index>0;){
index=linear_search(arr,10,val);
if (index<0) printf("Not found.\n");
else printf("%d is found in %d-th position in the array.\n", val,index);
int linear_search(int a[], int size, int val)
static int check=0;
int i=0;
- 꿈 . . . . 1 match
[홈페이지분류], [ZeroWikian]
- 누가소프트웨어의심장을만들었는가 . . . . 1 match
* 책 링크 : http://www.hanb.co.kr/book/look.html?isbn=89-7914-321-4
* 현재 컴퓨터 모델을 지은 폰 노이만은 누구에게 영감을 받았을까? 앨런 튜닝. 현재 PC는 어떻게 탄생하게 되었을까? 메멕스. Wiki와 인터넷이 나오게 된 Hyper-Media란 것은 무엇인가? 이 책은 우리가 습관처럼 쓰고있는 IT가 어떻게 이루어졌는지 알려준다. IT의 기반을 세운 '영웅'들의 사상을 정리하고 간략하게 요약해서 보여주는 멋진 책이다. 그들이 발명한 이론과 활동에 대해 그 세세한 과정을 다뤄주지 않지만 이 책을 통해 소프트웨어 역사가가 되는 한 걸음을 딛을수 있을것이다. 그리고 저자 분의 이력도 흥미롭다 :) - [김준석]
- 대학원준비 . . . . 1 match
= KAIST =
[http://www.kaist.ac.kr/ Home]
[http://admission.kaist.ac.kr 입학안내]
* [KAIST전산대학원면접/06전기]
* [http://admission.kaist.ac.kr/bbs/top_view.php?id=board01&no=44 2007봄학기]
서류제출 2006. 8. 3(목)까지 도착 마감 KAIST 대전캠퍼스 학생선발팀
제출서류 도착확인 2006. 7. 28(금), 10:00 - 8. 4(금), 17:00 KAIST 입학본부 홈페이지
'''특별 TEPS시험 2006. 8. 6(일), 13:30까지 입실완료 접수 시 시험 장소 확인요망 -> 여기서 http://www.teps.or.kr/kaist/kwa_check.html'''
제1차합격자 발표 2006. 8. 22(화), 15:00 이후 KAIST 입학본부 홈페이지
최종합격자 발표 2006. 9. 7(목), 15:00 이후 KAIST 입학본부 홈페이지
[http://www.icu.ac.kr/indexa.jsp 입학]
[http://www.icu.ac.kr/AdmissionIndexList.jsp?tableName=n_anotice# 입학설명회]
[http://admission.snu.ac.kr/ 입학본부]
* [포항공대전산대학원ReadigList]
http://www.postech.ac.kr/department/cse/linus/home_kor/admission_06.htm
* [KAIST전산대학원면접/06전기]
- 덜덜덜 . . . . 1 match
'''[http://winapi.co.kr/clec/cpp1/cpp1.htm winapi.co.kr의 C기초강좌] 매우 자세하며 양이 많다. 이것이 교재 적당히씩 읽고 와주세요'''
||[김진아]||jin-_-a골뱅이hotmail.com|| :) || :) || :) || :) ||
||[이재영]||michin1213골뱅이hotmail.com|| :) || :( || :) || :( ||
[DevCppInstallationGuide] // 인스톨 가이드 입니다. <- 필수!!
- 데블스캠프2005/FLASH키워드정리 . . . . 1 match
_root, this
parseInt
input&DynamicText&staticText
- 데블스캠프2006/월요일 . . . . 1 match
||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) ||
[http://wiki.izyou.net/moin.cgi/Zeropage/DevilsCamp2006]
- 데블스캠프2009/화요일 . . . . 1 match
|| 안혁준 || winAPI || || ||
|| 변형진 || The Abstractionism || 컴퓨터공학의 발전과 함께한 노가다의 지혜 || attachment:/DevilsCamp2009/Abstractionism.ppt ||
||pm 04:00~05:00 || winAPI || 안혁준 ||
||pm 05:00~06:00 || winAPI || 안혁준 ||
- 데블스캠프2011/다섯째날/HowToWriteCodeWell/권순의,김호동 . . . . 1 match
private int max;
private int min;
private int floor;
private boolean inElevator;
public Elevator(int i, int j) {
min = j;
inElevator = false;
public int floor() {
public void goTo(int i) {
if(i <= max && i >= min && inElevator ){
} else if (i < min){
floor = min;
public void in() {
inElevator = true;
inElevator = false;
assertNotNull(elevator);
elevator.in();
elevator.in();
elevator.in();
elevator.in();
- 데블스캠프2011/다섯째날/HowToWriteCodeWell/김준석,서영주 . . . . 1 match
public int MAX_HEIGHT;
public int MIN_HEIGHT;
public int floor;
public Elevator(int max_height, int min_height, int basic_height) {
MIN_HEIGHT = min_height;
public int getFloor() {
public void goTo(int i) {
if(i <= MAX_HEIGHT && i >= MIN_HEIGHT)
public String callElevator(int i) {
public int getMaxHeight() {
public int getMinHeight() {
return MIN_HEIGHT;
assertNotNull(el);
int temp = el.getFloor();
public void printTest(){
public void getMinHeightTest(){
assertEquals(el.getMinHeight(), -5);
- 데블스캠프2012/넷째날/묻지마Csharp/김태진 . . . . 1 match
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
int t;
String str;
InitializeComponent();
MessageBox.Show((B.Year-A.Year).ToString());
GetVisiblelabel1();
private void GetVisiblelabel1()
label1.Visible = true;
label2.Text = t.ToString();
label3.Text = str.Substring((t%10), 10);
private void pictureBox1_Paint(object sender, PaintEventArgs e)
label4.Text = e.Location.ToString();
- 레밍딜레마 . . . . 1 match
|| http://www.aladdin.co.kr/Cover/8955610017_1.gif [[BR]] ISBN 8955610017||
* Title : 레밍 딜레마 ( The Lemming Dilemma )
* Publisher : 바다 출판사
* Point : B) B) B) B)
시리즈 물인데, 같은 시리즈의 하나인 혜영이가 남긴 감상 [http://zeropage.org/jsp/board/thin/?table=multimedia&service=view&command=list&page=0&id=145&search=&keyword=&order=num 네안데르탈인의 그림자] 와 같은 짧고 뜻 깊은 이야기이다. 왜 이 책을 통해서 질문법을 통한 실용적이며, 진짜 실행하는, 이루어지는 비전 창출의 중요성을 다시 한번 생각하게 되었다. ["소크라테스 카페"] 에서 저자가 계속 주장하는 질문법의 힘을 새삼 느낄수 있었다.
--NeoCoin 2002.1.6
- 문자열검색 . . . . 1 match
x는 x[40] = "His teaching method is very good.";
자료 -> His teaching method is very good.
자료 -> His teaching method is very good.
Not found!
- 문제풀이/1회 . . . . 1 match
print 'problem 1-1'
print 'type 3 values'
v1 = input()
v2 = input()
v3 = input()
print 'max=',max(v1, v2, v3)
print 'min=',min(v1, v2, v3)
print 'problem 1-2'
print 'type 10 values '
vv1 = input()
vv2 = input()
vv3 = input()
vv4 = input()
vv5 = input()
vv6 = input()
vv7 = input()
vv8 = input()
vv9 = input()
vv10 = input()
print 'max=',max(vv1,vv2,vv3,vv4,vv5,vv6,vv7,vv8,vv9,vv10)
- 박성현 . . . . 1 match
1. INS ( Image Network Service ) - ( 2010년 )
1. Win32API - ( 2010년 ~ 2011년 )
* [http://wiki.kldp.org/wiki.php/DocbookSgml/Ask-TRANS How To Ask Questions The Smart Way]
- 박진하 . . . . 1 match
= http://jinahut.mr4u.com =
[ZeroWikian]
- 박효정 . . . . 1 match
[홈페이지분류], ZeroPagers, ZeroWikian ( DeleteMe 복수개로 선택해 주세요. )
- 삼총사CppStudy/Inheritance . . . . 1 match
class CMarine // 마린을 정의한 클래스
int m_Attack;
int m_Defence;
int m_HP;
int m_Attack;
int m_Defence;
int m_HP;
CMarine Force[12]; // 이렇게 하면 부대안에는 마린밖에 넣지 못한다.
아.. 이 문제를 어떻게 하면 좋을까~? 이럴때 사용할 수 있는 스킬이 바로 '''상속(Inheritance)'''이다.
int m_Attack;
int m_Defence;
int m_HP;
class CMarine : public CUnit // 이렇게 상속받는다.
- 새싹교실/2011 . . . . 1 match
* [새싹교실/2011/AmazingC]
내가 짠 코드를 직접 출력을 통해 확인하는 것은 분명 매력적인 일입니다. 그러나 처음 익힌 코딩 습관은 버리기 매우 어렵습니다. 많은 학생들이 처음 프로그래밍을 배우며 printf 함수를 사용하여 코드를 검증하는 습관을 들입니다. 그 때문에 상당수의 졸업할때까지 테스트보다는 직접 눈으로 확인하는 것을 선호합니다. 그런데 작성한 코드가 잘 돌아가는지 알기 위해 직접 눈으로 확인해야만 하는 것은 매우 많은 문제가 있습니다.(이것에 대해서 더 적자면 정말 길어질테니 일단 이 페이지엔 적지 않겠습니다.)
* 학교 수업에서 사용하기 때문에 printf 함수를 소개할 필요는 있습니다. 그러나 새싹교실에서 실습한 코드들을 검증하기 위해 매번 printf를 사용하는 것은 권장하지 않습니다.
* 테스트는 [http://winapi.co.kr/clec/reference/assert.gif assert]함수를 통해 간단히 만들 수 있습니다.
* 위키 문법 연습은 WikiSandBox에 해주세요.
각 파트의 역할, program의 실행원리, software(layer 활용), complier와 interpreter 역할
프로그래밍 단계(code 작성->compile->link->generating .exe file)
stdio.h: printf, scanf function
bitwise operator
type casting
increment/decrement, postfix/prefix
infinite loop, break/continue
call by value mechanism||
달력을 하던 sorting을 하던 알아서 할 것
initialization
||10||pointer:
pointer arithmetic
array와 pointer의 관계||
string:
string.h
- 새싹교실/2011/AmazingC/6일차 . . . . 1 match
#title 새싹교실/2011/AmazingC/6일차
* 반환형: int, char, float, double 등
#include <stdio.h>
int sum(int a,int b){
int sum2(int a,int b);
int main(){
printf("%d + %d = %d\n", 1,2,sum(1,2));
printf("%d + %d = %d\n", 3,5,sum2(3,5));
int sum2(int a,int b){
* LIFO(Last In First Out): 마지막으로 들어온 요소가 가장 먼저 pop으로 빠져나온다. - 쓰레기통으로 비유.
- 새싹교실/2011/學高/8회차 . . . . 1 match
#include <stdio.h>
int count=0;
void hanoi(char from,char to,char mid,int num){
// Input your code
int main(){
int numOfRings;
printf("원판의 개수: ");
scanf("%d",&numOfRings);
hanoi('A','C','B',numOfRings);
printf("총 실행회수: %d\n",count);
* passing by value(call by value와의 차이점)
* index는 0부터 시작한다
- 새싹교실/2011/데미안반 . . . . 1 match
#include <stdio.h>
int main(void)
printf("Hello, World!\n");
* ; 는 문장의 끝을 나타내므로, printf("Hello World"); 처럼 어디까지 내용이 있다 나타내는 것처럼 빈 공간도 빈 공간 그대로 인식이 되지 않았나 싶어요.
* printf를 왜 제일 처음 배우나요?
* 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 출처 링크! 클릭하세요:)]
* 메모장으로 열어서 글이 깨졌어요 ㅠㅠ 연결프로그램을 Visual Studio로 하면 번역이 정상적으로 되어있을거에요. 숫자가 010100 하면 너무 길어서 16진수로 표현이 되어있는듯 합니다.
* 입, 출력 함수 - printf, scanf
#include <stdio.h> //printf 함수 사용
int main(void)
int val1 = 4;
int val2 = 2;
printf("두 수의 덧셈: %d\n", val1+val2);
printf("두 수의 뺄셈: %d\n", val1-val2);
#include <assert.h> //assert 함수 사용
int main(void)
int val1 = 4, val2 = 2;
#include <assert.h> //assert 함수 사용
int main(void)
int val = 10;
- 새싹교실/2011/무전취식/레벨6 . . . . 1 match
== Ice Breaking ==
* Facts, Feelings, Findings, Future Action Plan. 즉, 사실, 느낀 점, 깨달은 점, 앞으로의 계획.
* 어쩐지 저는 이 반도 아닌데 육피에 거주하다보니 (그리고 우리반 새싹은 거의 질문형식이다보니) 다른 이런저런 새싹을 보게되고 끼네요. 덕분에 ICE Breaking에 제 이름이..- 사실 지금 후기를 쓰는것도 피드백 갯수를 채우려는 속셈...응? 배열은 C시간에도 이제 막 배우고 있는건데 여기는 제대로 연습안했다간 망하기 쉬운곳이라더군요. 삽질열심히 해야겠어요. -[김태진]
- Wiki 후기 써오기
- 새싹교실/2011/앞반뒷반그리고App반 . . . . 1 match
* [The C Programming Language]. 일단은.
#include <stdio.h>
#include <assert.h>
int main(){
int n=1;
Assertion failed: (n>100), function main, 과 같이 오류뜨면서 프로그램이 종료됨.
* 시험기간 직전에 질문시간이었어요. ~~저밖에 오지 않았지만~~ 이날 새롭게 배운것은 (수업시간에 필요없다고 넘긴것이라 필요없었음에도 잔다고 필요없다는 사실을 몰랏음) redirection이었는데요! 뭐냐니 input과 output을 바로 프로그램에서 받고 띄우는 것이 아니라 다른 문서에서 불러오거나 집어넣는 것이었어요. 지금까지는 인풋은 무조건 scanf로 직접 넣었는데, 그것과는 다른것!!이었죠. 사실 방법은 지금 잘 기억나지를 않네요 -_- 아무튼 이런 신기한걸 배웠습니다. -[김태진]
* 오늘은 포인터를 배웠어요. ********별-. 선언할 때 int *a;로 선언하게 되면 *a는 a의 주소에 있는 값을 나타내는거였지요. 음.. 하다가 현 형이 하던 프로젝트에 잠깐 지워놓고 예시를 들었다가 xcode를 끄는 바람에 소스가 날라가버렸지요.... 포인터가 있으면 지정된 크기보다 큰 용량의 자료도 불러오기 쉽다는 것도 배웠구요. 아무튼 유용하게 쓸 수 있을거 같아요 -[김태진]
- 새싹교실/2012/startLine . . . . 1 match
= 새싹교실/startLine =
* wiki 사용법.
* 입, 출력 함수(printf, scanf)와 테스트 함수(assert).
int main()
int num1 , num2 = 1, num3, num4 = 2;
printf("별을 위해서 숫자를 입력해주세요\n");
printf("*");
printf("\n");
* 서민관 - 제어문의 사용에 대한 수업(if문법, switch.. for...) 몇몇 제어문에서 주의해야 할 점들(switch에서의 break, 반복문의 종료조건등..) 그리고 중간중간에 쉬면서 환희가 약간 관심을 보인 부분들에 대해서 설명(윈도우 프로그래밍, python, 다른 c함수들) 저번에 생각보다 진행이 매끄럽지 않아서 이번에도 진행에 대한 걱정을 했는데 1:1이라 그런지 비교적 진행이 편했다. 그리고 환희가 생각보다 다양한 부분에 관심을 가지고 질문을 하는 것 같아서 보기 좋았다. 새내기들이 C를 배우기가 꽤 힘들지 않을까 했는데 의외로 if문이나 for문에서 문법의 이해가 빠른 것 같아서 좀 놀랐다. printf, scanf나 기타 헷갈리기 쉬운 c의 기본문법을 잘 알고 있어서 간단한 실습을 하기에 편했다.
* 간단한 이전 시간(if문, 반복문)의 복습과 배열의 사용에 대해 알아보았다. 그리고 이번 시간에 주로 한 내용은 함수가 왜 필요한지와 함수를 만드는 법, 함수를 사용하는 법 등이었다. 개인적으로는 함수를 꽤 중요하게 생각하는 만큼 함수의 필요성을 잘 캐치해 줬으면 좋겠다. 그리고 새삼 드는 생각이지만 환희의 질문이 중요한 부분을 잘 찌른다는 생각이 든다. 별다른 언급도 없었는데 함수 내에서 변수의 scope나 함수 내부의 이름 겹침 등에 대한 질문이 있었다. 그리고 중간에 함수 사용의 예제로 printf문을 약간 이상하게 쓴 코드를 보여줬는데 의외로 감을 잘 잡은 것 같았다. 현재 진행상황으로는 다음에 포인터를 다뤄야 할텐데 함수를 쓰는 것을 조금 더 연습을 시킬지 바로 포인터를 나갈지 고민이다. 당장 포인터를 했다가 어려워하지 않을까 모르겠다. - [서민관]
* 포인터의 정의, 포인터 변수의 정의, malloc 함수, fflush() 함수, getchar() 함수, 메모리의 heap과 stack 영역, (int)a와 *(*(int a))의 차이, 포인터의 OS별 크기(DWORD 크기를 따라간다. 32bit/64bit),
void reverseArr(int **arr, int arrLen);
int arr[10];
Pointer와 배열 = 둘은 결국 같다.
* 포인터 2회차. 포인터 변수에 대해서 잠깐 리뷰를 하고 그 후에 구조체와 typedef에 대해서 다루었다. 그리고 구조체를 인자로 받는 함수에 대해서도 다루었다. 그 후에 typedef int* SOMETHING이라는 표현을 써서 이중 포인터에 대해서 이야기를 해 봤는데, 이쪽은 역시 약간 난이도가 있는 것 같다. 특히 int **twoDim에서 twoDim[0]에 다시 malloc을 해 줘야 한다는 부분이 어려운 것 같다. 차근차근 해보자. 개인적으로 성훈이가 가르친 부분들을 잘 따라오려고 한다는 것을 (*s).age에서 느꼈다. ->연산자가 아니라 *연산자 후에 .연산자로 내용물을 참조한다는 것은 나름대로 메모리의 구조를 생각하려고 애를 썼다는 얘기다. 좀 고마웠다. - [서민관]
* 함수 만들기 실습(isPrime, isPalindromePrime 등).
int reverse(int number);
* winapi.co.kr
* Callback(winapi 이야기하면서) + winapi.co.kr
void printCalender(int nameOfDay, int year, int month);
- 새싹교실/2013/라이히스아우토반/7회차 . . . . 1 match
* 선언법 ex) int {{{arr[10]}}};
* 선언할 때 초기화 하는 법. ex) int arr[]={0,1,2,3}; int {{{arr[5]={0}}},};
Facts, Feelings, Findings, Future Action Plan. 즉, 사실, 느낀 점, 깨달은 점, 앞으로의 계획.
* Internet Explorer를 제외한 다른 브라우저 (Chrome,FireFox, Opera)로 위키에 들어오면 편집하기 쉬워요.
- 새싹배움터05 . . . . 1 match
|| 4_5/2 || [후각발달특별세미나] ([신재동]) || Refactoring에 관한 것 || 냄새를 잘 맡게 게 됨. ||
|| 5_5/16 || [Debugging/Seminar_2005] || Debugging ||VisualStudio에서 Debugging 방법 + Eclipse에서 Debugging 방법 + 효율적인 디버깅에 대한 토론 ||
C, 발표잘하는법, PPT제작 기법, [Python], [PHP], [ExtremeProgramming], ToyProblems, Linux, Internetworking(TCP/IP), Ghost(demonstration), OS(abstraction), OS+Windows, Embedded System, 다양한 언어들(Scheme, Haskell, Ruby, ...), 보안(본안의 기본과 기초, 인터넷 뱅킹의 인증서에 대해..), C언어 포인터 특강(?), 정보검색(검색 엔진의 원리와 구현), 컴퓨터 구조(컴퓨터는 도대체 어떻게 일을 하는가), 자바 가상머신 소스 분석
[PythonLanguage], [PHP] (WebProgramming), [ExtremeProgramming] (XP를 적용시켜 코드가 아닌 다른 무언가를 만들어 보자 -_-a ), Ghost 사용법, 발표잘하는법, PPT제작비법, OS개발
XP를 할 때 몇명의 Python 하는 사람이 있으면 좋겠습니다. PairProgramming을 위해서요. --재동
음 어떤게 좋을까요?? 많아 보였는데 실제로 하려고 생각하면 몇가지 없기도 하네요. 가능한 주제를 먼저 골라보면... [Python], [ExtremeProgramming] 이 대표적인데... - [톱아보다]
[CVS] 나 [VisualSourceSafe] 와 같은 녀석들도 한번 세미나 해봤으면 좋겠습니다. - [톱아보다]
- 손동일 . . . . 1 match
== Coding.... ==
실컷 잠자기, LINUX, VB
[홈페이지분류], [ZeroWikian]
#include <iostream>
using namespace std;
const int Max = 11 ;
int going;
int goal;
int length;
int Vertex[Max][Max] =
int temp;
int temp1[10] = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1};
int soo = 0;
int soo2 = 1;
int first = 0;
int last = 0;
int n = Max;
int between[Max];
int check[Max];
void shortpath(int Vertex[Max][Max],int between[Max], int n, int check[Max]);
- 수 . . . . 1 match
* [새싹C스터디2005/pointer]
||[임수연]||theeric 골뱅이 hotmail 닷 com|| ||
||[장이슬]||sting825 골뱅이 msn 닷 com|| ||
== Info ==
[Linked List/숙제]
main(){
http://prof.cau.ac.kr/~sw_kim/include.htm
- 수업평가 . . . . 1 match
||ArtificialIntelligenceClass || 0 || 1 || 2 || -2 || 1 || 1 ||1 ||
||CeeProgrammingClass || 6 || 6 || 3 || -3 || 12 || 5 ||2.4 ||
||DigitalEngineeringClass || 1 || 1 || 1 || 2 || 5 || 3 ||1.66||
||DiscreteMathematicsClass || 8 || 4 || 7 || 2 || 21 || 6 ||3.5 ||
||JavaProgrammingClass || 4 || 4 || 4 || 1 || 13 || 2 ||6.5 ||
||LinuxSystemClass || . || . || . || . || . || . ||. ||
||NumericalAnalysisClass || 1 || 0 || 1 || 1 || 3 || 3 || 1 ||
||SoftwareEngineeringClass || 6 || 6 || 5 || -8 || 9 || 5 ||1.8 ||
||SoftwareEngineeringClass송기원|| 4 || 3 || 2 || 3 || 12 || 2 || 6 ||
||ProgrammingLanguageClass || 12 || 8 || 11 || 1 || 32 || 8 ||4 ||
||OperatingSystemClass || 1 || 1 || 0 || -2 || 0 || 1 ||0 ||
||OperatingSystemClass박철민 || 1 || -2 || -3 || -4 || -8 || 2 ||-4 ||
||ObjectModelingClass || . || . || . || . || . || . ||. ||
||LinuxClass || -1 || -1 || -1 || -1 || -4 || 1 || -4 ||
- 시간관리하기 . . . . 1 match
* 핸드폰 알람 밑에 다이어리 놓기 - 보통 아침은 핸드폰 알람소리로 깬다. 그 밑에 그날의 할일을 놓는 것이다. 핸드폰 찾으러 돌아다니고, 그러다가 스탠드를 켜고, 핸드폰 알람 끄고, 그리고 어쩔수 없이!; 그날의 To Do List 를 보게 된다.
==== Getting Things Done (끝도 없는 일 깔끔하게 해치우기) ====
의외로 '간단해보이는', 하지만 인간적인 시스템을 제공한다. TDD 를 하는 사람들이라면 'To Do List 에 등록해놓기' 생각날지도.
'''The Simplest Thing That Could Possibly Work'''
- 신혜지 . . . . 1 match
[홈페이지분류], ZeroPagers, ZeroWikian ( DeleteMe 복수개로 선택해 주세요. )
- 여름방학프로젝트 . . . . 1 match
|| [제로Wiki] - 종료 || [상협] || - ||
- 오월의 노래 . . . . 1 match
ZeroWikian
- 위시리스트 . . . . 1 match
* 책의 경우에는 ISBN도 기재
* 크롬북 [http://www.google.com/intl/en/chrome/devices/ 링크 - [:안혁준 안혁준]]
* [http://books.google.co.kr/books?id=oowq_6bAgloC&printsec=frontcover&dq=go+lang&hl=ko&sa=X&ei=5f-WU8rTCM_-8QXu5oGwAw&redir_esc=y#v=onepage&q=go%20lang&f=false the way to go]
* http://www.aladin.co.kr/shop/wproduct.aspx?ISBN=8991268838
The art of computer programming 1 ~ 4A
Building Machine Learning Systems with Python 한국어판
- 유주영 . . . . 1 match
[홈페이지분류], ZeroPagers, ZeroWikian
- 윤성복 . . . . 1 match
[홈페이지분류], ZeroPagers, ZeroWikian ( DeleteMe 복수개로 선택해 주세요. )
- 이덕준 . . . . 1 match
["홈페이지분류"] [ZeroWikian]
- 이민석 . . . . 1 match
[[pageList(이민석)]]
* 이창하 교수님 visualization 연구실에서 학부 연구생 (OpenGL)
* 06월 06일 OMS 발표: http://zeropage.org/seminar/61737
* 10월 29일 OMS 발표: http://zeropage.org/seminar/63770
* 하스켈 위키북 번역: https://wikidocs.net/book/204
[ZeroWikian]
- 이병윤 . . . . 1 match
= redd0g`s Wiki =
[http://www.beist.org beistlab] 소속
*[http://www.overthewire.org/wargames/drifter/ Drifter] WarGame 풀이
- 이영호/미니프로젝트#1 . . . . 1 match
OS : Linux 체제
Language : C & Linux System Function
1. Client Console에 메세지를 입력하면 IRC Server로 문자열을 전송한다. -> Main Process
2. 서버로부터 메세지 중 PING 부분 처리 -> 1번째 Child Process
main.c -> IRC Server로 메세지를 보내는 역할을 하고 자식 프로세스를 생성한다.
request.c -> IRC Server로 부터 날아오는 PING에 대한 PONG 처리.
우선 구현할 부분 : main의 일부, parse의 PING 처리부분, request 부분
// 자동으로 #linux 채널까지 접속 됨.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/wait.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>
#include <unistd.h>
#include <arpa/inet.h>
#define MSG_MAX 1024
#define NICK "whoami_"
#define HOST "irc.hanirc.org"
- 이주영 . . . . 1 match
ZeroWikian
- 인수/Assignment . . . . 1 match
== incompleted assignment queue ==
|| AI || 9/7 || 9/7.자정전까지 || 나는 인공 지능 시스템인가? 에 대한 자신의 생각을 A4 반 장 정도(10line?) dwkim@cau.ac.kr로 제출 || || O ||
|| DB || 9/13 || 9/18, 수업 || Fig4-12 Insurance DB Schema. find PK and FK || || O ||
|| 정보표준화 || 9/25 || 10/4.10시 || ISO 문서 작성법 || || O ||
|| 모델링 || 9/26 || 10/15 || 3장 연습문제 || so fxxking hw... || O ||
* Oh.. Thank you. I'm checking my assignment, too. That's good~ -- [창섭]
- 정모/2002.12.30 . . . . 1 match
|| 책 || PowerReading ||
* ["Smalltalk"], MFC, DesignPattern, 영어공부등은 ZeroWiki에서 모집, 진행한다.
* 학술제, Team 별 Shooting Game 제작, Programming Party
- 정모/2002.5.16 . . . . 1 match
* HCI(Human Computer Interaction)발표 하겠습니다. 이번 심리학과 리포트 때문에 작성하던 것인데, 같이 하시는 분께서 관련 업계 종사자라서, 너무 많은 자료 때문에 제가 치일 정도 입니다. 일단 방대한 자료는 필요시 드릴수 있고, (관련 논문, Samsung 개발자료 etc, xp, aqua, palm guide line 등) 발표 골자는 기본적으로 심리학의 이해 시간에 발표 자료 기반으로 컴공과에 맞추어 발표 하겠습니다. 못했지요. 약간 아쉽네요. 차후 HCI자료가 필요하신분이 있거나, 이런 분야도 있구나 란걸 알고 싶으면 세미나 해드립니다. --상민
- 정모/2002.7.11 . . . . 1 match
''DeleteMe) Who is '''제'''?''
* ["ProjectPrometheus"] - 도서관 정보 관리 시스템
* Instance MP3 - 한번만 사용하는 MP3 만들기
- 정모/2003.2.12 . . . . 1 match
* 반갑습니다. 그런데 어쩌다가 여기에.. ;; --NeoCoin
연습은 WikiSandBox에서 해도 충분해요 ㅡ.ㅡ/ --["snowflower"]
- 정모/2004.1.20 . . . . 1 match
* TheJavaMan 모임 일요일 2시로 변경
- 정모/2004.2.3 . . . . 1 match
* TheJavaMan 은 프로젝트 참여자 전원이 참여하는 프로젝트인 비행기 게임 만들기를 새로 시작
- 정모/2006.1.12 . . . . 1 match
[DesignPatternStudy2005] [OurMajorLangIsCAndCPlusPlus] [경시대회준비반]
* Point
- 정모/2011.4.11 . . . . 1 match
== Ice Breaking ==
* [Spring/탐험스터디]
* Spring Framework에 대해 공부하고 있다.
* DesignPatterns에 대해 궁금하다면 ZeroWiki의 관련 페이지를 읽어보세요.
* Facts, Feelings, Findings, Future Action Plan. 즉, 사실, 느낀 점, 깨달은 점, 앞으로의 계획.
* 항상 그렇듯 정모할때 궁금한건 Ice Breaking 시간이군요. 녹화 재방이라도 제발 보고싶은 마음입니다. 정모시간에 소개해주신 LETSudent는 참석해봐야겠습니다. 유익한 정보군요. 새로온 21기 학우들 반갑습니다. 얼굴 기억했어요. Zeropage의 생활을 맘껏 즐겨보아요. 새얼굴들이 보였는데 이제 새로 새내기들을 한번 정모에 참여할때가 되었다는 생각이 잠깐 들었던 시간입니다. 권순의 학우의 OMS는 배경이 아야나미 레이라서 기쁨반 안타까움 반으로 배경을 지켜보았고 안티짓도 좀 올렸었습니다만, 그거 알잖아요 안티도 팬입니다. OMS에서 소개된 노래들에 대해 다시한번 들어보고 생각해보게 되었던 시간은 기쁩니다. 창작자의 의미가 가득차있는 것을 알게해주었으니까요. 그사람들도 기쁠겁니다. 회장님이 만들으셨던 스피드 퀴즈는 정말 신선했어요. '우리도 올해는 이런 레크레이션을 다하는구나'는 뿌듯한 생각이 들었습니다. 전 이런거 좋아하니까요. 저도 어느정도 공통된 경험이 쌓인사람들과 만난다면 해보는게 좋을것 같습니다. 다음주 소풍은 정말 꽃이 만발했으면 좋겠단 생각이드네요 한번 이건 알아봐야겠습니다. 비는 안오겠죠. 시험기간 전이라 걱정이될 사람도있겠지만 경험상, 시험기간 전에는, 시험기간 중에는, 시험기간 후에는 노는겁니다. Enjoy EveryThing이죠. 항상 늦지만 이렇게라도 정모에 참석해서 후기를 남길수있는게 가장 즐겁습니다. 다음주에는 즐거운 소풍준비를 해가야겠군요 - [김준석]
* Ice Breaking .. 재밌는데 너무 시간이 오래 걸리는거 같습니다. 이거 오래하니까 뒤에 준비된 순서를 시간에 쫓겨서 하네요. 진경이 맨날 기숙사 엘리베이터에서 어색하게 인사만 하고 지나갔는데.. 오늘 보니 반가웠습니다. OMS의 영화에 나온 음악 하니까 최근에 영화관에서 레드 라이딩 후드 보다가 MUSE의 노래가 나오길래 깜짝 놀란 기억이 납니다. 영화도 되게 재밌었어요. 그리고 네이트 주소를 적어두질 못했는데 다시 한번 올려주시면 저도 파일방 이용을 좀...ㅎ 다음주 소풍 정말 기대됩니다. 항상 정모 나올 때마다 느끼는거지만 뭔가 하고 간다 라는 느낌을 확실히 받는거 같네요. 정모 준비하느라 고생하시는 회장님 감사합니다~ - [정의정]
* 이번 정모에는 11학번 학우분들이 참여하여 반가웠습니다. Ice Breaking때는 화기애애한 분위기가 마음에 들었습니다. 다들 웃으면서 ㅎㅎ 재미있는 시간이었던 것 같습니다. 일일 퍼실리테이터... 어떤 느낌일지는 모르겠지만 한번 해 보는 것도 재밌지 않을까라는 생각도 했습니다. 이번 OMS를 진행하면서.. 음... 역시 배경이 문제였었던 같습니다 -ㅅ-;; 그리고 생각했던거 보다 머리속에 있는 말이 입 밖으로 잘 나오지를 않아가지고 제가 생각했던 것들을 모두 전달하지 못했던 것 같습니다. 사실 음악을 좋아하다 보니까 영화나 TV를 보다가 아는 음악이 나오면 혼자 반가워 하고 그랬는데,, 그 안에 있는 의미를 찾아보는 일은 많이 하지 않았었습니다. 다만, 이런걸 해 보겠다고 생각했던게 아이언맨 2 보다가 (보여드렸던 장면에서) 처음에는 Queen의 You're my Best Friend라는 노래로 생각하고 저 장면과 되게 모순이다라고 생각했었는데 그 노래가 아니라 다른 노래라 조금 당황했던 것도 있고, 노래 가사를 보면서 아 이런 의미가 있을 수도 있겠구나 라는 생각을 했습니다. 그래서 이것 저것 찾아보게 되었던 것이 계기가 되었던 것 같습니다. 그리고 이번 스피드 퀴즈는 그동한 제로페이지에서 했던 것들이 많았구나 라는 생각과 함께, 제가 설명하는데 윤종하 게임이 나올줄이야 이러면서 -ㅅ-;; ㅋㅋㅋ 마지막으로 다음주 소풍 기대되네요 ㅋ - [권순의]
1. Ice Breaking을 제가 많이 해 본 것은 아니라 원활한 진행이 잘 안 되네요. 당장은 할 일들이 쌓여있으니 바로 공부하겠다고 하면 거짓말이 될테고… 방학 중에 Ice Breaking에 대해 알아보고 2학기땐 더 즐거운 시간이 될 수 있도록 해야겠습니다.
* 저는 횟수로 따지자면 이번이 두번째로 참여하게 되는건데, 좀 제대로 참여한건 오늘이 처음이라 어떨지 많이 개대됐어요. Ice Breaking도 좀 더 재밌게 쓸 수 있었을 텐데 하는 아쉬움(?)도 남네요. 또, 중간에 스터디 소개같은거 하는데서는 이게 도대체 무슨 말이지.... 라는 것도 좀 있었구요. OMS는 매트릭스가 제일 기억에 남...는 다고 하면 거짓말이겠고.. (배경이..) 사실 OMS하는게 상당히 많이 전문적인(저번에 현이형이 준비하는거 봤거든요.)걸 하는 줄 알았는데 꼭 그런건 아닌거 같아 좀 쉽게 다가온거 같아 좋았어요. 근데 갑자기 궁금한게.. 위키에 두명이 동시에 수정하게 되면 어떻게 될까요? 앞에 저장한 사람의 내용이 씹히게 될까요;? - [김태진]
* 이번 정모에서는 11학번들이 많이 와서 굉장히 흥미로웠습니다 ㅋㅋ 저번 정모에 안나가서 그때도 11학번들이 많이 왔었는지는 모르겠지만, 이렇게 1학년들과 같이 정모에 참석하니 아 이제 1년이 지났구나 하는 생각이....Ice Breaking에서는 거짓말을 급조해야 하다보니 그 당시에 생각나는 아주 사소한 걸로 할 수 밖에 없었습니다. 그리고 OMSㅋㅋ 처음에 배경화면 뭔가가 친숙한 얼굴이다 했는데 생각해보니 에반게리온의 아야나미 레이..ㅋㅋㅋㅋㅋ 아 이러면 안되지 어쨋든 영화나 광고 속에서 작가(?)가 전하고 싶은 말을 노래 가사를 통해 알려준다는 사실이 놀라웠습니다. - [신기호]
* 악.. 후기를 썼다고 기억하고 있었는데 안썼네요ㅠㅠ.... 항상 새로운 프로그램을 준비하는 회장님께 박수를 보냅니다. 진실, 거짓은 전에도 해봤지만 자기를 소개하는 IceBreaking도 즐거웠습니다. 의외의 사실과 거짓은 항상 나오는 것 같습니다. 스피드 퀴즈도 즐거웠습니다. 재학생들이 그간의 활동을 회고하고 11학번 학우들이 새로운 키워드를 알게된 좋은 계기였다고 생각합니다. 순의의 OMS도 즐겁게 봤습니다. 자신이 이야기하고자 하는 내용을 좀 더 자신 있게 표현하지 못하고 약간 쑥스러워(?) 하는 면도 보였지만 동영상도 그렇고 많은 준비를 했다고 느꼈습니다. 다음 OMS에 대한 부담이 큽니다=_=;; - [Enoch]
- 정모/2011.5.9 . . . . 1 match
* 이번 정모는 뭔가 후딱 지나간? ㅋㅋ 아무튼.. 4층 피시실에서 한 OMS가 뒤에서 다른 걸 하는 사람들의 시선까지 끌어던 모습이 생각이 나네요. 그리고 한 게임이 다른 게임에 들어가서 노는걸 보니 재밌기도 하고, 재미있는 주제였습니다. 그리고 이번주 토요일에 World IT Show에는 어떤 것들이 있을지 궁금하네요. 저번에 International Audio Show에 갔을때에도 다양한 오디오와 헤드폰을 보고 청음할 수 있어서 좋았는데, 이번에도 다양한 것들을 많이 볼 수 있을 거 같아 기대됩니다. 음.. 근데 이번 정모때에는 이거 이외에 잘 기억이 안나네요; - [권순의]
- 정모/2013.5.20 . . . . 1 match
[http://www.worlditshow.co.kr/main/main.php 홈페이지]
Facts, Feelings, Findings, Future Action Plan. 즉, 사실, 느낀 점, 깨달은 점, 앞으로의 계획.
* TIP : Internet Explorer를 제외한 브라우저(FireFox라던가 Chrome이라던가)로 들어오면 각 항목 우측에 "편집"이라고 떠요. 좀 더 편하게 수정 할 수 있죠.
- 정모/2013.9.4 . . . . 1 match
* 클린 코드 : SRP(Single Responsibility Principle), DIP(Dependency Inversion Principle) 방식을 공부하였고 디자인패턴 중 템플릿 메소드에 대해서 공부하였습니다.그리고 스레드에 대해서 공부 하였습니다. trello와 github연동하는 방법이 있습니다.상당히 유용할 것같으므로 관심있으신분들은 조금만 찿아보시면 쉽게 하실수있습니다.
- 정서 . . . . 1 match
[홈페이지분류], [ZeroWikian]
- 조동영 . . . . 1 match
=== Windows API ===
#include <stdio.h>
main ()
int num,i,j,k;
printf("숫자를 입력하시오 :");
printf(" ");
printf("*");
printf("\n");
#include <stdio.h>
main ()
int num,i,j,k;
printf("패턴을 입력하시오 : ");
printf("변의 길이를 입력하시오 : ");
printf(" ");
printf("%c", pattern);
printf("\n");
printf(" ");
printf("%c", pattern);
printf("\n");
[홈페이지분류], ZeroPagers, ZeroWikian
- 조영준 . . . . 1 match
* Google App Engine
* Android Programming
* Java Swing
* Game Engine
* Algorithm problem solving
* Linux user
* D2 CAMPUS SEMINAR 2015 참가
* DevilsCamp 2015 - Game Programming in Java with LibGdx - [데블스캠프2015/첫째날]
* 2015년 하계방학 Java 강사 - [https://onedrive.live.com/redir?resid=3E1EBF9966F2EBA!23488&authkey=!AHG1S-XLSURIruo&ithint=folder%2cpptx 수업 자료]
* D2 CAMPUS SEMINAR 3회 참여
* 9월 14일 정모 [OMS] - Cloud Computing
* 설계패턴 TeamProejct https://github.com/SkywaveTM/wiki-path-finder
* Wiki Path Finder (wikipedia api를 이용한 두 단어간의 연관성 추정, 2014년 2학기 자료구조설계 팀 프로젝트)
* 2015년 설계패턴 팀 프로젝트의 기반 프로젝트가 됨. https://github.com/SkywaveTM/wiki-path-finder
* GDG pre devfest 2013 seoul - 징격의 안드로이드. 그리고 밤샘. - https://github.com/ZeroPage/MorningTypeHuman
* [PracticeNewProgrammingLanguage]
- 조응택 . . . . 1 match
업그레이드 C++ [http://www.zeropage.org/wiki/UpgradeC_2b_2b]
[홈페이지분류], ZeroPagers, ZeroWikian
- 조재화 . . . . 1 match
*WIndows Program(API,MFC)
- 조현태/프로젝트 . . . . 1 match
- [제로Wiki]
- 졸업논문 . . . . 1 match
== Is it ? ==
http://aesl.hanyang.ac.kr/class/thesis/thesis_method.pdf
* http://xper.org/wiki/seminar/_b3_ed_b9_ae_c0_d0_b1_e2
* http://lambda-the-ultimate.org/node/794
* http://tint.egloos.com/1310733
= Link =
http://dblab.cse.cau.ac.kr/thesis/
http://riss4u.net/
- 지금그때2006/홍보 . . . . 1 match
Upload:NowThen2006ContactList.xls
- 책분류Template . . . . 1 match
|| [[ISBN(0000000000,K)]] ||
사용법은 NoSmok:ISBNMacro 를 참고하세요.
DeleteMe when you fill in this page (이 페이지를 채워 넣을 때 삭제해 주세요)
[노스모크]에서는 ISBN 링크가 되는 책소개의 경우 링크를 상단에, 서평을 하단에 적는것을 원칙으로 한다.
see also IsbnMacro
* Publisher :
* My Point
- 최대공약수/허아영 . . . . 1 match
int temp;
잘못된 변수로 print한 것을 발견..
#include <stdio.h>
void main()
int x2, y2, x, y,remainder;
printf("두 숫자 입력 (ex| 5 6):");
int temp;
remainder = x2 % y2; // x2= 나눠질 값. y2= 나누는 값. remainder= 나머지.
y2 = remainder;
printf("x = %d, y = %d\n GCD is %d", x, y, x2);
#include <stdio.h>
void Eu_clidian(int x, int y);
void main()
int x, y;
printf("두 숫자 입력 (ex| 5 6):");
void Eu_clidian(int x, int y)
int x2, y2, remainder;
remainder = x2 % y2;
y2 = remainder;
printf("The GCD of %d and %d is %d\n", x, y, x2);
- 코코아 . . . . 1 match
* 연습은 WikiSandBox에서 해 보시오 --[snowflower]
- 토이/숫자뒤집기/김남훈 . . . . 1 match
#include <stdio.h>
#include <string.h>
const int MAX_BUF = 10;
void inverseNumber(const char * input);
int main(void) {
char input[MAX_BUF];
scanf("%s", input);
inverseNumber(input);
void inverseNumber(const char * input) {
int i;
int len = strlen(input);
printf("%c", input[i]);
printf("\n");
public class InverseNumber {
public void inverse(String input) {
char [] c = input.toCharArray();
for (int i = c.length - 1; i >= 0; i--)
System.out.print(c[i]);
System.out.println();
public void inverse(int input) {
- 파일 입출력_3 . . . . 1 match
#include <iostream>
using namespace std;
int main()
int a,b,c;
printf("a = ");
printf("b = ");
printf("c = ");
printf("Input filename : ");
fprintf( fpt_1, "a = %d \nb = %d \nc = %d", a,b,c); //printf와 사용법 비슷
- 프로그래밍은습관이다 . . . . 1 match
프로그래밍은 습관이다. 그래서 학습과 반(反)학습 모두 쉽지 않다. 특히 NoSmok:UnlearnTheLearned 가 어렵다. 세살 버릇 여든 가기에, 나쁜 프로그래밍 습관은 프로그래밍 언어가 바뀌어도 유지된다.
- 허아영 . . . . 1 match
위키Page -->> [http://165.194.87.227/zero/index.php?title=%C7%E3%BE%C6%BF%B5&url=ixforyouxl click]
FORTUNE 50 Most Powerful Women in Business 에 실리는 것!!!
[http://money.cnn.com/magazines/fortune/mostpowerfulwomen/2006/ 링크]
[TheTrip/허아영]
- 혀뉘 . . . . 1 match
* http://cyworld.com/rubywind
* 칵테일 - Long Island Iced Tea
* PENTAX istD, MZ-3, MX
* 추억만듦... since 1991.3.27
- 홈페이지Template . . . . 1 match
[홈페이지분류], ZeroPagers, ZeroWikian ( DeleteMe 복수개로 선택해 주세요. )
- 황세연 . . . . 1 match
ZeroWikian
Found 685 matching pages out of 7555 total pages (2010 pages are searched)
You can also click here to search title.