전체 글

전체 글

    [TIL - 20230414] 블로그 과제

    💻문제점 문제점1. CreatedAt과 ModifiedAt 이 Null로 들어가는 문제 발생 문제점2. createdAt과 modifiedAt을 날짜만 나오게 하고 싶다. 📃시도 문제점2. 자동으로 저장된 날짜와 시간을 subString으로 잘라서 사용하려고 했다. 🔍해결 문제점1. 생성 날짜와 수정 날짜는 애노테이션을 사용해서 DB에 들어갈 때 자동으로 생성될텐데 하고 찾아보다가 main 메서드가 있는 곳에 @EnableJpaAuditing 애노테이션을 붙이지 않았음을 알게 되었다. 해당 애노테이션을 적용해야 createdAt, modifiedAt 처럼 DB에 저장되거나 수정될 때 자동으로 기록할 수 있다. 문제점2. 단순히 createdAt과 modifiedAt의 데이터 타입을 LocalDateTim..

    [TIL - 20230413] 세션

    💻문제점 오늘 알고리즘 시험에서 3번 문제를 풀 때 첫 번째 테스트 케이스는 잘 수행되었다. import java.util.Arrays; public class Test3 { static int[] dx = {1, -1, 0, 0, 1, 1, -1, -1}; static int[] dy = {0, 0, 1, -1, 1, -1, 1, -1}; static int SIZE; static char[][] map; static char[][] resultMap; public static void solution(int x, int y, char mine) { if (x = SIZE || y = SIZE) { return; } char now = map[x][y]; //지뢰라면..

    [Spring] Spring profiles 통한 DB/개인정보 .gitignore에 추가하기

    깃허브에 프로젝트를 올리려고 할 때, 문득 DB 관련 정보를 어떻게 올리지 않을 수 있을까 고민했다. 비밀번호까지 올릴 수는 없으니... 결과적으로 yml 파일을 하나 더 만들어서 기존 application.yml과 연결시켜주면 된다. 이후, DB관련 정보가 있는 파일을 .gitignore에 등록해준다. 먼저 기존 코드는 다음과 같다. application.yml spring: datasource: url: jdbc:mariadb://localhost:3306/test username: root password: 비밀번호 driver-class-name: org.mariadb.jdbc.Driver jpa: hibernate: ddl-auto: update properties: hibernate: form..

    [TIL - 20230411] yml의 DB 정보 .gitignore 등록

    💻문제점 스프링 부트 프로젝트를 생성해서 mariaDB까지 연결했다. 해당 프로젝트를 깃허브에 올리려고 했는데, 문득 application.yml 에 DB 비밀번호가 있는 것을 떠올렸다. .gitignore에 등록하면 될 것 같은데, application.yml 파일을 모두 올릴 수는 없었다. 📃시도 application.yml에서 DB 부분만 .gitignore에 올릴 수 있나 생각해봤지만, 해당 줄만 등록할 수 있을리가... application.yml 파일을 분리할 수 있나? 방법을 찾아보았다. 🔍해결 DB 관련 내용을 가지는 yml 파일을 따로 생성하여 해당 파일만 .gitignore에 등록해주면 된다. 자세한 해결 방법은 따로 게시글로 정리해두었다. https://yeon-dev.tistory...

    [TIL - 20230410] DAO, DTO, VO

    🤦‍♀️의문점 서블릿으로 구현하면서 DAO, VO, DTO에 대해 궁금점이 생겼다. 코드를 작성하면서 어렴풋이 느낀건, DAO는 데이터베이스에 직접 접근하여 처리하는 로직을 작성하고, VO는 getter만 가지는 읽기 전용, DTO는 getter/setter를 가지고, 데이터 전달?용 데이터 주거나 받을 때 사용하는 것 같은데. VO랑 DTO의 차이를 명확히 모르겠다. DTO와 VO를 꼭 따로 작성해야 할까? 스프링 부트에서는 Entity라는 개념을 사용했는데 무엇이 다르지? DTO와는 왜 분리해? slf4j랑 Log4j2가 뭐가 다르지? 💡알게 된 점 DAO, DTO, VO 그리고 Entity DAO(Data Access Object) 데이터베이스의 데이터에 접근하기 위한 객체 데이터베이스에 접근하는 ..

    [WIL - 20230409]

    객체지향 프로그래밍 객체지향 프로그래밍이란 컴퓨터 프로그래밍 패러다임 중 하나이다. 프로그램에 필요한 데이터를 추상화시켜, 상태와 행위를 가지는 객체를 만들고, 객체들 간의 상호작용을 통해 로직을 구성한다. 객체지향 프로그래밍은 추상화, 캡슐화, 다형성, 상속성의 특징을 가지고 있다. 클래스 단위로 모듈화 시켜 개발하기 때문에 업무 분담이 편리하고, 클래스 단위로 수정이 가능하기 때문에 유지 보수가 용이하다. 또한, 클래스를 재사용하거나 상속을 통해 확장함으로써 코드 재사용성이 높다. 하지만, 설계에 많은 시간이 들고, 처리 속도가 다른 프로그래밍 패러다임에 비해 느리다는 단점이 있다. JVM JVM은 자바 가상 머신 Java Virtual Machine 을 의미한다. JVM은 JRE를 설치할 때 함께 ..

    [TIL - 20230407]

    💻문제점 maven으로 서블릿 프로젝트를 잘 못 생성해서 build.gradle 파일에 jspl dependencies를 추가해야 하는데 추가할 수 없는 상황이 발생했다... 📃시도 우선 프로젝트의 터미널을 git bash로 설정하고, 로컬에 gradle을 깐다. git bash에 gradle init --type pom 입력하면 gradle 관련 파일들이 생성된다. 우측에 gradle 메뉴도 생기는 것을 확인했다. mvnw, mvnw.cmd, pom.xml 파일을 삭제하고 프로젝트를 재실행해봤는데, 실행이 되지 않았다. 🔍해결 가장 간단한 방법은 gradle로 다시 프로젝트를 생성하는 것이다...! 프로젝트 안에 파일이 많은 것도 아니었고, 스터디 시간도 많이 남지 않았어서 다시 프로젝트를 만드는 것을..