software
-
시퀀스 다이어그램 [Sequence Diagram]Software/UML 2018. 9. 10. 23:04
Sequence Diagram 이란? 문제 해결을 위한 객체를 정의하고 객체간의 상호작용 메시지 시퀀스를 시간의 흐름에 따라 나타내는 다이어그램(Diagram) 구성 요소 - 활성 객체 시스템의 행위자 혹은 시스템 내의 유효한 객체 라이프라인(Life line)을 가진다. 라이프라인 라이프라인은 상호작용에 참여하는 오브젝트를 의미 그림 1. Object와 Life line - 메시지 (Message) 서로 다른 객체간의 상호작용 혹은 의사소통 통신을 정의하는 요소. 하나의 객체 라이프라인으로 부터 다른 객체 라이프라인까지 선+화살표로 표시되며 메시지는 그 선의 위에 표시 그림 2. 메시지 (Message) 메시지 유형 유형의미동기 메시지(Synchronous message)메시지 전송 객체가 계속하기 전..
-
[ImageView] ScaleType: Matrix (예제)Software/Android : 안드로이드 2018. 8. 20. 23:41
예제: 이제 실제 코드를 통해서 Matrix의 Scalling, Rotation, Translation 등을 살펴보도록 하자. 예제에 앞서 일반적으로 Scaling -> Rotation -> Translation 순으로 연산 한다는 것을 기억하자. 연산의 순서가 달라지면 실제 연산 결과 값이 달라 질수 있기에 연산 순서에 꼭 신경 쓰도록 하자. 목표 300 * 200 이미지를 3배로 Scaling하고 90도로 회전 시킨 후 Center crop하여 500 * 500 ImageView에 보이도록 한다. scaleType 설정 Layout xml에서 ImageView에서 scaleType을 matrix로 설정. 이 경우 ImageView의 사이즈 보다 Image의 사이즈가 작기 때문에 ImageView의 하..
-
[ImageView] ScaleType: Matrix (행렬)Software/Android : 안드로이드 2018. 8. 14. 01:25
Android에서 ImageView는 해당 View의 이미지가 어떤 형태로 어떻게 배치될 것인 지를 ScaleType을 통해 설정할 수 있다. ScaleType은 아래와 같이 총 8가지가 있고 xml의 "scaleType" attribute로 설정하거나 Code level에서 ImageView의 setScaleType(ImageView.ScaleType scaleType)을 통해 설정 가능 하다. ImageView.ScaleType Values CENTER Center the image in the view, but perform no scaling. CENTER_CROP Scale the image uniformly (maintain the image's aspect ratio) so that both..
-
Class Diagram (클래스 다이어그램) - BasicSoftware/UML 2018. 7. 31. 00:32
Class Diagram은 UML의 구조 다이어그램으로서 클래스 내부 구성 요소 및 클래스 간의 관계를 도식화하여 시스템의 특정 모듈이나 일부 또는 전체 구조를 나타낸다. 1. 목적 개념 기술 Class Diagram을 통해 문제 도메인의 구조를 나타낼 수 있다. 이 때의 Diagram은 실제 사물 (Object) 혹은 개념 (추상적 개념 포함) 을 나타낸다. 그렇기에 이렇게 만들어진 Diagram은 실제로 구현될 소스코드와는 다를 수 있으며 그 의미나 해석도 경우에 따라 달라 질 수 있다. 설계(명세) / 구현 실제 소프트웨어의 설계 혹은 구현을 위한 용도로 사용된다. Class Diagram은 앞으로 구현 할 혹은 구현된 실제 클래스를 의미하므로 소스코드와의 관계가 매우 깊으며 Class Diagra..
-
Use Case DiagramSoftware/UML 2018. 7. 10. 01:05
Actor (행위자) Actor란 시스템 외부에서 시스템과 상호작용하는 개체를 일컫는다. 이 시스템을 사용하는 사용자가 될 수도 있고 시스템과 상호작용하는 기계 혹은 소프트웨어가 될 수도 있다. Actor를 표시하는 형태로는 보통 Stick Man과 Decoration View이 있다. Decoration View는 사각형 틀안에 오른쪽 상단 아이콘이 포함된다. Use Case (쓰임새) Use Case는 시스템의 행위(behavior)를 정의하기 위해 사용하는 요소이다. 일반적으로 Actor와 상호작용하는 행동 혹은 행위로서 사용된다. Use Case는 Texture, Iconic 그리고 Decoration View 형태로 표현할 수 있다. Association / Directed Association..
-
[SQLite] 동적 자료형 (Dynamic Datatype)Software/SQLite 2018. 5. 20. 20:42
보통 대부분의 테이블 컬럼은 특정 자료형만 저장할 수 있는 정적 자료형(Static datatype)을 사용한다. 즉 Integer 타입으로 선언된 컬럼은 Integer 값만 저장할 수 있고 Float 타입의 값은 저장할 수 없다는 것이다. 그러나 SQLite3에서는 일반적인 다른 DBMS와는 달리 동적 자료형(Dynamic datatype)을 지원하고 있다. SQLite3에서는 테이블을 생성할 때 이전에 했던 것 같이 컬럼의 자료형을 명시하지 않아도 된다. sqlite> CREATE TABLE tblDynamic (id, value); sqlite> INSERT INTO tblDynamic VALUES (1, 'Test'); sqlite> INSERT INTO tblDynamic VALUES ('ind..
-
[SQLite] 락 매커니즘 & 트랜잭션Software/SQLite 2018. 5. 12. 23:11
SQLite3는 기본적으로 다수의 프로세스가 하나의 데이터베이스 파일을 읽고 쓸수 있다. 그런데 만약 다수의 프로세스가 동시에 동일 데이터 베이스 파일에 접속해서 읽거나 쓰게 되면 데이터베이스 무결성이 깨지게 되는 문제가 발생하게 된다. 이러한 문제가 발생하는 것을 막기 위해 데이터베이스를 읽거나 쓰기 위해서는 해당 프로세스가 적절한 잠금(LOCK)권한을 획득하도록 하고 있다. 아래는 프로세스 관점에서 바라 본 데이터베이스 파일의 잠금 상태(Locking states)들이다. 잠금 상태내용 UNLOCKED프로세스가 파일을 열기(Open)만 한 상태이며 읽기/쓰기는 하지 않은 상태 : 다른 프로세스에서 읽기/쓰기 가능 SHARED프로세스에서 파일을 읽고 있는 상태 : 다른 프로세스에서 동시 읽기 가능. 그..
-
[SQLite] 트랜잭션 (TRANSACTION)Software/SQLite 2018. 5. 9. 23:45
데이터베이스에서 트랜잭션 (Transaction)은 SQL 작업의 무결성 (Integrity)을 유지하기 위한 매우 중요한 개념이다. 즉 우리가 현실 세계에서 이루어지는 "거래" 시스템과 마찬가지로 특정 작업이 모두 수행되거나 모두 수행되지 않게 함으로써 그 무결성을 유지하는 것이다. (돈은 냈지만 물건을 받지 않았다면 거래는 성립되지 않는다. 그 반대도 마찬가지이며 거래 당사자들의 이해 조건이 모두 충족된 경우에만 거래가 성립한다.) 트랜잭션 구문 트랜잭션 구문의 시작은 BEGIN 키워드로 시작한다. BEGIN 이후 실행하고자 하는 SQL 구문들을 추가하면 되며 마지막으로 COMMIT 명령어를 통해 트랜잭션이 시작된 이후 수행된 모든 SQL 연상이 데이터베이스 파일(물리적)에 추가된다. 즉 BEGIN ..