본문 바로가기

전체 글

(285)
SQL SQL(Structured Query Language)은 관계형 데이터베이스 관리 시스템(RDBMS)에서 데이터를 관리하고 조회하기 위한 언어입니다. RDBMS는 데이터를 테이블 형태로 구조화하고, SQL은 이러한 테이블에서 데이터를 추가, 수정, 삭제, 조회하는데 사용됩니다. SQL의 주요 기능은 다음과 같습니다: 데이터 정의 언어 (DDL - Data Definition Language): CREATE: 데이터베이스, 테이블, 인덱스 등을 생성합니다. ALTER: 이미 존재하는 데이터베이스나 테이블을 수정합니다. DROP: 데이터베이스, 테이블, 인덱스 등을 삭제합니다. 데이터 조작 언어 (DML - Data Manipulation Language): SELECT: 데이터베이스에서 정보를 조회합니다...
Database Database 개념 Database를 한 마디로 정의하면 ‘데이터의 집합’ 이라고 할 수 있습니다. DB는 우리가 매일 사용하는 카톡 메시지, 인스타그램의 사진등의 정보를 저장하고 관리해 줍니다. DBMS DBMS 는 ‘Database Management System’ 의 약자로 Database를 관리하고 운영하는 소프트웨어를 의미합니다. RDBMS RDBMS는 ‘Relational DBMS’의 약자로 관계형 데이터베이스라고 불립니다. RDBMS는 테이블(table)이라는 최소 단위로 구성되며, 이 테이블은 열(column)과 행(row)으로 이루어져 있습니다. 테이블간 FK(Foreign Key)를 통해 다른 데이터를 조합해서 함께 볼수 있다라는 장점이 있습니다.
231208_TIL 오늘한일 과제 맡은 기능 구현하기 관리자 로그인과 댓글 관련 기능들 구현 및 수정 Controller 댓글과 관련된 API를 처리하는 Spring Boot 컨트롤러입니다. 댓글 생성, 조회, 수정, 삭제에 대한 엔드포인트가 정의되어 있습니다 // 컨트롤러: 댓글 관련 API를 처리하는 컨트롤러 클래스 @RestController @RequestMapping("/api/posts/{postId}/comments") @RequiredArgsConstructor public class CommentController { private final CommentService commentService; // 댓글 생성 API // requestDto 댓글 생성 요청 DTO // userDetail 현재 인증된 사..
231206_TIL 오늘한일 팀 과제 시작(백 오피스 프로그램 만들기) 나는 댓글 구현을 맡았다. CommentController package com.example.backoffice.domain.comment.controller; import com.example.backoffice.domain.comment.dto.CommentRequestDto; import com.example.backoffice.domain.comment.dto.CommentResponseDto; import com.example.backoffice.domain.comment.service.CommentService; import org.springframework.web.bind.annotation.*; import java.util.List;..
231130_TIL 오늘한일 테스트 코드 정리 Assertions Assertions.assertThat(??).isEqualTo(??); Assertions는 org.assertj.core.api.Assertions 클래스다. ?? 안에는 타입형 객체가 들어간다. isEqualTo()로 사용자가 생각하는 값을 비교한뒤 그게 맞는지 검사하는 테스트다. assertThat의 장점은 오류가 났을때 기대값과 실제값을 둘 다 보여줘서 뭐가 틀린지 명확하게 보여줘서 오류 찾는 시간을 단축시킨다. Assertions.assertThat(??).isInstanceOf(??); ?? 안에는 타입형 객체가 들어간다 이 메소드는, assertThat으로 테스트할 대상을 넣고, isInstanceOf는 앞의 테스트대상의 인스턴스니? 를 뭍는다..
231129_TIL 오늘한일 알고리즘 문제풀기 spring 공부 단위 테스트란 무엇일까? 개발자는 단위 테스트를 작성하여 프로그램을 테스트 할 수 있습니다. 단위 테스트는 작은 단위로 쪼개서 각 단위가 정확하게 동작하는지를 검사하는 테스트 기법입니다. 단위 테스트는 빠르게 작성할 수 있고 문제 발생 시 어느 부분이 잘 못 되었는지를 빠르고 정확하게 확인할 수 있다는 장점이 있습니다. 자바 프로그래밍 언어 용 단위 테스트 프레임워크인 JUnit5를 다뤄보겠습니다. Before - After @BeforeEach void setUp() { System.out.println("각각의 테스트 코드가 실행되기 전에 수행"); } 각각의 테스트 코드가 실행되기 전에 수행되는 메서드를 만들어 준다. @AfterEach void tear..
231128_TIL 오늘한일 카카오 로그인 구현하기 소셜 로그인 탄생 배경 모든 웹 사이트에서 회원가입 과정을 거치는 것은 사용자에게 부담이 됩니다. 매번 번거로운 회원가입 과정을 수행해야 할 뿐 아니라, 웹 사이트마다 다른 아이디와 비밀번호를 기억해야 합니다. 웹 사이트를 운영하는 측에서도 회원들의 개인정보를 지켜야하는 역할이 부담이 됩니다. 바이러스와 백신의 관계 처럼, 발전하는 해킹 기술을 막기 위해 보안을 강화하는 노력이 지속적으로 필요하기 때문이죠. 이런 문제를 해결하기 위해 OAuth 를 사용한 소셜 로그인이 등장합니다. OAuth탄생 배경 "A" 서비스에서 카카오의 정보(리소스)를 가져오기 위해서는 카카오의 ID PW를 직접 입력 받아서 "A" 서비스에 저장해서 필요할때마다 불러와서 사용을 해야했는데. 이렇게 ..
231117_TIL 오늘한일 RestTemplate이란 무엇일지 공부 하였다. RestTemplate이란? Spring에서 지원하는 객체로 간편하게 Rest 방식 API를 호출할 수 있는 Spring 내장 클래스입니다. Spring 3.0부터 지원되었고, json, xml 응답을 모두 받을 수 있습니다. Rest API 서비스를 요청 후 응답 받을 수 있도록 설계되어있으며 HTTP 프로토콜의 메소드(ex. GET, POST, DELETE, PUT)들에 적합한 여러 메소드들을 제공합니다. ※ Spring Framework 5부터는 WebFlux 스택과 함께 Spring은 WebClient 라는 새로운 HTTP 클라이언트를 도입하여 기존의 동기식 API를 제공할 뿐 만 아니라 효율적인 비차단 및 비동기 접근 방식을 지원하여, ..