It's going to be one day 🍀

안녕하세요! 매일 매일 공부하려고 노력하는 백엔드 개발자 지망생의 공부 흔적입니다.

Back-End 58

[spring] 강의 중 개념 정리 (외부)

spring의 기본 역할 1) @RestController, @Controller, @Service, @Repository, @Component, @Bean... 이런 어노테이션을 달아놓은 클래스들에 대해서는 spring이 대신 new 해서 만들어줄 것이다. 이때 범위를 알려주는 것 : 컴포넌트 스캔 2) 1번을 통해 만들어놓은 인스턴스들을 필요한 사람이 손들어서 요청하면 내가 전달해줄 것이다. DI - @Autowired, 생성자를 통해 선언을 하거나, setter method를 통해 선언하면 spring이 해당 인스턴스(=빈)을 찾아서 꽂아준다. 실습 코드로 예를 들어보면, -> HiController에서 HiService를 사용하겠다. @RestController public class HiCont..

Back-End/Spring 2024.03.08

[Spring] MyBatis 실습 / JPA 개념 (외부)

MyBatis 실습 MyBatis란? : 자바의 관계형 데이터베이스 프로그래밍을 좀 더 쉽게 할 수 있게 도와주는 개발 프레임워크. 복잡한 jdbc보다 사용하기에 더 깔끔하다. JPA : 자바에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스 인터페이스이므로 실제 사용을 위해서는 ORM 프레임워크를 추가로 선택해야함. ex) hibernate hibernate : JPA 인터페이스를 구현한 구현체이자 자바용 ORM 프레임워크. 내부적으로는 JDBC API를 사용한다. 하이버네이트의 목표는 자바 객체를 통해 데이터베이스 종류에 상관없이 데이터베이스를 자유자재로 사용할 수 있게 하는것이다. 엔티티 엔티티(Entity)는 데이터베이스의 테이블과 매핑되는 객체를 말한다. 데이터베이스의 테이블과 직접 연..

Back-End/Spring 2024.03.07

[Spring] Docker, JPA 기초 실습 (외부)

Docker 명령어 docker-compose up -d : 실행 시작 docker-compose down : 실행 종료 docker-compose ps : 상태 표시 docker logs :container_name : container_name의 로그 보기 WorkBench 사용 11802로 만드려는데 (도커랑 연결) 도저히 안됨 - 다시 깔아봤음 & 재부팅 해봤음 & MySQL 자체를 싹 지우고 다시 해봤음 안됨!!!! - my.ini 건드려봤음. 내용 함부로 건드렸다가 아예 실행안되서 다시 지웠다 깔음... - windows 11 home은 이미 wsl2 강제 사용중이라 도커 환경설정에서 체크 안풀어지는 듯 - 예상으로는 아마 내 윈도우가 전체 권한을 가지고 있지 않거나(?) 엄청 타이트한 보안환..

Back-End/Spring 2024.03.06

[Spring] 동적 페이지 구현/스프링 핵심 개념

Thymeleaf : 템플릿 엔진 - 서버에서 데이터를 받아 우리가 보는 HTML 웹페이지에 데이터를 넣어 보여주는 도구를 뜻함. - HTML 파일을 그대로 유지하면서 템플릿을 렌더링할 수 있는 기능이 가능함. 만약 서버에서 아래와 같은 json이 넘어왔을 때, 템플릿 엔진은 아래 값을 받아서 HTML에 값을 적용한다. { "이름" : "김자바", "나이" : 20 } 타임리프 표현식과 문법 타임리프를 사용하기 위해 HTML 파일에 다음과 같은 선언문을 작성해야 한다. - 타임리프의 핵심은, th:xxx가 붙은 부분은 서버에서 렌더링되고 th 라는 값이 없으면 HTML의 기존 태그를 따른다. 동적 페이지 구현해보기 1) html 파일 셋팅 - 먼저 html 파일을 Thymleaf를 사용하여 템플릿 렌더링..

Back-End/Spring 2024.03.05

[Spring] 스프링 부트 실습&데베연결/MVC 개념

프레젠테이션, 비즈니스, 퍼시스턴스 계층 만들기 Step1. 프레젠테이션 계층 - 컨트롤러 MemberController.java 생성 package com.estsoft.hello.controller; import com.estsoft.hello.service.MemberService; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.ResponseBody; import java.util.List; @Controller public class MemberController {..

Back-End/Spring 2024.03.04

[Spring] 의존성/컴포넌트 스캔/의존관계 주입/스프링부트 디렉터리

의존성이란? : 프로젝트가 실행되기 위해 필요한 외부 라이브러리 내가 구현하지 않은 외부 코드를 가져다 쓰는 것이다. 의존성을 사용하면, - 코드의 재사용성 높이기 : 이미 개발된 외부 라이브러리를 사용하여 코드를 작성할 수 있기 때문에 코드의 재사용성을 높일 수 있음. - 프로젝트의 안정성 높이기 : 외부 라이브러리의 버전 충돌을 방지하여 프로젝트의 안정성을 높일 수 있음. - 프로젝트의 유지보수성을 높이기 : 외부 라이브러리의 업데이트 관리를 통해 프로젝트의 유지보수성을 높일 수 있음. 스프링 부트에서는 의존성 관리 목적으로 Gradle을 사용함. build.gradle이라는 파일에서 해주고있음. build.gradle 파일 의존성, 플러그인, 빌드 스크립트 등이 정의되어 있음. 스프링 부트 스타터 ..

Back-End/Spring 2024.02.29

[Spring] 스프링 기초/스프링부트 실습

엔터프라이즈 애플리케이션 : 대규모의 복잡한 데이터를 관리하는 애플리케이션 복잡하고 어려운 웹 어플리케이션 구현 암흑기를 지나, 개발자의 어려움을 해결해주는 Spring 봄처럼 등장! 스프링이란? 자바 기반의 엔터프라이즈 애플리케이션 개발을 위한 프레임워크임. - 개발자들이 복잡한 서버 성능과 안정성, 보안 등을 고려하지 않고도 기능 개발에 집중할 수 있도록 도와줌. - 다양한 기능을 제공하며, 의존성 주입 (Dependency Injection) 과 관점 지향 프로그래밍 (Aspect-Oriented Programming) 등의 개념을 통해 애플리케이션을 유지보수하기 쉽도록 도와줌. +) 의존성 주입이란, 우리가 클래스를 가지고 객체를 생성하는 것을 개발자가 직접 하는게 아니라 스프링 프레임워크에서 주..

Back-End/Spring 2024.02.28

[DBMS] ALTER/DB Index/DCL/정규화

SQL의 ALTER TABLE 구문은 기존 테이블의 구조를 변경하기 위해서 사용함. ALTER 새로운 열 추가 ALTER TABLE students ADD grade VARCHAR(20) - students 테이블에 grade 열을 추가함. grade 열은 VARCHAR(20) 데이터 타입을 가짐. 기존 열 이름 변경 ALTER TABLE students RENAME COLUMN grade TO great - students 테이블의 grade 열의 이름을 great로 수정함. 기존 열 데이터 타입 변경 ALTER TABLE students ALTER COLUMN address TYPE VARCHAR(100) - students 테이블의 address 열의 데이터 타입을 VARCHAR(100) 으로 수정..

Back-End/DBMS 2024.02.27