[SpringBoot] created_at 처럼 엔티티 생성할 때 현재 날짜를 디폴트 값으로 지정하기 + 수정일 / Spring Data JPA automatic date creation
·
Framework/SpringBoot
엔티티가 만들어 질 때 현재 날짜를 디폴트 값으로 하는 방법에 대해 작성한 글입니다. 가령 게시글에 관한 테이블이라고 하면 created_at처럼 데이터가 추가되는 시점의 날짜를 저장하는 필드가 있을 것입니다. MySQL에서는 insert 쿼리에서 now() 함수를 쓰거나, 디폴트 값을 주면되는 아주 간단한 문제지만, 스프링에서는 어떻게 검색해야할 지도 잘 모르겠고(본인 얘기1), 내 논리라면 이게 되야 하는데...? 라고 생각하지만 잘 안되는 문제라서(본인 얘기2) 글로 정리하게 되었습니다. 부디 저만 삽질한 것이 아니길... 😈 "Spring Data JPA automatic date creation" 이라고 검색하면 스택 오버 플로우에 답변이 몇 개 있긴 하더라고요... 글은 문제를 해결하는 과정순..
[Vue.js] Vue.js 3 애플리케이션 만들기 / 비쥬얼 스튜디오 확장팩 설치 / 빌드하기
·
Framework
Vue.js 프로젝트를 초기화하는 방법을 정리한 글입니다 🌈 📣 해당 글은 npm이 설치되었다는 전제하에 진행됩니다! Vue 애플리케이션 만들기 node --version 위 명령으로 노드 버전을 확인합니다. Node.js 버전이 16 미만이라면 16 이상 버전으로 업데이트 해주셔야 Vue.js 3.x.x 버전을 사용하실 수 있습니다. npm init vue@latest 위 명령을 통해 create-vue를 설치 및 실행합니다. 그러면 아래처럼 몇 가지 선택 사항에 대해 선택할 수 있습니다. 우선 저는 모두 No로 했습니다. 여러분의 사정에 맞게 체크해주세요.ㅣ cd 프로젝트이름 npm install npm run dev 방금 생성한 프로젝트 폴더로 이동 후 패키지들을 설치합니다. 그리고 실행하면 Vue..
[SpringBoot] 스프링 부트 data.sql이 실행되지 않을 때 (data.sql not working)
·
Framework/SpringBoot
문제 상황 main/resources/data.sql 에 insert 쿼리를 작성하였는데, api를 테스트해보니 data.sql에 있는 쿼리가 적용되지 않았습니다. data.sql INSERT INTO users (name, id, password, ...) VALUES (...); INSERT INTO users (name, id, password, ...) VALUES (...); -- 이하 생략 -- application.properties spring.jpa.defer-datasource-initialization=true spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://lo..
[MongoDB] 몽고디비 CRUD 관련 쿼리 알아보기
·
DB/MongoDB
몽고디비를 처음 사용하면서 알게 된 쿼리들에 대해서 정리한 글입니다. ✨ 이 글을 읽기 전 참고하면 좋은 글 https://hulrud.tistory.com/69 [Node.js] 몽고디비 알아보기 ✨ Node.js 공부 중, 몽고디비를 사용하게 되면서 알게 된 내용을 정리한 글입니다. 몽고디비가 무엇일까? 몽고디비를 들어보신 분들이라면 NoSQL 데이터베이스에 대해서도 들어보셨을겁니다. 왜냐 hulrud.tistory.com 데이터베이스, 도큐먼트 먼저 저는 몽고디비 콤파스에서 쿼리들을 테스트해보겠습니다. use 데이터베이스이름 use study 는 study라는 이름의 db를 만들거나, 기존에 있던 데이터베이스를 선택하는 명령입니다. use study 명령 이후 switched to db study라..
[MongoDB] MacOS에서 몽고디비와 컴퍼스 설치하기
·
DB/MongoDB
몽고디비를 사용하기 위한 몽고디비와 컴퍼스 설치 방법에 대해 정리한 글입니다. ✨ 함께 보면 좋은 글 ✨ https://hulrud.tistory.com/69 [Node.js] 몽고디비 알아보기 ✨ Node.js 공부 중, 몽고디비를 사용하게 되면서 알게 된 내용을 정리한 글입니다. 몽고디비가 무엇일까? 몽고디비를 들어보신 분들이라면 NoSQL 데이터베이스에 대해서도 들어보셨을겁니다. 왜냐 hulrud.tistory.com ✨ 본문을 읽기 전 참고하기 ✨ 1️⃣ #: 설치하기 위한 단계 -: 부가 설명 을 나타냅니다! 성공적으로 설치하기 위해서는 # 다음의 문장을 꼼꼼히 읽어주세요! 2️⃣ 저는 맥OS 유저로 윈도우와는 설치 방법이 다른 점 참고해 주세요! 3️⃣ brew가 설치되어있다는 가정 하에 진행..
[Node.js] 미들웨어에 대해 알아보자
·
Framework/Node.js
Node.js 공부 중 미들웨어에 대한 개념을 확실히 하고자 정리한 글입니다. 미들웨어란? 미들웨어(Middleware)는 이름 처럼 HTTP 요청과 응답의 처리 과정 중간에 위치하먀, 어플리케이션의 동작을 제어하고 변형하는 함수 또는 모듈을 의미합니다. 저는 미들웨어를 요청과 응답의 중간 단계라고 생각하고 공부하였습니다. // 미들웨어 함수 예 const myMiddleware = (req, res, next) => { console.log('This is a middleware.'); next(); // 다음 미들웨어 함수 호출 }; app.use(myMiddleware); // Express에서의 사용 예 미들웨어 함수는 세 개의 인자를 받습니다. req는 HTTP 요청 객체, res는 HTTP 응..
[Node.js] 시퀄라이저와 ORM, 프로젝트 템플릿
·
Framework/Node.js
Node.js 공부하면서 시퀄라이저에 대해 알게되어, 공부한 내용을 정리한 글입니다. 시퀄라이저란? 시퀄라이저(Sequelize)는 Node.js에서 사용되는 ORM(객체 관계 매핑) 라이브러리 중 하나입니다. 스프링을 아시는 분들은 ORM에 대해서 익숙하시겠지만, 지금까지 시퀄라이저 없이 Node.js 환경에서 api를 만들고 계셨더라면, ORM이라는 개념이 낯설 수 있습니다. ORM 이란? ORM은 Object-relational Mapping의 약자로 데이터베이스와 객체 지향 프로그래밍 언어 간의 상호 작용을 간소화하는 프로그래밍 기술로, 객체와 데이터베이스간의 패러다임 불일치를 해결하기 위해 도입되었습니다. 패러다임 불일치란 객체 지향 프로그래밍 언어에서 사용되는 데이터 모델과 관계형 데이터베이스..
[MongoDB] NoSQL, 몽고디비 알아보기
·
DB/MongoDB
Node.js 공부 중, 몽고디비를 사용하게 되면서 알게 된 내용을 정리한 글입니다. 몽고디비가 무엇일까? 몽고디비를 들어보신 분들이라면 NoSQL 데이터베이스에 대해서도 들어보셨을겁니다. 왜냐하면 몽고디비는 NoSQL 데이터베이스이기 때문이죠. NoSQL NoSQL은 "Not Only SQL"의 약자로, 관계형 데이터베이스 관리 시스템(RDBMS)가 아닌 다양한 형태의 데이터 저장 및 검색을 지원하는 데이터베이스 시스템을 말합니다. NoSQL은 다음과 같은 장점이 있습니다. 유연성: 스키마가 정적이지 않거나 필요에 따라 유연하게 조정될 수 있는 데이터 모델을 제공합니다. 필드의 추가 및 삭제가 자유로운 schema-less 구조를 가집니다. 확장성: 데이터의 분산, 저장, 처리를 지원하여 대량의 데이터..
[Docker] ubuntu에서 docker 설치하기, sudo 없이 docker 명령 사용하기
·
Deploy/Docker
참고 링크 설치 방법이 수시로 바뀌기 때문에 이 링크의 명령으로 설치하는 것을 권장드립니다. https://docs.docker.com/engine/install/ubuntu/ Install Docker Engine on Ubuntu Jumpstart your client-side server applications with Docker Engine on Ubuntu. This guide details prerequisites and multiple methods to install Docker Engine on Ubuntu. docs.docker.com 도커 컴포즈 설치 https://docs.docker.com/compose/install/standalone/ Install Compose standa..
[Linux] 리눅스 쉘에서 VIM 에디터 활용하기
·
Linux
리눅스 쉘에서 VIM 에디터를 사용하는 방법에 대해 아주 간단하게 소개하는 글입니다. VIM 에디터 VIM은 Vi라는 유닉스 에디터에 자동화, 시각화 메뉴를 추가한 프로그램 입니다. VIM 이외에 이맥스라는 에디터도 있는데 주로 두 에디터 중 하나를 사용하고, 이 글에서는 VIM에 사용법에 대해 소개하고 있습니다. VIM 설치 리눅스에서 vim 설치는 다음 명령줄을 통해 하실 수 있습니다. sudo apt-get install vim​ 윈도우나 맥os 사용자 분들은 아래 링크에서 vim을 다운로드하여 사용할 수 있습니다. https://www.vim.org/download.php download : vim online Downloading Vim Vim is available for many differ..
[Linux] 리눅스 리다이렉션과 파이프
·
Linux
도커를 공부하기 전 리눅스에 대해 공부하면서 알게된 점을 정리한 글입니다. 리다이렉션 Standard Stream 리눅스에서 실행되는 프로세스는 세 가지 스트림을 가지고 있습니다. 표준 입력 스트림(Standard Input Stream) - stdin 표준 출력 스트림(Standart Output Stream) - stdout 오류 출력 스트림(Standard Error Stream) - stderr 그리고 이 모든 스트림은 일반 텍스트로 콘솔에 출력됩니다. 예를 들어, ls -al이라는 명령을 했을 때 나오게 되는 텍스트가 모두 출력 스트림이고 ls -al 라는 명령이 입력 스트림이 되는 것이죠. 이처럼 각각의 스트림을 다루는 방법(콘솔에 plain text)이 기본적으로 설정이 되어있는데, 이를 바..
ssh 원격 접속할 때 (WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!)
·
Deploy/AWS
발생 상황 ec2 인스턴스에 접속하고자 ssh -i "키페어" ubuntu@[아이피 주소]를 명령줄에 입력했는데 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! 에러가 나면서 접속이 안되었습니다. 발생 원인 이 에러는 ssh 서버의 호스트 키가 변경될 경우 발생할 수 있습니다. ssh 서버의 호스트 키는 서버를 재설치하거나 키를 재생성 하는 경우에 변경될 수 있습니다. 해결 방법 ssh-keygen -R IP주소 저는 위 명령을 통해 해결했습니다. ssh-keygen은 ssh 키 관리 유틸리티입니다. -R은 호스트 키 캐시에서 제거하는 옵션입니다. IP주소는 호스트 키를 제거하려는 대상 서버의 IP주소입니다. 이 명령을 사용하는 이유는 호스트의 키가 변경되었을 대 ..