본문 바로가기

전체 글155

Eclipse RCP 윈도우 크기와 위치 저장 애플리케이션의 윈도우 크기와 위치를 사용자가 변경하여도 재실행 하게 되면 윈도우의 크기와 위치가 원래대로 돌아간다. 윈도우의 상태를 저장하고 복구하는 작업은 기본적으로 비활성화되어 있기 때문에 이를 활성화 시켜줘야 한다. ApplicationWorkbenchAdvisor 클래스에서 initialize() 메소드를 오버라이드한다. 이클립스는 아래에 있는 initialize() 메소드를 호출해서 WorkbenchAdvisor의 생명주기를 시작한다. 윈도우 상태를 저장하고 복구하는 기능을 활성화하기 위해 가장 먼저 수행될 일을 이 메소드에 작성해야 한다. @Override public void initialize(IWorkbenchConfigurer configurer) { configurer.setSaveA.. 2019. 4. 7.
SWT Text Widget Text Widget 텍스트(Text) 위젯은 텍스트 열람이나 편집 기능을 제공한다. 사용자가 위젯에서 표현할 수 있는 것보다 더 많은 텍스트를 입력하면 자동으로 스크롤이 활성화된다. 숫자(0~9)만 입력할 수 있는 Text Widget public class TextWidgetSample { public static void main(String[] args) { Display display = new Display(); Shell shell = new Shell(display); shell.setText("Text Widget"); shell.setBounds(100, 100, 300, 200); shell.setLayout(new FillLayout()); final Text text = new T.. 2019. 4. 7.
SWT Display 클래스 Display SWT 애플리케이션은 하나의 Display와 하나 이상의 Shell로 구성되어 있다. Display는 기반 플랫폼, UI 스레드, SWT 간의 연결을 표현한다. Display 생성자가 public이지만, 일반적인 상황에서는 절대 새로운 Display 인스턴스를 생성하면 안된다. Display 클래스에서 정의하는 두 개의 static 메소드는 동일한 인스턴스를 반환한다. getCurrent() : 현재 실행 중인 스레드와 연관된 Display를 반환한다. getDefault : 기본 Display를 반환한다. SWTException 위젯을 생성하거나 현재 화면에 나타난 위젯을 수정하는 SWT 메소드를 호출하는 경우에는 반드시 UI 스레드에서만 실행해야 한다. 그렇지 않을 경우에는 SWTExc.. 2019. 4. 7.
10진수를 2진수, 8진수, 16진수로 변환 소스 코드 public class Main { public static void main(String[] args) { // 10진수 int num = 120; String decimalToBinary = Integer.toBinaryString(num); String decimalToOctal = Integer.toOctalString(num); String decimalToHex = Integer.toHexString(num); System.out.println("10진수 -> 2진수, 8진수, 16진수로 변환"); System.out.println("10진수: " + num + ", 2진수: " + decimalToBinary); System.out.println("10진수: " + num + ",.. 2019. 4. 7.
char를 String으로 변환하기 Character 클래스 toString() 메서드 char ch = 'A'; String str = Character.toString(ch); String str2 = new Character(ch).toString(); Character 클래스의 toString() 메서드를 호출하면 내부적으로 String 클래스의 valueOf() 메서드를 호출한다. String 클래스 valueOf() 메서드 char ch = 'A'; char[] arrChar = new char[] {'a', 'b', 'c' }; String str = String.valueOf(ch); String str2 = String.valueOf(arrChar); String 클래스 생성자 String 클래스의 생성자를 이용하면 cha.. 2019. 4. 7.
String을 char로 변환하기 String을 char로 변환, charAt() String str = "Hello World"; // 'H' char ch = str.charAt(0); String을 char[]로 변환, toCharArray() String str = "Hello world"; // [H, e, l, l, o, , W, o, r, l, d] char[] arrChar = str.toCharArray(); 2019. 4. 7.
Python 문자열 처리 파이썬 자료구조 강의 중 문자열 강의를 듣고 정리한 내용 문자열 입력 받아서 타입과 값 출력 name = input('Enter: ') print(type(name)) print(name) 문자열 탐색 fruit = 'banana' index = 0 while index < len(fruit): letter = fruit[index] print(index, letter) index = index + 1 print("\n") for letter in fruit: print(letter) 문자열 슬라이싱 myString = "hello-python" print(myString[0:5]) 문자열 합치기 firstString = 'Hello' secondString = 'Python' print(firstStr.. 2019. 4. 7.
Effective Java 아이템 9. try-finally보다는 try-with-resources를 사용하라 Effective Java 3판을 학습하며 요약한 내용입니다. 자세한 내용은 책을 참고해주시기 바랍니다. 자바 라이브러리에는 close 메서드를 호출해서 직접 닫아줘야 하는 자원이 많다. InputStream, OutputStream, java.sql.Connection 등이 있다. 자원을 닫는 것을 잊어버리면 예상치 못한 문제로 이어질 수 있다. 아이템 8에서 살펴봤지만 finalizer, cleaner는 안전망 역할을 할뿐이지 즉시 해제 된다는 것을 보장 받지 못한다. 1. try-finally 자바 7 이전에는 try-finally을 통해 자원을 해제하는 로직을 작성했다. finally 블록은 반드시 호출되기 때문에 해당 블록에 자원을 해제하는 작업을 작성했다. 다음 코드는 try-finally를 .. 2019. 4. 6.
Effective Java 아이템 8. finalizer와 cleaner 사용을 피하라 Effective Java 3판을 학습하며 요약한 내용입니다. 자세한 내용은 책을 참고해주시기 바랍니다. 자바 객체 소멸자, finalizer와 cleaner 자바에서는 두 가지 객체 소멸자를 제공한다. 바로 finalizer와 cleaner가 있다. finalizer는 예측할 수 없으며, 상황에 따라 위험하므로 일반적으로 불필요하다. 자바 9부터는 finalizer를 deprecated API로 지정하고 대안으로 cleaner를 소개한다. cleaner는 별도의 스레드에서 동작해서 finalizer보다 덜 위험하다고 생각할 수 있다. 하지만, cleaner도 여전히 예측할 수 없으며, 느리고, 일반적으로 불필요하다. 1. finalizer 다음 이미지는 오라클 자바 9 API 문서에서 finalize .. 2019. 4. 6.