일정을 수정하는 API를 만들고 Postman에서 테스트 했을 때 수정이 잘 되었다고 응답을 받았지만 다시 조회 API를 호출하니 수정이 제대로 반영되어 있지 않는 문제가 발생했다.일정 생성일정 수정일정 조회DB에 반영이 안되었으니 레포지토리 쪽 코드에 문제가 있을거라
웹 브라우저에 저장되는 데이터서버가 클라이언트의 상태를 기억하도록 도와준다.로그인 상태 유지 등에 활용된다.보안에 취약하다.민감한 정보를 저장하지 않아야한다.사용자 임의 수정이 가능하다.서버에서 중요한 정보를 보관하며 로그인을 유지하는 방법SessionId를 탈취하여도
Java 어플리케이션에서 입력 값을 검증하는 작업은 데이터 무결성을 보장하고 예상치 못한 오류를 방지하는데 매우 중요하다 ! @Valid와 @Validated는 둘 다 Java 어플리케이션에서 입력 값을 검증할 때 사용하는 어노테이션인데 오늘은 배운 내용을 복습하며 둘
이번에 일정관리 앱 프로젝트를 진행하면서 롬복에서 제공하는 편리한 기능을 사용했다.그 중에 생성자를 만들어주는 @AllArgsConstructor 와 Getter를 생성 하는 @Getter를 가장 많이 사용하지 않았나 싶다.하지만 현재 상황에서는 @AllArgsCons
Javadoc을 이용해 주석을 달아보면 좋을 것 같다는 피드백을 많이 받아서 이참에 블로그에 정리해 보려고한다.자바 코드에서 부가 설명이 필요할 때 사용함. 소스코드를 처음 보는 다른 개발자가 코드를 이해하기 더 수월하게 도와준다.JDK가 설치 되어있다면 사용할 수 있
SQL 쿼리를 작성하다보면 같은 구문이더라도 세미콜론의 유무의 따라 조회되는 값이 다르고 심지어 실행이 안되는 경우도 있었다. 이 부분에 궁금증이 생겨서 알아보았다.SQL에서 세미콜론(;)의 사용은 일반적으로 쿼리 구문의 끝을 나타내고, 여러 쿼리를 한 번에 실행할 때
자바 언어를 사용하여 DB와 상호 작용하기 위한 자바 표준 인터페이스로 데이터베이스 관리 시스템(DBMS)과 통신하여 데이터를 CRUD 할 수 있게 해준다.JDBC 의 구조JDBC의 주요 특징표준 API대부분의 RDBMS에 대한 드라이버가 제공되어 여러 종류의 DB에
SQL 문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/59413오늘 SQL 문제를 풀다가 테이블도 하나이고 시간대별로 몇 개의 데이터가 있는지 뽑아내는 문제라 간단하다고 생각했다. 하지만 돌아오
Spring으로 API만들고 실제로 데이터를 저장하기 위해서는 DB가 필요하다. IntelliJ 스프링 프로젝트에서 MySQL을 연동하고 테이블을 생성하는 과정을 정리 해보려한다.먼저 MySQL을 사용하려면 라이브러리를 추가해줘야한다. build.gradle의 depe
날짜 데이터를 저장하기 위해서 LocalDateTime 타입 변수를 선언하고 생성일과 수정일을 넣어주기로 했다. DB없이 테스트 할 때는 문제가 없었지만 DB를 연동하고 저장할 때 문제가 발생했다.ResultSet의 getDate() 메서드는 java.sql.Date
SQL 문제를 풀고 다른 분들의 풀이를 보다가 알게된 날짜 필터링문제링크 : https://school.programmers.co.kr/learn/courses/30/lessons/144856기존에 썼던 방식또 다른 방식뭔가 조금 더 직관적이고 깔끔하고 가독성
Lombok 라이브러리에서 제공하는 기능 중 하나로, 클래스에 이 어노테이션을 추가하면 자동으로 Logger 객체를 생성해 주어 코드에서 직접 Logger 인스턴스를 생성할 필요없이 간편하게 로깅을 사용할 수 있게 한다.View가 있는 경우 사용한다. 즉, Templa
이번에 일정관리 앱 프로젝트를 시작하면서 첫 단계로 API 명세서와 ERD를 작성해보았다.우선 API 명세서는 API가 어떤 용도로 만들어졌는지, 어떤 요청 방식을 사용하는지 등을 설명하는 설명서라고 이해하면 될 것 같다. 제 3자가 이용할 때 이해하기 쉽게 디테일하게
HTTP는 클라이언트와 서버의 통신뿐만 아니라, 서버와 서버간의 데이터 통신에도 사용된다.큰 그림으로 보자면 이 정도일까클라이언트 -> 요청 -> 서버서버 -> 응답 -> 클라이언트클라이언트는 서버로 요청을 보내고 서버는 요청에 대한 결과를 응답해준다.서버는 클라이언트
https://school.programmers.co.kr/learn/courses/30/lessons/77487공간을 2개이상 등록한 '헤비 유저'를 조회하는 sql을 짜는 문제이다.WHERE절 안에서 서브쿼리를 작성해 해결하였다.IN은 무엇인지 ? 조회하고
코트카타 시간에 알고리즘 문제를 풀고 SQL문제도 있었다는걸 오늘에서야 알게되었다 .. ㅎ 프로그래머스에서 SQL 문제도 풀어볼 수 있다니 너무 좋다. 하지만 SQL을 3주만에 봤더니 그새 잃어버려서 다시 정리 겸 적어본다.SUBSTR (SUBSTRING)데이터에서 보
만든 클래스(컨트롤러, 레포지토리 등)를 스프링에서 사용하려면 스프링빈에 등록을 해주어야 한다 (의존성 주입) 스프링 빈을 등록하는 2가지 방법 컴포넌트 스캔과 자동 의존관계 설정 자바 코드로 직접 스프링 빈 설정하기 컴포넌트 스캔 @Component 애노테이션이
오늘은 알고리즘 문제를 풀고 Spring 입문 강의를 들어봤는데 많은 내용은 아니었지만 익숙치 않아서 어렵게 느껴졌다. 학습하고 개념을 잡고, 코드를 직접 쳐보고 구현하면서 spring과 친해져보자 스프링 부트는 정적 컨텐츠 기능을 지원한다. html 파일을 작성하거나
생성자에서 랜덤한 숫자를 생성하는데 main메서드 에서 생성자를 최초에 한번만 호출하고 있다.생성자의 호출 위치를 바꿔주거나 랜덤 숫자를 생성하는 메서드를 해당 클래스 내부에서 호출되도록 로직을 바꿔야 겠다고 생각했다.결론적으로 생성자에서 랜덤 숫자를 생성하지 않고 해
익명 함수 이용하기(인자(넘겨줄게 없는 경우 생략)) -> { System.out.println("Hello Java");}표현해야될 내용이 한 줄로 짧다면 중괄호를 생략할 수 있다.() -> System.out.println("Hello Java");특징원본의 데이터