본문 바로가기

분류 전체보기254

[MariaDB] - 10.4 version 이후 admin Password 설정 시 ERROR 1356 (HY000) MariaDB(MySQL) 10.4 이후 버전 업부터 발생한 비밀번호 설정 시 발생한 관련 오류에 대해 포스팅하고자 합니다. 1. 문제 상황 1-1. 프로젝트와 데이트베이스 연동 문제 (1) HomeBrew를 통해 MariaDB를 설치하고 IntelliJ에서 Spring Boot 프로젝트와 데이터베이스를 연동하는 과정에서 아래와 같은 오류가 발생하였습니다. 1-2. 프로젝트 간 연동문제는 비밀번호가 설정되지 않아 발생하는 오류로 확인 (1) 관련 내용을 찾아봤을 때 MariaDB를 설치하고 계정 비밀번호를 설정하지 않은 상태에서 MariaDB를 다른 개발 환경에서 연동하고자 할 때 이러한 문제가 발생할 수도 있다는 것을 확인했습니다. 1-3. 이후 iTerm2에서 MariaDB에 접속 후 root 계정의.. 2023. 8. 25.
로드 밸런싱(Load Balancing)의 개념과 특징 현대 모든 웹 서비스들은 인터넷을 기반으로 서비스되고 있습니다. 인터넷의 발달로 모든 것이 편리해졌고 많은 사용자들을 인터넷을 사용할 수 있도록 도와주었지만 이는 트래픽의 폭발적인 증가의 요인이 되기도 했습니다. 아무리 성능이 좋은 서버라도 엄청난 양의 트래픽을 감당하기엔 한계가 반드시 존재합니다. 무수히 쏟아지는 트래픽을 여러 대의 서버로 분산해주는 기술이 없다면 한 서버로 모든 트래픽이 몰리게 되어 서비스 장애가 발생할 수도 있습니다. 이에 대한 해결 방안인 로드 밸런싱에 대해 정리해 보겠습니다. 1. 로드 밸런싱(Load Balancing) 1-1. 정의 (1) 로드 밸런싱은 네트워크 또는 서버에 가해지는 부하 트래픽을 분산시켜주는 기술을 의미합니다. 1-2. 로드 밸런싱의 필요성 (1) 웹 비즈니.. 2023. 7. 26.
캐싱(Caching) & CORS(교차 출처 리소스 공유, Cross-Origin Resource Sharing) 전산학(컴퓨터 과학, Computer Science)을 보면 캐싱(Caching)이라는 주제가 나오게 됩니다. 성능 최적화를 위해 사용되는 개념으로 최적화가 필요한 웹 서비스 환경에서도 성능 개선을 위해 캐싱 기술이 사용되고 있습니다. 웹 개발에 있어서 반드시 알고 있어야 하는 내용으로 CORS와 함께 캐싱까지 간단히 정리해 보겠습니다. 1. 캐시(Cache)와 캐싱(Caching)? 1-1. 캐시(Cache) (1) 컴퓨터 과학(Computer Science, CS)에서 캐시는 자주 사용되는 데이터나 값들을 저장하는 임시 보관 장소를 의미합니다. (2) 캐시는 자주 사용되는 데이터들이 캐시까지의 접근 시간에 비해 기존 데이터가 저장된 곳까지 접근하는 시간이 더 오래 걸릴 경우 해당 데이터를 캐시에 저장.. 2023. 7. 26.
인증(Authentication) & 인가(Authorization) Spring Security는 애플리케이션을 위한 인증(Authentication), 권한 부여(인가, Authorization) 및 기타 보안 기능을 제공하는 프레임워크로써 Spring Security를 사용하기 전 인증과 인가에 대한 정확한 개념과 차이점을 간단하게 정리하고자 합니다. 1. 인증(Authentication) 1-1. 정의 (1) 인증(Authentication)이란, 어떤 개체의 신원을 확인하는 과정을 의미합니다. (2) 특정한 인증 요소를 통해 자신의 신원을 확인할 수 있고 인터넷이 연결된 웹, 앱 서비스에서는 자신의 ID, PW를 입력하는 행위를 인증으로 볼 수 있습니다. (3) 단일 인증 이후에도 여러 개의 인증 절차를 거칠 수 있습니다. (은행과 같은 금융권 서비스의 경우 초기.. 2023. 7. 26.
HTTP 메서드(HTTP Method)의 종류와 속성 모든 웹, 앱 애플리케이션은 Web MVC 패턴을 통해 다양하게 개발되고 있으며 서비스 간 클라이언트와 서버의 통신은 모두 HTTP 통신을 통해 이루어지고 있습니다. MVC의 전체적인 구조를 파악하기 전, 클라이언트와 서버 간 통신에 사용되는 HTTP 주요 메서드에 대한 이해가 필요하기 때문에 포스팅으로 정리했습니다. 1. HTTP 메서드(HTTP Method) 1-1. HTTP 메서드의 정의 (1) HTTP 메서드란, 클라이언트와 서버 사이에 이루어지는 Request, Response 데이터를 전송하는 방식을 말합니다. 쉽게 풀어보면 서버에 존재하는 리소스(Resource)를 활용해 서버가 수행해야 할 동작을 지정하는 요청 방법을 의미합니다. 1-2. HTTP 주요 메서드 - 총 9가지의 HTTP 메서.. 2023. 7. 26.
Spring Boot 3.x 이상 버전에서 프로젝트 빌드에 실패하는 경우 (Mac OS 기준) 이번 포스팅에서는 IntelliJ를 이용해 Spring Boot 3.x 버전 이상의 프로젝트를 생성하는 과정에서 발생한 문제에 대해 해결한 부분을 공유하고자 합니다. 1. 문제 상황 (1) Spring Boot 3.x 이상의 신규 프로젝트 생성 과정에서 문제가 발생했습니다. 2. 문제 확인 (1) 확인 시, 3.x 이상 버전부터는 Java 11을 지원하지 않고, Java 17 이상부터 지원한다고 합니다. (2) 이에 따라, 기존에 설치되어 있던 Java 11 대신 새로운 Java 17을 설치하고 환경 변수 설정을 변경하게 되었습니다. 3. 문제 해결 진행 (1) 터미널을 열고 brew install openjdk@17 커맨드를 실행합니다. brew install openjdk@17 (2) 터미널에서 이에.. 2023. 6. 29.