진짜 개발자
본문 바로가기

전체 글 (총 573개)

Mysql - Mysql(InnoDB)를 사용할때 성능을 위해 알아야하는 것(Index의 중요성) 이번 포스팅에서는, 자신이 DBMS로 mysql 을 사용한다고 말한다면, 당연히 알아야하는 것에 대해 간단히 알아보려고합니다. 1. Mysql의 구조 먼저, Mysql을 사용할 때 기본으로 알아야하는 것에 알아보기 전에 이해를 돕기 위해, Mysql의 기본구조를 간단하게 살펴보도록 하겠습니다. Mysql은 크게 Mysql 엔진과, 스토리지 엔진 부분으로 나뉩니다. 1.1 Mysql 엔진 Mysql 엔진은 파서, 전처리기, 옵티마이저, 쿼리실행기 등으로 구성되어 있으며, 사용자의 요청을 받아, 쿼리를 검사하고, 스토리지 엔진에게 데이터 읽기 또는 변경에 대한 실행 요청을 합니다. 1.2 스토리지 엔진 스토리지 엔진은 실질적으로, 데이터 파일로부터 데이터를 읽거나, 데이터를 쓰고 변경하는 작업을 진행합니다...
서버 운영 - 다중 인스턴스 환경에서의 session (고가용성 환경 session, 세션 클러스터링, 스티키 세션) 고가용성 session 다중 인스턴스 환경에서의 SessionWeb Server가 고가용성을 유지하기 위해서는, 같은 역할을 수행하는 서버가 한대이상이 동시에 동작하고 있어야 합니다.보통 Load Balancer를 이용해 이들 서버에 적절히 부하를 분산하며, 한쪽 서버가 연결이 안된다면, 다른 정상 서버로 사용자의 요청을 보냅니다. 문제점 Session을 이용해 사용자의 로그인을 다루는 경우, 하나의 instance에서 어플리케이션이 동작한다면, 아무런 문제가 없습니다. 하지만 instance가 두개 이상이라면 문제가 있습니다. 사용자가 로그인 요청을 보내었으며, Load Balancer의해 1 instance에 요청이 전달되었고, 해당 인스턴스에서 session을 생성했습니다. 이 후 사용자..
Spring Security - Spring MVC Test하기(@WithMockUser, form login 리다이렉션 해결) Sprint security MVC Test Spring MVC를 이용해 웹을 개발하면, 인증 및 허가를 편리하게 다루기 위해 Spring Security를 사용합니다. 또한 어플리케이션을 개발하다보면 필수적으로 테스트코드를 작성하게 됩니다. 하지만, 이때 Security Form Login이 적용되어 있다면, 자동으로 유저를 로그인 페이지로 리다이렉션 시키키 때문에, 우리가 원하는 테스트를 진행하기 어렵습니다. Spring Security 사용시 MVC Test하기 1. Test Project 생성 완성된 프로젝트 구조입니다. 아래에서 각각의 파일들을 자세히 알려드리겠습니다. build.gradle dependencies { implementation 'org.springframework.boot:sp..