본문 바로가기

분류 전체보기47

[MySQL] 계정 생성 및 권한 부여, 그리고 역할 본 포스팅은 MySQL 8.0 기준으로 작성된 글입니다. 출처 : Real MySQL 8.0 (저자. 백은빈, 이성욱) 1. MySQL 이 계정을 다루는 방법 MySQL 에서는 계정을 아래와 같은 형태로 관리합니다. 'blog_user'@'localhost' @를 기준으로 앞에 'blog_user' 는 DB에 접속하기 위한 ID, 뒤에 'localhost' 는 DB에 접속 가능한 IP 혹은 도메인 정보가 들어가게 됩니다. 즉, 위 계정이 의미하는 것은 "blog_user 라는 ID 로 localhost 에서 접속이 가능한 계정" 라고 할 수 있겠습니다. -- 계정 예시 -- 1. localhost 에서 접속 가능한 blog_user 'blog_user'@'localhost' -- 2. 모든 IP 에서 접.. 2024. 2. 6.
본문 이미지 저장 로직을 개선해서 서버 성능 개선하기. 아래 글에서 프론트엔드에 웹 에디터를 적용한 후, 본문 이미지를 처리하면서 생긴 문제를 해결한 방법을 기록한 포스팅 입니다. 아래 글을 먼저 보시고 오시면 이해에 도움이 되니 참고바랍니다. https://byunsw4.tistory.com/46 [React-Quill] 웹 에디터 적용기 사이드 프로젝트를 진행하면서 웹 에디터를 구현할 사항이 발생했습니다. 제 사이드 프로젝트의 Front 는 React 기반으로 되어있기에, React 에서 사용할 수 있는 웹 에디터를 찾던 중 react-quill 이라 byunsw4.tistory.com 1. react-quill 을 이용해 본문 이미지를 삽입하는 경우 발생하는 문제 웹 에디터의 주요 기능 중 하나인 "본문 이미지" 기능을 react-quill 를 통해 사.. 2024. 1. 28.
[React-Quill] 웹 에디터 적용기 사이드 프로젝트를 진행하면서 웹 에디터를 구현할 사항이 발생했습니다. 제 사이드 프로젝트의 Front 는 React 기반으로 되어있기에, React 에서 사용할 수 있는 웹 에디터를 찾던 중 react-quill 이라는 라이브러리를 알게되어 적용하게된 사항을 기록해보려 합니다. 1. react-quill 설치 전 VSCode 를 사용하면서 React 를 개발하고 있어, VSCode 내 터미널에서 아래 명령을 실행하여 react-quill 라이브러리를 설치했습니다. npm install react-quill --save 위 명령어를 실행하면, 아래와 같이 react-quill 의존성이 추가됩니다. ``` package.json { "name": "react-shoppingmall-partners", "ve.. 2024. 1. 2.
[Spring Cloud Gateway] 여러 도메인에 대해 CORS 설정하기 0. API Gateway 에서의 CORS 설정 현재 개발 중인 프로젝트의 백엔드 서버는 MSA 구조로 개발되어 있어서, 프론트엔드 서버의 요청을 아래와 같은 흐름으로 받아들이고 있습니다. 클라이언트의 요청을 API Gateway 가 받아서, URI 를 확인해서 적절한 마이크로 서비스로 요청을 라우팅하는 형태입니다. 이 때, API Gateway는 클라이언트 요청에 대해 CORS 설정을 추가해야 합니다. CORS 에 대한 내용은 아래 포스팅을 참고해주세요. https://byunsw4.tistory.com/22 Access to XMLHttpRequest at 'http://localhost:8888/api/v1/login' from origin 'http://localhost:3000' has been.. 2023. 12. 24.
[Git] .gitignore 파일 적용 안될 때 (feat. QueryDSL) intellij 에서 commit tree 를 보는데, 아래와 같이 QueryDSL 로 인해 생긴 파일이 changes 에 보이게 되어 없애고 싶었습니다. 해당 파일들은 QueryDSL 을 적용하면서 생기는 파일(일명 Q파일)이므로, git 에 commit을 할 필요가 없는 파일입니다. (아예 git 에서 관리할 필요조차 없는 파일들이죠...) 그래서 해당 파일을 git 대상에서 제거하기 위해 .gitignore 파일에 아래 경로를 추가했습니다. src/main/generated/ # QueryDSL로 인해 생성된 Q파일이 생성되는 경로 근데 추가를 했음에도, changes 에서 사라지지 않았습니다..... 그래서 찾아보니 이미 git에 의해 관리되는 파일은 .gitignore 에 명시해도 적용되지 않기.. 2023. 12. 14.
[Design Pattern] 템플릿/콜백 패턴(Template/Callback Pattern) 0. 분리가 어려운 반복코드 개발을 하다보면, "반복되는 부분이 눈에 보이는데, 쉽사리 분리하지 못하는 경우" 가 종종 발생하곤 합니다. 대표적으로, Java 의 try / catch / finally 가 있죠. 아래 코드는 DataSource 를 활용해 데이터를 처리하는 DAO 코드를 작성한 예시 입니다. @Repository public class UserDao { public DataSource dataSource; public UserDao(DataSource dataSource) { this.dataSource = dataSource; } public void insert(User user) { Connection c = null; PreparedStatement ps = null; try { .. 2023. 12. 8.