Basic(88)
-
순차 탐색(Sequential Search)
데이터를 찾아보자! 순차 탐색(Sequential Search) 이 강좌에서 알게될 '순차 탐색(Sequential Search)'는 바로 데이터가 모인 데이터 배열이 있으면 이 데이터 배열의 처음부터 끝까지 차례대로 비교하여 원하는 데이터를 찾아내는 알고리즘입니다. 이 순차 탐색은 데이터를 따로 조작할 필요가 없어 단순하지만 비효율적이라는 단점을 지니고 있습니다. 추가로 순차 탐색은 단방향으로 탐색을 수행하기 때문에 선형 탐색(Linear Search)라고 부르기도 합니다.위에서 말했듯이, 순차 탐색 알고리즘은 단순하여 구현이 정말 간단합니다. 순차 탐색은 정렬되어 있지 않은 데이터 배열에서 평균적으로 (n+1)/2번의 비교를 거치며, 최악의 경우 n번의 비교를 거칩니다. 시간 복잡도는 O(n)입니다...
2016.11.09 -
Database의 특징
Database의 특징DB의 특징으로는 실시간 접근성, 계속적 변화, 동시공유, 내용에 의한 참조 가 있습니다.- 실시간 접근성 : 쿼리에 대한 실시간 응답- 계속적 변화 : 새로운 데이터의 삽입, 삭제, 갱신으로 최신상태 유지- 동시 공유 : 여러 사용자가 동시에 원하는 데이터 획득 가능- 내용에 의한 참조 : 데이터베이스에 있는 데이터를 참조할 때 사용자가 요구하는 데이터 내용을 찾음 Transaction의 특징트랜잭션의 특징으로는 원자성, 일관성, 독립성, 영속성이 있습니다.- 원자성 : 트랜잭션의 연산은 모두 완벽히 수행되어야 하며 하나라도 되지 않으면 트랜잭션 전부가 취소 되어야 한다.- 일관성 : 트랜잭션의 실행이 성공적으로 끝났으면 언제나 일관성 있는 DB로 변환되어야 한다. 트랜잭션의 수행..
2016.11.09 -
아키텍처, 프레임워크, 플랫폼.
아키텍처, 프레임워크, 플랫폼. 상당히 많이 헷갈려서 검색을 해보았습니다. [아키텍처: S/W 주요 설계 구조] S/W의 특징들을 결정짓는 주요 설계 구조이다. 즉, S/W의 구성 요소 및 이들간의 인터페이스, 동작 방식 등의 특징들을 결정짓는 모든 설계 구조를 말한다. 이는 S/W의 주요 특징을 결정짓고 개발에 미치는 영향도 매우 커서 가장 중요한 부분이라고 할 수 있다. [프레임워크: S/W 뼈대 구조] 프레임워크는 S/W가 개발될 수 있는 뼈대 구조이다. 지원 프로그램, 라이브러리, 언어, 다른 S/W 구성 요소들을 엮어 주는 역할을 한다. 그리고 플랫폼과 구분되는 점은 프로그램 개발을 위한 부분만을 갖기에 완전한 S/W 실행 환경이 되지 않는다. [플랫폼: S/W 실행 환경] 가장 일반적이면서도 ..
2016.11.09 -
빅엔디안과 리틀엔디안
빅엔디안과 리틀엔디안바이트 오더라하여 바이트의 정렬 순서를 이야기합니다.프로그래밍 하는 과정에서 많이 헷갈리기도 하는데요.리틀엔디안부터 알아보도록 하겠습니다. 리틀엔디안 (Little Endian)리틀엔디안은 주로 인텔 프로세스에서 사용하는 바이트오더 입니다.리틀이라는 말 처럼 메모리 시작 주소를 하위 바이트부터 기록한다는 뜻입니다. - 빅엔디안은 그럼 반대겠죠? 리틀 엔디안의 바이트 오더 기록 순서입니다.레지스터에 기록된 내용을 하위바이트부터 메모리에 넣는 것을 보실 수 있습니다. - 오른쪽 -> 왼쪽의 순서로 읽습니다. 리틀엔디안은 메모리에 저장된 값의 하위 바이트들만 사용할 때에는 별도의 계산이 필요 없다는 장점이 있습니다. - 앞의 두 바이트나 한 바이트를 떼어내면 바로 하위 16비트나 8비트를 ..
2016.11.09 -
객체 지향 프로그래밍
객체 지향 프로그래밍 (Object-Oriented Programming)일종의 프로그래밍 방법론으로 프로그램을 구성하는 함수와 변수를 묶어서 객체를 만들고 객체 단위로 프로그래밍 하기 위한 방법입니다. 객체 지향 프로그래밍의 장점- 모듈간의 독립성 증대 + 하나의 프로그램은 여러가지 기능으로 구성 -> 각각의 기능들은 모듈로 구현 + 독립성이 높을 수록 유지보수, 개발이 쉬워짐 + 객체 지향 프로그래밍에서는 모듈화의 단위가 객체 단위가 된다 + 독립적인 기능을 지원하는 객체를 구현하고 객체들을 모아서 프로그램을 개발하는 것이 객체 지향 프로그래밍의 방식 + 객체마다 고유의 기능이 정해져 있기 때문에 특정 객체에서 문제가 발생하면 그 객체만 수정하면 된다. + 객체의 구현이 변경되더라도 객체의 인터페이스..
2016.11.09 -
깊은 복사와 얕은 복사
깊은 복사와 얕은 복사객체는 다른 객체를 참조할 수 있는데 이럴 경우에 객체의 복사본을 핸들링 할 경우 깊은 복사인가, 얕은 복사인가에 따라 결과값이 달라질 수 있으니 주의해서 다루어야 합니다. 복사를 한다는 것은 기존 객체와 같은 값을 가진 새로운 객체로 만든다는 것입니다.객체들은 멤버를 가지고 있고 그 멤버들은 값일 수도 있고 참조 형식일 수도 있습니다.- 바로 이 객체들이 가진 값 형식과 참조 형식의 복제 방식에 따라 얕은 복사와 깊은 복사의 개념이 나누어지게 됩니다. 얕은 복사(Shallow Copy)얕은 복사는 객체가 가진 멤버들의 값을 새로운 객체로 복사하는데 만약 객체가 참조타입의 멤버를 가지고 있다면 참조값만 복사가 됩니다. 아래의 예제를 보면,, main의Person B = A;라는 구문..
2016.11.09