필수 기능 로그인 아이디 비밀번호를 통해 로그인한다. 회원가입 회원가입을 한다. 아이디어 등록 아이디어 최소 경매입찰금액, 이미지, 제목, 내용, 카테고리를 설정하고 등록한다. 특허 데이터를 통해서 등록이 가능한 아이디어인지 확인을 해준다. ( 10분 고정 시간은 추후에 더 논의 - 트래픽 증가하는 것 ) 아이디어 전체 조회 아이디어 전체 조회 아이디어 단건 조회 아이디어 세부 페이지 조회 아이디어 수정 아이디어 설명 및 이미지 수정하기 아이디어 삭제 아이디어 삭제 카테고리 카테고리별 아이디어 전체 조회 검색 검색별 아이디어 전체 조회 알림 입찰한 아이디어가 다른 입찰이 들어올 때 내가 올린 아이디어가 입찰이 완료됐을 때 입찰 해당 아이디어 입찰하기 스택 Tech Stack Java, Spring Boo..
불필요한 연산 VS 불필요한 저장 오늘 페이지를 짜다가 사소한것이지만, 논의를 하였다. ( https://s3-file-url/ idea/images/1000001/. 파일이름.jpg ) 1. idea/images/1000001/파일이름.jpg (DB에 저장 => URL + DB저장한 데이터) vs 2. 파일이름.jpg (DB에 저장 => URL + idea/image/ + id + DB저장한 데이터) 토의 였다. 현재 로직에서는 아래 처럼 구성되어 있고 여기서 파싱하는 작업을 어떻게 할것인가에 대한 논의 였다. @Override public Optional findIdeaOne(Long ideaId) { return Optional.ofNullable(queryFactory.select(Projecti..
LoadBalancer 란? 하나의 인터넷 서비스가 발생하는 트래픽이 많을때 여러 대의 서버가 분산처리하여 서버의 부하량, 속저하 등을 고려하여 적적히 분산처리 해주는 서비스이다. AWS LoadBalancer 생성 생성을 누른다! Application Load Balancer (ALB): Layer 7에서 작동합니다 (HTTP/HTTPS 레벨). 요청 내용을 기반으로 라우팅 결정을 할 수 있습니다 (예: URL 경로, 호스트 기반 라우팅). 웹 애플리케이션과 마이크로서비스에 적합하므로 Spring 애플리케이션과 함께 사용하기 좋습니다. Network Load Balancer (NLB): Layer 4에서 작동합니다 (TCP/UDP 레벨). 최고의 성능과 초당 수백만 개의 요청을 처리할 수 있는 용량이 ..
ElastiCache AWS 에서 지원해주는 서비스중 하나로 메모리DB Redis에 적합하게 서비스를 제공하고 있다. 먼저 아래의 Redis 구조를 보면 알수 있다. 아래의 구조는 설정을 따로 지정해야 사용할수 있는데 AWS ElastiCache 에서 아래의 구조를 지원해주고 있어서 편리하다. ElastiCache 생성 방법 ElastiCache 클릭! Redis 클러스터 생성 클릭! 위와 같이 뜨는데, 간편한 생성보다는 모든 옵션 설정으로 원하는 Redis 구조를 선택하기 위해 2번째 ( 새 클러스터 구성 및 생성 ) 을 클릭해준다. 클러스터 모드 해당 모드를 활성화를 하게 되면 아래의 구조로 설정된다. 다만, 현재 이정도의 Redis 구조는 필요 없기 때문에 Sentinel 구조로 만들려고 한다. 참..
오늘의 공부 오늘은 최종적으로 테스트를 진행하였다. 카운트 쿼리를 포함하여 다시 재 테스트 측정을 하였고 성능은 땅바닥으로...떨어졌다.. 카운트 쿼리만 추가 하면 이렇게 오래 걸릴이가.. 내일의 공부 카운트 쿼리를 Redis 를 이용하여 처리를 해야 될것 같다... 오늘은 멘탈이 깨져서 이만..
오늘의 공부 오늘은 ElasticSearch 에 대해 조사하고 공부하였다. 아래처럼 정리 하였다. 나중에 더 정리하여 실제로 적용해보고 다시 글을 써볼 예정이다. ElasticSearch - 모든 사람이 필요한 것을 더 빨리 찾도록 - 광범위한 개방형 검색 플랫폼 - HTTP 의 JSON 인터페이스 지원 - 다양한 프로그래밍 언어 지원 - 머신러닝도 포함되어 있음. 용도 - 검색 엔진 - 분석 및 인사이트 제공 - 로그 분석 - 이벤트 분석 - 성능 분석 - 머신러닝 특징 용도 : 검색 및 집계 스키마 : 자동생성 인터페이스 : REST API 분산 적재 : 샤딩 트랜잭션 : 미지원 JOIN : 미지원 ElasticStack - ElasticSearch 가 개발될 무렵 진행된 오픈소스 프로젝트 - 로그 ..
NoSQL과 RDBMS의 특징과 차이점에 대해서 장, 단점을 들어 설명해주세요. NoSQL 는 비관계형 데이터베이스로 Join이 불가능하고 스키마에 맞추지 않는 일관성을 포기하였지만, Scale-out 을 쉽게 할수 있고 Key value dm로 쌍으로 저장되고 속도가 굉장히 빠른 편입니다. 보통은 데이터 변경 확장이 될수 있을 경우에 사용하는것이 좋다고 생각합니다. RDBMS 는 관계형 데이터베이스로 NoSQL 과 반대로 Join이 가능하고 스키마에 맞추어 일관성있는 데이터 구조를 가지고 있습니다. 또한, 서로 다른 테이블을 외래키로 Join을 할수 있다는 점이 큰 특징입니다. 다만, 스키마로 인해 데이터가 유연하지 못합니다. 보통은 데이터 구조가 정해져있을 경우에 사용하는것이 좋다고 생각합니다. mv..
AWS scale-up 프로젝트 진행중 프리티어로만 하기에 서버 리소스의 한계점에 도달한것 같아 scale-up 하였다. 하는 방식을 정리해 보았다. 해당 인스터스 선택하고 위와 같은 이미지 생성을 한다. 그렇게 되면 AMI 에 만들어지게 된다. AMI 에 이미지가 만들어지게 되면.해당 AMI 선택 해주고 로 시작할때 원하는 서버 설정값으로 바꾸면 된다!
어떤 문제가 생겼나요? QueryDSL 설정 gradle 에서 하고 GIthubAction 으로 올렸을때 문제가 생겼다. 바로 Q클래스가 있는데 한번 더 생성할려고 하여 에러가 생겼다는거다! 아아 이런...아래와 같이 에러가 발생하였다. 어떤 시도를 하였나요? 김영한띠 강의를 다시 보고 설정해보고 여러가지 구글링과 ChatGPT-4 까지 써봤지만 결국엔 안되었다..deploy.yml 도 수정하고 gradle 에서도 계속 수정해보았지만 결국엔 실패하였다... 어떻게 해결했나요? 아래의 블로그를 보고 설정을 해보았다....와... 성공... [Spring] QueryDsl gradle 설정 (Spring boot 3.x , 2.x ) (1) querydsl단독으로 쓸 때는 아니고, spring data jp..