전체 글 61

[Spring Boot] JPA로 REST API 개발하기 (3)

이전 글에서는 JPA를 활용하여 게시글 관리 REST API를 개발하고 CRUD 기능을 구현하는 과정을 다뤘습니다. 이번에는 댓글 관리 기능을 추가하여, 게시글에 대한 사용자 의견을 저장하고 조회할 수 있도록 개선해보려고 합니다. 엔티티 클래스 작성package com.demo.domain;import java.util.Date;import org.hibernate.annotations.DynamicInsert;import org.hibernate.annotations.DynamicUpdate;import jakarta.persistence.Entity;import jakarta.persistence.GeneratedValue;import jakarta.persistence.GenerationType;i..

[Spring Boot] JPA로 REST API 개발하기 (2)

이번 글에서는 JPA를 활용해서 포스트 관리 REST API 개발 과정입니다.게시글 작성(Create), 게시글 조회(Read), 게시글 수정(Update), 게시글 삭제(Delete) 엔티티 클래스 작성package com.demo.domain;import java.util.Date;import org.hibernate.annotations.DynamicInsert;import org.hibernate.annotations.DynamicUpdate;import jakarta.persistence.Entity;import jakarta.persistence.GeneratedValue;import jakarta.persistence.GenerationType;import jakarta.persistence..

[Spring Boot] JPA로 REST API 개발하기 (1)

Spring Boot와 JPA를 이용한 REST API 개발사용 기술 : Spring Tool Suite4(STS 4), Spring Boot, Spring Web, Spring Data JPA, Spring Boot DevTools, Oracle DB, Oracle Driver, Lombok, ThymeleafREST API(Representational State Transfer API) : 클라이언트와 서버 간 통신을 HTTP 프로토콜을 기반으로 설계하는 방식Resource(자원) 중심 설계 : URI를 통해 자원 식별HTTP 메서드GET : 데이터 조회POST : 데이터 생성PUT : 데이터 수정DELETE : 데이터 삭제JSON, XML 응답JPA(Java Presistence API) : Ja..

인덱스(Index) 활용

인덱스(Index)는 데이터베이스에서 데이터를 빠르게 검색하고, 접근할 수 있도록 돕는 검색 구조!특정 데이터를 빠르게 찾을 수 있도록 돕는 데이터 구조로 데이터베이스에서 인덱스를 사용하면 검색 성능이 향상된다.데이터베이스에서 인덱스를 생성하면, 데이터를 순차적으로 스캔하지 않고 인덱스 테이블을 사용해 빠르게 원하는 데이터를 찾을 수 있다.구조키(Key) : 데이터를 식별하는 값.값(Value) : 키와 관련된 실제 데이터의 위치 정보종류B-Tree 인덱스(기본 인덱스)구조 : 균형 이진 트리구조를 기반으로 데이터를 정렬하여 저장한다.특징 : 범위 검색에 매우 효율적이고, 대부분 데이터베이스에서 기본 인덱스로 사용한다.           [EX- WHERE x BETWEEN : x - 1 AND : x ..

개인 공부 2025.03.24

[Python] 네이버 웹툰 데이터 분석

데이터 준비https://www.kaggle.com/datasets/bmofinnjake/naverwebtoon-datakorean?resource=download Webtoon Dataset in Koreancomics serialized in webtoon platforms (Naver)www.kaggle.com위 사이트에서 naver.csv 파일을 받아서 사용했습니다.(로그인 필요) 데이터 로드 및 데이터 확인import pandas as pd# CSV 파일 로드df = pd.read_csv('naver.csv')# 데이터 크기 확인 : 행과 열 개수print('데이터 크기 :',df.shape)print('===================================================..

Python 2025.03.20

[Python] 신경망 모델 훈련

# 케라스 API를 사용해서 모델 훈련에 필요한 도구 알아보기# 데이터 준비from sklearn.model_selection import train_test_splitfrom tensorflow import keras(train_input, train_target), (test_input, test_target) = \ keras.datasets.fashion_mnist.load_data()train_scaled = train_input / 255.0train_scaled, val_scaled, train_target, val_target = train_test_split( train_scaled, train_target, test_size = 0.2, random_state = 42) tr..

Python 2025.03.14

[Python] 딥러닝

딥러닝 - 인공신경망(ANN, Artificial Neural Nework)- 딥러닝은 인공신경망을 기반으로 한 머신러닝 기술.인공신경망은 인간의 뇌 신경망을 모방하여 만든 모델로, 복잡한 데이터 패턴을 학습하고 예측할 수 있다.인공신경망(ANN) : 입력층(Input Layer), 은닉층(Hidden Layer), 출력층(Output layer)으로 구성된다.각 층의 뉴런이 가중치와 활성화 함수를 이용해 연결됨.기본 구조 : [입력층] > [은닉층1] > [은닉층2] > ... > [출력층]입력층 : 입력 데이터가 들어오는 층은닉층 : 여러 개의 뉴런이 가중치를 통해 연결됨출력층 : 최종 예측 결과가 출력되는 층뉴런(Neuron) : 여러 개의 입력 값을 받아 가중치를 곱하고 이를 활성화 함수를 통해 ..

카테고리 없음 2025.03.13

[Python] 비지도 학습

비지도 학습(Unsupervised Learning) : 레이블이 없는 데이터를 학습하는 머신러닝의 한 종류.- 입력 데이터에 대한 정답(레이블)이 없이 모델이 데이터의 숨겨진 패턴이나 구조를 학습한다.- 비지도 학습의 목적 : 데이터의 구조를 파악하거나, 유사한 특성을 가진 데이터들을 그룹화하거나, 차원 축소를 통해 데이터의 본질적인 특성을 드러내는 것.장점레이블이 없는 데이터 사용 : 정답(레이블)이 없는 데이터를 사용하여 학습할 수 있으므로, 데이터 레이블을 붙이는 작업이 불필요새로운 패턴 발견 : 기존에 알려지지 않은 패턴이나 구조를 발견하는 데 유용데이터의 이해 : 데이터를 자동적으로 그룹화하거나 축소하여 데이터의 본질을 이해하도록 도와줌비즈니스 적용 가능성 : 고객 세분화(클러스터링), 이상 ..

Python 2025.03.13

[Python] 머신러닝 (3)

결정트리(Decision Tree) : 데이터를 분류하거나 회귀 분석을 수행하는 머신러닝 알고리즘.노드(Node)와 가지(Branch)로 이루어진 트리 구조를 가지고, 특정 기준에 따라 데이터를 반복적으로 분할해서 예측을 수행한다.루트 노드(Root Node) : 처음 데이터를 나누는 시작점내부 노드(Internal Node) : 중간 의사결정을 담당하는 노드리프 노드(Leaf Node) : 최종적인 예측값을 제공하는 노드결정트리는 엔트로피와 지니 계수 같은 척도를 이용해서 데이터의 불순도를 측정하고, 가장 좋은 기준을 찾아서 데이터를 분할한다.알고리즘 작동 방식특성 선택 : 데이터를 가장 잘 나눌 수 있는 특성 선택분할 : 선택된 특성에 따라 데이터를 두 개 이상의 그룹으로 분할반복 : 리프 노드가 될..

Python 2025.03.10