• 제목/요약/키워드: Iterator

검색결과 7건 처리시간 0.017초

닷넷 기반에서 Iterator Pattern을 이용한 데이터 접속 객체의 구현 (Implementation of Data Connection Object Using Iterator Pattern in .NET Base)

  • 남석모;김상훈;정정수
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2003년도 추계학술발표논문집 (하)
    • /
    • pp.1539-1542
    • /
    • 2003
  • 최근 소프트웨어 개발에서의 핵심어인 객체지향(object oriented)은 1970년대 초부터 중요하게 인식 되기 시작했다. 현재는 객체지향에 대한 많은 관련 연구를 통하여 그 활용범위가 증대되고 있다. 본 연구에서는 객체지향 연구의 한 부분인 디자인 패턴 중에서 많이 이용되는 Iterator(Cursor) Pattern을 활용하여 닷넷(.NET) 기반에서의 특정 비즈니스를 위한 데이터 접속 객체를 연구하였다.

  • PDF

EJB 기반 애플리케이션에서 데이터베이스의 효율적 액세스를 위한 IDAO의 설계 및 구현 (Design and Implementation of IDAO for Efficient Access of Database in EJB Based Application)

  • 최성만;이정열;유철중;장옥배
    • 정보처리학회논문지D
    • /
    • 제8D권6호
    • /
    • pp.637-644
    • /
    • 2001
  • 컴포넌트 기반 애플리케이션의 개발 및 배치를 위한 명세를 제공하는 EJB(Enterprise JavaBeans)는 엔터프라이즈 환경에서 가장 복잡한 트랜잭션 관리, 퍼시스턴스, 동시성 제어 등을 자동적으로 관리해주는 J2EE 환경의 핵심으로서 분산개발을 가능하게 한다. 본 논문에서는 EJB 기반 레거시 시스템에서 DAO의 트랜잭션 로직 복잡성과 시스템의 성능저하 문제를 해결하고자 한다. 따라서, 본 논문에서는 Iterator 패턴을 적용한 IDAO를 설계 및 구현하였다. IDAO는 컨테이너 관리 트랜잭션을 통해 데이터베이스 커넥션에 따른 트랜잭션 로직의 복잡성과 시스템의 과부하 감소 및 시스템의 성능저하를 감소시키는 효과를 얻었다.

  • PDF

C++ IDL 컴파일러 구현 (Implementation of C++ ID Compiler)

  • 박찬모;이준
    • 한국정보통신학회논문지
    • /
    • 제5권5호
    • /
    • pp.970-976
    • /
    • 2001
  • 본 논문에서는 IDL 정의를 입력받아 파싱하는 컴파일러의 전반부를 위해 OMG IDL 컴파일러를 사용하였다. 또한 ORB를 위해 omniORB3[1]를 사용했다. OMG IDL CFE는 IDL 정의를 입력받아 어휘 및 구문 분석을 한 후 AST 트리를 생성하며, 생성된 각 노드는 우리가 새로 추가한 BE_* 클래스의 인스턴스로 구성된다. IDL 컴파일러의 후반부는 AST의 각 노드를 반복자인 UTL_ScopeActiveIterator 클래스를 사용하여 반복적으로 각 순회하면서 해당하는 출력을 덤프한다. 이때 두개의 출력 파일을 생성토록 했다. 모든 코드 생성은 BE_produce.cc에서 시작되며, idl_global->root() 노드를 시작으로 하여 각 클래스에 해당 코드를 생성하는 dump* 함수를 호출하여 생성했다. 본 논문은 IDL 정의를 C++언어로 맵핑만을 실험했으며, 이것은 omniORB3에서 제공하는 IDL 컴파일러와 동일한 결과를 생성했으며, omniORB3[1] 환경에서 동작하는 변환된 C++ 코드임을 실험했다. 향후 IDL 컴파일러를 통한 성능 향상을 위해 마샬링 코드의 최적화를 할 수 있도록 하는 코드를 생성하는 문제에 관심을 가지고 있다.

  • PDF

임베디드 데이터베이스 시스템을 위한 블록 단위 스키핑 기법 (Block-wise Skipping for Embedded Database System)

  • 정재혁;박형민;홍석진;심규석
    • 정보처리학회논문지D
    • /
    • 제16D권6호
    • /
    • pp.835-844
    • /
    • 2009
  • 일반적으로 데이터베이스 시스템에서의 질의 수행은 대부분의 경우 빠른 응답시간과 더 적은 메모리 사용량을 장점으로 가지는 파이프라이닝 기법으로 이루어진다. 이 때, 질의 수행 계획(QEP)의 각각의 연산 노드들은 Open(), Next(), Close() 함수들을 지원하는 iterator의 인터페이스를 가진다. 그런데, 플래시 메모리 기반의 휴대용 기기들을 위한 임베디드 데이터베이스 시스템에서는 iterator의 Next() 함수뿐만 아니라, 현재 레코드의 이전 레코드를 리턴해주는 Previous()와 같은 함수를 필요로 하는 경우가 많다. 이는 임베디드 환경의 경우 각각의 프로그램이 사용할 수 있는 메모리의 양이 제한적이므로, 사용자가 이전 레코드를 요청하는 경우, 결과 레코드 커서가 현재 레코드를 기준으로 이전 레코드를 다시 가져와야 하기 때문이다. 본 논문에서는 이러한 임베디드 데이터베이스 시스템의 질의 수행 시 각각의 연산 노드들이 Next() 함수뿐만 아니라 Previous() 함수를 블록 단위로 지원할 수 있도록 새롭게 설계 구현하는 과정에서 발생하는 방향 전환 문제를 소개하고 이를 해결하기 위한 블록 단위 스키핑 기법을 제안한다.

영상처리 알고리즘 구현에서 소스코드 재사용을 위한 제너릭 프로그래밍 방법에 관한 연구 (A study of generic programming method for source code reuse in image processing algorithm implementation)

  • 이정헌;이준형
    • 한국컴퓨터정보학회논문지
    • /
    • 제10권3호
    • /
    • pp.19-34
    • /
    • 2005
  • 영상처리 알고리즘 연구에 있어서 가장 어려운 부분 중 하나가 기존 알고리즘과의 성능 비교이다. 그러므로 재사용이 가능한 코드의 형태로 알고리즘을 표현하고 구현하는 것이 영상처리 연구에서는 매우 중요하다. 기존의 영상처리 시스템들은 소스코드 측면에서의 재사용을 위한 모든 조건을 지원하지 못했다. 이러한 문제를 해결하기 위하여 본 연구에서는 제너릭(generic) 프로그래밍 방법을 영상처리 알고리즘구현에 적용함으로써 소스코드 측면에서의 재사용 문제를 해결하는 방법을 제안하였다. 제안한 방법은 다른 다양한 영상 형식이 적용되더라도 같은 알고리즘 구현이 가능하도록 영상처리 알고리즘들과 알고리즘 구현을 위한 기초적인 자료 구조를 연결하는 이차원 iterator를 정의하여 사용하는 방법이다. 그리고 제안 방법의 간결함과 효율성을 확인하기 위하여 몇 개의 예제와 기존의 영상처리 알고리즘 통합 개발 환경에 이식하여 기존의 방법과 비교하였다.

  • PDF

태그 기법을 이용한 공간 질의 수행기의 설계 (Desgin of a Spatial QueryExecutor using Tag Technique)

  • 이찬근;박호현;이용주;정진완
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제5권5호
    • /
    • pp.543-552
    • /
    • 1999
  • 질의 수행기의 물리적 연산자를 구현하기 위해 사용되는 반복자 기법은 효율성과 확장성이 우수하다고 알려져 있다. 그리고 공간 객체에 대한 연산 처리 방법들 중 가장 널리 사용되는 것은 여과 및 정제 단계로 나누어 처리하는 방법이다. 최근에 객체 대수의 수준에서 공간 연산자를 여과 및 정제 단계로 나누어 정의하여 기존의 방법보다 더욱 효율적인 질의 수행 계획을 만들어 낼 수 있는 질의 최적화기에 대한 연구가 있었다. 그러나 기존의 질의 수행기는 이러한 질의 수행 계획을 고려하지 않고 설계되었기 때문에 연산자 간에 여과 연산의 결과를 전달하는 기능이 없다. 우리는 이러한 여과/정제 단계가 분리되어 두 단계 사이에 다른 연산이 들어올 수 있는 질의 수행 계획하에서 반복자 기법을 사용할 때 여과 단계의 연산 결과를 해당 정제 단계 연산자로 전달하는 방법으로 조사 기법과 태그 기법 두 가지를 제안한다. 조사 기법은 연산자 내부의 상태 레코드의 용도를 확장하여 사용하는 방법인 반면 태그 기법은 중간 결과에 태그의 형태로 여과 단계의 연산 결과를 저장한다. 이들 방법을 비교하여 확장성에서 우월한 태그 기법을 사용한 질의 수행기를 설계 및 구현한다. 구현된 질의 수행기는 공간 질의를 위해 확장된 OQL을 처리하기 위한 공간 객체 대수에 정의된 연산자들을 수행할 수 있다.

분산 공간 DBMS에서의 효율적인 공간 릴레이션 분할 기법을 이용한 병렬 공간 죠인 기법 (Parallel Spatial Join Method Using Efficient Spatial Relation Partition In Distributed Spatial Database Systems)

  • 고주일;이환재;배해영
    • 한국공간정보시스템학회 논문지
    • /
    • 제4권1호
    • /
    • pp.39-46
    • /
    • 2002
  • 분산 공간 데이터베이스 시스템들 사이에서 빈번히 수행되는 공간 죠인 질의는 공간 데이터의 대용량성과 그 복잡성으로 인하여 공간 연산 수행 시 서버에 CPU 및 디스크 I/O 상의 부하를 일으킨다. 본 논문은 이러한 분산 공간 데이터베이스 시스템에서 수행 비용이 많이 드는 원격 사이트간의 공간 죠인 질의를 병렬적으로 수행하는 기법을 제안한다. 본 기법은 죠인에 참여하는 릴레이션들 중 하나를 이등분하는 방법으로 공간 죠인 연산을 분리한 후, 질의 수행에 참여하는 두 서버에게 죠인 연산을 분배한다. 각 서버는 분할된 공간 죠인 연산을 동시에 연쇄적으로 처리하고 결과를 병합하여 최종 죠인 결과를 생성한다. 본 기법은 릴레이션을 효율적으로 분할하여 죠인을 수행함으로써 공간 연산에 참여하는 객체의 수를 절반으로 줄이며 R-Tree 등 공간 인덱스의 탐색 횟수와 그 범위를 감소시킨다. 또한 릴레이션을 영역단위로 분할하여 객체의 수를 줄이고 참여 객체를 군집화 시킴으로써 죠인 연산시에 디스크와 버퍼의 사용 효율을 높인다.

  • PDF