분류 전체보기
프록시 서버(proxy server)
프록시 서버(proxy server) - 프록시 서버는 방화벽과 관련이 있다. 방화벽이 로컬 네트워크 안의 호스트가 외부 세상으로 직접 연결 하는 것을 금지한다면, 프록시 서버는 내부와 외부사이의 중계자 역할을 한다. - 방화벽에 의해 외부 네트워크로 연결이 금지된 장비는 외부에 있는 원격 웹 서버에 직접 요청을 하는 대신 로컬 프록시 서버로 부터 웹 페이지를 요청할 수 있다. ( 프록시 서버는 해당 요청을 외부의 원격 웹 서버에 요청하고, 요청을 보낸 로컬 장비로 응답을 전달한다.) 단점- 프록시 서버 사용 시 가장 큰 문제점은 모든 프로토콜이 아닌 일부 프로토콜만 지원한다는 것이다. 일반적으로 HTTP, FTP, SMTP 같은 TCP 연결 기반의 프로토콜들을 처리할 수 있지만 최신 프로토콜은 지원하지..
Mysql 문자열 연산
1. 문자열 결합 concat 2. 문자열에서 특정부분 자르는 substring 3. 좌우 공백을 제거해주는 trim 4. 문자열 길이 반환 character_length 5. 바이트 반환하는 octet_length -> 바이트를 반환하는 octet_length는 현재 캐릭터 셋에 따라 반환되는 값이 다르다. -> EUC-KR은 한글이 2바이트 UTF-8은 3바이트
RCP ActivePage Hide and Show
IWorkbenchPage activePage = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();IViewReference viewReference = activePage.findViewReference(ContentTreeViewer.ID);if (viewReference == null) {try {activePage.showView(ContentTreeViewer.ID);} catch (PartInitException e) {LOGGER.error("OpenSlipView Error : " , e);}} else {activePage.hideView(viewReference);}
RCP ProgressDialog를 이용한 TableViewer 데이터 엑셀로 내보내기
public void processExcelExport(ExcelExportActionNotification object) { Display.getDefault().syncExec(new Runnable() { public void run() { try { FileDialog fd = new FileDialog(object.getTable().getControl().getShell(), SWT.SAVE); fd.setText("Save"); fd.setFilterPath("C:/"); String[] filterExt = {"*.xls", "*.*" }; fd.setFilterExtensions(filterExt); String path = fd.open(); if (path == null || path..
JFACE new Window의 다이얼로그 생성
독립창으로 다이얼로그 생성새로운 독립창에 dialog를 생성하고 싶은 경우에는 다음과 같이 설정한다. 예를들어 a 라는 다이얼로그를 생성할 때, parent Shell을 null 값을 전달하며 새로운 창에 다이얼로그가 생성된다. Dialog a = new Dialog(null);a.open(); 생성된 다이얼로그는 독립된 task bar에 아이콘을 가지게 된다. 다른 창보다 강제로 상위에 표시a.forceActive();a.forceFocus(); blocking 해제 방법a.setBlockOnOpen(false);
RCP workbench 글로벌 후크
글로벌 application의 키, 마우스 이벤트를 감지하기 위해서는 워크벤치에서 activeWorkbenchWindow의 shell에서 getdisplay().addfilter를 통해 등록을 해줘야 한다. addFilter(swt.keydown, new listener() {Public void handle(event e) { }} Shell에 있는 filter에 있는 리스너는 다른 위젯 리스너에 도달하기전에 모든 이벤트를 먼저 필터한다. 그렇기 때문에 해당 이벤트 필터는 다른 이벤트를 못가게 막을 수도 있고 이벤트 사이에 필드를 지정할 수 있다. 그래서 event 필터는 강력하지만 위험하다. 그래서 잘 하지않는다.
shell Listener
shell에 리스너를 추가하여 shell이 최소화 되었을 때, 다시 최대화 되었을 때, 활성화 됬을 때 종료됬을 때 등 shell 자체의 이벤트에 대한 리스너를 설정할 수 있다. shell.addShellListener(new ShellListener() { public void shellActivated(ShellEvent event) { System.out.println("activate"); } public void shellClosed(ShellEvent arg0) { System.out.println("close"); } public void shellDeactivated(ShellEvent arg0) { } public void shellDeiconified(ShellEvent arg0) { ..
RCP ActivePage에 특정 View 열기
RCP ActivePage에 특정 View 열기 IWorkbenchPage activePage = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();IViewReference viewReference = activePage.findViewReference(SlipView.ID); if (viewReference == null) { try { activePage.showView(SlipView.ID); } catch (PartInitException e) { LOGGER.error("OpenSlipView Error : " , e); }}