E D R , A S I H C RSS

Full text search for "El"

El


Search BackLinks only
Display context of search results
Case-sensitive searching
  • Gof/Visitor . . . . 24 matches
         object structure 의 element들에 수행될 operation 을 표현한다. [Visitor]는 해당 operation이 수행되는 element의 [class]에 대한 변화 없이 새로운 operation을 정의할 수 있도록 해준다.
         우리는 각각의 클래스들로부터 관련된 operation들을 패키징화 하고, traverse 될 (tree 의 각 node들을 이동) abstract syntax tree의 element들에게 인자로 넘겨줄 수 있다. 이를 visitor라고 한다. element가 visitor를 'accepts' 할때 element는 element의 클래스를 인코딩할 visitor에게 request를 보낸다. 이 request 또한 해당 element를 인자로 포함하고 있다. 그러면 visitor는 해당 element에 대한 operation을 수행할 것이다.
         VisitorPattern으로, 개발자는 두개의 클래스 계층을 정의한다. 하나는 operation이 수행될 element에 대한 계층이고 (Node hierarchy), 하나는 element에 대한 operation들을 정의하는 visitor들이다. (NodeVisitor hierarchy). 개발자는 visitor hierarchy 에 새로운 subclass를 추가함으로서 새 operation을 만들 수 있다.
          - declares a Visit operations for each class of ConcreteElement in the object structure. The operation's name and signature identifies the class that sends the Visit request to the visitor. That lets the visitor determine the concrete class of the element being visited. Then the visitor can access the element directly through its particular interface.
          * Element (Node)
          * ConcreteElement (AssignmentNode, VariableRefNode)
          - can enumerate its elements. [[BR]]
          - may provide a high-level interface to allow the visitor to visit its elements. [[BR]]
          virtual void VisitElementA (ElementA*);
          virtual void VisitElementB (ElementB*);
          // and so on for other concrete elements
         class Element {
          virtual ~Element ();
          Element ();
         class ElementA : public Element {
          ElementA ();
          virtual void Accept (Visitor& v) { v.VisitElementA (this); }
         class ElementB : public Element {
          ElementB ();
          virtual void Accept (Visitor& v) { v.VisitElementB (this); }
  • 데블스캠프2011/다섯째날/HowToWriteCodeWell/김준석,서영주 . . . . 18 matches
         public class Elevator {
          public Elevator(int max_height, int min_height, int basic_height) {
          public String callElevator(int i) {
          }else{
         public class ElevatorTest {
          Elevator el = new Elevator(20, -5, 1);//최고 높이, 최저 높이, 초기높이를 받는 생성자
          assertNotNull(el);
          Elevator el = new Elevator(20, -5, 1);
          el.goTo(20);
          assertEquals(20,el.getFloor()) ;
          int temp = el.getFloor();
          el.goTo(50);
          assertEquals(temp, el.getFloor());
          Elevator el = new Elevator(20, -5, 1);
          assertEquals(1, el.getFloor());
          Elevator el = new Elevator(20, -5, 1);
          el.goTo(10);
          assertEquals(el.callElevator(3),"내려갑니다");
          assertEquals(el.getFloor(), 3);
          assertEquals(el.callElevator(5),"올라갑니다");
  • IsBiggerSmarter?/문보창 . . . . 17 matches
         const int MAX_ELEPHANT = 1100;
         struct Elephant
          bool operator () (const Elephant & a, const Elephant & b)
          else if (a.weight == b.weight)
         int input_elephant_info(Elephant * e);
         void count_elephant(Elephant * elephant, int num_elephant);
          Elephant elephant[MAX_ELEPHANT];
          int num_elephant = input_elephant_info(elephant);
          sort(&elephant[0], &elephant[num_elephant], Elephant());
          count_elephant(elephant, num_elephant);
         int input_elephant_info(Elephant * e)
         void count_elephant(Elephant * e, int num)
          result.reserve(MAX_ELEPHANT);
          v_temp.reserve(MAX_ELEPHANT);
          Elephant temp;
         const int MAX_ELEPHANT = 1010;
         struct Elephant
          bool operator () (const Elephant & a, const Elephant & b)
          else if (a.weight == b.weight && a.IQ <= b.IQ)
          else
  • 미로찾기/영동 . . . . 16 matches
         struct Element
          Element(int aX, int aY, int aDir)
          Element(){}//Default constructor
         void push(int * argTop, Element * argStack, Element item);
         Element pop(int * argTop, Element * argStack);
          else
          Element stack[STACK_SIZE];
          push(&top, stack, Element(1, 1, 1));
          Element temp=pop(&top, stack);
          push(&top, stack, Element(x, y, dir));
          else if(stack[i].dir==UP)
          else if(stack[i].dir==LEFT)
          else
          push(&top, stack, Element(x, y, dir));
          else
         void push(int *argTop, Element * argStack, Element item)
         {//Insert the element into the stack
         Element pop(int * argTop, Element * argStack)
         {//Take the element from the stack
          else
  • ClassifyByAnagram/sun . . . . 15 matches
          * genKey() 메소드의 성능 개선. qsort2([http://www.cs.bell-labs.com/cm/cs/pearls/sortanim.html ProgrammingPerals 참고]) 이용.
          long elapsed = 0;
          elapsed = System.currentTimeMillis();
          anagram.add( "aasvogel" );
          anagram.add( "aasvogels" );
          elapsed = System.currentTimeMillis() - elapsed;
          if( elapsed != 0 )
          g.drawString( "Estimated power: " + String.valueOf(elapsed), 10, 90 );
          else
          else
          Object keyElement;
          for( Enumeration e=table.keys(); e.hasMoreElements(); ) {
          keyElement = e.nextElement();
          keyBuf.append( keyElement );
          keyBuf.append( table.get( keyElement ));
          for( Enumeration e=result.elements(); e.hasMoreElements(); ) {
          list = (ArrayList)e.nextElement();
          else
          for( Enumeration e=result.elements(); e.hasMoreElements(); ) {
          list = (ArrayList)e.nextElement();
  • 데블스캠프2011/다섯째날/HowToWriteCodeWell/임상현,서민관 . . . . 15 matches
          private Elev el1;
          private Elev el2;
          el1 = new Elev(10,-2);
          el2 = new Elev(-10,20);
          Elev el3 = new Elev(10,-2);
          assertEquals("UP", el3.direction);
          assertEquals(1, el3.currentFloor);
          assertEquals(0, el3.Turn);
          assertEquals(10, el3.maxFloor);
          assertEquals(-2, el3.minFloor);
          Elev el3 = new Elev(-2,10);
          assertEquals("UP", el3.direction);
          assertEquals(1, el3.currentFloor);
          assertEquals(0, el3.Turn);
          assertEquals(10, el3.maxFloor);
          assertEquals(-2, el3.minFloor);
          Elev el3 = new Elev(-2,-20);
          assertEquals("DOWN", el3.direction);
          assertEquals(-2, el3.currentFloor);
          assertEquals(0, el3.Turn);
  • CivaProject . . . . 13 matches
         template<typename ElementType> class Array;
         //#define Array_Handle(ElementType) boost::shared_ptr< civa::lang::Array<ElementType> >
         //template<typename ElementType> typedef shared_ptr< Array<ElementType> > Array_Handle;
         template<typename ElementType>
          ElementType* values;
          values = new ElementType[length];
          Array(ElementType newValues[]) {
          length = sizeof(newValues) / sizeof(ElementType);
          values = new ElementType[length];
          ElementType operator[] (int index) throw() {
          const ElementType operator[] (int index) const throw() {
          delete[] values;
  • 데블스캠프2011/다섯째날/HowToWriteCodeWell/강소현,구자경 . . . . 12 matches
         === Elevator.java ===
         public class Elevator {
          public Elevator(int i, int j) {
          else
          public void testElevator() {
          final Elevator el = new Elevator(20, -10);//최상층, 최하층
          assertEquals(1, el.floor());//기본 층 == 1층
          el.pressButten(5, 15);//현재 위치, 이동하고픈 위치
          assertEquals(5, el.floor());//현재 위치 == 엘레베이터 층
          el.goTo(el.getHopeFloor());
          assertEquals(15, el.floor());
          el.pressButten(20, 1);
          assertEquals(20, el.floor());//현재 위치 == 엘레베이터 층
          el.goTo(el.getHopeFloor());//이동하고픈 위치 이동
          assertEquals(1, el.floor());
         === Elevator.java ===
         public class Elevator {
          public Elevator(int i, int j, int k) {
          }else{
          timer.cancel();
  • D3D . . . . 11 matches
         GameLibrary( http://www.zeropage.org/~erunc0/study/d3d/GameLib.zip )를 만들어 가면서 책의 내용을 본다는.. 뭐뭐뭐.. [[BR]]
         "Hello, World!"를 찍는 source를 넣어 준다. --; [[BR]]
          int nElem; // number of elements in the polygon
          int maxElem;
          nElem = 0;
          maxElem = 0;
          maxElem = maxSize;
          pList = new type[in.maxElem];
          maxElem = in.maxElem;
          nElem = in.nElem;
          for( int i=0; i<in.nElem; i++ )
          delete[] pList;
         === Chapter 4. 인공 지능 (Artificail Intelligence) ===
  • 데블스캠프2011/다섯째날/HowToWriteCodeWell/권순의,김호동 . . . . 11 matches
         == Elevator.java ==
         public class Elevator {
          private boolean inElevator;
          public Elevator(int i, int j) {
          inElevator = false;
          if(i <= max && i >= min && inElevator ){
          } else if (i < min){
          } else if (i > max){
          inElevator = true;
          inElevator = false;
          public void testElevator() {
          Elevator elevator = new Elevator(65, -10); // default 현재층 : 1
          assertNotNull(elevator);
          assertEquals(1, elevator.floor());
          elevator.goTo(30);
          assertEquals(1, elevator.floor());
          elevator.in();
          elevator.goTo(20);
          assertEquals(1, elevator.floor());
          elevator.press();
  • EightQueenProblem/이선우3 . . . . 10 matches
          for( Enumeration e=board.elements(); e.hasMoreElements(); ) {
          prevOne = (Chessman)e.nextElement();
          board.addElement( chessman );
          for( Enumeration e=board.elements(); e.hasMoreElements(); ) {
          prevOne = (Chessman)e.nextElement();
          for( Enumeration e=board.elements(); e.hasMoreElements(); ) {
          prevOne = (Chessman)e.nextElement();
          return board.removeElement( chessman );
          public void clearBoardBelowYPosition( int y )
          for( Enumeration e=board.elements(); e.hasMoreElements(); ) {
          prevOne = (Chessman)e.nextElement();
          else System.out.print( "." );
          board.clearBoardBelowYPosition( y );
  • 오목/재니형준원 . . . . 10 matches
         // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
          pDC->SelectObject(&black);
          pDC->Ellipse(3*30+20-5,3*30+20-5,3*30+20+5,3*30+20+5);
          pDC->Ellipse(9*30+20-5,3*30+20-5,9*30+20+5,3*30+20+5);
          pDC->Ellipse(15*30+20-5,3*30+20-5,15*30+20+5,3*30+20+5);
          pDC->Ellipse(3*30+20-5,9*30+20-5,3*30+20+5,9*30+20+5);
          pDC->Ellipse(9*30+20-5,9*30+20-5,9*30+20+5,9*30+20+5);
          pDC->Ellipse(15*30+20-5,9*30+20-5,15*30+20+5,9*30+20+5);
          pDC->Ellipse(3*30+20-5,15*30+20-5,3*30+20+5,15*30+20+5);
          pDC->Ellipse(9*30+20-5,15*30+20-5,9*30+20+5,15*30+20+5);
          pDC->Ellipse(15*30+20-5,15*30+20-5,15*30+20+5,15*30+20+5);
          pDC->SelectObject(&black);
          else
          pDC->SelectObject(&white);
          pDC->Ellipse(row*30+10, col*30+10, row*30+30, col*30+30);
          else
  • 데블스캠프2011/다섯째날/HowToWriteCodeWell/정의정,김태진 . . . . 9 matches
         public class Elevator {
          public Elevator(int i, int j) {
          else if(status == 1){
          public void callElevatorUp(int i) {
          public void callElevatorDown(int i) {
          public void testElevator() {
          Elevator elevator = new Elevator(-10, 100); //-10층에서 100층까지. 버즈두바이
          elevator.goTo(50);
          assertEquals(50, elevator.floor());
          assertEquals(elevator.RUNNING, elevator.status());
          elevator.emergencyButton(); // 작동정지. shut down
          assertEquals(elevator.SHUT_DOWN, elevator.status());
          elevator.goTo(30);
          assertEquals(50, elevator.floor());
          elevator.turnOn();
          assertEquals(elevator.RUNNING, elevator.status());
          elevator.overMaxFloor(); // print 하늘나라로.
          assertEquals(100,elevator.floor()); // 스트링도 출력.
          elevator.underMinFloor(); // print 지옥으로.
          assertEquals(-10,elevator.floor());
  • Chapter I - Sample Code . . . . 8 matches
         #else
          만약 다음과 같이 OS_GLOBALS라는 매크로를 미리 적용시키면 형 정의가 되지 않은 상태이므로 (위의 #ifdef~#else 에서 #else 절에 걸리게 된다) 다음과 같은 코드가 된다.
          ==== Elapsed Time Management ====
          수행시간 측정은 한 task 의 수행시간을 측정하기 위해서 한다. (당연한거 아냐?). 이 측정은 PC의 82C52 타이머 2번을 통해 수행된다. 수행시간 측정을 위한 함수로는 PC_ElapsedStart()와 PC_ElapsedStop()이 있다. 하지만 이 두 함수를 사용하기 전에 PC_ElapsedInit()를 호출해야한다. 이 함수는 두 함수와 관련된 오버헤드를 측정하는데 사용된다. 이렇게 하면 PC_ElapsedStop 함수에 의해 수행시간이 리턴된다(마이크로세컨드). 이 두 함수는 모두 리엔터런트(주 : 몇 개의 프로그램이 동시에 하나의 task나 subroutine을 공유하여 쓰는 것에 대해 말함, from 한컴사전) 하지 않아야한다. 다음은 PC_DispChar()함수의 측정시간을 구하는 예이다.
         PC_ElapsedInit();
         PC_ElapsedStart();
         time = PC_ElapsedStop();
          ==== Miscellaneous ====
  • 데블스캠프2011/다섯째날/HowToWriteCodeWell/박정근,김수경 . . . . 8 matches
          public void testElevator(){
          Elevator e = new Elevator(63, -3);
          //Elevator가 생성되었는지 test한다.
          //Elevator가 생성될때에는 항상 1층으로 setting된다.
         == Elevator.java ==
         public class Elevator {
          public Elevator(int i, int j) {
          } else if (floor_dir == 2) {
  • MobileJavaStudy/SnakeBite/FinalSource . . . . 7 matches
         class SnakeCell {
          public SnakeCell(int x, int y) {
          private Vector cellVector;
          cellVector = new Vector();
          cellVector.addElement(new SnakeCell(i, 1));
          return cellVector.size();
          public SnakeCell getSnakeCell(int index) {
          return (SnakeCell)cellVector.elementAt((headIndex + index) % length());
          SnakeCell head;
          SnakeCell cell;
          head = getSnakeCell(0);
          cell = getSnakeCell(i);
          if(head.x == cell.x && head.y == cell.y)
          SnakeCell prevHead = getSnakeCell(0);
          SnakeCell currentHead;
          currentHead = new SnakeCell(prevHead.x, prevHead.y);
          cellVector.insertElementAt(currentHead, headIndex);
          else {
          currentHead = getSnakeCell(0);
          else if(direction == Snake.RIGHT)
  • STLErrorDecryptor . . . . 7 matches
         error C2664: 'std::basic_string<_Elem,_Traits,_Ax>::basic_string(const std::basic_string<_Elem,_Traits,_Ax>::_Alloc &) with [_Elem=char,_Traits=std::char_traits<char>,_Ax=std::allocator<char>]' : 매개 변수 1을(를) 'int'에서 'const std::basic_string<_Elem,_Traits,_Ax>::_Alloc & with [_Elem=char,_Traits=std::char_traits<char>,_Ax=std::allocator<char>]'(으)로 변환할 수 없습니다.; 원인: 'int'에서 'const std::basic_string<_Elem,_Traits,_Ax>::_Alloc with [_Elem=char,_Traits=std::char_traits<char>,_Ax=std::allocator<char>]'(으)로 변환할 수 없습니다.; 소스 형식을 가져올 수 있는 생성자가 없거나 생성자 오버로드 확인이 모호합니다.
         작성/저작자: 곽용재 (kwak101@hitel.net)
  • 레밍즈프로젝트/박진하 . . . . 7 matches
         ... EllipseMap....?
          // Accessing elements
          void SetAt(int nIndex, ARG_TYPE newElement);
          TYPE& ElementAt(int nIndex);
          // Direct Access to the element data (may return NULL)
          void SetAtGrow(int nIndex, ARG_TYPE newElement);
          int Add(ARG_TYPE newElement);
          // overloaded operator helpers
          // Operations that move elements around
          void InsertAt(int nIndex, ARG_TYPE newElement, int nCount = 1);
          int m_nSize; // # of elements (upperBound - 1)
          else
          SerializeElements<TYPE>(ar, m_pData, m_nSize);
  • IpscLoadBalancing . . . . 6 matches
          lines=parseLines(aString)
          yield getRounds(eachLine)
         def parseLines(aString):
          numOfElements=int(lexer.get_token())
          for i in range(numOfElements):
          yield thisLine
          numOfElements=lexer.get_token()
          if numOfElements=='-':
          else:
          numOfElements=int(numOfElements)
          def setUp(self):
          self.l=[[[6,0,9],4],
          def testGetRounds(self):
          for data,answer in self.l:
          self.assertEquals(answer,actual)
          def testParseLine(self):
          self.assertEquals(expected,list(parseLines(data)))
  • Java/ModeSelectionPerformanceTest . . . . 6 matches
         === 1. if-else ===
         public class IfElse {
          executeIfElse(modeExecute);
          System.out.println("if - else elapsed time :" + (end - start) + "ms ");
          private void executeIfElse(String[] modeExecute) {
          executeWithIfElse(modeExecute[i]);
          public void executeWithIfElse(String mode) {
          } else if (mode.equals("Two")) {
          } else if (mode.equals("Three")) {
          } else if (mode.equals("Four")) {
          } else if (mode.equals("Five")) {
          } else {
         Seminar:WhySwitchStatementsAreBadSmell 에 걸리지 않을까? 근데.. 그에 대한 반론으로 들어오는것이 '이건 mode 분기이므로 앞에서의 Switch-Statement 에서의 예와는 다른 상황 아니냐. 어차피 분기 이후엔 그냥 해당 부분이 실행되고 끝이다.' 라고 말할것이다. 글쌔. 모르겠다.
         한편으로 느껴지는 것으로는, switch 로 분기를 나눌 mode string 과 웹 parameter 와의 중복이 있을 것이라는 점이 보인다. 그리고 하나의 mode 가 늘어날때마다 해당 method 가 늘어나고, mode string 이 늘어나고, if-else 구문이 주욱 길어진다는 점이 있다. 지금은 메소드로 추출을 해놓은 상황이지만, 만일 저 부분이 메소드로 추출이 안되어있다면? 그건 단 한마디 밖에 할말이 없다. (단, 저 논문을 아는 사람에 한해서) GotoStatementConsideredHarmful.
          System.out.println("elapsed time :" + (end - start) + "ms ");
         public class MethodTableLookupReflection {
          System.out.println("reflection with method initialize table elapsed time :" + (end - start) + "ms ");
          System.out.println("reflection with method elapsed time :" + (end - start) + "ms ");
          else
         public class InterfaceTableLookup {
  • OurMajorLangIsCAndCPlusPlus/stdlib.h . . . . 6 matches
          else
          "Paul", "Beavis", "Astro", "George", "Elroy"};
          /* Search for the item "Elroy" and print it */
          printf("%s\n",bsearch("Elroy", string_array, 10, 50, strcmp));
         John, Jane, Mary, Rogery, Dave, Paul, Beavis, Astro, George, Elroy,
         Astro, Beavis, Dave, Elroy, George, Jane, John, Mary, Paul, Rogery,
         Elroy
  • 몸짱프로젝트/InfixToPostfix . . . . 6 matches
         }Element;
         Element stack[MAX];
         Element push(int * top, Element aItem)
         Element pop(int * top)
          Element income;
          else{
  • 몸짱프로젝트/Maze . . . . 6 matches
         }Element;
         Element path[MAX];
         Element push(int * top, Element aItem)
         Element pop(int * top)
          Element item;
  • 정모/2011.3.21 . . . . 6 matches
         == Emacs & Elisp ==
          * [이승한] 선배님의 Emacs & Elisp 세미나
          * Facts, Feelings, Findings, Future Action Plan. 즉, 사실, 느낀 점, 깨달은 점, 앞으로의 계획.
          * Emacs & Elisp 후기 :의 소개를 보면서 다양한걸 사용하는 승한형에게 잘맞는 프로그램이라 생각됬다. 그 프로그램을 사용하기에 다양한걸 좋아하기도 하고 내가 가장많이쓰는건 Eclipse와 그걸 지원하는 플러그인이지만 여러가지를 개발하는 개발자에게 저것은 좋은프로그램이라 생각된다. 하지만 나에게는 아직도 Eclipse를 다루는것조차 아직은 버겁기에 우선 Eclipse를 하자는생각이 들었다.
          * 이번에 승한이 형의 Emacs. Elisp 세미나를 들었다. 세미나를 들어보니 Emacs는 매우 자신에 맞게 전환 할 수 있는 도구 인 것 같다. 와우 에드온 같이 자기에게 딱 맞게 설정하는 재미가 있을꺼 같다. 기회가 되면 한번 다뤄봐야겠다. 그리고 다음 OMS로 주제를 키넥트에 관해서 하고싶은데 아직 사지도 않아서!!! 뭘해야될지 고민이다... 그냥 요즘 새로나온 게임 인터페이스들에 대해 통짜로 해버릴까...고민중임 - [임상현]
          * 현이의 이번 아이스 브레이킹은 새로운 시도였던 것 같았는데, 아쉽게도 처음이라 그런지 시행착오를 겪은 것 같았습니다. 다음 아이스 브레이킹때 이번에 아쉬웠던 점이 보안되면 더 재미있는 시간이 되지 않을까 생각합니다. 승한이 형의 Emacs & Elips 세미나를 듣고 나서는 한편으로는 저런 것을 써 보는 것도 괜찮을 것 같다라는 생각도 들었지만.. 아직은 지금 쓰고 있는거 부터 잘 다룰 줄 알고나서 접근하는 게 좋지 않을까라는 생각도 들었습니다. -_-;; 워낙 초보인 나 자신이 부끄럽기도 한 시간이었습니다. 쩝. 그 이후엔 일이 있어서 먼저 갔는데... 저.. 참가자에 제 이름이 없네요 -ㅅ-ㅋ (먼저 가서 그런가 ㅋ) - [권순의]
          * Ice braking은 많이 민망합니다. 제가 제 실력을 압니다 ㅠㅠ 순발력+작문 실력이 요구되는데, 제가 생각한 것이 지혜 선배님과 지원 선배님의 입에서 가볍게 지나가듯이 나왔을 때 좌절했습니다ㅋㅋ 참 뻔한 생각을 개연성 있게 지었다고 좋아하다니 ㅠㅠ 그냥 얼버무리고 넘어갔는데, 좋은 취지이고 다들 읽는데도 혼자만 피하려한게 한심하기도 했습니다. 그럼에도, 이상하게 다음주에 늦게 오고 싶은 마음이 들기도...아...;ㅁ; 승한 선배님의 Emacs & Elisp 세미나는 Eclipse와 Visual Studio가 없으면 뭐 하나 건들지도 못하는 저한테 색다른 도구로 다가왔습니다. 졸업 전에 다양한 경험을 해보라는 말이 특히 와닿았습니다. 준석 선배님의 OMS는 간단한 와우 소개와 동영상으로 이루어져 있었는데, 두번째 동영상에서 공대장이 '바닥'이라 말하는 등 지시를 내리는게 충격이 컸습니다. 게임은 그냥 텍스트로 이루어진 대화만 나누는 줄 알았는데, 마이크도 사용하나봐요.. 그리고 용개가 등장한 게임이 와우였단 것도 새삼 알게 되었고, 마지막 동영상은 정말 노가다의 산물이겠구나하고 감탄했습니다. - [강소현]
          1. 승한오빠 특별 세미나(emacs & elisp) : 교육기간이니 '''칼퇴할때 세미나 한번 해주세요!!''' 라고 요청드렸는데 선배님 펌프질에 보람을 느꼈던 순간이었습니다. 칼보단 감자깎기가 흙당근이나 감자를 깎을때 진리이듯이 좋은 프로그램과 좋은 툴을 적절히 사용하는게 얼마나 중요한지를 다시 생각해볼 수 있었습니다. 이 세미나 이후 아직도 textPad 강제로(?) 사용하고 있는 2학년 학우들이 불쌍해졌습니다......
          * 키워드 전기수 재밌었습니다. 괜히 저는 혼자 말도 안돼는 드립치다가 웃음보 터져가지고 민망하게 진행도 못하긴 했었지만요 ㅋㅋㅋ elisp과 emacs 세미나는 파스텔톤 분위기에 취해서 흥미롭게 들었습니다. emacs는 '''단축키가 리눅스랑 같다'''는 이야기때문에 끌렸습니다... ㅋㅋ 그래서 설치하고 튜토리얼도 따라해봤습니다. 재밌더군요 {OK} OMS는 들으면서 놀랐습니다. 실제 마케팅부서에서 마케팅 나온 듯한 인상을 받았습니다. OMS를 보고 와우 스토리에 흥미도 생겼구요. 속으로 이런 생각도 했습니다. '와우는 무저갱이니까 와우 소설이나 읽어서 대리 만족이나 하자.' ㅋㅋㅋ 근데 소설 읽으면 결국 하게 될거 같아서 Stop Thinking! 결국 결론은 '''와우에는 접근도 하지 말자.''' 피자도 맛있게 '냠냠 쩝쩝 우물우물 쓰읍쓰읍 꿀꺽 쯥'하면서 잘 먹었습니다. 아쉬운 점이 있다면, 새싹 교실 트레이드를 못한 것 입니다. 제 반에 같이 햇빛을 못 쬐는 새싹이 있는데 결국 다른 새싹으로 바꾸지 못해서 제 새싹이 양분을 먹지 못했습니다...담번에는 꼭 흙 째로 옮겨주고 싶네요. - [박성현]
          * 키워드 전기수.. 키워드 던질때는 신났었는데 전기수를 하려니 음ㅋㅋ 어디서부터 문제였는지 모르겠네요ㅋㅋ emacs&elisp세미나는 조금 어려운감이 없지않아 있었지만 그래서 놓치지 않으려고 더 집중해 들었습니다. 무엇보다 졸업하신 선배님이 정모에 나오셨다는게 좋았어요!! 이렇게 선후배간의 링크가 계속 이어졌으면 좋겠습니다. 피자도 먹고 좋았어요. 와우세미나도 저는 와우를 그닥 좋아하지는 않지만 다들 무척 좋아하더군요ㅋㅋ OMS의 퀄리티가 갑자기 확 높아져서 부담스럽네요ㅜ
  • HanoiProblem/임인택 . . . . 5 matches
          else {
          Object lastObj = discsAtPillar.lastElement();
          else
          discsAtPillar.removeElementAt(discsAtPillar.size()-1);
          Integer topDisc = (Integer)(discsAtPillar.lastElement());
          Enumeration enum = discsAtPillar.elements();
          while(enum.hasMoreElements()) {
          Integer i = (Integer)(enum.nextElement());
          else {
  • MFC/CollectionClass . . . . 5 matches
          ''{{{~cpp ConstructElements(), DestructElements()}}} 보조함수들은 객체를 삽입, 삭제하는 과정에서 쓰이는 보조 함수들이다.''
          ''{{{~cpp ConstructElements(), DestructElements(), CompareElements()}}} 보조함수들은 객체를 삽입, 삭제, 검색하는 과정에서 쓰이는 보조 함수들이다.''
  • MoreEffectiveC++/Appendix . . . . 5 matches
         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
         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
         A book pitched at roughly the same level as my Effective C++ books, but covering different topics, is ¤ MEC++ Rec Reading, P16
         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.
         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
         Once you've mastered the basics of C++ and are ready to start pushing the envelope, you must familiarize yourself with ¤ MEC++ Rec Reading, P25
          * '''''Designing and Coding Reusable C++''''', Martin D. Carroll and Margaret A. Ellis, Addison-Wesley, 1995, ISBN 0-201-51284-X. ¤ MEC++ Rec Reading, P29
         Carroll and Ellis discuss many practical aspects of library design and implementation that are simply ignored by everybody else. Good libraries are small, fast, extensible, easily upgraded, graceful during template instantiation, powerful, and robust. It is not possible to optimize for each of these attributes, so one must make trade-offs that improve some aspects of a library at the expense of others. Designing and Coding Reusable C++ examines these trade-offs and offers down-to-earth advice on how to go about making them. ¤ MEC++ Rec Reading, P30
         Regardless of whether you write software for scientific and engineering applications, you owe yourself a look at ¤ MEC++ Rec Reading, P31
         The first part of the book explains C++ for FORTRAN programmers (now there's an unenviable task), but the latter parts cover techniques that are relevant in virtually any domain. The extensive material on templates is close to revolutionary; it's probably the most advanced that's currently available, and I suspect that when you've seen the miracles these authors perform with templates, you'll never again think of them as little more than souped-up macros. ¤ MEC++ Rec Reading, P33
         Finally, the emerging discipline of patterns in object-oriented software development (see page 123) is described in ¤ MEC++ Rec Reading, P34
          * '''''Design Patterns''''': Elements of Reusable Object-Oriented Software, Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides, Addison-Wesley, 1995, ISBN 0-201-63361-2. ¤ MEC++ Rec Reading, P35
         This book provides an overview of the ideas behind patterns, but its primary contribution is a catalogue of 23 fundamental patterns that are useful in many application areas. A stroll through these pages will almost surely reveal a pattern you've had to invent yourself at one time or another, and when you find one, you're almost certain to discover that the design in the book is superior to the ad-hoc approach you came up with. The names of the patterns here have already become part of an emerging vocabulary for object-oriented design; failure to know these names may soon be hazardous to your ability to communicate with your colleagues. A particular strength of the book is its emphasis on designing and implementing software so that future evolution is gracefully accommodated (see Items 32 and 33). ¤ MEC++ Rec Reading, P36
          * '''''Design Patterns CD''''': Elements of Reusable Object-Oriented Software, Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides, Addison-Wesley, 1998, ISBN 0-201-63498-8. ¤ MEC++ Rec Reading, P38
         As the name suggests, this covers both C and C++. The articles on C++ tend to assume a weaker background than those in the C++ Report. In addition, the editorial staff keeps a tighter rein on its authors than does the Report, so the material in the magazine tends to be relatively mainstream. This helps filter out ideas on the lunatic fringe, but it also limits your exposure to techniques that are truly cutting-edge. ¤ MEC++ Rec Reading, P45
  • WebGL . . . . 5 matches
          * WebGL은 기존 OpenGL과 다르게 직접 그리기가 지원되지 않는다. 기존의 glBegin()와 glEnd()사이에서 값을 계속적으로 전달하수 없고 오직 glDrawElement()를 통한 배열을 한꺼번에 전달하는 것'만' 지원한다. 초보자들의 첫난관이다.
          async.parallel([
          var url = document.getElementById("vertexShader").getAttribute("src");
          var url = document.getElementById("fragmentShader").getAttribute("src");
          gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, buffer.index);
          gl.drawElements(gl.TRIANGLES, buffer.index.length, gl.UNSIGNED_SHORT, 0);
          var canvas = document.getElementsByTagName("canvas");
          canvas = [].filter.call(canvas, function(element){
          if(element.getAttribute("WebGL") != null)
          else
         function GLBuffer(gl, model){
          this.model = model;
          gl.bufferData(gl.ARRAY_BUFFER, new Float32Array(model.vertices), gl.STATIC_DRAW);
          gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, indexBuffer);
          gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, new Uint16Array(model.indices), gl.STATIC_DRAW);
          gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, null);
          gl.bufferData(gl.ARRAY_BUFFER, new Float32Array(model.normals), gl.STATIC_DRAW);
          this.index.length = model.indices.length;
         https://developer.mozilla.org/en-US/docs/Web/WebGL
  • 데블스캠프2011/다섯째날/HowToWriteCodeWell/송지원,성화수 . . . . 5 matches
         == Elevator.java ==
         public class Elevator {
          public Elevator(int i, int j) {
          else move(floor + i);
          else move(floor - i);
          Elevator elevator = new Elevator (-20, -1);
          assertEquals(-1, elevator.floor);
          elevator.move(17);
          assertEquals(-1, elevator.floor);
          elevator.ta();
          assertEquals(-1, elevator.floor);
          elevator.move(3);
          assertEquals(-3, elevator.floor);
          elevator.naga();
          assertEquals(-3, elevator.floor);
          elevator.ta();
          elevator.up(2);
          assertEquals(-1, elevator.floor);
          elevator.up(2);
          assertEquals(0, elevator.floor);
  • ClassifyByAnagram/1002 . . . . 4 matches
         hotspot 으로 프로파일링 돌린뒤 중간 쓸데없어보이는 코드들 마구마구 삭제. 가장 병목지점은 Anagram.register, {{{~cpp WordElement}}} (지금은 input 갯수 n 에 대해 n 번 실행)
          def __init__(self, anAnagramTable, out=os.sys.stdout):
          def __init__(self):
          self.anagrams={}
          def read(self, anIn=os.sys.stdin):
          self.register(word.strip())
          def getAnagrams(self):
          return self.anagrams
          def register(self, aWord):
          aw=''.join(WordElement(aWord))
          if self.anagrams.has_key(aw):
          self.anagrams[aw].append(aWord)
          else:
          self.anagrams[aw]=[aWord]
         def WordElement(aWord):
         psyco.bind(WordElement)
  • JavaScript/2011년스터디/CanvasPaint . . . . 4 matches
          var element;
          else if(drawmethod==2) drawDotPoint();
          element=document.getElementById('drawLine');
          ctx=element.getContext('2d');
          function release()
          if(lastImage1!=element.toDataURL()){
          lastImage1=element.toDataURL();
          function selectColor(temp)
          onmouseup="release();" onmouseout="release();" onmousemove="draw();"></canvas>
          <select name="colors"onclick="selectColor(this.selectedIndex)">
          <option value="Black"selected="selected">Black</option>
          </select>
          element=document.getElementById("drawLine");
          element.setAttribute("width", window.innerWidth-15);
          element.setAttribute("height", window.innerHeight-50);
          context=element.getContext('2d');
          canvas = document.getElementById('testCanvas');
         // canvas1 = document.getElementById('testCanvas1');
  • LinkedList/영동 . . . . 4 matches
         void displayList(Node * argNode); //Function which displays the elements of linked list
          else //Go to the next node if there is next node
         void displayList(Node * argNode); //Function which displays the elements of linked list
         Node * allocateNewNode(Node * argNode, int argData, int * argNumberOfElements);//Function which allocates new node in memory
         Node * reverseList(Node * argNode);//Function which reverses the sequence of the list
         void eraseLastNode(Node * argNode, Node ** argFreeNode, int * argNumberOfList, int * argNumberOfFreeSpace);//Function which deletes the last node of the list
          int elementsOfLinkedList=0;
          int elementsOfFreeSpaceList=0;
          elementsOfLinkedList++;//Set 1 to number of node.
          Node * freeSpaceList=NULL;//Create free space list
          currentNode=allocateNewNode(currentNode, enterData(), &elementsOfLinkedList);
          firstAddress=reverseList(firstAddress);
          eraseLastNode(firstAddress, &freeSpaceList, &elementsOfLinkedList, &elementsOfFreeSpaceList);
          eraseLastNode(firstAddress, &freeSpaceList, &elementsOfLinkedList, &elementsOfFreeSpaceList);
          eraseLastNode(firstAddress, &freeSpaceList, &elementsOfLinkedList, &elementsOfFreeSpaceList);
          eraseLastNode(firstAddress, &freeSpaceList, &elementsOfLinkedList, &elementsOfFreeSpaceList);
          displayList(freeSpaceList);//Display free space list with deleted data from linked list
          getNode(firstAddress, &freeSpaceList, &elementsOfLinkedList, &elementsOfFreeSpaceList);
          getNode(firstAddress, &freeSpaceList, &elementsOfLinkedList, &elementsOfFreeSpaceList);
          getNode(firstAddress, &freeSpaceList, &elementsOfLinkedList, &elementsOfFreeSpaceList);
  • MobileJavaStudy/SnakeBite/Spec2Source . . . . 4 matches
         class SnakeCell {
          public int snakeCellX;
          public int snakeCellY;
          public SnakeCell(int x, int y) {
          snakeCellX = x;
          snakeCellY = y;
          private final int snakeCellXRange;
          private final int snakeCellYRange;
          private Vector snakeCellVector;
          snakeCellXRange = xRange;
          snakeCellYRange = yRange;
          snakeCellVector = new Vector();
          snakeCellVector.addElement(new SnakeCell(i, 1));
          return snakeCellVector.size();
          public SnakeCell getSnakeCell(int index) {
          return (SnakeCell)snakeCellVector.elementAt((snakeHeadIndex + index) % length());
          SnakeCell head;
          SnakeCell cell;
          head = getSnakeCell(0);
          if(head.snakeCellX < 0 || head.snakeCellY > snakeCellXRange - 1
  • MobileJavaStudy/SnakeBite/Spec3Source . . . . 4 matches
         class SnakeCell {
          public SnakeCell(int x, int y) {
          private Vector cellVector;
          cellVector = new Vector();
          cellVector.addElement(new SnakeCell(i, 1));
          return cellVector.size();
          public SnakeCell getSnakeCell(int index) {
          return (SnakeCell)cellVector.elementAt((headIndex + index) % length());
          SnakeCell head;
          SnakeCell cell;
          head = getSnakeCell(0);
          cell = getSnakeCell(i);
          if(cell.x == head.x && cell.y == head.y)
          SnakeCell prevHead = getSnakeCell(0);
          SnakeCell currentHead = getSnakeCell(0);
          else if(direction == Snake.RIGHT)
          else if(direction == Snake.UP)
          else if(direction == Snake.DOWN)
          private final int snakeCellWidth = 4;
          boardWidth = canvasWidth - 6 - (canvasWidth - 6 - boardWallWidth * 2) % snakeCellWidth;
  • PluggableSelector . . . . 4 matches
         == Pluggable Selector ==
          Type printElement(Object& anObject) {
          Type printElement(Object& anObject) {
          Type printElement(Object& anObject) {
          Type printElement(Object& anObject) {
         실행될 selector를 가지는 변수를 추가한다. 이름 뒤에 Message를 덧붙인다. selector를 실행하기 쉽게 해주는 Composed Method를 만든다.
         예를 들어, 어떤 비쥬얼한 컴포넌트를 다른 것의 상대적인 부분에 위치시키고 싶다면, 상대적인 위치를 만들어주는 Pluggable Selector를 사용할 수 있다.(???)
         class RelativePoint
          static RelativePoint* centered(Figure& aFigure) {
          RelativePonit* rp = new RelativePoint;
         Point RelativePoint::asPoint()
         Point RelativePoint::x()
         이런 식으로 하면 CenteredRelativePoint, TopLeftRelativePoint같은 서브클래스를 만들 필요가 없다. 위에서 center라는 메세지를 추가한 것처럼, topLeft메세지를 추가만 하면 되는 것이다.
  • ProgrammingPartyAfterwords . . . . 4 matches
         다음으로는 요구사항에 대한 해설이 있었다. 당시의 문제는 http://no-smok.net/seminar/moin.cgi/ElevatorSimulation 에 가면 볼 수 있다.
         한편 실습실 구석에서 Mentor 1002씨가 함께한 Moa팀은 처음에 책상 하나를 두고 4명이서 서로 대화를 하면서 Requirement 를 이해해나갔다. 그러다가 중간에 2명은 Person - Elevator 의 전반적 구조를, 2명은 Elevator 알고리즘에 대해 생각을 전개해 나갔다.
          * Seminar:ElevatorSimulation 문제, 일반적인 discrete event simulation 패턴 소개 등
  • TheJavaMan/스네이크바이트 . . . . 4 matches
          int select = System.in.read();
          switch(select)
          else
          v.addElement(tSnake[0]);
          v.addElement(aSnake);
          else
          Label l1;
          Panel p1 = new Panel();
          Label l1 = new Label("점수 ");
          else if(e.getActionCommand()=="중수")
          else if(e.getActionCommand()=="고수")
          else if(direction.equals("Left")) x-=20;
          else if(direction.equals("Down")) y+=20;
          else if(direction.equals("Up")) y-=20;
          v.addElement(tSnake[0]);
          v.addElement(aSnake);
  • TugOfWar/김회영 . . . . 4 matches
         void changeTwoElement(int* rightPart,int i,int* leftPart,int j);
          else
          else
          changeTwoElement(right,nMaxIndexI,left,nMaxIndexJ);
         void changeTwoElement(int* rightPart,int i,int* leftPart,int j)
          changeTwoElement(array,i,array,j);
  • ZeroPage_200_OK . . . . 4 matches
          * Mozilla Developer Network(MDN) - https://developer.mozilla.org/ko/
         == Integrated Development Environment ==
          * DOM 객체를 wrapping 한 것으로 CSS selector 문법으로 DOM에서 Element를 찾아 올 수 있다.
          * Element를 찾을 때 CSS 문법을 이용하여 작업을 할 수도 있고 jQuery의 메소드를 이용해서 작업을 할 수도 있는데, 복잡한 대상을 한 번만 찾아서 작업을 할 경우에는 CSS 문법을 이용하는 것이 좋고, 찾은 대상에서 여러 작업을 할 경우에는 jQuery 함수를 사용하거나 해당 Element를 변수에 저장해 두었다가 사용하는 것이 성능 면에서 좋다.
          * 대상 Element를 찾든 못 찾은 항상 배열을 반환하기 때문에 반환 결과에 상관 없이 배열에 대한 처리만 고려하면 된다.
          * Browser Object Model : 자바스크립트로 Browser와 상호작용하기 위해 제공되는 API들의 집합. 공식적인 표준은 존재하지 않아서 조금씩 다를 수 있다.
          * Trello 만들기
  • 새싹교실/2012/앞부분만본반 . . . . 4 matches
         3. infinitely many solution
         *elimination(소거법) 에 대한 설명
         소거법에 따른 Elementary Equation Operations(E.E.O)(L.S and Ax=b)와 Elementary Row Operations(E.R.O)([A b])에 대해서 비교, 설명함.
         ||Elementary Equation Operations(E.E.O)||
         ||Elementary Row Operations(E.R.O)||
         3. Hello World! 들여다 보기
          printf("Hello world! \n");
          printf("Hello Everybody \n");
          printf("%d is my level \n", 100);
          A system of linear equation is said to be consistent if it has either one solution or infinitely many solutions; a system is inconsistent if it has no solution.
          system이 infinitely many solutions일 때도 consistent가 아닌가요? 궁금해서 질문 올립니다.- [김희성]
         infinitely many solutions 일때도 consistent합니다.
  • 새싹교실/2012/주먹밥 . . . . 4 matches
          * 한원표 : 새싹교실 첫 수업이었다. 박도건, 용상훈이라는 동기들과 같이 하게되었는데 앞으로 친해졌으면 좋곘다. 처음에는 새싹교실을 하는 이유와, 진행방식 등에 대해 선배님께 설명을 들었다. 그리고 wiwki에 가입해서 앞으로 우리가 새싹교실에서 배운것, 느낀것을 직접 편집할 수 있다는 것이 좋았다. 그 후에 Virtual Box라는 것으로. Hello World라는 프로그램을 짯는데 새로운 환경을 볼 수 있어서 좋았지만 한편으로는 처음보는 환경이라 어색한 감이 있었다. 그리고 어플 프로그램을 보여주셨는데. 친구들은 이해하는것 같은데 나만 잘 못하는 것 같았다.
          else if((num % 4 == 0) || (num & 100 != 0))
          else
          else printf("%d %d %d",a,b,c);
          else
          else printf("아니면 말고.\n");
          var image=document.getElementById("demo");
          //var l=document.getElementById("demo").style.left += 1;
          var image=document.getElementById("demo");
          //var l=document.getElementById("demo").style.left += 1;
  • 오목/진훈,원명 . . . . 4 matches
         // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
          pDC->SelectObject(GetStockObject(WHITE_BRUSH));
          pDC->Ellipse(findX*50+30,findY*50+30,findX*50+70,findY*50+70);
          else if (board[findX][findY] == 2)
          pDC->SelectObject(GetStockObject(BLACK_BRUSH));
          pDC->Ellipse(findX*50+30,findY*50+30,findX*50+70,findY*50+70);
          pDC->SelectObject(GetStockObject(WHITE_BRUSH));
          pDC->Ellipse(putX*50+30,putY*50+30,putX*50+70,putY*50+70);
          else if (turn == 2)
          pDC->SelectObject(GetStockObject(BLACK_BRUSH));
          pDC->Ellipse(putX*50+30,putY*50+30,putX*50+70,putY*50+70);
          else
          else
          else
          else
          else
          else
          else
          else
          else
  • 중위수구하기/문보창 . . . . 4 matches
          final int SENTINEL_NUM = -999;
          private int elements[];
          elements = new int[MAX_SIZE];
          elements[i] = input.nextInt();
          if (elements[i] == SENTINEL_NUM)
          else
          sortElement(0, length);
          return elements[mid - 1];
          public void sortElement(int start, int end)
          if (elements[min] > elements[j])
          swapElement(i, min);
          public void swapElement(int i, int j)
          int t = elements[i];
          elements[i] = elements[j];
          elements[j] = t;
  • 1002/Journal . . . . 3 matches
          ~ 2 : 16 (지하철) using singleton wisely 읽고 이해
         솔직하지 못하게 될 수 있다. 자신의 일을 미화할 수도 있다. NoSmok:TunnelVision 에 빠진 사람은 '보고싶은 것만' 보이게 된다. NoSmok:YouSeeWhatYouWantToSee
          * 현재 내 영어수준을 보건데, 컴퓨터 관련 서적 이외에 쉽고 일상적인 책들에 대한 Input 이 확실히 부족하다. 영어로 된 책들에 대해서는 좀 더 쉬운 책들을 Elementary Reading 단계부터 해봐야겠다.
         그림을 보고 나니, Inheritance 나 Delegation 이 필요없이 이루어진 부분이 있다는 점 (KeywordGenerator 클래스나 BookSearcher, HttpSpider 등) Information Hiding 이 제대로 지켜지지 않은것 같다는 점, (Book 과 관련된 데이터를 얻고, 검색하여 리스트를 만들어내는 것은 BookMapper 에서 통일되게 이루어져야 한다.) 레이어를 침범한것 (각각의 Service 클래스들이 해당 로직객체를 직접 이용하는것은 그리 보기 좋은 모양새가 아닌듯 하다. 클래스 관계가 복잡해지니까. 그리고 지금 Service 가 서블릿에 비종속적인 Command Pattern 은 아니다. 그리고 AdvancedSearchService 와 SimpleSearchService 가 BookMapper 에 촛점을 맞추지 않고 Searcher 클래스들을 이용한 것은 현명한 선택이 아니다.)
          * Instead of being tentative, begin learning concretely as quickly as possible.
          * Instead of avoding feedback, search out helpful, concrete feedback.
         from TestDrivenDevelopmentByExample
         Refactoring 을 하기전 Todo 리스트를 정리하는데만 1시간정도를 쓰고 실제 작업을 들어가지 못했다. 왜 오래걸렸을까 생각해보면 Refactoring 을 하기에 충분히 Coverage Test 코드가 없다 라는 점이다. 현재의 UnitTest 85개들은 제대로 돌아가지만, AcceptanceTest 의 경우 함부로 돌릴 수가 없다. 왜냐하면 현재 Release 되어있는 이전 버전에 영향을 끼치기 때문이다. 이 부분을 보면서 왜 JuNe 이 DB 에 대해 세 부분으로 관리가 필요하다고 이야기했는지 깨닫게 되었다. 즉, DB 와 관련하여 개인 UnitTest 를 위한 개발자 컴퓨터 내 로컬 DB, 그리고 Integration Test 를 위한 DB, 그리고 릴리즈 된 제품을 위한 DB 가 필요하다. ("버전업을 위해 기존에 작성한 데이터들을 날립니다" 라고 서비스 업체가 이야기 한다면 얼마나 황당한가.; 버전 패치를 위한, 통합 테스트를 위한 DB 는 따로 필요하다.)
         이전에 Delegation 하는 클래스를 해당 클래스 내에 멤버로 두었는데. 예를 들면 이런식으로
         해당 클래스 내에서 생성하는 디자인은 그 클래스를 교체해줄 수가 없으니 유연한 디자인이 아니다. 그렇다고 setter 를 두는 것도 좋은 디자인은 아닌것 같고. (프로그래밍 실행 중간에 Delegation 하는 객체를 교체할 일은 드물다. State Pattern 이나 Strategy Pattern 이 아닌이상.) 아마 처음에 Mock Object 를 이용하여 BookMapper 를 만들었었다면 Connection 을 직접 이용하거나, Library 객체를 내부적으로 직접 인스턴스를 생성하여 이용하는 디자인은 하지 않았을 것이란 생각이 든다.
          * 504 absolutely essential words 를 굉장히 느린속도로 이용하고 (요 4일간, 하루 시간당 단어 4개씩 나간다. 거기 있는 단어 뜻 보고, 구문을 읽은뒤, 한번 슬쩍 보고 구문 내용을 떠올리면서 원문을 재현해보기식으로 진행하다보니 꽤 느리다. 머릿속에서 영어로 좀 다르게 표현되어 저장되기도 한다.)
         특정 팀원과의 토론이 필요한 Task 외엔 별다른 어려움 없이 잘 진행되었다. Virtual Pair Programming 에서도 VIM 단축키들을 배웠다.; ctrl + v, shift + v 몰라서 매번 할때 Help 뒤졌다 까먹고 그랬던것 같은데, 제대로 익힐듯 하다.
         1차적으로 CRC 를 이용하여 간단한 Conceptual Model 을 만든뒤, TDD 로 개개 모듈을 작업했다.
         중간 개개의 모듈을 통합할때쯤에 이전에 생각해둔 디자인이 제대로 기억이 나지 않았다.; 이때 Sequence Diagram 을 그리면서 프로그램의 흐름을 천천히 생각했다. 어느정도 진행된 바가 있고, 개발하면서 개개별 모듈에 대한 인터페이스들을 정확히 알고 있었기 때문에, Conceptual Model 보다 더 구체적인 Upfront 로 가도 별 무리가 없다고 판단했다. 내가 만든 모듈을 일종의 Spike Solution 처럼 접근하고, 다시 TDD를 들어가고 하니까 중간 망설임 없이 거의 일사천리로 작업하게 되었다.
         permutation (str, selectable, position) {
          result.push_back(selectable)
          reverse(selectable.begin(), selection.end())
          result.push_back(selectable)
          for select in selectable:
          result.push_back(select)
  • 2010JavaScript/강소현/연습 . . . . 3 matches
          alert("Hello World!");
          document.getElementById("contents").innerHTML=txt;
          document.getElementById('txt').value=c;
         <body onload="alert('Welcome!!');" onunload="alert('Bye~');"
         onfocus="document.bgColor='white'" onblur="document.bgColor='yellow'">
         document.getElementById("desc").innerHTML=txt;
  • Classes . . . . 3 matches
         [http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-045JSpring-2005/CourseHome/index.htm MIT open course ware] [[ISBN(0534950973)]]
         [http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-837Fall2003/CourseHome/index.htm MIT open course ware]
         [http://kangcom.com/common/bookinfo/bookinfo.asp?sku=200302180005 Understanding the Linux Kernel (2nd Edition)]
         [http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-828Fall2003/CourseHome/index.htm MIT open courseware] [[ISBN(1573980137)]]
  • ClassifyByAnagram/김재우 . . . . 3 matches
          def testSortChar( self ):
          self.assertEquals ( 'abc', a.sortChar( 'abc' ) )
          self.assertEquals ( 'abc', a.sortChar( 'cba' ) )
          def testAddWord( self ):
          self.assertEquals ( { 'abc' : ['abc'] }, a.getDictionary() )
          self.assertEquals ( { 'abc' : ['abc', 'cba'] }, a.getDictionary() )
          def testPrintAnagram( self ):
          self.assertEquals( """ab ba
          def testMainFunc( self ):
          self.assertEquals( """ab ba
          def __init__ ( self ):
          self.dictionary = {}
          def sortChar( self, word ):
          def addWord( self, word ):
          self.dictionary.setdefault( self.sortChar( word ) ,[]).append( word )
          def getDictionary( self ):
          return self.dictionary
          def printAnagram( self, output = sys.stdout ):
          for list in self.dictionary.values():
          def main( self, input = sys.stdin, output = sys.stdout ):
  • TheElementsOfProgrammingStyle . . . . 3 matches
         TheElementsOfStyle 에 대한 글을 이곳 저곳에서 보면 항상같이 언급되는 책이다. 중앙도서관에 구입신청을 했지만 폐간되어서 입수를 못하고.. 아마존에는 brandnew는 없고 used book만 있다. 각 대학 중앙도서관을 뒤지던 중 연세대와 한양대 중앙도서관에 있음을 알게됨. 우리학교엔 왜 없었던 걸까.
          학생들이 TheElementsOfProgrammingStyle 을 공부하면서 TheElementsOfStyle을 언급하였으면 좋겠다. - [임인택]
         P.J. Plauger라고 역시 유명인. C와 C++ 표준화에 많은 업적을 남겼다. 2004년도 닥터 도브스 저널(DrDobbsJournal)에서 주는 Excellence In Programming Award 수상. --JuNe
  • VonNeumannAirport/Leonardong . . . . 3 matches
          def __init__(self, numofGates):
          self.matrix = []
          self.matrix.append([0]*numofGates)
          def getElement( self, origin, destination ):
          return self.matrix[origin-1][destination-1]
          def __init__(self, numofGates):
          Matrix.__init__(self, numofGates)
          def construct( self, origins, destinations ):
          self.matrix[o-1][d-1] = abs( origins.index(o)
          def getDistance( self, origin, destination ):
          return self.getElement( origin, destination )
          def __init__(self, numofGates):
          Matrix.__init__(self, numofGates)
          def construct( self, origin, traffics ):
          self.matrix[origin-1][traffic.destination-1] = traffic.load
          def getLoad( self, origin, destination ):
          return self.getElement( origin, destination )
          def __init__(self, destination, load):
          self.destination = destination
          self.load = load
  • html5/richtext-edit . . . . 3 matches
         [[pagelist(html5)]]
         var editor = document.getElementById("editor");
         var editor = document.getElementById("editor");
         var editor= document.getElementById("editor");
          * window나 document객체가 가진 getSelection()메서드를 이용하여 Selection형 객체 생성
         - selection 객체 생성 -
          var selection = window.getSelection();
          * Selection 객체에 toString사용하면 선택한 범위의 문자열(HTML제외)가져옴
         alert(window.getSelection().toString());
  • 새싹교실/2011/무전취식/레벨5 . . . . 3 matches
          * Dangling Else에 대해 알아보았습니다.
          * Else가 의도한 if와 짝을 이루지 못하고 있는 상태를 Dangling Else라 합니다.
          * Facts, Feelings, Findings, Future Action Plan. 즉, 사실, 느낀 점, 깨달은 점, 앞으로의 계획.
  • 영호의해킹공부페이지 . . . . 3 matches
          Always yield to the Hands-On imperative!
         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.
         removed. This is called LIFO - or last in first out. An element can be added
         hopefully by executing code of our choice, normally just to spawn a shell.
         with shellcode, designed to spawn a shell on the remote machine, and
         make the program run the shellcode.
         to explain it to myself: I had downloaded a file on Win32 buffer overflows but
         I really didn't feel like reading, so I figured it out myself instead. It took
         Is this a buffer overflow bug or is this something else we are mistaking for
         one? Well, let's check, we feed it a good 30 "a" characters and we look at the
         along until we get to our shellcode. Errr, I'm not being clear, what I mean is
         the buffer will look like: [NOPNOPNOPNOP] [SHELLCODE] [NOPNOPNOPNOP] [RET]
         Shellcode? Right. We can execute pretty much anything we want, and as much as
         I would like to have interesting shellcode, I don't have the tools to make
         some on this PC, and I *really* don't feel like going online to rip somebody
         else's. And so, my choice in shellcode - int 20h - program termination. :)
         Right!!! So our shellcode is 2 characters, and we can feed the program 24
         characters on either side of our shellcode just to make it pretty and even
         namely 0x0063FDE4. Hopefully you're beginning to see the idea here. If you
  • 오목/재선,동일 . . . . 3 matches
         // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
          pDC->SelectObject(&black);
          pDC->Ellipse(5+30*i,5+30*j,5+30*(i+1),5+30*(j+1));
          pDC->SelectObject(&white);
          pDC->Ellipse(5+30*i,5+30*j,5+30*(i+1),5+30*(j+1));
          else
          else
          else if(arr[i][j] == 2)
          else
         // pDC -> Ellipse( , , , )
          else if(arr[i][j] == 2)
          else
          else
  • BookShelf/Past . . . . 2 matches
          1. [TheElementsOfProgrammingStyle] - 20051018
          1. [JoelOnSoftware] - 20060120
          1. [TheElementsOfStyle] - 20060304
         [BookShelf]
  • ClassifyByAnagram/Passion . . . . 2 matches
          ArrayList lineList= new ArrayList();
          lineList.add(line);
          return lineList;
          else
          Enumeration enum = result.elements();
          for(;enum.hasMoreElements();)
          list = (List)enum.nextElement();
          public void testOneLine1() throws IOException
          public void testOneLine2() throws IOException
  • DPSCChapter1 . . . . 2 matches
         Welcome to ''The Design Patterns Smalltalk Companion'' , a companion volume to ''Design Patterns Elements of Reusable Object-Oriented Software'' by Erich Gamma, Richard Helm, Ralph Johnson, and Jogn Vlissides(Gamma, 1995). While the earlier book was not the first publication on design patterns, it has fostered a minor revolution in the software engineering world.Designers are now speaking in the language of design patterns, and we have seen a proliferation of workshops, publications, and World Wide Web sites concerning design patterns. Design patterns are now a dominant theme in object-oriented programming research and development, and a new design patterns community has emerged.
         ''The Design Patterns Smalltalk Companion'' 의 세계에 오신걸 환영합니다. 이 책은 ''Design Patterns Elements of Reusable Object-Oriented Software''(이하 DP) Erich Gamma, Richard Helm, Ralph Johnson, and Jogn Vlissides(Gamma, 1995). 의 편람(companion, 보기에 편리하도록 간명하게 만든 책) 입니다. 앞서 출간된 책(DP)이 디자인 패턴에 관련한 책에 최초의 책은 아니지만, DP는 소프트웨어 엔지니어링의 세계에 작은 혁명을 일으켰습니다. 이제 디자이너들은 디자인 패턴의 언어로 이야기 하며, 우리는 디자인 패턴과 관련한 수많은 workshop, 출판물, 그리고 웹사이트들이 폭팔적으로 늘어나는걸 보아왔습니다. 디자인 패턴은 객체지향 프로그래밍의 연구와 개발에 있어서 중요한 위치를 가지며, 그에 따라 새로운 디자인 패턴 커뮤니티들이 등장하고 있습니다.(emerge 를 come up or out into view 또는 come to light 정도로 해석하는게 맞지 않을까. ''이제 디자인 패턴은 객체지향 프로그래밍의 연구와 개발에 있어서 중요한 위치를 가지고 있으며, 디자인 패턴 커뮤니티들이 새로이 등장하고 있는 추세입니다.'' 그래도 좀 어색하군. -_-; -- 석천 바꿔봤는데 어때? -상민 -- DeleteMe)gogo..~ 나중에 정리시 현재 부연 붙은 글 삭제하던지, 따로 밑에 빼놓도록 합시다.
         ''Design Patterns'' describes 23 design patterns for applications implemented in an object-oriented programming language. Of course, these 23 patterns do not capture ''all'' the design knowledge an object-oriented designer will ever need. Nonetheless, the patterns from the "Gang of Four"(Gamma et al.) are a well-founded starting point. They are a design-level analog to the base class libraries found in Smalltalk development environments. They do not solve all problems but provide a foundation for learning environments. They do not solve all problems but provide a foundation for learning about design patterns in general and finding specific useful architectures that can be incorporated into the solutions for a wide variety of real-world design problems. They capture an expert level of design knowledge and provide the foundation required for building elegant, maintainable, extensible object-oriented programs.
         ''디자인 패턴''은 객체지향 언어로 제작된 프로그램에 23개의 패턴을 제시합니다. 물론, 23개의 패턴이 객체지향 디자이너들이 필요로 할 모든 디자인의 난제들을 전부 잡아내지는 못합니다. 그럼에도 불구하고 "Gang of Four"(Gamma et al.)에서 제시한 23개의 패턴은 좋은 디자인의 든든한 출발을 보장합니다. 이 23개의 패턴은 Smalltalk class libraries에 기반을한 디자인 수준(design-level) 분석(analog)입니다. 이 패턴을 이용해서 모든 문제를 해결할 수는 없지만, 전반적이고, 실제 디자인의 다양한 문제들을 위한 해결책을 위한 유용한 지식들의 기반을 제공할것입니다. 또, 이 패턴을 통해서 전문가 수준의 디자인 지식을 취득하고, 우아하고, 사후 관리가 편하고, 확장하기 쉬운 객체지향 프로그램 개발에 기초 지식을 제공하는데 톡톡한 역할을 할것입니다.
         In the Smalltalk Companion, we do not add to this "base library" of patterns;rather, we present them for the Smalltalk designer and programmer, at times interpreting and expanding on the patterns where this special perspective demands it. Our goal is not to replace Design Patterns; you should read the Smalltalk Companion with Design Patterns, not instead of it. We have tried not to repeat information that is already well documented by the Gang of Four book. Instead, we refer to it requently;you should too.
         Learning an object-oriented language after programming in another paradigm, such as the traditional procedural style, is difficult. Learning to program and compose application in Smalltalk requires a complex set of new skills and new ways of thinking about problems(e.g Rosson & Carroll, 1990; Singley, & Alpert, 1991). Climbing the "Smalltalk Mountain" learning curve is cetainly nontrivial. Once you have reached that plateau where you feel comfortable building simple Smalltalk applications, there is still a significant distance to the expert peak.
         Smalltalk experts know many things that novices do not, at various abstraction levels and across a wide spectrum of programming and design knowledge and skills:
          * The low-level details of the syntax and semantics of the Smalltalk language
          * How to use the specific tools of the Smalltalk interactive development environment to find and reuse existing functionality for new problems, as well as understanding programs from both static and runtime perspective
          * Which classes work well together as frameworks
          * Smalltalk의 문법과 언어기호적인 저급단계 (컴퓨터에서의 low-level 단계)적인 항목에 대해
         A '''design pattern''' is a reusable implementation model or architecture that can be applied to solve a particular recurring class of problem. The pattern sometimes describes how methods in a single class or subhierarchy of classes work together; more often, it shows how multiple classes and their instances collaborate. It turns out that particular architectures reappear in different applications and systems to the extent that a generic pattern template emerges, one that experts reapply and customize to new application - and domain-specific problems. Hence, experts know how to apply design patterns to new problems to implement elegant and extensible solutions.
         In general, designers -- in numerous domains, not just software -- apply their experience with past problems and solution to new, similar problems. As Duego and Benson(1996) point out, expert designers apply what is known in cognitive psychology and artificial intelligence as '''case-based reasoning''', remembering past cases and applying what they learned there. This is the sort of reasoning that chess masters, doctors, lawyers, and architects empoly to solve new problems. Now, design patterns allow software designers to learn from and apply the experiences of other designers as well. As in other domains, a literature of proven patterns has emerged. As a result, we can "stand on the shoulders of giants" to get us closer to the expert peak. As John Vlissies (1997) asserts, design patterns "capture expertise and make it accessible to non-experts" (p. 32).
         Design patterns also provide a succinct vocabulary with which to describe new designs and retrospectively explain existing ones. Patterns let us understand a design at a high level before drilling down to focus on details. They allow us to envision entire configurations of objects and classes at a large grain size and communicate these ideas to other designers by name. We can say, "Implement the database access object as a Singleton," rather than, "Let's make sure the database access class has just one instance. The class should include a class variable to keep track of the singl instance. The class should make the instance globally available but control access to it. The class should control when the instance is created and ..." Which would you prefer?
         Christopher Alexander and his colleagues have written extensively on the use of design patterns for living and working spaces-homes, buildings, communal areas, towns. Their work is considered the inspiration for the notion of software design patterns. In ''The Timeless Way of Building''(1979) Alexander asserts, "Sometimes there are version of the same pattern, slightly different, in different cultures" (p.276). C++ and Smalltalk are different languages, different environments, different cultures-although the same basic pattern may be viable in both languages, each culture may give rise to different versions.
         Christopher Alexander와 그의 친구, 동료들은 디자인 패턴이 공간활용과, 건축, 공동체의 구성방법 까지 확장되는 것에 관한 글을 써왔다. 여기에서 그들이 추구하는 바는 이런 분야에 적용을 통하여, 소프트웨어 디자인 패턴을 위한 또 다른 새로운 창조적 생각 즉, 영감을 얻기위한 일련의 작업(궁리)이다. ''The Timeless Way of Building''(1979) 에?? Alexander는 "때로는 서로다른 문화권에서 아주 약간은 다르게 같은 패턴의 버전들이 존재하걸 볼수 있다"(p.276) 라고 언급한다. C++과 Samlltalk는 비록 같은 기본적인 패턴에서의 출발을 해도 다른 언어, 다른 개발환경, 다른 문화로 말미암아 각자 다른 모양새를 보여준다.
         The Gang of Four's ''Design Patterns'' presents design issues and solutions from a C+ perspective. It illustrates patterns for the most part with C++ code and considers issues germane to a C++ implementation. Those issue are important for C++ developres, but they also make the patterns more difficult to understand and apply for developers using other languages.
         But the ''Smalltalk Companion'' goes beyond merely replicating the text of ''Design Patterns'' and plugging in Smalltalk examples whereever C++ appeared. As a result, there are numerous situations where we felt the need for additional analysis, clarification, or even minor disagreement with the original patterns. Thus, many of our discussions should apply to other object-oriented languages as well.
         Of course, we provide plenty of sample code in Smalltalk. Our examples are, for the most part, not simply Smalltalk versions of the ''Design Patterns'' examples. We often felt an alternative would be more useful than a mere translation of the C++ example.
         Here in a nutshell are our goals for the ''Smalltalk Companion'' as a supplement to ''Design Patterns'' :
  • EffectiveC++ . . . . 2 matches
         DeleteMe #define(preprocessor)문에 대해 const와 inline을(compile)의 이용을 추천한다. --상민
         === Item 3: Prefer new and delete to malloc and free ===
         * new & delete
         === Item 5: Use the same form in corresponding uses of new and delete ===
         delete stringArray; // delete를 잘못 써주었습니다.
          * ''new를 호출할때 []를 이용했다면 delete의 호출시에도 []를이 용한다. 간단간단!''
         typedef를 사용했을때의 delete.. --? : 새로운 문제 제기
         delete pal; // 어떻게 될지 몰라~
         delete [] pal; // fine.
         === Item 6: Use delete on pointer members in destructors ===
         나중에 메모리를 해제하기 위해서 소멸자에서 delete를 사용한다.[[BR]]
          * ''Deletion of the existing memory and assignment of new memory in the assignment operator. - 포인터 멤버에 다시 메모리를 할당할 경우 기존의 메모리 해제와 새로운 메모리의 할당''
          * ''Deletion of the pointer in the destructor. - 소멸자에서 포인터 삭제''
          // immediately. (There is
         === Item 8: Adhere to convention when writing operator new and operator delete ===
         operator new 와 operator delete 의 작성시 따라야 할것들. [[BR]]
          else throw std::bad_alloc();
         멤버가 아닌 operator delete
         // operator delete
         void operator delete(void *rawMemory)
  • Java/스레드재사용 . . . . 2 matches
          else {
          reThread = (ReThread)threads.lastElement();
          } else {
          threads.addElement(this);
  • LawOfDemeter . . . . 2 matches
         nilly? Well, you could, but that would be a bad idea, according to the Law of Demeter. The Law of Demeter
         object should only call methods belonging to:
         itself.
         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
         SortedList's add method is addElementWithKey()
         Now the caller is only depending on the fact that it can add a foo to thingy, which sounds high level
         delegate container traversal and such. The cost tradeoff is between that inefficiency and higher class
         something somewhere else. This tends to create fragile, brittle code.
         Depending on your application, the development and maintenance costs of high class coupling may easily
         Now back to to the ask vs. tell thing. To ask is a query, to tell is a command. I subscribe to the notion
         It helps to maintain the "Tell, Don't Ask" principle if you think in terms of commands that perform a very
         specific, well defined action.
         It helps you to think about class invariants if you class is primarily command based. (If you are just
         The last, of course, is why Eiffel requires only side-effect free methods to be called from within an
         else to change.
  • Linux/ElectricFence . . . . 2 matches
         = ElectricFence =
         http://en.wikipedia.org/wiki/Electric_Fence
  • MoreEffectiveC++/Basic . . . . 2 matches
          오해의 소지가 있도록 글을 적어 놨군요. in, out 접두어를 이용해서 reference로 넘길 인자들에서는 in에 한하여 reference, out은 pointer로 new, delete로 동적으로 관리하는것을 의도한 말이었습니다. 전에 프로젝트에 이런식의 프로그래밍을 적용 시켰는데, 함수 내부에서 포인터로 사용하는 것보다 in에 해당하는 객체 사용 코딩이 편하더군요. 그리고 말씀하신대로, MEC++ 전반에 지역객체로 생성한 Refernece문제에 관한 언급이 있는데, 이것의 관리가 C++의 가장 큰 벽으로 작용하는 것이 아닐까 생각이 됩니다. OOP 적이려면 반환을 객체로 해야 하는데, 이를 포인터로 넘기는 것은 원칙적으로 객체를 넘긴다고 볼수 없고, 해제 문제가 발생하며, reference로 넘기면 말씀하신데로, 해당 scope가 벗어나면 언어상의 lifetime이 끝난 것이므로 영역에 대한 메모리 접근을 OS에서 막을지도 모릅니다. 단, inline에 한하여는 이야기가 달라집니다. (inline의 코드 교체가 compiler에 의하여 결정되므로 이것도 역시 모호해 집니다.) 아예 COM에서는 OOP에서 벗어 나더라도, 범용적으로 쓰일수 있도록 C스펙의 함수와 같이 in, out 의 접두어와 해당 접두어는 pointer로 하는 규칙을 세워놓았지요. 이 설계가 C#에서 buil-in type의 scalar형에 해당하는 것까지 반영된 것이 인상적이 었습니다.(MS가 초기 .net세미나에서 이 때문에 String 연산 차이가 10~20배 정도 난다고 광고하고 다녔었는데, 지금 생각해 보면 다 부질없는 이야기 같습니다.) -상민
         void printBSTArray( ostream& s, const BST array[], int numElements)
          for ( int i = 0; i < numElements; ++i ){
          void deleteArray( ostream& logStream, BST array[])
          logStream << "Deleting array at address "
          delete [] array;
          deleteArray(cout, balTreeArray); // 이것 역시 제대로 지워지리가 없다.
          delete [] array
          for( int i = the number of elements in the array -1; i>0; --i)
         하지만 이러한 방법은 한눈에 봐도 문제가 예상된다. 바로 '''delete'''문제 [[BR]]
          delete [] rawMemory;
         역시나 이것도 '''delete'''에 관한 모호성을 제공한다. 문제시 되는 점은 rawMemory상에 배치된 EquipmentPiece의 '''destructor''' 호출 유무이다. 예상대로 '''destructor'''를 강제 호출해 줘야 한다. 그래서 위가 아니라, 이런식의 삭제가 된다.
          operator delete[](rawMemory);
          delete [] bestPieces; // 이렇게 지우는건 new operator가 건들지 않아서 불가능하다.
         DeleteMe 이 부분이 부실하다 차후 보강 필요
  • MoreEffectiveC++/Operator . . . . 2 matches
          else {
          ArraySize(int numElements):theSize(numElements){}
          new delete sizeof typeid
          operator new operator delete
          operator new[] operator delete[]
         == Item 8: Understand the differend meanings of new and delete ==
          * Item 8: new와 delete가 쓰임에 따른 의미들의 차이를 이해하라.
          * Deletion and Memory Deallocation
          delete ps; // delete operator 를 사용한다.
         메모리 해제(deallocaion)은 operator delete함수에 행해지는데 일반적으로 이렇게 선언되어 있다.
          void operator delete(void * memoryToBeDeallocated);
          delete ps;
          operator delete(ps);
         (작성자 주: 이걸로 new와 delete의 환상,신비성이 깨졌다. )[[BR]]
         그리고 이것의 의미는 당신이 초기화 되지 않은 raw로의 사용의 경우에는 new와 delete operator로 그냥 넘겨야 한다는 의미가 된다. 즉 이코드 대신에 다음의 예를 볼수 있을 것이다.
          operator delete(buffer);
         그렇다면, 이번에 당신은 placement new를 사용해서 메모리상에 객체를 만들었다면 delete를 사용할수 없을 꺼라는 예측을 할수 있을 것이다. 자 다음 코드를 보면서 명시적인 delete를 행하는 코드들을 보자
          delete pw; // 이렇게 해서는 안된다. sharedMemory는 mallocShared에서 할당되는데 어찌 할수 있으리요.
          delete [] ps;
         와 같이 짝을 맞추어 주어야 한다. placement는 당근 위의 지시 사항에 따르는 것이고 operator delete는 item 6에서와 같이 for문으로 순회하면서 지워 주어야 한다.
  • Plugin/Chrome/네이버사전 . . . . 2 matches
          * 크롬은 아시다시피 Plug-in을 설치할수 있다 extension program이라고도 하는것 같은데 뭐 쉽게 만들수 있는것 같다. 논문을 살펴보는데 사전기능을 쓰기위해 마우스를 올렸지만 실행이 되지 않았다.. 화난다=ㅂ= 그래서 살짝 살펴보니 .json확장자도 보이는것 같지만 문법도 간단하고 CSS와 HTML. DOM형식의 문서구조도 파악하고 있으니 어렵지 않을것 같았다. 그래서 간단히 네이버 링크를 긁어와 HTML element분석을 통해 Naver사전을 하는 Plug-in을 만들어볼까 한다.
         크롬의 개발자 API주소는 지금 사이트 이전을 하고있는데 맨앞에 code가 developer로 이전하는것 같았다. 여튼 index의 주소는 다음과 같다.
          * 따라하다가 실수한점 : manifest.json파일을 menifest.json이라 해서 update가 안됨. json정의할때 다음 element를 위해 , 를 붙여야하는데 안붙여서 에러. 그렇지만 나머지는 복붙해서 잘 가져옴.
          "text=hello%20world&" +
          "sort=relevance&" + // another good one is "interestingness-desc"
          var photos = req.responseXML.getElementsByTagName("photo");
          var img = document.createElement("image");
         Hello World!
          * inline script를 cross script attack을 방지하기 위해 html과 contents를 분리 시킨다고 써있다. 이 규정에 따르면 inline으로 작성되어서 돌아가는 javascript는 모두 .js파일로 빼서 만들어야한다. {{{ <div OnClick="func()"> }}}와 같은 html 태그안의 inline 이벤트 attach도 안되기 때문에 document의 쿼리를 날리던가 element를 찾아서 document.addEventListener 함수를 통해 event를 받아 function이 연결되게 해야한다. 아 이거 힘드네. 라는 생각이 들었다.
  • Refactoring/MakingMethodCallsSimpler . . . . 2 matches
         discountLevel = getDiscountLevel ();
         double finalPrice = discountedPrice (basePrice, discountLevel);
         A field should be set at creation time and never altered.
          ''Remove any setting method for that field''
          return readings.lastElement ();
          return (Reading) readings.lastElement ();
          else {
  • ShellSort . . . . 2 matches
         === About [ShellSort] ===
         Sir Lancelot
         Sir Lancelot
         Sir Lancelot
         Elizabeth Windsor
         Michael Eisner
         Sir Lancelot
         Elizabeth Windsor
         Michael Eisner
         Sir Lancelot
          || [문보창] || C++ || 2시간 || [ShellSort/문보창] ||
  • SimpleDelegation . . . . 2 matches
         == Simple Delegation ==
         위임을 사용할때, 당신이 필요한 위임의 묘미(?)를 분명하게 해주는 도와주는 두가지 이슈가 있다. 하나는, 위임하는 객체의 주체성이 중요한가? 이다. 위임된 객체는 자신의 존재를 알리고 싶지 않으므로 위임한 객체로의 접근이 필요하다.(?) 다른 하나는, 위임하는 객체의 상태가 위임된 객체에게 중요한것인가? 그렇다면 위임된 객체는 일을 수행하기 위해 위임한 객체의 상태가 필요하다.(너무 이상하다.) 이 두가지에 no라고 대답할 수 있으면 Simple Delegation을 쓸 수 있다.
          Array* elements;
          setElements(new Array(size));
          void setElements(Array* aCollection) {
          elements = aCollection;
          elements->do(blockFunc); // Array에게로 위임
         위임하는 객체(delegating object)는 위임 객체 또는 위임자 객체, 위임된 객체(delegate)는 대리자로 번역할 수 있을 것 같고(차라리 영어를 그대로 쓰는게 좋을지도 모르겠네요), 주체성은 참조를 의미하지 않을까요?
          cmd->Execute(this); // delegating object의 참조(this)를 delegate에게 전달
  • ThinkRon . . . . 2 matches
         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.
  • XMLStudy_2002/Start . . . . 2 matches
          2 Well-Formed Documents : DTD를 사용하지는 않지만,XML의 태그 규칙을 따르는 문서
          * 2번은 XML 문서에 DTD를 사용하지않았지만 XML 문서 태그 규칙에 맞게 작성되었으므로 Well-Formed 문서로 사용된다.
          step3. Well-formed 또는 Valid한 문서가 되도록 XML 문서 작성
          *XML 문서는 XML로 기술된 구조적인 정보로 구성되는 문서이며 XML1.0스펙에 맞게 작성하며 XML을 지원하는 프로세서(또는 프로그램)에서 사용하기 위해서 Well-formed나 Valid한 형태로 작성된 문서를 말한다. ---> 정의
         [<!ELEMENT MAIL (SUBJECT,SENDER,RECEIVER,BODY,SIGNATURE)>
         <!ELEMENT SUBJECT (#PCDATA)>
         <!ELEMENT SENDER (NAME,ADDRESS)>
         <!ELEMENT RECEIVER (NAME,ADDRESS)>
         <!ELEMENT BODY (P)*>
         <!ELEMENT P (#PCDATA)*>
         <!ELEMENT SIGNATURE (#PCDATA)>
         <!ELEMENT NAME (#PCDATA)>
         <!ELEMENT ADDRESS (#PCDATA)>
          4. Element...
          *empty element : 내용에 아무 것도 위치하지 않는 엘리먼트
         <!ELEMENT 엘리먼트 이름 컨텐츠_스펙>
          *EMPTY : 컨텐츠 스펙이 EMPTY인 경우라면 이 엘리먼트는 내용으로 아무 것도 갖을 수 없다는 것을 의미하고 empty element로 사용
         <!ELEMENT MAIL (SUBJECT,SENDER,(RECEIVER)+,BODY,(SIGNATURE)?)>
         <!ELEMENT BODY (P)*>
         <!ELEMENT P ANY>
  • html5/webSqlDatabase . . . . 2 matches
         [[pagelist(html5)]]
         else{
          tx.executeSql('SELECT * FROM todo', [], renderFunc,
          var todoItems = document.getElementById('todoItems');
          '[<a onclick="html5rocks.webdb.deleteTodo(' + row.ID + ');"'>X</a>]</li>';
         html5rocks.webdb.deleteTodo = function(id) {
          tx.executeSql('DELETE FROM todo WHERE ID=?', [id],
          var todo = document.getElementById('todo');
  • html5practice/즐겨찾기목록만들기 . . . . 2 matches
         [[pagelist(html5practice/*)]]
         <section id="favoriteList">
          localStorage.setItem( document.formInput.elements['textInput'].value, "false");
          document.formInput.elements['textInput'].value = "";
          document.getElementById('favoriteList').innerHTML = pairs;
          document.getElementById('allList').innerHTML = pairs;
  • 고전모으기 . . . . 2 matches
          * StructuredProgramming, TheElementsOfProgrammingStyle, SICP, SmalltalkByExample, SmalltalkBestPracticePatterns
          TheElementsOfStyle, WomenFireAndDangerousThings, MetaphorsWeLiveBy
  • 그래픽스세미나/3주차 . . . . 2 matches
          || 강인수 || [http://zeropage.org/wiki/moin.cgi/_5bLovely_5dboy_5e_5f_5e_2f3DLibrary 옛날에 만들어놓은거] ||
          T* GetElement();
         T* CGX_Vector<T>::GetElement()
          else temp.e[i]=e[i];
  • 데블스캠프2012/셋째날/앵그리버드만들기 . . . . 2 matches
         var devilsBird = document.getElementById("devilsBird");
         Bird.prototype.move = function(deltaTime)
          this.x += this.vx * deltaTime;
          this.y += this.vy * deltaTime;
          this.vy += deltaTime/1000;
          var elem = document.getElementById("devilsBird");
          this.context = elem.getContext("2d");
          elem.addEventListener("mousedown", function(e){
          elem.addEventListener("mouseup", function(e){
          var deltaTime = currentTime - oldTime;
          this.move(deltaTime);
         Game.prototype.move = function(deltaTime)
          this.currentBird.move(deltaTime);
  • 오목/곽세환,조재화 . . . . 2 matches
         // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
          pDC->SelectObject(&brush);
          pDC->SelectObject(&brush);
          pDC->Ellipse(35+30*j,35+30*i, 65+30*j,65+30*i);
          pDC->SelectObject(&brush);
          pDC->Ellipse(35+30*j,35+30*i, 65+30*j,65+30*i);
          else if(array[(point.y+15-50)/30][(point.x+15-50)/30] != -1)
          else
          else
  • 오목/민수민 . . . . 2 matches
         // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
          pDC->SelectObject(&brush);
          pDC ->Ellipse(90+i*20,90+j*20,110+i*20,110+j*20);
          else if(board[i][j]==2)
          pDC->SelectObject(&brush);
          pDC->Ellipse(90+i*20,90+j*20,110+i*20,110+j*20);
          else if (temp_x*20 > x)
          else if (temp_y*20 > y)
          else if (temp_x<10)
          else if (temp_y<10)
          else
  • 요정 . . . . 2 matches
         또 트롤이란 요정이 있는데, 키는 대략 5-7cm 가량이다. 반면에 스프라이트라고도 불리는 꽃의 요정 데번은 약 12cm정도였다. 틸베리의 게르마스가 쓴 책에는 불과 8cm 정도밖에 안되는 포튜니스란 요정이 나오는데, 서양 사람들은 이 요정을 두려워했다. 그래서 그 시대 사람들은 요정을 ' good fellow' 또는 'kind people' 이라고 불렀다.
          * 여기서의 요정은 서양의 정형적인 Elf 같네요 반지의제왕이나 일본식 Elf와도 쫌 차이가 있는. -[iruril]
  • 임인택/내손을거친책들 . . . . 2 matches
          * Introduction to Functional Programming using Haskell
          * The Haskell School of Expression
          * TheElementsOfStyle + TheElementsOfProgrammingStyle
  • 작은자바이야기 . . . . 2 matches
          * [:Java/OpenSourceLibraries 주요 오픈 소스 라이브러리]
          * static modifier에 대해 애매하게 알고 있었는데 자세하게 설명해주셔서 좋았습니다. static은 타입을 통해서 부르는거라거나 원래 모든 함수가 static인데 객체지향의 다형성을 위해 static이 아닌 함수가 생긴거라는 설명은 신기했었습니다. object.method(message) -> MyType::method(object, method) 부분이 oop 실제 구현의 기본이라는 부분은 잊어버리지 않고 잘 기억해둬야겠습니다. 근데 파이썬에서 메소드 작성시 (self)가 들어가는 것도 이것과 관련이 있는건가요? -[서영주]
          * http://neopythonic.blogspot.com/2008/10/why-explicit-self-has-to-stay.html
          * http://stackoverflow.com/questions/68282/why-do-you-need-explicitly-have-the-self-argument-into-a-python-method
          * 제가 "원래 모든 함수가 static"이라는 의미로 말한건 아닌데 오해의 소지가 있었나보군요. 사실 제가 설명한 가장 중요한 사실은 말씀하신 예에서 object의 컴파일 타입의 method() 메서드가 가상 메서드라면(static이 아닌 모든 Java 메서드), 실제 어떤 method() 메서드를 선택할 것이냐에 관한 부분을 object의 런타임 타입에 의한다는 부분이었지요. 그러니까 object는 컴파일 타입과 동일하지 않은 런타임 타입을 가질 수 있으며, 다형성의 구현을 위해 implicit argument인 object(=this)의 런타임 타입에 따라 override된 메서드를 선택한다는 사실을 기억하세요. (Python에선 실제 메서드 내에서 사용할 formal parameter인 self를 explicit하게 선언할 수 있다고 보면 되겠지요.) - [변형진]
          * DRY [http://en.wikipedia.org/wiki/Don't_repeat_yourself DRY Wiki]
          * [http://en.wikipedia.org/wiki/Don%27t_repeat_yourself dont repeat yourself] 이걸 걸려고 했나? - [서지혜]
          * public field
          * getter, setter가 존재하는 field
          * 리플렉션과 제네릭스를 써서 map -> object와 object -> map을 하는 부분을 해봤습니다. 자바의 일반적인 세 가지 방식의 클래스 내 변수에 대해 getClass, getFields, getMethods를 사용해 private, 나 접근자가 있는 경우의 값을 받아왔습니다. getter를 사용해서 변수 값을 받아올 때 이름이 get으로 시작하는 다른 함수를 제외하기 위해 method.getParameterTypes().length == 0 같은 부분은 이렇게 체크해야 된다는 부분은 나중에 제네릭스 관련으로 써먹을만 할 것 같습니다. 그리고 mapToObject에서는 문제가 없었지만 objectToMap의 경우에는 제네릭스의 type erase때문에 Class<T> expectedType = T.class; 같은 코드를 사용할 수 없어서 map.put(field.getName(), (T)field.get(obj));에서 형변환의 타입 안전성을 위해 인자로 Class<T> valueType을 받아오고 valueType.isAssignableFrom(field.getType())로 체크를 하는 부분도 공부가 많이 됐습니다. - [서영주]
          * @Target : 만들고자 하는 Annotation의 대상 지정. (ElementType.TYPE, ElementType.METHOD)등
          * mvn release
          * thread-safe하기 위해서는 stateful해서는 안 된다. Servlet이 stateless하더라도 내부에 stateful한 객체를 들고 있으면 결국은 stateful하게 된다. 자주 하는 실수이므로 조심하도록 하자.
  • 2006김창준선배창의세미나 . . . . 1 match
          * Elitsm - 우수한 것들을 뽑는다??..
  • 2010JavaScript/역전재판 . . . . 1 match
         <link rel='stylesheet' type='text/css' href='style.css' media='all'>
         <div id='item_box'><span class='keyword'><br><br><br><br><br>hello</span></div>
         color : yellow;
          <link rel='stylesheet' type='text/css' href='style.css' media='all'>
          document.getElementById('text').innerHTML = contents[i]
  • 5인용C++스터디/더블버퍼링 . . . . 1 match
         OldBitmap=(HBITMAP)SelectObject(MemDC, hBit);
         SelectObject(MemDC,OldBitmap);
         DeleteDC(MemDC);
         OldBit=(HBITMAP)SelectObject(hMemDC,hBit);
         oldfont=(HFONT)SelectObject(hMemDC,font);
         SelectObject(hMemDC,oldfont);
         DeleteObject(font);
         SelectObject(hMemDC,OldBit);
         DeleteDC(hMemDC);
         ReleaseDC(hWndMain,hdc);
          OldBit=(HBITMAP)SelectObject(hMemDC, hBit);
          SelectObject(hMemDC, OldBit);
          DeleteDC(hMemDC);
          DeleteObject(hBit);
          DeleteObject(hBaby);
          MemDC.SelectStockObject(NULL_BRUSH);
          MemDC.Ellipse(Position.x - i, Position.y - i,
          MemDC.SelectObject(&MemBitmap);
          ReleaseDC(pDC);
  • 5인용C++스터디/윈도우에그림그리기 . . . . 1 match
          SelectObject(hDC,hPen);
          SelectObject(hDC, GetStockObject(NULL_BRUSH));
          DeleteObject(hPen);
          Ellipse(hDC,nSX,nSY,nEX,nEY);
          * SelectObject() : CreatePen()으로 만든 펜을 사용하도록 지정해준다.
          * DeleteObject() : CreatePen()함수로 생성한 펜을 지우는 역할.
  • Ant . . . . 1 match
          Ant 의 몇몇 특정 Task 들의 경우 (JUnit, FTP, Telnet 등) 해당 라이브러리가 필요하다. 이는 http://jakarta.apache.org/ant/manual/install.html#librarydependencies 항목을 읽기 바란다.
         ===== Windows Shell =====
          실행 파일 ant는 Unix 계열에서는 shell 스크립트로 Windows 계열에서는 ant.bat 라는 배치파일로 배포됩니다. 내부에 보면 java 프로그램을 실행하는데, 다음과 같이 자신이 직접할 수도 있습니다.
          일단 제일 처음 나오는 Root Element 로는 ''project'' 태그로 프로젝트 정의를 하는 곳이다.
          * ["Eclipse"], ["IntelliJ"]
          * [http://developer.java.sun.com/developer/Quizzes/misc/ant.html Test your knowledge of Ant]
  • Beginning_XML . . . . 1 match
         = 6장. RELAX NG =
         == RELAX NG 패턴 ==
         * 엘리먼트 패턴 : Element nameClass {pattern}
  • BookShelf . . . . 1 match
          1. [테스트주도개발] - [TestDrivenDevelopmentByExample] 번역서
          1. [TheElementsOfStyle] 4e
         [http://jania.pe.kr/wiki/jwiki/moin.cgi/BookShelf 강규영님 BookShelf]
         이전 기록 - [BookShelf/Past]
  • EnglishSpeaking/TheSimpsons/S01E05 . . . . 1 match
         Friend : Nelson's at the Elm Street Video Arcade.
         Bart : Intelligence indicates he shakes down kids for quarters at the arcade.
         Herman : Well, I'd rather they say " Death From Above," but I guess we're stuck.
         Friend : Nelson's at the arcade, General.
         Herman : I feel so alive!
  • ExtremeBear/VideoShop . . . . 1 match
         고객 :["Ellysavet"]
  • Gof/Mediator . . . . 1 match
         Here's the succession of events by which a list box's selection passes to an entry field.
         여기서는 list box에서의 선택이 entry field 로 전달되고 있는 이벤트들의 흐름이 있다.
          * Colleague classes(listBox, Entry Field)
         ListBox, EntryField, Button은 특화된 사용자 인터페이스 요소를 위한 DialogDirector의 subclass들이다. ListBox는 현재 선택을 위해서 GetSelection연산자를 제공한다. 그리고 EntryField의 SetText 연산자는 새로운 text로 field를 채운다.
          virtual const char* GetSelection();
          class EntryField:public Widget {
          EntryField(DialogDirector*);
          Buton* _cancel;
          entryField* _fontName;
          _cnacel = new Button(this);
          _fontName = new EntryField(this);
          _fontName->GetTet(_fontList->GetSelection());
          } else if (theChangedWidget == _ok) {
          } else if (theChangedWidget ==_cancel) {
         SmallTalk/V는 Pane-ViewManager 통신을 위해 event 기법을 사용하고 있다. 어떤 pane은 어떤 정보를 mediator로 부터 얻기 원하거나 어떤 의미있는 일이 발생해서 이를 mediator에게 알려주기 위해서 event를 생성한다. 하나의 event는 그 event를 식별하는 symbol을 정의한다. 그 event를 다루기 위해서 ViewManager는 pane에 method selector를 등록한다. 이 selector는 event의 handler이다. 이것은 event가 발생한 때면 언제든지 수행될 것이다.
         다음 코드 인용은 ListBox가 ViewManager subclass 내에서 만들어지는 방법과 #select event를 위해 ViewManager가 event handler를 등록하는 방법을 보여주고 있다.
          self addSubpane: (ListPane new
          owner: self;
          when: #select perform: #listSlet:).
         == Related Patterns ==
  • HeadFirstDesignPatterns . . . . 1 match
         {{{Erich Gamma, IBM Distinguished Engineer, and coauthor of "Design Patterns: Elements of Reusable Object-Oriented Software" }}}
         - I feel like a thousand pounds of books have just been lifted off my head.
  • JTDStudy/첫번째과제/정현 . . . . 1 match
          } else {
          number+= numbers.elementAt(index);
          numbers.removeElementAt(index);
  • JavaScript/2011년스터디/3월이전 . . . . 1 match
          * var로 생성한 변수는 delete할 수 없다는데 실제 해보니 되었다.
          * var로 선언한 변수는 delete가 안된다더니 되는데?!
          * CSS, Event, Form Element
  • JavaScript/2011년스터디/윤종하 . . . . 1 match
         [[pagelist(^JavaScript/2011년스터디)]]
          // An element with an ID of main
          var obj = document.getElementById("main");
          // Use a self-executed anonymous function to induce scope
          // Bind a function to the elment
  • ProjectAR/Design . . . . 1 match
          DeleteMe) 그런데 안그래도 될거 같다. --[인수]
          확장 가능성 때문이 아닐까. 몬스터 행동 패턴이 있다고 했을때 CARMonster가 모든걸 갖고 있다면 if(슬라임) ~~~ else if(박쥐) ~~~ 이런 코드가 나올거 아니냐. 저런 코드는 제거 대상 1호중의 하나랜다.
         ==== CARElemental ====
  • ProjectAR/Temp . . . . 1 match
          - CElemental : 아이템에 사는 정령들 // 확정은 아님
  • RSSAndAtomCompared . . . . 1 match
         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].
         2005/07/21: RSS 2.0 is widely deployed and Atom 1.0 only by a few early adopters, see KnownAtomFeeds and KnownAtomConsumers.
         See the Extensibility section below for how each can be extended without changing the specifications themselves.
         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
         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.
         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&amp;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.
         Atom has a carefully-designed payload container. Content may be explicitly labeled as any one of:
          * well-formed, displayable XHTML markup
         RSS 2.0 has a “description” element which is commonly used to contain either the full text of an entry or just a synopsis (sometimes in the same feed), and which sometimes is absent. There is no built-in way to signal whether the contents are complete.
         Atom has separate “summary” and “content” elements. The summary is encouraged for accessibility reasons if the content is non-textual (e.g. audio) or non-local (i.e. identified by pointer).
         Atom [http://www.ietf.org/internet-drafts/draft-ietf-atompub-autodiscovery-01.txt standardizes autodiscovery]. Additionally, Atom feeds contain a “self” pointer, so a newsreader can auto-subscribe given only the contents of the feed, based on Web-standard dispatching techniques.
         RSS 2.0 is not in an XML namespace but may contain elements from other XML namespaces. There is no central place where one can find out about many popular extensions, such as dc:creator and content:encoded.
         Atom 1.0 is in [http://www.w3.org/2005/Atom an XML namespace] and may contain elements or attributes from other XML namespaces. There are specific guidelines on how to interpret extension elements. Additionally, there will be an IANA managed directory rel= values for <link>. Finally, Atom 1.0 provides recommended extension points and guidance on how to interpret simple extensions.
         RSS 2.0 does not specify the handling of relative URI references, and in practice they cannot be used in RSS feeds.
         Atom 1.0 specifies use of the XML's built-in [http://www.w3.org/TR/xmlbase/ xml:base] attribute for allowing the use of relative references.
         Both RSS 2.0 and Atom 1.0 feeds can be accessed via standard HTTP client libraries. Standard caching techniques work well and are encouraged. Template-driven creation of both formats is quite practical.
         For identification of the language used in feeds, RSS 2.0 has its own <language> element, while Atom uses XML's built-in
  • Refactoring/SimplifyingConditionalExpressions . . . . 1 match
          * You have a complicated conditional (if-then-else) statement. [[BR]] ''Extract methods from the condition, then part, and else parts.''
          else charge = quantity * _summerRate;
          else charge = summerCharge(quatity);
          if( isNotEligableForDisability()) return 0;
         else {
         else
          else {
          else {
          else result = normalPayAmount();
          else plan = customer.getPlan();
          double getExpenseLimit() {
          return (_expenseLimit != NULL_EXPENSE)?
          _expenseLimit:
          _primaryProject.getMemberExpenseLimit();
          double getExpenseLimit() {
          Assert.isTrue( _expenseLimit != NULL_EXPENSE || _primaryProject != null );
          return (_expenseLimit != NULL_EXPENSE)?
          _expenseLimit:
          _primaryProject.getMemberExpenseLimit();
  • RoboCode/random . . . . 1 match
         Upload:random.ElLin_1.0.jar
  • ThePracticeOfProgramming . . . . 1 match
         [TheElementsOfProgrammingStyle] 에 대해 문의사항이 있어 저자중 한명에게 메일을 보냈더니, 이 책을 언급하였다. TEOPS 의 중요한 내용들을 이책의 첫 챕터에 수록하였다는 말과 함께. -_-a
  • ViImproved/설명서 . . . . 1 match
         ▶Vi 저자 vi와 ex는 The University of California, Berkeley California computer Science Division, Department of Electrical Engineering and Computer Science에서 개발
          마지막형 (: / ? !) 에 대한 입력을 읽어 냄 CR(캐리지 리턴)은 입력 읽어 내기 종료 <DEL> 인터럽트 ; 종료 취소
          예 제 set wm=3 set sm ## 축약어 사용. 입력시 bbm을 bbmaster@flower.chungnam.ac.kr로 바뀐다 ab bbm bbmaster@flower.chungnam.ac.kr ## 스펠링 체크 매크로 map V :w^M:!spell -x %^M:e!^M^M
          DEL 인터럽트 삽입 모드를 종료
         지우기(delete)
          p 버퍼의 내용(change, delete, yank)을 현재줄 이전에 복구한다
          P 버퍼의 내용(change, delete, yank)을 현재줄 다음에 복구한다
          예 제 :map V :w^M:!ispell -x $^M:e!^M^M (영문철자 검사)
         errorbells(eb) errorbells 에러 발생시 벨울림
         shell=(sh=) 셀 환경을 적용
  • XML/PHP . . . . 1 match
         $titles = $dom->getElementsByTagName("title");
  • ZeroWikian . . . . 1 match
          * [Ellysavet]
          * [celfin]
          * [AstroAngel]
          * [travelsky]
  • html5/canvas . . . . 1 match
         [[pagelist(html5/)]]
         var canvas = document.getElementById(가져오고 싶은 canvas의 id);
          * textBaseline
          * https://developer.mozilla.org/en/Canvas_tutorial
  • html5/communicationAPI . . . . 1 match
         [[pagelist(^html5)]]
          * 프로그램간에 비동식으로 메세지 전달 : 느슨한 결합(loosely coupled)
          var destFrame = document.getElementById("message-dest");
          * 채널 : 메세지 송,수신을 중개하는 객체, MessageChannel
          * MessageChannel : 두개의 포트가짐 포트1 -> 포트2, 포트2 -> 포트1
          channel.port1.start();
          channel.port2.start();
          channel.port1.postMessage("TEST");
  • html5/drag-and-drop . . . . 1 match
         [[pagelist(^html5)]]
         || addElement(element) ||드래그 중 피드백 이미지에 추가할 요소를 지정한다. ||
  • html5/form . . . . 1 match
         [[pagelist(html5)]]
          * tel
          * list — 값의 제한을 포함하는 datalist element를 의미
          * placeholder - field에 text hint를 보여 줌
         = element =
          * search 타입, 전화번호 입력을 위한 tel 타입, 리소스 주소 입력을 위한 url 타입, 이메일 입력을 위한 email 타입, 색상 입력을 위한 color 타입 등이 새로 추가
         <input type='tel' placeholder="전화번호 입력">
          var selectedFiles = document.getElementById("file").files;
          selectedFiles[0].name; //파일이름
          selectedFiles[1].size; //파일사이즈
          <option label="모바일플랫폼" value="http://m.mkexdev.net" />
          <option label="MKEX의닷넷" value="http://www.mkexdev.net" />
          <option label="Microsoft" value="http://www.microsoft.com" />
  • html5practice/roundRect . . . . 1 match
         [[pagelist(html5practice)]]
          var canvas = document.getElementById('canvas');
          ctx.textBaseline = "top";
          ctx.fillStyle = "yellow";
          nodeDraw(ctx, "hello canvas", pt);
  • html5practice/계층형자료구조그리기 . . . . 1 match
         [[pagelist(html5practive)]]
         var NodeBGColor = "yellow";
         var RootNode = {"text":"hello html5", "child":[{"text":"html5 is gooooooood", "child":null}
          var canvas = document.getElementById('canvas');
          ctx.textBaseline = "top";
          ctx.fillStyle = "yellow";
  • 고슴도치의 사진 마을 . . . . 1 match
         ▶ID : celfin ( Computer Elfin )
         ▶E-mail : celfin_2002 at hotmail dot com(MSN), celfin at lycos dot co dot kr(nateon), celfin_2000 at hanmail dot net
         || [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] ||
         || [Celfin's ACM training] ||
         || [Celfin's English] ||
  • 고슴도치의 사진 마을처음화면 . . . . 1 match
         ▶ID : celfin ( Computer Elfin )
         ▶E-mail : celfin_2002@hotmail.com(MSN), celfin@lycos.co.kr(nateon), celfin_2000@hanmail.net
         || [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] ||
         || [Celfin's ACM training] ||
         || [Celfin's English] ||
  • 데블스캠프2012/셋째날/코드 . . . . 1 match
         var mapObj = new NMap(document.getElementById('mapContainer'),300,300);
  • 도형그리기 . . . . 1 match
         타원 : Ellipse (Start_x, Start_y, End_x, End_y)
  • 레밍즈프로젝트/프로토타입/MFC더블버퍼링 . . . . 1 match
          m_pMemDC->SelectObject(&m_bmp);
          m_pMemDC->DeleteDC();
          m_bmp.DeleteObject();
          memdc->Ellipse(this->pmBoundBall->x - mi_ballSize, this->pmBoundBall->y - mi_ballSize,
          delete douDC;
  • 새싹교실/2011/Noname . . . . 1 match
          * Facts, Feelings, Findings, Future Action Plan. 즉, 사실, 느낀 점, 깨달은 점, 앞으로의 계획.
          * Hello World! 프로그램 짜보기
         else {
          * else if의 경우에는 if-else와 다음 if-else를 합쳐놓은것!!
          * If구문,If-Else구문,Switch구문에 대해서 배웠습니다. 역시 처음 배우는거라 예제들에 잘 적용하지 못했습니다. 하나하나 배워가면서 코딩하는게 너무 신기하게 느껴지고 수업시간이 너무 짧아 아쉽습니다. 수업시간이 길거나 자주 수업을 할 수 있으면 좋겠습니다. If구문으로 해야하는 예제들과 Switch구문으로 해야하는 예제들의 차이점을 조금 깨달았습니다. Switch구문으로 코딩해야 더 쉬운 예제들과 If구문으로 코딩해야 더 쉬운 예제들을 구별할 수 있는 능력을 키워야 겠습니다. - [김창욱]
          }else
          else if
          else
  • 서지혜/단어장 . . . . 1 match
          당황하게 하다 : The thing that baffles me is that the conversations do not center around the adults but almost exclusively about their respective kids
          인용 : The forms of citations generally subscribe to one of the generally excepted citations systems, such as Oxford, Harvard, and other citations systems, as their syntactic conventions are widely known and easily interrupted by readers.
          Density is physical intrinsic property of any physical object, whereas weight is an extrinsic property that varies depending on the strength of the gravitational field in which the respective object is placed.
          It is illegal to discriminate on grounds of race, sex or religion.
          The traditional definition of race and ethnicity is related to biological and sociological factors respectively.
          밀도 : Moore's law has effectively predicted the density of transistors in silicon chips.
          침체되다, 부진해지다 : I feel I'm stagnating in this job.
          우월, 우세, 지배 : The relationship between the subject and the viewers is of dominance and subordination
          우성 : Dominance in genetics is a relationship between alleles of a gene, in which one allele masks the expression (phenotype) of another allele at the same locus. In the simplest case, where a gene exists in two allelic forms (designated A and B), three combinations of alleles (genotypes) are possible: AA, AB, and BB. If AA and BB individuals (homozygotes) show different forms of the trait (phenotype), and AB individuals (heterozygotes) show the same phenotype as AA individuals, then allele A is said to dominate or be dominance to allele B, and B is said to be recessive to A. - [dominance gene wiki]
          분비하다 : These bone cells secrete the material that makes up bone tissue.
          망각 : Eternal oblivion, or simply oblivion, is the philosophical concept that the individual self "experiences" a state of permanent non-existence("unconsciousness") after death. Belief in oblivion denies the belief that there is an afterlife (such as a heaven, purgatory or hell), or any state of existence or consciousness after death. The belief in "eternal oblivion" stems from the idea that the brain creates the mind; therefore, when the brain dies, the mind ceases to exist. Some reporters describe this state as "nothingness".
         feel cheap
          1. He makes me feel cheap.
          2. living cheap and feeling cheap.
         in a nutshell
          넘어지는 것을 잡다, 받쳐주다 : When the little boy fell out of the window, the bushes broke his fall.
          잠시 수면을 취하다 : Feeling so tired, I put my head down.
          남에게 ~하지 못하게 하다 : With the exception of some sports, no characteristic of brain or body constrains an individual from reaching an expert level.
          종사하다 : Elite performers engage in what we call "deliberate practice"
         melting into something
  • 유혹하는글쓰기 . . . . 1 match
         ''지옥으로 가는 길은 수많은 부사들로 뒤덮여 있다..잔디밭에 한 포기가 돋아나면 제법 예쁘고 독특해 보인다. 그러나 이때 곧바로 뽑아버리지 않으면...철저하게(totally), 완벽하게(completely), 어지럽게(profligately) 민들레로 뒤덮이고 만다.''
         작가에게 고마운 점이 하나 더 있다. 책을 읽는 동안 [TheElementOfStyle]을 읽고 싶은 충동을 참을 수 없었다. 드디어 때가 온 것이다!
  • 이민석 . . . . 1 match
         [[pageList(이민석)]]
          * ElanVital - 가사 시각화 프로그램
  • 이영호/개인공부일기장 . . . . 1 match
         ☆ 구입해야할 책들 - Advanced Programming in the UNIX Environment, Applications for Windows, TCP/IP Illustrated Volume 1, TCP/IP Protocol Suite, 아무도 가르쳐주지않았던소프트웨어설계테크닉, 프로젝트데드라인, 인포메이션아키텍쳐, 초보프로그래머가꼭알아야할컴퓨터동작원리, DirectX9Shader프로그래밍, 클래스구조의이해와설계, 코드한줄없는IT이야기, The Art of Deception: Controlling the Human Element of Security, Advanced Windows (Jeffrey Ritcher), Windows95 System Programming (Matt Pietrek)
         ☆ 앞으로 공부해야할 책들(사둔것) - Effective C++, More Effective C++, Exeptional C++ Style, Modern C++ Design, TCP/IP 네트워크 관리(출판사:O'Reilly), C사용자를 위한 리눅스 프로그래밍, Add-on Linux Kernel Programming, Physics for Game Developers(출판사:O'Reilly), 알고리즘(출판사:O'Reilly), Hacking Howto(Matt 저), Windows 시스템 실행 파일의 구조와 원리, C언어로 배우는 알고리즘 입문
         ☆ 레퍼런스 - 리눅스 공동체 세미나 강의록, C언어 함수의 사용법(함수 모음), 데비안 GNU/LINUX, C사용자를 위한 리눅스 프로그래밍, Add-on Linux Kernel Programming, Secure Coding 핵심원리
         2005년 7월 4일~7월20 완벽히 끝낸책 : 안녕하세요 터보 C, Teach Yourself C, C언어 입문 중,고급, C언어 펀더멘탈, 쉽게 배우는 C프로그래밍 테크닉
         6 PE 구조 공부(마스터 수준). & Windows Kernel(리눅스 커널과의 차이점)
         7 API 공부(마스터 수준). & Windows Kernel(리눅스 커널과의 차이점)
         8일~~31일 - Reverse Engineering (Assembly + PE + Kernel + Packing + Unpacking + Encrypt + Decrypt), 몇몇개의 Game Cracking. 몇몇개의 하드에 저장된 쉐어웨어 시리얼 제작.
         1일 (월) - 한차례 내 실력이 워핑 했다. 높은 수준으로 올랐다. PCB와 Linux Kernel에 관한 것을 배웠다.
         ☆ 1일 (월) - struct task_struct 의 SUPERUSERBIT를 flagon 시킬 수만 있다면 root의 권한을 얻을 수 있다. kernel의 조작에는 회의적이지만 간접적으로 만질 수 있는 방법을 찾아봐야한다.
         31 (일) - Network Programming(멀티쓰레드 - POSIX, MUTEX, SEMAPORE), System Programming(Kernel)
         - 20 (수) - C언어 책 6권 복습 끝냄. (안녕하세요 터보 C, Teach Yourself C, C언어 입문 중,고급, C언어 펀더멘탈, 쉽게 배우는 C프로그래밍 테크닉)
  • 파스칼삼각형/김수경 . . . . 1 match
         def pascal(line, element):
          if not isinstance(element, int):
          print "E = " , element , " : Please input an Integer"
          if element <= 0:
          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):
          else:
          return pascal(line-1, element-1) + pascal(line-1, element)
Found 118 matching pages out of 7540 total pages (5000 pages are searched)

You can also click here to search title.

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