전체 글

github.com/minyun02 myun02302@gmail.com
1. 단위 모듈의 개요 - 소프트웨어 구현에 필요한 한가지 동작을 수행하는 기능을 모듈로 구현한 것 - 사용자나 다른 모듈로부터 값을 전달받아 시작되는 작은 프로그램을 의미하기도 함 - 두 개의 단위 모듈이 합쳐질 경우 두 개의 기능을 구현할 수 있다 - 구성 요소 : 처리문, 명령문, 데이터 구조 등 - 독립적인 컴파일이 가능, 다른 모듈에 호출되거나 삽입되기도 한다 - 구현을 위해서는 단위 기능 명세서를 작성한 후 입출력 기능과 알고리즘을 구현 2. 단위 기능 명세서 작성 - 설계 과정에서 작성하는 기능 및 코드 명세서나 설계 지침과 같이 단위 기능을 명세화한 문서들을 의미 - 복잡한 시스템을 단순하게 구현하기 위한 추상화 작업이 필요 - 대형 시스템을 분해하여 단위 기능별로 구분하고, 각 기능들을 ..
1. 절차형 SQL의 개요 - 절차형 SQL은 프로그래밍 언어와 같이 연속적인 실행이나 분기, 반복 등의 제어가 가능한 sql을 의미 - 일반적인 프로그래밍 언어에 비해 효율은 떨어진다 - 하지만 단일 sql 문장으로 처리하기 어려운 연속적인 작업들에는 적합 - 절차형 sql을 활용하여 다양한 기능을 수행하는 저장 모듈 생성 가능 - DBMS 엔진에서 직접 실행되기 때문에 입출력 패킷이 적은 편 - begin ~ end 형식으로 작성되는 블록 구조로 기능별 모듈화가 가능 - 3가지 종류 1. 프로시저 : 특정 기능을 수행하는 일종의 트랜잭션 언어로, 호출을 통해 실행되어 미리 저장해 놓은 sql 작업을 수행 2. 트리거 : 데이터베이스 시스템에서 데이터의 입력, 갱신, 삭제 등의 이벤트가 발생할 때마다 ..
1. 데이터 입출력 개요 - 소프트웨어 기능 구현을 위해 데이터를 입력하거나 출력하는 작업을 의미 - 단순 입출력뿐만 아니라 데이터를 조작하는 모든 행위를 의미 - SQL를 사용한다 - 개발 코드 내에 SQL코드를 삽입하거나, 객체와 데이터를 연결하는 것을 데이터 접속이라고 한다 - SQL을 통한 조작을 수행할 때 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 수행되어야 할 일련의 연산들을 트랜잭션이라 한다 2. SQL(Structured Query Language) - 1974년 IBM 연구소에서 개발한 SQUEL에서 유래한다 - 국제 표준 데이터베이스 언어 - 관계대수와 관계해석을 기초로 한 혼합 데이터 언어 관계대수 : 관계형 데이터베이스에서 원하는 정보와 그 정보를 검색하기 위해서..
1. 데이터 저장소 - 소프트웨어 개발 과정에서 다루어야 할 데이터들을 논리적인 구조로 조직화하거나, 물리적인 공간에 구축한 것을 의미한다 - 논리 데이터저장소 -> 데이터 및 데이터 간의 연관성, 제약조건을 식별하여 논리적인 구조로 조직화한 것 - 물리 데이터저장소 -> 논리 데이터저장소에 저장된 데이터와 구조들을 저장장치에 저장한것 -> 소프트웨어가 운용될 환경의 물리적 특성을 고려한다 - 논리 데이터저장소를 거쳐 물리 데이터저장소를 구축하는 과정 = 데이터베이스를 구축하는 과정 2. 데이터베이스 - 특정 조직의 업무를 수행하는 데 필요한 상호 관련된 데이터들의 모임으로 다음과 같이 정의할 수 있다 - 통합된 데이터(Integrated Data) : 중복 자료를 배제한 데이터 모임 - 저장된 데이터(..
1. 삽입 정렬(Insertion Sort) - 가장 간단한 정렬 방식 - 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬한다. - 두 번째 키와 첫 번째 키를 비교해 순서대로 나열(1회전)하고, 이어서 세 번째 키를 첫 번째, 두 번째 키와 비교해서 순서대로 나열(2회전)하고, n번째 키를 n-1개의 키와 비교하여 알맞은 순서에 삽입하는 방식이다. - 평균과 최악 모두 수행 시간 복잡도는 O(n^2)이다. 예제 -> 8,5,6,2,4를 삽입 정렬 -> 비교 대상 1회전 : 8 5 6 2 4 -> 5 8 6 2 4 두 번째 값(5)을 첫 번째 값(8)과 비교하여 8보다 작은 5를 첫 번째 자리에 삽입하고 8을 한 칸 뒤로 이동시킨다. 2회전 : 5 8 6 2 4 -> 5 6 8 2..
트리의 개요 정점(node)과 선분(branch)을 이용하여 사이클을 이루지 않도록 구성한 그래프 노드 →하나의 기억 공간 링크 → 노드와 노드를 연결하는 선 가족 계보, 조직도 등에 적합 근 노드(root node) → 맨 위에 있는 노드 디그리 → 각 노드에서 뻗어 나온 가지의 수 단만 노드(Terminal Node) = 잎 노드(Leaf Node) → 자식이 하나도 없는 노드 = 디그리 0 자식 노드 → 어떤 노드에 연결된 다음 레벨의 노드들 부모 노드 → 어떤 노드에 연결된 이전 레벨의 노드들 형제 노드 → 동일한 부모를 갖는 노드들 트리의 디그리 → 디그리 중 가장 많은 수 트리의 운행법 각 노드들을 찾아가는 방법을 운행법(Traversal)이라 한다 세가지 운행법 운행법 이름은 root의 위치..
자료구조의 정의 자료구조란 기억장치 공간 내에 저장하는 방법 그룹 내에 존재하는 자료 간의 관계 처리 방법 프로그램 작성시 가장 우선적 고려사항 저장 공간의 효율성 실행시간의 신속성 자료 구조 분류 선형 구조 배열 선형 리스트 연속 리스트(Contiguous List) 연결 리스트(Linked List) 스택 큐 데크 비선형 구조 트리 그래프 배열 동일한 자료형의 데이터들 같은 크기로 나열되어 순서를 가지고 있는 집합 정적인 자료 → 추가가 어렵다 삭제된 데이터의 기억장소가 null로 남아 메모리 낭비 발생 첨자를 이용해 데이터 접근 반복적인 데이터 처리 작업에 적합 데이터마다 동일한 이름의 변수를 사용하여 처리가 간편 사용한 첨자의 개수에 따라 n차원 배열이라고 부름 크기가 n인 1차원 배열a[0] a..
·TIL
1. 스프링 부트 프로젝트 생성 1.1 - java 버전, gradle 선택 항상 마음속으로만 품고 있던 개인 프로젝트를 시작하기로 마음먹었다! 우선 프로젝트 생성은 spring initializr에서 만들어 주었다. 여태까지 빌드 환경은 maven으로 진행해왔지만 이번 프로젝트의 목표는 내가 생각하던 서비스를 만들어보는 것도 있지만, 안 써본 기술이나 환경들을 사용해보는 것 또한 중요한 사항이다. 그래서 빌드 환경은 Gradle을 선택하였다. (maven과 gradle의 차이점은 추가 업로드 예정) 이외 설정은 아래와 같이 기본 세팅으로 진행하였다. 1.2 - dependencies Spring Boot DevTools - 여러 편의사항을 제공한다. 예를 들면, 파일 수정 후 저장하면 자동으로 서버를 ..
삼공비
물음표&느낌표