반응형

컴퓨터활용 238

유틸리티 함수 템플릿 기능 활용하기

사용방법 프로프레임 스튜디오는 이클립스 기반으로 만들어 졌다. 따라서 이클립스의 기능을 잘 활용하면 편하게 코딩할 수 있다. 예를 들어서 코드 편집창에서 아래와 같이 pfmstr까지만 입력하고 Ctrl-Space 를 누를 경우 미리 등록되어 있는 예약어 중에서 pfmstr 로 시작되는 것을 검색하여 팝업으로 보여주는 기능이 있다. 특히 프로프레임의 경우 유틸리티 함수도 많고 이름도 길어서 일일이 외우기 어렵기 때문에 이렇게 찾아서 사용하면 개발에 많은 도움이 된다. 참고로 프로프레임의 제공되는 유틸리티는 크게 pfmStr~, pfmDate~, pfmNum~, pfmIs~의 유형으로 크게 분류된다. 등록하기 이렇게 사용하기 위해서는 유틸리티 함수를 미리 등록을 해 놓아야 한다. 이것은 프로프레임 스튜디오의..

PL SQL 문법 정리

SQL문 SELECT DML(데이터 조작어) INSERT, UPDATE, DELETE DDL(데이터 정의어) IMPLICIT COMMIT CREATE, ALTER, DROP, RENAME, TRUNCATE TCL(트랜잭션 제어) COMMIT, ROLLBACK, SAVEPOINT DCL(데이터 제어어)IMPLICIT COMMIT GRANT, REVOKE [1] Writing Basic SQL Statements 1. SELECT 기본 문장(선택, 프로잭션, 조인) SELECT [DISTINCT] { *, column [alias], ... } FROM table ; 2. SELECT 예제 SELECT * FROM dept ; SELECT deptno, loc FROM dept ; SELECT ename, ..

괄호 열고 닫기 짝이 안 맞을 때 나는 오류

컴파일 하다가 이런 오류를 만났는가? 그렇다면 고생 좀 하겠네요. BASENAME = [sfee2106a] rm -f core sfee2106a.o libsfee2106a.so cc -DORACLE -qlanglvl=extc99 -g -q64 -qinfo=pro -brtl -O0 -qcpluscmt -D_SM. "sfee2106a.c", line 485.13: 1506-162 (W) No definition was found for function c000_biz_main_proc. Storage class changed to extern. "sfee2106a.c", line 487.13: 1506-046 (S) Syntax error. make: 1254-004 최종 명령에서의 오류 코드는 1입니다. ..

프로프레임 PFM_TRY 에 대한 이해

PFM_TRY 는 프로프레임에서 가장 빈번히 사용되므로 정확한 이해가 필요하다. PFM_TRY 는 원래 프로프레임 1.0 에서는 SYS_TRY 였고 2.0 에서는 PSC_TRY 였다. 오늘의 PFM_TRY 를 사용하게 된 것은 신한은행 차세대 프로젝트를 하던 3.0 부터 이다. 자바와 같은 OOP 객체지향 프로그램에서 흔히 사용하는 try .. catch 를 흉내낸 것이지만 나름대로 훌륭한 역할을 해 내고 있다. PFM_TRY 는 pfmLogMacro.h 에 다음과 같이 정의되어 있다. 1234567891011121314151617181920212223242526272829#ifndef _PFM_NO_TRYLOG#define PFM_TRY( _Ftn ) \ do { \ struct timeval s_ti..

프로프레임 소스 문자열 변환 프로그램

단어 변환 프로그램입니다. 긴 함수를 짧은 함수로 변환하는 프로그램입니다. 어젯밤에 만들었죠.. (버그 있을 수 있음 ) 프로프레임의 모든 소스는 xml 형태로 DB에 저장됩니다. 프로그램 내의 특정 문자열을 다른 것으로 바꾸기 위해서는 프로프레임 스튜디오에서 하나씩 열어서 전체바꾸기 를 일일이 수작업으로 해 줘야 합니다. 본 프로그램은 DB 에 직접 접속하여 XML 속에 있는 특정 문자열을 변경한 후 다시 UPDATE 시켜 주는 프로그램입니다. 본 프로그램은 티맥스소프트의 오은경 전임이 만든 프로그램을 약간 변형(개작) 한 것임을 밝혀 둡니다. 1. 설치 적당한 곳에 첨부의 2개 파일을 갖다 놓으세요. 자바가 실행될 수 있는 환경이 이미 되어 있어야 합니다. 돌릴려면 ojdbc14.jar 와 ConvW..

C 로 구현한 right trim function

C의 제공 함수에서는 trim 하는 함수를 제공하지 않는다. 그 이유는 로직이 너무 간단하여 누구나 필요한 사람이 구현해서 사용하면 되기 때문에 굳이 제공하지 않는듯 하다. 그렇다면 strcpy나 strlen도 마찬가지로 간단한데 왜 제공되느냐고 묻는다면 할 말 없다. char * rtrim( char *str ) { long pos = strlen(str)-1; for (; pos>=0; pos-- ) { if(str[pos] == 0x20) str[pos] = 0x00; else return str; } return str; } 이것을 매크로로 만들어 보면 #define RTRIM(_str) do { \ long pos = strlen(_str)-1; \ \ for (; pos>=0; pos-- ) ..

프로프레임의 가변배열(Varray) 사용

프로매퍼에서 제공하는 강력한 기능 중에 하나가 가변배열이다. 이 가변 배열용 api를 이용하면 포인터라는 어려운 개념을 알지 못하는 사람도 충분히 메모리를 동적 할당(alloc)할 수 있도록 해 준다. 그렇지만 아래에 기술되어 있는 내용 정도는 정확히 이해를 해 줘야 문제를 야기하지 않고 즐거운 코딩을 할 수 있다. 1. 정의 Varray 의 타입에 대하여 pfmVarray.h 속에 다음과 같이 미리 선언되어 있다. #define pfmVarray(type) \ struct { \ long size; \ long count; \ type *data; \ } 따라서 가변배열 변수를 선언할 때는 다음과 같이 한다. pfmVarray(sfee2105a_in_sub01) grid_id; 여기서 sfee2105a..

외부 메일 접속하기 꼼수

내가 소속된 프로젝트에서는 URL 이름에 mail 이 들어가면 아래와 같이 차단하여 접속을 하지 못 하게 하고 있다. 그러나 프로젝트 들어오기 전까지 활발하게 네이버 메일을 이용하였던 본인에게는 치명적이다. 메일이 도착된 것을 퇴근후 집에 가서야 볼 수 있기 때문이다. 그래서 난 hosts파일을 편집하기로 하였다. 우선 ping 을 쳐서 해당 ip를 알아낸 다음에 c:\windows\system32\drivers\etc 아래에 있는 hosts 파일에 해당 서버의 ip를 등록한다. 이 때 원래 도메인 명은 mail.naver.com 이지만 ma.naver.com 과 같이 mail 이란 이름이 안 들어가도록 등록한다. 그런 다음에 www.naver.com 으로 접속하여 우선 로그인한다. 프로젝트 보안 담당자..

code inspection

여신 김만기 차장님의 요청에 의하여 오전에 오전임과 같이 만들었으니 향후 검토하신 후에 compile shell 뒤에 append 하여 모든 프로그램 컴파일 할 때 warning 을 보여 준다면 어떨까 검토해 주신 후 적용해 주세요. 프로그램명 : inspect_code 적용룰 : PFM_TRYNJ 절 뒤에 SET_ERR 을 안 한 경우를 찾아 줌 사용예 : 소스가 존재하는 디렉토리로 이동해서 inspect_code 를 실행합니다. nbtap01#/nbsdev/compile/NLDS/src/service>inspect_code NLDS1001I0 "NLDS1001I0.c", line 475: warning #9999: not found SET_ERR after PFM_TRYNJ "NLDS1001I0.c"..

반응형