진짜 개발자
본문 바로가기

전체 글 (총 557개)

Spring JPA - 무한 카테고리 구현 이번 포스팅에서는 JPA를 이용한 무한 Category를 구현해보도록 하겠습니다. 1. 목표 item 목록이 보이는 Category를 구현하지 않고, 무한 Category를 설계하고 Application에서 해당 카테고리를 사용자에게 보여주기 위해 알맞은 형태로 가공하는 것 까지만 진행 해보도록 하겠습니다. 2. Table 설계 2.1 요구 사항 item은 이름, 가격, 속한 카테고리를 가지고 있습니다. item은 하나의 카테고리에만 속합니다. categories는 이름, 상위 카테고리 id를 가지고 있습니다. categories는 여러 item을 가질 수 있습니다. 2.2 설계 및 과정 level table 처음 생각한 방법은 level(depth) 별로 테이블을 만드는 것입니다. categories가..
개인 - 알고리즘 테스트 통과.. (Dev Matching) 코딩테스트에 대한 생각 우선 테스트는 그림과 같이 합격을 했다. 하지만, 이제 시작 합격을 해도 기업이 내 이력서를 보고, 괜찮다 싶으면 연락이 오는 형태이다. 결국 이력서를 보지만, 진입장벽만 높아진듯한 느낌이다..하지만 코딩테스트는 필수적이다고 생각한다, 기업에서 코딩에 관심이 있는 사람을 우선적으로 걸러내겠다는 말인데, 학교에서 대다수의 사람들은 알고리즘이 왜 필요하냐는 말을 한다. 오늘도 개인 프로젝트를 진행하며, 알고리즘의 필요성을 깨달았다(무한카테고리 구현시 재귀적으로 하위 카테고리를 삽입하는 기능을 구현) 결국, 내가 만드는 프로그램은 알고리즘을 통해서 구현된다. 코딩테스트 결과문제는 알고리즘 3문제, sql1 문제로 총 4문제이다. 코딩테스트를 보며, 알고리즘이 아직도 엄청나게 부족한 실력..
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..