2008. 11. 21. 13:43

[Oracle] 프로시저나 펑션내용 검색하기

반응형

프로시저나 펑션을 만들다 보면 여러 소스코드 파일을 검색하듯이 여러 프로시저나 펑션의 내용을 검색하고자 할 경우가 있습니다.

 

결론부터 말하자면 USER_SOURCE 를 이용하면 됩니다.

SELECT *
FROM   USER_SOURCE
WHERE  TYPE = 'PROCEDURE'
AND    text like  '%hello%'
ORDER BY name, line

프로시저에서 "hello"라는 글자가 들어간 부분을 찾는다는 의미입니다.

(TYPE = 'FUNCTION" 으로 하면 펑션에서 검색하게 됩니다.)

 

아래는 USER_SOURCE뷰의 스크립트입니다. (Oracle8i 기준입니다.)

CREATE OR REPLACE VIEW USER_SOURCE

(NAME, TYPE, LINE, TEXT)
AS
select o.name,
decode(o.type#, 7, 'PROCEDURE', 8, 'FUNCTION', 9, 'PACKAGE',
               11, 'PACKAGE BODY', 13, 'TYPE', 14, 'TYPE BODY',
               'UNDEFINED'),
s.line, s.source
from sys.obj$ o, sys.source$ s
where o.obj# = s.obj#
  and o.type# in (7, 8, 9, 11, 13, 14)
  and o.owner# = userenv('SCHEMAID')
union
select o.name, 'JAVA SOURCE', s.joxftlno, s.joxftsrc
from sys.obj$ o, x$joxfs s
where o.obj# = s.joxftobn
  and o.type# = 28
  and o.owner# = userenv('SCHEMAID')
/



2008. 11. 19. 13:31

Eclipse 단축키

반응형

개인적으로 유용하게 사용하고 있는 단축키들을 정리해봅니다.

우선 편집창에서 Ctrl + Shift + L을 누르면 주요 단축키 리스트를 볼 수 있습니다.

 

창 관련

  • Ctrl + M 전체화면모드 - Package Explorer, Console, Outline 등 View들을 다 없애고 소스 창만 보고 싶을때 사용
  • Ctrl + F7 View 간 이동 - 소스수정하다가 마우스로 Package Explorer 클릭하기 귀찮을땐 그냥 Ctrl + F7 로 이동
  • F12 - 다른 뷰로 이동했을때 Editor로 빠르게 이동시 사용
  • Ctrl + Page Up/Page Down - 편집창 탭간 이동

 

편집관련

  • Alt + Up/Down Arrow - 현재 커서 기준으로 방향키방향의 코드 한줄과 Switch
  • Ctrl + Up/Down Arrow - 현재 커서 기준으로 방향키방향으로 소스코드 복제
  • Ctrl + Shift + X - 대문자로
  • Ctrl + Shift + Y - 소문자로
  • Ctrl + Shift + M - 라이브러리 Import안했을때 자동으로 Import해줌

 

편집창 내에서 이동

  • Ctrl + Shift + Up/Down Arrow - 다음 Member로 이동. 멤버변수, 멤버함수 단위로 이동함. 함수단위 이동시 편리
  • Ctrl + L - Go To Line 입력한 줄번호로 바로 이동

 

편집창 내 검색

  • Ctrl + (Shift) + K - Ctrl + F 로 검색했던 내용이나 블록 지정된 내용 기준으로 아래로(위로) 검색
  • Ctrl + J - Ctrl + F 까지 띄울 필요 없이 Ctrl + J 누른후 찾고자 하는 단어를 하나하나 입력하며 바로바로 찾을 수 있음. 찾은 후 Ctrl + (Shift) + K 이용 가능

     

편집내용 정렬

  • Ctrl + I - 블록 지정후 Ctrl + I 를 누르면 Tab 정렬됨. Visual Studio 의 Alt + F8, Ctrl + K, F, VI의 '=' 과 같음
  • Ctrl + Shift + F - 자동 Formatting. Preferences에서 Java - Code Style - Formatter 에 지정된 방식대로 소스코드를 정렬시킴. 팀 프로젝트시 Coding Style 표준화에 유용합니다.

이 글은 스프링노트에서 작성되었습니다.

2008. 11. 18. 16:26

[C#] 리스트뷰 속도 향상

반응형
ListView에서 add를 많이 하다 보면 속도가 느려지기 마련입니다.
아무런 처리를 하지 않고 그냥 add를 하면 하나 추가하고 그리고 하나 추가하고 그리다 보면 느려지겠죠;
결론부터 말하자면

listView.BeginUpdate();

// listView.Items.Add 처리

listView.EndUpdate();

BeginUpdate를 하게 되면 add가 되어도 목록에 적용이 되지 않습니다.

ps.
처음에는 그냥 배열에 있는 내용 한번에 빵~하고 넣어주는거 있나 찾아 봤는데 못찾았고
다음에 사용한 방법은 Hide() 후 Show() 였습니다. 이 방법도 속도는 빨랐지만 add 추가 작업하기 전에 listView가 통째로 사라져 버리는 문제가 있습니다 -_-;