[멋사 클라우드 5기] Day 10 - 객체 다루기, DBMS 기초(1)

2026. 2. 4. 02:10·Learning Log

 

1. Maven이 뭐야?

Java 프로젝트의 “관리자”

빌드, 라이브러리(의존성) 관리, 실행·배포 과정을 표준화해주는 도구

“이 프로젝트는 어떤 라이브러리를 쓰고,
어떻게 빌드하고, 어떤 구조를 가진다”를
pom.xml 하나로 정의한다.

 

Maven 핵심 역할 3가지

1) 라이브러리(의존성) 관리

<dependency>
    <groupId>org.jsoup</groupId>
    <artifactId>jsoup</artifactId>
    <version>1.17.2</version>
</dependency>

Maven이 자동으로:

  • 라이브러리 다운로드
  • 의존 라이브러리까지 함께 관리
  • 버전 충돌 최소화

 

2) 프로젝트 구조 표준화

Maven 프로젝트는 표준화된 구조를 따른다.

src/
 ├─ main/
 │   ├─ java/
 │   └─ resources/
 ├─ test/
 │   ├─ java/
 │   └─ resources/
pom.xml

 

3) 빌드 & 실행 자동화

mvn compile
mvn test
mvn package
mvn clean
  • IDE 없이도 동일한 빌드 결과 보장
  • CI/CD 환경에서 특히 중요

2. jsoup

Java에서 HTML을 구조적으로 다루는 라이브러리

쉽게 말해

Java에서 HTML을 jQuery처럼 다루게 해주는 도구

 

jsoup으로 할 수 있는 것

  • HTML 파싱
  • 태그 기반 데이터 추출
  • 크롤링 / 스크래핑
  • HTML 정제(clean)

 

기본 사용 예제

Document doc = Jsoup.connect("https://example.com").get();
System.out.println(doc.title());

 

CSS Selector 지원

doc.select("div.article > a").text();
  • JS의 querySelector와 유사
  • 학습 비용이 낮음

 

jsoup 핵심 객체 구조

Jsoup
  ↓
Document   (HTML 전체)
  ↓
Elements   (여러 태그)
  ↓
Element    (단일 태그)

 

핵심 객체 정리

  • Jsoup: HTML 파싱 시작점 (팩토리 역할)
  • Document: HTML 문서 전체
  • Elements: Element들의 컬렉션
  • Element: 단일 태그 노드
  • Connection: HTTP 요청 설정

3. JSON

JSON이란?

  • 텍스트 기반 데이터 교환 형식
  • 키-값 구조
  • 언어 독립적
  • API 통신의 표준

 

1) JSONObject

👉 JSON을 직접 다룰 때 사용하는 방식

JSONObject json = new JSONObject(jsonString);
String name = json.getString("name");
int age = json.getInt("age");
  • 간단하지만
  • 중첩 구조가 복잡해지면 가독성 ↓

 

2) Jackson (ObjectMapper)

👉 JSON ↔ Java 객체 자동 변환

ObjectMapper mapper = new ObjectMapper();
Person p = mapper.readValue(jsonString, Person.class);
String json = mapper.writeValueAsString(p);
  • 실무에서 가장 많이 사용
  • DTO 기반 API 통신에 활용

4. MySQL & 관계형 데이터베이스

관계형 데이터베이스(RDB)란?

  • 데이터를 테이블 형태로 저장
  • 테이블 간 관계(Relation) 를 명확히 정의
  • 정합성과 일관성을 중시

대표 DB: MySQL, PostgreSQL, Oracle 등

 

핵심 개념

  • Table: 데이터 저장 단위
  • Row: 하나의 데이터 묶음
  • Column: 데이터의 속성 정의
  • Schema: 테이블 구조와 규칙을 정의한 설계도
  • Entity: 시스템에서 관리할 대상(보통 명사로 표현됨)

 

데이터 모델링이란?

현실 세계의 개념을
테이블 + 관계 + 규칙으로 바꾸는 과정

 

모델링 3단계

 

1) 개념 모델링

  • “업무에서 중요한 개념(엔티티)이 뭐지?”를 정하는 단계
  • 도메인 언어가 중심

예: 쇼핑몰 도메인 - 사용자(User), 주문(Order), 상품(Product)

 

2) 논리 모델링

  • 엔티티를 관계형 구조로 변환
  • 속성, 키, 관계, 정규화 결정

 

3) 물리 모델링

  • 실제 DB 구현
  • 타입, 인덱스, 성능 고려

 

'Learning Log' 카테고리의 다른 글

[멋사 클라우드 5기] Day 12 - Join, Subquery, Union  (0) 2026.02.06
[멋사 클라우드 5기] Day 11 - DBMS 기초(2), DQL  (0) 2026.02.05
[멋사 클라우드 5기] Day 9 - Enum 활용, BigNumber, Lombok, 객체 설계  (1) 2026.02.03
[멋사 클라우드 5기] Day 8 - 입출력, 직렬화, 스레드, Enum  (0) 2026.02.02
[멋사 클라우드 5기] Day 7 - Lambda · Stream 심화 + Optional  (0) 2026.01.30
'Learning Log' 카테고리의 다른 글
  • [멋사 클라우드 5기] Day 12 - Join, Subquery, Union
  • [멋사 클라우드 5기] Day 11 - DBMS 기초(2), DQL
  • [멋사 클라우드 5기] Day 9 - Enum 활용, BigNumber, Lombok, 객체 설계
  • [멋사 클라우드 5기] Day 8 - 입출력, 직렬화, 스레드, Enum
allluck777
allluck777
allluck777
    • 분류 전체보기 (44) N
      • AWS (0)
      • Network (0)
      • Linux (0)
      • Docker (0)
      • Project (4)
        • CloudNote (4)
      • Learning Log (36) N
      • Lecture (3)
        • 스프링 입문 - 코드로 배우는 스프링 부트, 웹 .. (3)
  • 전체
    오늘
    어제
  • hELLO· Designed By정상우.v4.10.6
allluck777
[멋사 클라우드 5기] Day 10 - 객체 다루기, DBMS 기초(1)
상단으로

티스토리툴바