1. 라이브러리(Library)란? 라이브러리는 특정 기능을 수행하는 코드가 미리 구현되어 있고, 필요할 때 개발자가 호출하여 사용할 수 있도록 모듈화된 코드 집합을 의미합니다. 즉, 라이브러리는 개발자가 특정 기능을 구현할 때 재사용 가능한 코드를 미리 만들어 놓은 것을 말합니다. 예를 들어, 수학 라이브러리가 있다면 개발자가 직접 복잡한 계산을 매번 작성하지 않고, 라이브러리에서 제공하는 계산 함수를 가져와 사용하면 됩니다.라이브러리의 특징개발자 주도 제어개발자가 필요한 시점에 특정 기능을 호출합니다.코드의 흐름은 전적으로 개발자가 결정합니다.높은 자유도프로그램의 구조나 흐름에 제약을 거의 주지 않습니다.필요한 부분에만 부분적으로 사용할 수 있습니다.기능 중심적특정 목적이나 기능 단위로 분리되어 있습..
개발

MVC 패턴 소프트웨어 개발을 위한 `프로젝트 아키텍처` 설계에서 자주 사용되는 디자인 패턴 중 하나애플리케이션의 구조를 명확하게 분할하여 각 구성요소의 역할 정의 -> 세가지 주요 구성 요소로는 모델(Model), 뷰(View), 컨트롤러(Controller)가 있음 1. Model데이터와 `비즈니스 로직`을 관리한다. ⇒ `데이터`와 관련된 부분View, Controller에 대한 의존을 가지지 않는다.ex) 사용자의 정보, 상품의 목록, 주문 내역 등2. ViewModel의 데이터를 사용해 시각적인 화면을 구성하는 역할이다. ⇒ 사용자에게 보여지는 부분 (`사용자 인터페이스`)Model과 의존성 가질수도, 안가질수도 있다. Controller에는 의존성 Xex) 웹 페이지, 모바일 앱 화면, 대시 ..
프로젝트 아키텍처`소프트웨어 개발 프로젝트의 기본적인 구조` 프로젝트의 요구사항을 충족시키기 위해 `시스템의 구성 요소와 그 관계`를 정의하고, 이러한 요소들이 어떻게 `상호작용`하는지를 설명하는 설계도.즉, 프로젝트 아키텍처는 건물을 짓기 위한 청사진과 같으며, 이를 통해 개발자들은 각자의 역할을 명확히 이해하고, 시스템의 전체적인 모습을 파악할 수 있음 프로젝트 아키텍처의 필요성명확한 구조 제공:프로젝트 아키텍처는 시스템의 전체 구조를 명확하게 정의한다. 이를 통해 팀원들이 시스템의 구성 요소와 상호 작용을 명확하게 이해할 수 있게 한다.효과적인 의사소통 촉진:프로젝트 아키텍처 문서는 프로젝트 이해관계자 간의 공통 이해를 촉진한다. 이를 통해 개발팀, 관리팀, 고객 모두가 동일한 목표와 방향을 공유할..

개발자들은 본격적으로 DB를 개발하기 전, 설계의 이해를 높이기 위해 데이터 모델링을 실시함.데이터 모델링이란?주어진 개념(데이터)로부터 논리적인 데이터 모델을 구성하는 작업데이터간의 연결 관계 및 구조를 알리기 위해 정보 시스템 전체나 그 일부를 시각적으로 표현하는 프로세스데이터 베이스 설계에 대한 계획을 의미.대표적인 예시로 개체-관계모델기법(ER다이어그램)이 있음 ERD란? Entity Relationship Diagram, 테이블의 구조를 한눈에 알아보기 위한 다이어그램. 'Entity'(개체)와 'Relationsip'(관계)를 표시하여 데이터베이스 구조를 시각적으로 한 눈에 볼 수 있게 나타냄.특히 관계간의 정보를 통해 어떤 테이블 구조로 만들어졌는지 알 수 있음. 서버 개발을 여러 명의 사..

데이터베이스 정의'데이터의 집합'데이터를 저장하고 조회하는 프로그램 통합 데이터(Integrated Data)최소 중복과 통제 가능한 중복만 허용하는 데이터중복된 정보에 대하여 데이터를 통합해 자료의 중복 최소화 저장 데이터(Stored Data)컴퓨터가 협조할 수 있는 매체에 저장된 데이터 공유 데이터(Shared Data)여러 사용자가 공유하고 통합하여 운영하는 저장된 데이터서로 관련 있는 데이터들을 효율적으로 관리하기 위해 수집된 데이터들의 집합체 운영 데이터(Operational Data)조직의 주요 기능을 수행하기 위해 지속적으로 꼭 필요한 데이터데이터의 종류정형 데이터 형태가 정해져 있는 데이터. 관리가 쉬움이름전화번호나이홍길동010-xxxx-xxxx20김길동010-yyyy-yyyy30박길동0..

유니온 파인드 개념상호 배타적 부분 집합(Disjoint Set : 서로소 집합)을 표현할 때 사용여러 노드가 존재할 때 두 노드를 같은 집합으로 묶어주고 같은 집합에 속하는지 판별 연산•Union (합집합) : 노드 x가 포함된 부분 집합과 노드 y가 포함된 부분집합을 합치는 연산•Find (x): 노드 x가 포함된 부분집합을 찾는 연산 최적화 기법1. Path Compression2. Union by Rank (Union by Height)3. Weighted Rule (Union by Size) 유니온 파인드구현초기화부모 노드를 지정할 parent 배열 선언 (코드로 구현할땐 편하게 p로 선언하겠다)parent를 자기 자신으로 지정하여 초기화n개의 원소가 각각 하나의 부분집합 이룸for(int ..