전체 글 29

[3강] 데이터베이스 시스템의 정의

1. 데이터베이스 시스템의 정의1-1) 데이터베이스 시스템 (DBS; DataBase System)데이터베이스에 데이터를 저장하고 이를 관리하여 조직에 필요한 정보를 생성해주는 시스템1-2) 데이터베이스 시스템 구성 요소데이터베이스데이터베이스 관리 시스템스키마데이터베이스 사용자데이터베이스 언어2. 데이터베이스 구조2-1) 스키마와 인스턴스🔹 스키마 (schema)데이터베이스에 저장되는 데이터 구조와 제약 조건을 정의한 것데이터베이스를 설계, 디자인한것화살표 → 참조 관계, 2개를 동시에 access해서 사용할 수 있는 참조 관계참조해오는것 → 외래 키 (다른 테이블에 있는것을 참조해올수도 있고 자기 자신에서도 참조 가능.. 한 테이블에 여러개의 외래 키가 존재할 수 있다.)밑줄 → 기본 키 (필드 하나..

Database 2025.03.18

[Linux] 시스템 프로그래밍과 시스템 명령어

1. 시스템 프로그래밍시스템 프로그래밍이란 일반적인 응용 프로그래밍(application programming)과 달리 시스템에서 제공하는 시스템 호출(시스템 함수, system call)을 사용해 프로그램을 작성하는 것을 말한다. 리눅스 시스템은 파일 시스템 접근, 사용자 정보, 시스템 시간 정보, 네트워킹 등 다양한 기능을 제공한다.이러한 서비스를 이용해 프로그램을 구현할 수 있도록 제공되는 프로그래밍 인터페이스를 시스템 호출 이라고 한다.즉, 시스템 호출을 사용하면 리눅스 시스템 서비스를 직접 사용하는 프로그램을 작성할 수 있다.  시스템 프로그래밍은 OS와 직접 상호작용하는 프로그램을 개발한다. 일반적인 응용 프로그램(e.g. 웹 브라우저, 워드 프로세서)와는 달리, 시스템 프로그래밍에서는 운영체..

Linux 2025.03.15

[Spring] DI (Dependency Injection) with XML Configuration

DI(Dependency Injection)이란 의존 관계 주입 또는 의존성 주입이라고 불린다.Spring은 3가지 핵심 프로그래밍 모델 (AOP, DI, IOC)를 지원하는데, 그 중 하나가 바로의존 관계 주입 (Dependency Injection)이다. 그리고 Spring은 객체의 의존 관계 주입을 통해 객체의 의존 관계를 관리한다.DI는 외부에서 객체 간의 관계를 결정해주는데, 즉 객체를 직접 생성하는 것이 아니라 외부에서 생성 후 주입시켜주는것 이라고 할 수있다. 의존성 주입이란 스프링 컨테이너에서 객체 Bean을 먼저 생성해두고, 생성한 객체를 지정한 객체에 주입하는 방법!✅ 1. Dependency(의존성) 이란?객체 A가 객체 B를 사용해야 한다면, A는 B에 의존 한다고 말한다.예를 들어..

BackEnd/Spring 2025.03.14

[Spring] Maven, build-tool에 대한 정리

spring initializer에서 처음 스프링 프로젝트 환경 설정을 할때이런 화면에서 Project 빌드 툴을 설정할 수 있다.이 빌드 툴들이 정확히 어떤 역할을 하는지에 대해 Maven을 위주로 정리해 보았다.✅ 빌드 도구Spring initializr에서 프로젝트를 생성할 때 Gradle-Groovy, Gradle-Kotlin, Maven 중 하나를 선택할 수 있다.이들은 빌드 도구 (build tool)으로 프로젝트의 의존성 관리와 빌드 과정을 자동화 하는 역할을 하는데,어떤 것을 선택하느냐에 따라서 빌드 방식과 설정 파일의 문법이 달라진다. 개발자가 작성한 소스 코드를 실행할 수 있는 독립적인 형태 (.war, .jar)로 변환하는 과정 및 결과를 빌드라고 말한다.변환하는 과정에는 컴파일 과정..

BackEnd/Spring 2025.03.13

[백준_24479/JAVA] 알고리즘 수업 - 깊이 우선 탐색 1

https://www.acmicpc.net/problem/24479문제풀이DFS는 재귀함수/스택 자료구조로 구현할 수 있다.1. DFS를 시작할 노드를 정한 후 사용할 자료구조 초기화 하기- 인접 리스트로 그래프 표현하기- 방문 배열 초기화 하기   - 시작 노드 스택에 삽입하기2. 스택에서 노드를 꺼낸 후 꺼낸 노드의 인접 노드를 다시 스택에 삽입하기3. 스택 자료구조에 값이 없을 때 까지 반복한다.코드public class Main { static ArrayList[] A; static boolean visited[]; static int[] visitedOrder; static int order=1; public static void main(String[] args) throws IOExce..

Algorithm/Baekjoon 2025.03.12

[2강] 데이터베이스 관리 시스템

1. 데이터베이스 관리 시스템의 등장 배경1) 파일 시스템 (file system)데이터를 파일로 관리하기 위해 파일을 생성 삭제 수정 검색하는 기능을 제공하는 소프트웨어응용 프로그램 별로 필요한 데이터를 별도의 파일로 관리함→ 각 팀이 데이터를 관리한다. 중복된 데이터가 업데이트 된다면 문제가 생길 수도 있음파일 시스템의 주요 문제점같은 내용의 데이터가 여러 파일에 중복 저장됨 → 데이터 중복성저장 공간의 낭비는 물론 데이터 일관성과 데이터 무결성을 유지하기 어려움한 고객의 연락처를 고객 데이터 파일에서만 수정하고 실수로 주문 데이터 파일에서 수정하지 않았다면???데이터 중복성 문제를 해결하는 방법?따로 따로 되어있는 데이터 파일을 하나로 통합하자중복되는 내용들을 하나의 DB로 관리하고 별도로 관리해야..

Database 2025.03.11

[1강] 자료와 통계학

Chapter 1: 자료와 통계학1. 통계학의 개념과 응용통계학(Statistics) 정의자료를 수집, 분석, 표현, 해석하는 예술이자 과학으로, 평균, 중앙값, 비율, 최댓값 등 다양한 수치를 통해 비즈니스와 경제환경을 이해하는 데 도움을 준다.응용 분야회계학: 감사 시 통계적 표본 이론 활용경제학: 경제 미래 예측에 통계정보 이용재무학: 주가수익비율(P/E Ratio), 배당수익률 등으로 투자 분석마케팅: 전자스캐너 등으로 고객 데이터 수집생산관리: 품질관리차트로 생산품 모니터링정보시스템: 네트워크 성능 평가에 활용2. 자료와 자료집합자료(data): 표현 및 해석을 위해 수집, 분석, 요약되는 사실과 숫자자료집합(data set): 특정 연구를 위해 수집된 모든 자료원소, 변수, 관측값원소(elem..

Data Analysis 2025.03.10

[0] 빅데이터 분석 개요

0) 개요1. Big Data 개요정의: 빅데이터란 기존의 일반적인 기술 (예를 들어 관계형 데이터베이스)로 관리하기 곤란한 대량의 데이터 군빅데이터를 실시간으로 분석하여 기업의 경쟁력 제고 (RDB만으로는 데이터를 분석하기 힘들다.)로그 데이터를 분석하여 이용자가 스스로 제공하지 않는 정보까지 분석하여 매출 증대 및 경쟁력 제고Big Data 특징: 3V (Volume, Variety, Velocity)RDBMS 특징: ACID(Atomicity, Consistency, Isolation, Durability)구조화데이터: RDB비구조화: text, video, ..하둡: 데이터 로드, 머신러닝, 딥러닝,인재, 조직2. Big Data 특징비즈니스 인텔리전스와 빅데이터의 교차과거의 가시화를 통한 미래 ..

Data Analysis 2025.03.10

[백준_1764/JAVA] 듣보잡

https://www.acmicpc.net/problem/1764문제풀이듣도 못한 사람과 보도 못한 사람의 교집합을 찾아 사전순으로 출력하는 문제이다.나는 중복방지를 위해 HashSet 사용, 사전 순 정렬을 위해 ArrayList 사용했다.코드public class Main { public static void main(String[] args) throws IOException { BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out)); StringTokenizer..

Algorithm/Baekjoon 2025.03.06