복습 프로젝트 (6) solved.ac API 사용하기(태그 DB저장) - 1
·
복습 프로젝트
시작API 응답 데이터 확인{ "count": 1, "items": [ { "key": "arbitrary_precision", "isMeta": false, "bojTagId": 117, "problemCount": 241, "displayNames": [ { "language": "ko", "name": "임의 정밀도 / 큰 수 연산", "short": "임의 정밀도 / 큰 수 연산" } ], "aliases": [ { "alias": "string" } ] } ]}데이터에 맞게 dto 생성@Gette..
복습 프로젝트 (5) 알고리즘 문제 풀이 기록 구현
·
복습 프로젝트
1. 배경백준과 solved.ac에서는 풀이 여부는 확인할 수 있지만, 문제를 언제 풀었는지에 대한 이력 관리가 어려웠다.복습 시 특정 기간에 풀이한 문제를 조회하기 어려운 불편함이 있었다.기존에는 노션에 문제 풀이를 수동으로 기록해왔지만, 원하는 조건에 맞는 문제를 보다 효율적으로 조회할 수 있는 시스템의 필요성을 느껴 해당 프로젝트를 시작하게 되었다.2. 결과별도로 노션에 기록하지 않아도 풀이한 문제를 DB에 저장할 수 있도록 구현하였다.문제 풀이 날짜를 기준으로 이력 조회가 가능해졌다.문제를 풀면서 느낀 점을 간단히 기록할 수 있는 기능을 추가했다.3. 문제점문제를 풀 때마다 문제명, 난이도, 문제 번호, 설명 등을 수동으로 입력해야 하는 번거로움이 존재했다.하나의 문제에 태그가 여러 개인 경우 현..
복습 프로젝트 (2) 스프링부트4.x에서 h2-console웹 오류
·
복습 프로젝트
문제상황 implementation 'org.springframework.boot:spring-boot-starter'implementation 'org.springframework.boot:spring-boot-starter-web'implementation 'org.springframework.boot:spring-boot-starter-data-jpa'// h2implementation 'com.h2database:h2'spring: datasource: url: jdbc:h2:mem:testdb driver-class-name: org.h2.Driver username: sa password: h2: console: enabled: true H2 사용을 위해..
복습 프로젝트 (1) JPA 의존성 추가 후 DataSource 설정 오류
·
복습 프로젝트
implementation 'org.springframework.boot:spring-boot-starter-data-jpa' jpa를 사용하기 위해서 Spring Data JPA 의존성을 추가한 후 애플리케이션을 실행했을때 아래와 같은 에러가 발생했다 문제 상황***************************APPLICATION FAILED TO START***************************Description:Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.Reason: Failed to determine a suitable drive..
어드민 프로젝트 로그 파일 읽어서 DB저장(스케줄러) - 3
·
어드민 프로젝트
entitypackage com.example.admin_project.userlog.entity;import jakarta.persistence.*;import lombok.*;import org.hibernate.annotations.Comment;import java.time.LocalDateTime;@Entity@Getter@NoArgsConstructor(access = AccessLevel.PROTECTED)@AllArgsConstructor@Builderpublic class UserLog { @Comment("식별자") @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id") priv..
어드민 프로젝트 사용자 행동 로그파일 저장(AOP) - 2
·
어드민 프로젝트
logback-spring.xml ${LOG_PATTERN} ${LOG_PATH}/user-action.log ${LOG_PATH}/user-action.%d{yyyy-MM-dd}.log 30 ${LOG_PATTERN} AOP@Aspect@Componentpublic class UserLoggingAspect { private static final Logg..
어드민 프로젝트 mapstruct 적용 - 1
·
어드민 프로젝트
entity@Entity@Getterpublic class Menu { @Comment("식별자") @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id") private Long id; @Comment("메뉴 이름") @Column(name = "menu_name", nullable = false) private String menuName; @Comment("메뉴 순서") @Column(name = "sort_order", nullable = false) private int sortOrder; @Comment("사용 여부") @Column(name =..
프로젝트 하면서 찾아본 내용
·
어드민 프로젝트
Spring Data JPA vs JPA vs Hibernate기술명역할JPAORM을 위한 표준 인터페이스 (기능 정의)HibernateJPA를 구현한 실제 라이브러리 (실행 담당)Spring Data JPAJPA 사용을 더 편하게 도와주는 Spring 모듈 // JPA (Hibernate)public List findByName(String name) { String jpql = "SELECT u FROM User u WHERE u.name = :name"; return em.createQuery(jpql, User.class) .setParameter("name", name) .getResultList();}// Spring Data JPAList..