CSE
-
[Python] 파이썬 입문 5(반복문, 함수, 생성기)CSE/Python 2015. 12. 18. 13:27
1. 파이썬 입문 1-1. 반복과 루프 가장 널리 사용되는 루프 관련 구조물은 for문입니다. for문은 항목들의 모임에 대해 반복 수행하는데 사용됩니다. 반복은 파이썬에서 가장 풍부한 기능을 제공하는 기능 중 하나입니다. 가장 널리 사용되는 반복의 형태는 간단히 문자열, 리스트, 튜플같은 순서열의 모든 구성 요소에 대해 루프를 도는 것입니다. 다음은 한 예입니다. 123for n in [1, 2, 3, 4, 5, 6, 7, 8, 9]: print "2 to the %d power is %d" % (n, 2**n) Colored by Color Scriptercs 앞의 예에서, 변수 n에는 각 반복마다 리스트 [1,2,3,4,...,9]에 있는 다음 항목이 할당됩니다. 정수 범위에 대해 루프를 도는 일은..
-
[Python] 파이썬 입문 4(튜플, 집합, 사전)CSE/Python 2015. 12. 18. 11:49
1. 파이썬 입문 1-1. 튜플(Tuple) 튜플을 사용하면 값들을 단일 개체에 채워 넣음으로써 간단한 데이터 구조를 생성할 수 있습니다. 다음과 같이 값들을 괄호로 둘러싸서 생성합니다. 12stock = ('Geek', 11, 213.05)person = (firstname, lastname, address)cs 특수한 구문을 사용하여 0 개와 1 개의 요소를 가지는 튜플도 정의할 수 있습니다. 1234x = () y = (item1, )z = item, cs 리스트처럼 튜플의 값도 숫자 색인으로 추출할 수 있습니다. 하지만 다음과 같이 튜플을 변수들로 풀어헤치는 방식이 더 자주 쓰입니다. 12name, shares, price = stockfirstname, lastname, address = per..
-
[Java] JavaFX - 컨테이너(Container)CSE/Java 2015. 12. 14. 17:44
JavaFX는 여러 절로 구성되어 있습니다. IntroJavaFX 레이아웃(Layout)JavaFX 컨테이너(Container)JavaFX 이벤트 처리 & 속성 감시, 바인딩JavaFX 컨트롤(Control)JavaFX 메뉴바와 툴바 & 다이얼로그JavaFX 스레드 동시성 JavaFX 컨테이너(Container) 레이아웃을 작성할 때 컨트롤들을 쉽게 배치할 수 있도록 도와주는 클래스가 컨테이너입니다. javafx.scene.layout 패키지에는 다양한 컨테이너 클래스들이 존재합니다. AnchorPane 컨테이너 AnchorPane 컨테이너는 좌표를 이용하여 AnchorPane의 좌상단(0, 0)을 기준으로 컨트롤을 배치합니다. 컨트롤 좌표는 좌상단(layoutX, layoutY) 값을 말하는데 (0, ..
-
[Java] JavaFX - 레이아웃(Layout)CSE/Java 2015. 12. 14. 14:33
JavaFX는 여러 절로 구성되어 있습니다. Intro JavaFX 레이아웃(Layout) JavaFX 컨테이너(Container) JavaFX 이벤트 처리 & 속성 감시, 바인딩 JavaFX 컨트롤(Control) JavaFX 메뉴바와 툴바 & 다이얼로그 JavaFX 스레드 동시성 JavaFX 레이아웃(Layout) 장면에는 다양한 컨트롤이 포함되는데 이들을 배치하는 것이 레이아웃(Layout)입니다. 레이아웃을 작성하는 방법은 두 가지로 나뉩니다. - 코드로 작성하는 프로그램적 레이아웃 - FXML로 작성하는 선언적 레이아웃 프로그램적 레이아웃 자바코드로 UI 컨트롤을 배치하는 것을 말합니다. 자바 코드에 익숙한 개발자들이 선호하는 방식으로 컨트롤 배치, 스타일 지정, 이벤트 처리 등을 모두 자바 코..
-
[Java] JavaFX - IntroCSE/Java 2015. 12. 14. 12:34
JavaFX는 여러 절로 구성되어 있습니다. IntroJavaFX 레이아웃(Layout)JavaFX 컨테이너(Container)JavaFX 이벤트 처리 & 속성 감시, 바인딩JavaFX 컨트롤(Control)JavaFX 메뉴바와 툴바 & 다이얼로그JavaFX 스레드 동시성 Intro JavaFX는 크로스 플랫폼(Cross-Platform)에서 실행하는 리치 클라이언트 어플리케이션(Rich Client Application)을 개발하기 위한 그래픽과 미디어 패키지를 말합니다. JavaFX는 Java 7부터 JDK에 포함되어 있기 때문에 별도의 SDK 설치 없이도 사용 할 수 있습니다. JavaFX는 Swing보다 더 가벼워졌고 더 강력해졌기 때문에 Swing을 대체하는 새로운 라이브러리로 자리매김을 하고 ..
-
[Java] 멀티 스레드 - 스레드풀(ThreadPool)CSE/Java 2015. 12. 13. 14:27
멀티 스레드는 여러 절로 구성되어 있습니다. Intro작업스레드스레드 우선순위 & 동기화 메소드와 동기화 블록스레드 상태 & 상태 제어스레드 상태 제어 2데몬 스레드 & 스레드 그룹스레드 풀 스레드 풀 병렬 작업 처리가 많아지면 스레드 개수가 증가되고 그에 따른 스레드 생성과 스케줄링으로 인해 CPU가 바빠져 메모리 사용량이 늘어납니다. 따라서 어플리케이션의 성능이 저하됩니다. 갑작스런 병렬작업의 극대화로 인한 스레드 증폭을 막으려면 스레드 풀(Thread Pool)을 사용해야 합니다. 스레드 풀은 작업 처리에 사용되는 스레드를 제한된 개수만큼 정해 놓고 작업 큐(Queue)에 들어오는 작업들을 하나씩 스레드가 맡아 처리합니다. 작업 처리가 끝난 스레드는 다시 작업 큐에서 새로운 작업을 가져와 처리합니다..
-
[Java] 멀티 스레드 - 데몬 스레드 & 스레드 그룹CSE/Java 2015. 12. 12. 20:25
멀티 스레드는 여러 절로 구성되어 있습니다. Intro작업스레드스레드 우선순위 & 동기화 메소드와 동기화 블록스레드 상태 & 상태 제어스레드 상태 제어 2데몬 스레드 & 스레드 그룹스레드 풀 데몬 스레드 데몬(daemon) 스레드는 주 스레드의 작업을 돕는 보조적인 역할을 하는 스레드입니다. 주 스레드가 종료되면 데몬 스레드는 강제적으로 종료되는데, 그 이유는 주 스레드의 보조 역할을 수행하므로 주 스레드가 종료되면 데몬 스레드의 존재 의미가 없어지기 때문입니다. 스레드를 데몬으로 만들기 위해서는 주 스레드가 데몬이 될 스레드의 setDaemon(true)을 호출해주면 됩니다. 아래 코드를 보면 메인 스레드가 주 스레드가 되고 AutoSaveThread가 데몬 스레드가 됩니다. 12345678public..
-
[Java] 멀티 스레드 - 상태 제어CSE/Java 2015. 12. 12. 18:55
멀티 스레드는 여러 절로 구성되어 있습니다. Intro작업스레드스레드 우선순위 & 동기화 메소드와 동기화 블록스레드 상태 & 상태 제어스레드 상태 제어 2데몬 스레드 & 스레드 그룹스레드 풀 상태 제어 스레드 간 협업(wait(), notify(), notifyAll()) 경우에 따라서는 두 개의 스레드를 교대로 번갈아가며 실행해야 할 경우가 있습니다. 정확한 교대작업이 필요할 경우, 자신의 작업이 끝나면 상대방 스레드를 일시 정지 상태에서 풀어주고, 자신은 일시 정지 상태로 만드는 것입니다. 이 방법의 핵심은 공유 객체에 있습니다. 공유 객체는 두 스레드가 작업할 내용을 각각 동기화 메소드로 구분해 놓습니다. 한 스레드가 작업을 완료하면 notify() 메소드로 풀어주고, 자신은 wait() 메소드를 ..