2005/10 20

[VB.NET]다형성

ㅇ. 다형성이란 : 많은 클래스들이 동일한 속성과 메서드를 가지고 있을 경우 호출한 쪽에서는 현재 사용중인 개체가 어느 클래스를 기반으로 하고 있는지 알필요가 없다. ㅇ. 다형성을 이용한 클래스 작성 접근방법 -. 인터페이스(Interface) 기반 : 기존의 VB6.0에서 사용 : 클래스 안에서 인터페이스 멤버를 구현한다. - Interface키워드를 사용하여 인터페이스 정의 - Implements 키워드를 사용 : Overloads 키워드 사용 가능 형식) Interface tmpInterface Function Method1(ByRef s As String) As Boolean Overloads Sub Method2() Overloads Sub Method2(ByVal i As Integer) En..

[VB.NET]상속 (Inheritance)

VB개발만 하다보니.. 개념이 헷갈려서.. 쯧.. ㅇ. 이미 존재하는 클래서(Base Class)로 부터 새로은 클래서(Derived Class)를 만들기 위해 사용. ㅇ. 파생된 클래서에서는 속성, 메서드, 이벤트, 필드, 이벤트 핸들러등을 그대로 혹은 새롭게 정의해서 사용 가능 ㅇ. 한 프로젝트 내에서 다른 클래서로부터 혹은 프로젝트에서 찹조하고 있는 개체로부터 상속 가능 ㅇ. Single Inheritance만 지원 : 하나의 Base Class로 부터 파생 : Multiple Inheritance는 지원 안됨 ㅇ. 상속을 사용하는 경우 : 하위 레벨 API를 단순화 할 때 : 베이스 클래스의 코드 재사용 시 : 클래스의 계층 구조가 깊지 않을 때 : 베이스 클래스를 통해 파생된 클래스를 변경할 때..

[VB.NET]VB6.0과 VB.NET의 언어적 차이(문법 몇가지)

ㅇ. Array -. VB6.0 : 배열첨자의 시작은 기본적으로 0 : Option Base문을 이용하여 1부터 시작하도록 지정 가능 : tmpArr(1 to 10) 가능 : 첨자가 0부터 시작하는 경우 Upper Bound +1이다. Dim tmpArr(20) as Single : 21개의 요소를 가진다. -. VB.NET : 배열 첨자는 0부터 시작 : Option Base 문은 지원하지 않는다. : 배열 참저는 0 ~ 배열크그 -1 이다. Dim tmpArr(20) as Single : 20개의 요소를 가진다. ㅇ. 문자열 길이 지정 -. VB6.0 : 선언시에 문자열의 길이를 지정할 수 있다. Dim str As String*30 -. VB.NET : 고정 길이 문자열을 선언할 수 없다. Dim ..

[VB.NET]새로워진 기능 몇가지 정리

ㅇ. 상속 (Ingeritance) -. 클래스 정의 이후 해당 클래스를 상속받아 새로운 클래스를 생성 -. 부모 클래스(base class)의 메서드를 파생된 클래스(child class)에서 새롭게 구성할수 있다. -. 기본적으로 모든 클래스는 상속가능 -. Form등의 User Interface를 갖는 상속은 Visual Inheritance라고 한다. ㅇ. 구조적인 예외 처리 -. Try 예외처리 구문 Catch 예외발생시 처리 구문 Finally Try문장 빠져나가기 전에 반드시 실행 (Optinal) End Try -. 관리하기 쉽고 안정적임 ㅇ. 오버로딩 (Overloading) -. 다형성지원 -. ex) in VB6.0 Sub DisplayCjar(ByVal theChar As Cahr)..

ORA-01652 : unable to extend temp segment by 6144 in tablespace {TS명}

또 오라클.. -_-;; 이번엔 윈도우 오라클이.. 고객이 연락와서 데이터가 안올라 온다고 해서 확인해 봤더니.. 상기와 같은 오류가... ORA-165X error는 tablespace에 space가 부족해서 table이나 rollback segment extent가 할당되지 못해서 발생하는 error이다. 다음의 에러들은 tablespace에 space가 부족해서 발생하는 사항들이다. 01652, 00000, 'unable to extend temp segment by %s in tablespace %s' 01653, 00000, 'unable to extend table %s.%s by %s in tablespace %s' 01654, 00000, 'unable to extend index %s.%..

컴퓨터일반/DB 2005.10.10

ORA-01591: lock held by in-doubt distributed transaction {id}

아침에 출근해서 담배한대 피고 있는데.. 고객이 전화와서 데이터가 한개도 안올라 온다고.. 쩝.. 확인해 보니 이런 에러가.. 어딘가 시스템이 트랜젝션이 제대로 안먹고 있나본데.. 쯧.. 시스템을 첨부터 일일이 뜯어볼수도 없고.. 젠장.. 쯧... "> 다른 database를 이용하지 않는 local transaction이, 비정상 종료시 자동으로 rollback되는 것과는 달리, 분산 트랜잭션의 경우 2 phase commit수행 단계중에 fail이 발생하게 되면 관여된 일부 database에서는 rollback 혹은 commit이 되고, 일부는 distributed lock이 걸린 상태로 계속 지속될 수 있다. 이렇게 pending된 transaction에 대해서는 기본적으로 Oracle의 backg..

컴퓨터일반/DB 2005.10.07

프로시져 만들때의 철칙

다음 내용은 절대적인 것은 아님을 밝혀둔다. 예전에 우리 회사 대리가 밑에 개발자들 참고하라고 살짝 간단히 정리해 준건데.. 살짝 코멘트를 달아 보았다. 참고하면 괜찮을듯.. 다 아시는 내용이지만 Procedure 사용에서 락 발생 다수 시 조치 사항입니다 1. TEMP 테이블 사용을 제한 - TEMP테이블의 경우 부하가 많은경우 락 발생이 급격하게 늘어나기 때문에 사용은 최소화 한다. -> 사실 그닥 좋은 방법이 아님은 누구나 다 알것이다. 다량의 DB작업을 하면서 임시로 쓰는것은 뭐 괜찮지만. 프로시져나 프로그램 내에서 Temp 테이블을 사용하는것은 결코 좋은 방법이 아니다. 2. 다이나믹 쿼리의 제한 - 차라리 조회 조건에서 select 을 전부 써버리는 것이 더 났습니다. -> 이 부분은 노코멘트..

컴퓨터일반/DB 2005.10.04

웹서버와 파일서버가 따로 있을경우 파일 업로드에 대해서

파일 업로드(다운로드) 작업을 수행하는 웹서버와, 업로드한 파일이 저장되는(다운로드할 파일이 저장되어 있는) 파일서버를 별개의 컴퓨터로 두고자 할 경우에는, 다음과 같은 네트워크 경로로의 액세스를 위한 추가적인 설정절차가 필요하다. 다음은 웹서버와 파일서버를 따로 두는 경우의 설정 절차이다. (Windows 2000 기준) 1. 익명 액세스를 위한 새로운 인터넷게스트계정 생성 1) 웹서버 컴퓨터에 임의의 로컬계정을 하나 만들고, 암호도 입력해 준다. 2) 이 계정에 대해 "암호 변경할 수 없음"과 "암호 사용 기간 제한 없음"이라는 두 개의 항목에만 체크표시를 해 주고, "다음 로그온할 때 반드시 암호 변경", "계정 사용 안함", "계정 잠겨 있음" 항목에 대해서는 체크표시를 없애 준다. 3) 만들어진..