본문 바로가기

분류 전체보기155

QueryPie, Cross Platform Database IDE QueryPie, Cross Platform Database IDE CHEQUER에서 현재 참여하고 있는 프로젝트 QueryPie 사이트가 오픈되고, 클로즈 베타 버전 지원을 받고 있습니다. QueryPie를 한마디로 표현하면 크로스 플랫폼 데이터베이스 툴입니다. 국내 시장뿐만 아니라 글로벌 시장에도 데이터베이스 툴은 이미 많이 존재합니다. 하지만, 이전에 만들어진 데이터베이스 툴은 한정적인 수요자(DBA)를 타겟팅을 하고 만들었습니다. 따라서 일반 사용자가 주로 사용하는 기능 범위보다 많은 기능을 제공하고 있고, 현재 트렌드와는 동떨어진 UI/UX를 가지고 있다고 생각합니다. QueryPie는 일반 사용자, 개발자, 데이터 사이언티스트, DBA 등 다양한 분야의 종사자가 데이터베이스 업무를 손쉽게 할 .. 2019. 5. 3.
TreeViewer 목록이 없을 때 확장 가능한 트리 아이콘 제거 TreeViewer에서는 기본적으로 목록이 없는 경우에도 아래 그림처럼 확장 가능한 트리 아이콘 '>'을 보여준다. 처음 트리 뷰어를 실행 시켰을 때 목록이 없는 노드의 확장 가능한 트리 아이콘을 제거하려면, TreeViewer 노드를 자동으로 확장되도록 설정하면 된다. 아래 코드를 추가하면 확장 가능하다는 표시('>')는 자식 노드가 있는 노드에서만 나타난다. treeViewer.setExpandPreCheckFilters(true); 2019. 4. 30.
백그라운드 작업과 진행 상황 보고 기능을 제공하는 Jobs API Eclipse Framework Single UI Thread Eclipse RCP 또는 Plugin은 사용자 인터페이스를 하나의 스레드로 처리한다. 이 스레드를 메인 스레드, UI 스레드라고 부른다. 해당 스레드에서 오래 걸리는 작업(네트워크, 파일 처리, 데이터베이스)을 수행하면, 사용자 인터페이스와 관련된 다른 처리가 차단 되는 현상이 발생하므로 주의해야 한다. 이 현상은 사용자가 느끼기에는 답답하고 애플리케이션 멈춘것처럼 보이기 때문에 피해야 하는 안티패턴이다. 따라서 오래 걸리는 작업은 백그라운드 스레드로 실행해서 UI가 멈추지 않도록 해야 한다. Java 라이브러리에 있는 Thread, Timer를 이용해서 백그라운드 작업을 수행할 수 있지만, Eclipse Framework에서는 Jobs A.. 2019. 4. 30.
Eclipse 4 파트에 팝업 및 뷰 메뉴 생성 Eclipse 3.x에서의 뷰(View) 또는 에디터 파트(EditorPart)는 Eclipse 4에서 파트(Part)와 동일한 의미로 사용된다. 이전에 커맨드 나 핸들러를 정의 했던 것처럼, 팝업 및 뷰 메뉴 관련된 정의를 Application.e4xmi 파일에 선언한다. 팝업 및 뷰 메뉴는 특정 파트와 관련되어 있다. 팝업 및 뷰 메뉴를 추가 하고자 하는 파트를 선택하고, 오른쪽 클릭을 하면 아래 이미지처럼 표시된다. 그런 다음 어떤 메뉴를 선택할지 클릭한다. Eclipse 4 파트에 팝업 메뉴 추가 팝업 메뉴에 대해서 먼저 알아보자. 다른 메뉴도 비슷한 방법으로 추가하기 때문에 참고하면 된다. Popup Menu 아래에 Handled Menu Item을 추가한다. 그리고 ID, Label, Comm.. 2019. 4. 30.
Atom에 Hydrogen 패키지 설치 Atom에 Hydrogen 설치 edwith 사이트에서 최성철 교수의 Python 수업 강의를 듣는데 Atom 에디터에서 Python 코드를 실행하는 방법이 신기해서 찾아봤다. Hydrogen Hydrogen은 Atom Package 중 하나이다. Hydrogen은 Jupyter Kernel을 인식해서 Python 코드 실행을 한다. 따라서 Jupyter Kernel이 설치가 되어 있지 않으면, 오류가 발생한다. 참고자료 Atom 에디터 설치 Atom hydrogen 설치 및 사용법 2019. 4. 30.
다른 스레드의 종료를 기다렸다가 수행하는 방법, Thread.join() 주로 스레드는 다른 스레드와 독립적으로 실행하도록 한다. 그렇지만 특정 스레드가 종료될 때까지 기다렸다가 실행해야 하는 경우도 있을 수 있다. 예를 들어, A, B 두 개의 스레드가 있다. A 스레드는 B 스레드에서 실행한 결과값을 이용해야 한다고 가정하자. 이러한 경우에는 Thread 클래스의 join() 메서드를 사용하면 된다. ThreadA가 ThreadB의 join() 메서드를 호출하면, ThreadA는 ThreadB 작업이 종료할 때까지 일시 정지 상태가 된다. 작업이 종료되고 나면 ThreadA는 일시 정지 상태에서 실행 상태가 되서 다음 코드를 실행하게 된다. ThreadA는 ThreadB 작업을 실행한다. ThreadA는 ThreadB.join() 메서드를 호출한다. ThreadA는 일시 .. 2019. 4. 29.