자바개발시 모델객체를 생성할 때 setter/getter/toString/hashCode/equals 메소드를 만드는데 이럴 경우 클래스 파일의 소스가 길어지고 복잡해지는데, 이를 해결하기 위해 롬복(Lombok)을 사용하죠, 자바개발 하시는 분이라면 알아두시면 유용하리라 생각 됩니다.
리덕스를 도입할 때 주저하게 만드는 장벽들
○ 개요
몹엑스, 아폴로, 컨텍스트 API 등 리덕스를 도입하기도 전에 이미 선택적인 고민을 하게 만듭니다. 리덕스를 도입한 후에도 사가, 펜더, 옵져버블등의 미들웨어의 도입에서도 선택 장애가 발생하는 문제들이 리덕스 선택을 주저하게 만듭니다.
2020년 리덕스는 좋은 선택지 일까요? 리덕스는 언제 그리고 어떻게 사용해야 활용도를 높일 수 있을까요? 에어비앤비 결제 시스템과 3차원 시각화 시스템에 적용한 리덕스 활용 사례를 살펴보며 리덕스의 효용 가치를 같이 살펴보고자 합니다.
○ 목차
- 형상관리를 어렵게 하는 요소들
- MobX vs Redux
- 단방향 데이터 흐름(Flux)
- 미들웨어 살펴보기
- 리덕스와 미들웨어 활용 데모
- Typescript와 GraphQL 도입 사례
(오라클 SQL튜닝을 위한 쿼리문 작성법 강좌)오라클 SQL/쿼리 튜닝은 간단한 SQL구문 최적화 부터 시작을 하게되죠, SQL을 처음 사용할 때 부터 최적화 하는 방법에 주의해서 공부하시면 저절로 튜닝 됩니다. 본 PPT 강좌는 탑크리에듀(www.topcredu.co.kr), 오라클자바커뮤니티(ojc.asia)에서 제공하는 교육강좌 입니다.
자바개발시 모델객체를 생성할 때 setter/getter/toString/hashCode/equals 메소드를 만드는데 이럴 경우 클래스 파일의 소스가 길어지고 복잡해지는데, 이를 해결하기 위해 롬복(Lombok)을 사용하죠, 자바개발 하시는 분이라면 알아두시면 유용하리라 생각 됩니다.
리덕스를 도입할 때 주저하게 만드는 장벽들
○ 개요
몹엑스, 아폴로, 컨텍스트 API 등 리덕스를 도입하기도 전에 이미 선택적인 고민을 하게 만듭니다. 리덕스를 도입한 후에도 사가, 펜더, 옵져버블등의 미들웨어의 도입에서도 선택 장애가 발생하는 문제들이 리덕스 선택을 주저하게 만듭니다.
2020년 리덕스는 좋은 선택지 일까요? 리덕스는 언제 그리고 어떻게 사용해야 활용도를 높일 수 있을까요? 에어비앤비 결제 시스템과 3차원 시각화 시스템에 적용한 리덕스 활용 사례를 살펴보며 리덕스의 효용 가치를 같이 살펴보고자 합니다.
○ 목차
- 형상관리를 어렵게 하는 요소들
- MobX vs Redux
- 단방향 데이터 흐름(Flux)
- 미들웨어 살펴보기
- 리덕스와 미들웨어 활용 데모
- Typescript와 GraphQL 도입 사례
(오라클 SQL튜닝을 위한 쿼리문 작성법 강좌)오라클 SQL/쿼리 튜닝은 간단한 SQL구문 최적화 부터 시작을 하게되죠, SQL을 처음 사용할 때 부터 최적화 하는 방법에 주의해서 공부하시면 저절로 튜닝 됩니다. 본 PPT 강좌는 탑크리에듀(www.topcredu.co.kr), 오라클자바커뮤니티(ojc.asia)에서 제공하는 교육강좌 입니다.
Reading Online Persuasive Texts to Write Online Persuasive Texts: Secondary and College Students’ Reading Practices in Online Role-play Activities
Richard Beach, University of Minnesota
Paper presented at the National Reading Conference, 2009
탑크리에듀교육센터(www.topcredu.co.kr)제공
스프링프레임워크 & 마이바티스(Spring Framework, MyBatis)
20번째 자료입니다. 참고하시어 많은 도움되셨길 바랍니다.
교육 및 수강문의/기타문의사항은 홈페이지(www.topcredu.co.kr)를 통하여 하실 수 있습니다.^^
2. 목 차
SWT는?
HelloWorld 예제
WindowBuilder 소개
SWT 주요 Package
Dialog
Widget
Event
Layout
Nebulra project
팀 만들기
실습
참고자료
3. SWT는?
SWT?(StandardWidgetToolkit)
- IBM의 Stephen Northover에 의해 개발.
- SWT 버전 3.8.2(4.2.2) – 2013
- OS에 최적화 된 native library 제공
Windows, Linux, Unix, Mac OS
- www.eclipse.org/swt
4. Hello World 예제?
public static void main(String args[]) {
Display display = new Display(); // 1
Shell shell = new Shell(display); // 2
shell.setText("Hello World"); // 3
shell.setSize(300, 300); // 4
shell.open(); // 5
while (!shell.isDisposed()) // 6
if (!display.readAndDispatch()) // 7
display.sleep(); // 8
display.dispose(); // 9
}
5. Hello World 예제?
1) Display?
1) GUI 상태를 유지해주고 OS와 통신
2) Event에 대한 처리 및 관련된 곳에 전달
3) System 상수 정의.
2) Shell?
1) GUI의 최상의 윈도우
2) 시각적인 부분을 구현(Container,Widget, event
와 GUI를 연동하기 위한 연결고리)
Widget/Control/Composite
ShellClass
Display
SWTOS Class, JNI
SystemOS
6. Hello World 예제?
3) Shell의Title를 ‘HelloWorld’로 설정
4) Shell Size를 300, 300으로 설정
5) Shell을 오픈한다.
6) Shell이 종료 되지 않았으면
7) System event를 읽어서 관련 event전달
8) Event가 있을때까지 sleep
9) Display를 종료하고 프로그램을 종료한다.
9. SWT 주요 Package소개
Package명 기능
org.eclipse.swt 상수와 예외값들이 정의
SWT, SWTException, SWTError
org.eclipse.swt.widgets Wedget, Component 및 관련 Interface
org.eclipse.swt.events 이벤트, 리스너, 이벤트 타입정의
org.eclipse.swt.dnd Drag and Drop 정의
org.eclipse.swt.layout Layout 정의
org.eclipse.swt.graphics 그래픽관련 정의
org.eclipse.swt.browser
org.eclipse.swt.internal
org.eclipse.swt.opengl
** Internal package는 외부에서 클래스를 볼 수(?) 없습니다.
21. Layout 소개
RowLayout
shell.setLayout(new RowLayout());
- 주요 Property
wrap : 기본값은 true 이며, 한줄로 유지 하고 싶을 경우에 false
pack : 기본값은 true이며, 기본 contorl이 모두
justfy : 기본 값은 false이며, 부모 콘트롤 전반적으로 균등하게 배치
- RowData(Width, Height)
특정Widget의 width, height를 정의 해 줄수 있습니다.
22. Layout 소개
GridLayout
final Shell shell = new Shell();
final GridLayout gridLayout
= new GridLayout();
gridLayout.numColumns = 3;
shell.setLayout(gridLayout);
- GridData
특정Widget의 정렬방식 및 영역 채우기 등의 방법을 지정합니다.
23. Layout 소개
FormLayout
shell.setLayout (new FormLayout(););
Button button1 = new Button(shell, SWT.PUSH);
Button button2 = new Button(shell, SWT.PUSH);
Button button3 = new Button(shell, SWT.PUSH);
button1.setText("B1"); button2.setText("B2");
button3.setText("B3");
FormData data1 = new FormData();
data1.left = new FormAttachment(0,5);
data1.right = new FormAttachment(25,0);
button1.setLayoutData(data1);
FormData data2 = new FormData();
data2.left = new FormAttachment(button1,5);
data2.right = new FormAttachment(90,-5);
button2.setLayoutData(data2);
FormData data3 = new FormData();
data3.top = new FormAttachment(button2,5);
data3.bottom = new FormAttachment(100,-5);
data3.right = new FormAttachment(100,-5);
data3.left = new FormAttachment(25,5);
button3.setLayoutData(data3);