이번 학기에 듣는 전공 과목 패턴중심사고와프로그래밍의 매주 과제 중에 수업 내용을 보고서로 적는 것이 있다.별거 없긴 하지만 과제 하는 김에 블로그에도 남겨야지..
과학자연과학사회과학공학생각SW Engineer“과학은 사물의 구조, 성질, 법칙 등을 관찰 가능한 방법으로 얻어진 체계적이고 이론적인 지식의 체계를 말한다.” 위키백과오늘날 자연과학의 발전을 체감할 수 있는 분야 중 하나는 우주이다. 과거에는 상상도 못하던 일들이 자연
확정적 결과복잡도데이터 구조a. 포함 계층 구조결론프로그램을 설계할 때 가장 중요한 것은 불확실성이 생기면 안된다는 것이다. 알고리즘을 설계할 때도 마찬가지이다. 대표적인 불확실성으로 cycle(순환)을 예로 들 수 있다. 만약 cycle(순환)이 없으면 확정적 결과는
JDKa. LayoutManager프로그램을 설계할 때는 구조가 필요하다. 처음부터 끝까지 전부 새로 만드는 것이 아니라, 기존의 클래스를 이용하여 새로운 클래스를 생성해야한다. 이것을 상속관계(inheritance hierarchy)라고 하는데 기존의 코드를 최대한
특화구성실체화LayoutManager구조적인 확장을 의미하며 공통적인 속성을 상속 받아서 차이점을 이용하여 특화시킨다. 예를 들면 종류를 예시로 들 수 있다. 자동차는 타입의 공통적인 속성을 상속 받아서 트럭, 택시, 승용차 등의 종류로 나눌 수 있다. 이처럼 타입(클
Aggregation HierarchySpecialization Hierarchya. Overriding / PolymorphismJDKa. Composite Pattern (Component / Container)b. Graphics (Graphics Transfor
Event-Driven ProgrammingMouse Eventa. Basic Eventb. Applied EventMouse Handler프로그램의 제어 주도권이 프로그램에 있지 않고 사용자가 발생하는 이벤트에 의해 제어되는 것을 말한다. 강의에서 만들어가고 있는 G
하 ••• 어이가 없네 ••• 졸려 죽겠네툴바에서 선택하는 라디오버튼 값 데이터를 그대로 저장하고 패널로 넘겨준다는 것을 머리로는 이해했지만 구현 방법이 한번에 떠오르지 않았다.새벽 12시부터 2시까지 2시간 동안 책상에 앉아서 손톱을 와그작 물어뜯으면서 .. 아무리
데이터 단위비트와 바이트1,024배씩 커지는 바이트의 단위컴퓨터는 디지털 형식의 전기 신호를 사용하기 때문에 모든 정보를 ‘0’과 ‘1’로만 표현한다. 이를 비트(bit)라고 한다. 이진 숫자라는 뜻을 가진 ‘binary digit’의 줄임말이다. 비트는 컴퓨터가 처리
다형성(polymorphism)다형성이란 하나의 객체가 여러 가지 타입을 가질 수 있는 것을 의미한다. 자바에서는 이러한 다형성을 부모 클래스 타입의 참조 변수로 자식 클래스 타입의 인스턴스를 참조할 수 있도록 하여 구현하고 있다. (참고 : http://ww
User Interface DesignConstrainsUser Event → System Reaction유저가 발생시키는 이벤트 소스를 이벤트 타겟으로 받아오고 제약조건에 따라서 알맞은 리액션이 실행될 수 있도록 프로그램을 설계해야한다. Shape DrawingN P
EA State Machine프로그램을 설계할 때는 이벤트와 의미적 행위(메소드)를 분리해야 한다. 또한 이벤트와 이벤트 사이에는 항상 상태가 존재한다. 자세한 내용은 밑에 첨부한 State Machine 그림으로 보겠다.네모난 박스 3개는 상태를 가리킨다. 패널 내
그동안 썼던 보고서 몰아서 업로드하기..PolymorphismEnumeration함수형 인터페이스다형성이란 하나의 객체가 여러가지 타입을 가질 수 있는 것을 의미한다. 자바에서는 이러한 다형성을 부모 클래스 타입의 참조 변수로 자식 클래스 타입의 인스턴스를 참조할 수
프로그램을 설계할 때에는 객체지향적 구조적 이해가 가장 중요하다. 재사용이 가능한 코드를 만들어서 업무의 효율화를 실행할 수 있어야 한다. 때문에 Toolbar와 DrawingPanel 클래스의 코드를 전부 일반화 시켰다. 그리고 가변되는 코드는 전부 Constants
자바 직렬화란 자바 시스템 내부에서 사용되는 객체 또는 데이터를 외부의 자바 시스템에서도 사용할 수 있도록 바이트(byte) 형태로 데이터를 변환하는 기술과 바이트로 변환된 데이터를 다시 객체로 변환하는 기술(역직렬화)을 아울러서 이야기한다.현재 패널에 저장되는 sha
모든 도형에는 anchor가 존재한다. 도형에 외접하는 사각형에 앵커점들을 그린다. 각 shape들에서 getBound 메소드를 활용해서 외접하는 사각형을 알려주고 Anchors 클래스에서 받은 사각형을 바탕으로 앵커를 그리도록 프로그램을 설계했다. 모든 도형의 anc
비례를 유지하는 s-기하학적 함수그래픽스에서 중요한 역할을 담당하는 수학적 변환방정식일차변환으로써, translation, scaling, rotation, shearing등과 같은 변환직선을 직선으로 대응시킨다. 즉, 직선을 보존한다.직선 위 세 점의 상대적 위치를
move, resize, draw 등의 작업은 prepare, keep, finish로 단계가 모두 동일하게 진행된다. 때문에 다형성 객체로 생각을 해야한다. → n개의 도형에 일관되게 들어가는 메소드를 일반화시키는 것이다.Transform 클래스를 만들고 그것을 상속
모델-뷰-컨트롤러(model–view–controller, MVC)는 소프트웨어 공학에서 사용되는 소프트웨어 디자인 패턴이다. MVC에서 모델은 애플리케이션의 정보(데이터)를 나타내며, 뷰는 사용자 인터페이스 요소를 나타내고, 컨트롤러는 데이터와 비즈니스 로직 사이의
더블 버퍼링은 그래픽 객체에 이미지를 그릴 때 사용되는 기법이다.버퍼란 어떤 장치에서 다른 장치로 데이터를 송신할 때 일어나는 시간의 차이나 데이터 흐름의 속도 차이를 조정하기 위해 일시적으로 데이터를 기억시키는 장치이다.싱글버퍼(single buffer)의 경우 채널
고객이 경제적 가치를 지불한다.요구사항 (Requirements) : 모호성사람의 머리 속에 존재하기 때문에 정리가 잘 안되어 있다.분석 (Analysis) : 정리변화할 것을 고려해서 업무를 정리하는 작업설계 (Design) : 구현 계획구현 (Implementati