스프링 시큐리티는 스프링 기반의 어플리케이션에서 보안과 인증(Authentication)을 담당하는 프레임워크다. 인증, 권한부여, 보안, 세션관리 등의 기능을 제공하며 웹 애플리케이션 뿐만 아니라 서비스 계층에서의 보안기능을 구현하는 데 사용될 수 있다. 다양한 인증
Java 8버전부터 Collection 인터페이스에 추가된 APIstream은 Collection 객체를 스트림으로 변환하여 데이터를 처리하는 다양한 연산을 수행하도록 도와주며 컬렉션, 배열 등의 데이터 소스로부터 요소를 추출하고 처리하는 기능을 제공한다. Stream
생성일, 수정일 같은 중요한 정보를 기록하는 코드가 모든 테이블과 서비스 메소드에 반복적으로 작성된다면, 귀찮고 자칫 코드가 지저분해질 수 있다.이런 문제를 해결하고자 JPA Auditing을 사용해 보려고 한다.JPA Auditing은 JPA를 사용하여 엔티티의 생성
ResponseEntity 클래스는 HTTP 응답(Response)을 나타내는 객체로, 반환된 HTTP 상태코드와 헤더, 응답 본문 등을 포함한다.ResponseEntity는 밑의 사진에서 보이는 것처럼 HttpEntity를 상속받았기 때문이다.바로 위의 사진은 HTT
지금까지는 Oracle, MySql 등 관계형 데이터베이스를 Mybatis와 같은 SQL 매퍼를 이용해서 데이터베이스의 쿼리를 작성해왔다.이번에는 ORM(Object Relational Mapping)을 구현하는 자바표준 기술인 JPA(Java Persistence
테스트코드를 작성하지 않는다면 오류가 발생하는 순간부터, 수정하고 반영하기 까지 계속 톰캣을 내렸다가 다시 실행하는 것을 반복한다.테스트 코드를 작성하면, 이런 문제가 해결되는 것과 더불어 여러가지 장점이 있기 때문에 이번 프로젝트를 진행하면서 테스트 코드를 사용할 생
프로젝트 유형을 gradle로 하여 자바 프로젝트를 생성한 후, SpringBoot 프로젝트로 변경하는 방법을 알아보고 정리하고자 한다.gradle.build 파일을 열어서 코드를 학인해보면 다음과 같다.간단하게 작성되어있는 기본 코드에, 플러그인 의존성 관리를 위한
RDBMS는 데이터를 관리하고 저장하는 데 사용되는 소프트웨어다.데이터를 테이블로 구성하고 각 테이블은 다른 테이블과 관계를 맺음으로써 생기는 관계에 의해 데이터를 구성하고 관리할 수 있다.RDMS는 Oracle, MySQL, PostgreSQL 등 여러 종류가 있는데
MariaDB는 다양한 날짜와 시간과 관련된 함수를 제공한다. 주로 사용되는 함수들을 살펴보자. > now() 현재 날짜와 시간을 알려준다. 위 쿼리는 2023-03-10 14:29:36 로 반환된다. > 년/월/일/시간 추출 현재 시간에서 혹은 데이터베이스
MariaDB에서 조회된 데이터가 Null인 경우 처리하는 방법은 다양하다. null인 경우 다른 값으로 대체할 수도 있고, 아예 조회가 되지 않게 처리할 수 있다.IFNULL()IFNULL() 함수는 첫번째 인자값이 Null 인 경우, 두번째 인자값을 반환한다. 따라
서브쿼리를 사용해보긴 했지만, 거의 WHERE문에서 사용했었다. SELECT문과 FROM문은 봐도 헷갈리는 부분이 있어서 이참에 서브쿼리에 대해 종합적으로 정리해보려고 한다.서브쿼리는 말그대로 메인쿼리에서 서브로 사용하는 또 다른 쿼리문이다. 메인쿼리에 종속적이며 서브
업무에 들어감에 있어서 자바스크립트의 핵심적이고 기본적인 개념에 대해 이해가 부족한 것 같아서 대표적인 특징인 비동기처리에 대해 먼저 알아보려고 한다.자바스크립트의 대표적인 특징으로는 비동기처리, 병렬처리, 동시성 등.. 들어보긴 했지만, 당연히 되는 거라고 생각을 해
데이터들은 하나의 테이블에 모두 저장되는게 아니라, 데이터의 성격에 따라 여러 테이블에 나뉘어서 저장된다. 데이터의 성격에 따라 다른 테이블에 나뉘어 저장된다 해도, 테이블끼리 서로 유기적으로 연관되어 있는 경우가 대부분이다.테이블별로 분리되어 있는 데이터들을 연결해서
SQL에서 사용되는 중요한 구문 중 하나.데이터를 그룹화하여 집계 함수를 사용하여 통계 정보를 생성하는 데 사용된다.위 사진은 주문 테이블을 전체 조회한 결과다.이 중에서 cu_id(고객id)가 1인 경우에만 조회하려면 다음과 같이 쿼리를 작성할 수 있다.그럼 아래 사
학원에서는 이클립스 + oracle을 사용했었다.오라클 홈페이지 가서 프로그램을 깔고, cmd 창에서 이것저것 설정을 해주었던 기억이 있는데, 현재 회사에서 사용중인 인텔리제이에 db를 연결해볼까? 수업때처럼 사용하고자 하는 데이터베이스 프로그램을 설치하는 것 부터 시
내가 새롭게 깨달은 클래스의 정의는 객체를 생성할 때 필요한 집함단위라고 생각한다.클래스를 생성했다고 해서 객체를 만든 것은 절대 아니다. 내가 심하게 착각한 부분이였다. 클래스를 생성하여 멤버필드를 선언하고 생성자와 getter/setter를 세팅하는 것은 많이 해왔
Vue.js 프로젝트를 진행하던 중 생긴 예상치 못한 오류ajax를 사용하기 위해 axios를 설치하려 로컬터미널에 npm install axios 명령어를 실행하였다. 하지만 설치가 되지 않고 오류 메세지들이.....\`\` ERR! code ERESOLVEnpm E
Vue.js 가 초면인 상황에서 공부를 시작하였다.프로젝트를 새로 생성 및 설정하면서 느꼈던 것은 역시 난 코드를 작성하는 것 보다 환경설정이 훨씬 어렵다는 것!이번에 프로젝트를 생성 한 방법도 정석은 아니다. 앞으로 여러 Vue.js 3 프로젝트를 생성하면서 숙련
팀 프로젝트에서 Spring & maven으로 프로젝트를 생성하여 사용해봤으니 개인 프로젝트는 Spring Boot & gradle 프로젝트로 진행하려고 한다.Tool : Spring Tool Suite 3Project : Gradle ProjectSpring Boo
초기의 HTTP 버전은 HTTP 통신을 한번 할 때마다 TCP에 의해 연결과 종료를 해야했다.당시의 통신에서는 작은 사이즈의 텍스트를 보내는 정도였기 때문에 별다른 문제는 없었다.그러나 HTTP가 널리 보급되어가면서 다량의 이미지를 포함한 문서 등이 늘어나게 됐다.하나