StDy IT
close
프로필 사진

StDy IT

github: @denev6

  • 분류 전체보기 (59) N
    • 알고리즘 (21)
    • 대외활동 (21)
    • 보안 (4)
    • AI (2)
    • 백엔드 (10) N
  • 홈
  • 태그
  • 방명록

Spring 입문 #9 - 트랜잭션(Tranjaction)이란?

1. 트랜잭션(Transaction)의 본질 (All or Nothing)트랜잭션은 데이터베이스의 상태를 변화시키는 '쪼갤 수 없는 논리적인 작업의 최소 단위'를 의미한다. 이는 금융 IT 시스템이나 전자상거래 결제 로직처럼 데이터의 정합성이 생명인 환경에서 절대적으로 지켜져야 하는 개념이다.가장 고전적이고 확실한 '은행 계좌 이체'를 예로 들어보자. A가 B에게 1만 원을 송금하는 작업은 DB 내부에서 2개의 상태 변화 쿼리로 나뉜다.A의 계좌 잔액을 1만 원 감소시킨다. (Update)B의 계좌 잔액을 1만 원 증가시킨다. (Update)만약 1번 쿼리까지 정상적으로 실행된 직후, 네트워크 장애나 서버 메모리 부족으로 시스템이 다운된다면 어떻게 될까? A의 돈은 증발하고 B는 돈을 받지 못하는 최악의..

  • format_list_bulleted 백엔드
  • · 2026. 6. 1.

Spring 입문 #8 - 스프링 DB 접근 기술

1. member 테이블 생성CREATE DATABASE test;USE test; test 데이터베이스를 생성하고 선택한다. create table member( id bigint auto_increment, name varchar(255), primary key (id)); member 테이블을 생성한다.컬럼은 id, name 2개의 컬럼을 생성한다.id는 bigint 타입을 사용하여, 아주 큰 정수를 저장하기 위해서이다.name은 varchar 타입을 사용한다.id를 고유키로 설정한다. 2. 순수 Jdbc package hello.hellospring.repository;import hello.hellospring.domain.Member;import org.springframewo..

  • format_list_bulleted 백엔드
  • · 2026. 6. 1.

Spring 입문 #7 - mySQL (2)

5. CRUD C: createR: readU: updateD: delete create(생성): INSERT(SQL), @PostMappinig(HTTP)read(읽기, 조회): SELECT(SQL), @GetMapping(HTTP)update(수정): UPDATE(SQL), @PutMapping / @PatchMapping(HTTP)delete(삭제): DELETE(SQL), @DeleteMapping(HTTP) 6. INSERT INSERT INTRO 테이블명(컬럼들 ...) VALUES (컬럼값들 ...) 구문을 통해테이블에 원하는 값을 추가해준다.이때, id 컬럼이 빠져있는 이유는AUTO_INCREMENT를 걸어두었기 때문에굳이 번호를 지정하지 않아도 MySQL이 알아서 번호를 세서 빈자리를 ..

  • format_list_bulleted 백엔드
  • · 2026. 5. 9.

Spring 입문 #6 - mySQL (1)

1. 서버 접속 표(Table): 실제 데이터가 저장되는 가장 기본적이고 핵심적인 공간, 엑셀 시트와 유사데이터베이스(DB): 표들을 모아두는 폴더같은 개념, 행(row), 열(column)으로 구성된다.데이터베이스 서버: 여러 개의 DB(폴더)들을 관리하고 운영하는 가장 거대한 최상위 시스템, 컴퓨터에 설치한 MySQL 프로그램 자체가 데이터베이스 서버를 의미 스키마(Schema): 데이터의 설계도(구조) - 테이블에 어떤 데이터가 어떤 조건으로 들어가야 하는지 정의해 놓은 뼈대나 규칙 자체 ex) Member 테이블의 id는 숫자여야하고, name은 문자열이어야 하며 NULL 비허용 등,혹은 좁은 의미로 DB 그 자체(폴더), MySQL에서는 데이터베이스와 똑같은 의미로 사용된다. ex) CREAT..

  • format_list_bulleted 백엔드
  • · 2026. 5. 9.

Spring 입문 #5 - 회원 관리 예제: 웹 MVC 개발

1. 회원 웹 기능 - 홈 화면 추가 package hello.hello_spring.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.GetMapping;@Controllerpublic class HomeController { @GetMapping("/") public String home() { return "home"; }} 먼저 우리가 사이트에 접속했을 때 가장 먼저 보게 되는 Home 역할을 하는 HomeController을 만든다.앞서 배웠던 스프링 빈 개념을 토대로 @Controller 어노테이션을 사용하여스프링 빈으로 컨..

  • format_list_bulleted 백엔드
  • · 2026. 5. 9.
Spring 입문 #4 - 스프링 빈과 의존관계

Spring 입문 #4 - 스프링 빈과 의존관계

이번 글에서는 스프링 컨테이너, 스프링 빈, 의존성 주입 개념에 대해 알아보고자 한다.스프링 컨테이너: 스프링이 객체들을 생성하고 관리하는 객체 보관소스프링 빈: 객체 보관소에 등록되어 스프링이 직접 관리하는 객체들의존성 주입(DI): 객체가 필요로 하는 또 다른 객체를 직접 생성(new 방식)이 아니라스프링 컨테이너가 알아서 객체를 찾아서 주입해주는 것 우리가 만들었던 회원 예제에서는MemberController -> MemberService -> MemberRepository 이런식으로스프링 빈들이 등록되어 주입이 되어야한다.즉, 우리는 스프링 컨테이너에 스프링 빈으로 등록을 해주는 작업을 진행해야한다.스프링 빈을 등록하는 방법에는 2가지 방법이 있다. 1. 컴포넌트 스캔과 자동 의존관계 설정 @C..

  • format_list_bulleted 백엔드
  • · 2026. 5. 4.
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • ···
  • 10
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (59) N
    • 알고리즘 (21)
    • 대외활동 (21)
    • 보안 (4)
    • AI (2)
    • 백엔드 (10) N
인기 글
전체 방문자
오늘
어제
Copyright © mKiiii 모든 권리 보유.
SKIN: Copyright © 쭈미로운 생활 All rights reserved. Designed by JJuum.
and Current skin "dev-roo" is modified by Jin.

티스토리툴바