안녕하세요! 오랜만에 글을 작성하는 재영입니따개인 프로젝트를 또 끄적끄적... 하는 중인데, 프로젝트를 진행하면서 놓치고 있던 부분을 다시 정리해 보겠습니다. 저는 사용자가 입력하는 필드를 만들어두면, Spring MVC의 사용자 입력 검증 방식을 활용하여 유효성 검사를 수행하는데,HTML5에서 기본적으로 유효성 검사를 할 수 있어서, 그 방식과 제가 기존에 사용하던 검증 방식을 정리하겠습니다.두 가지 검증 방식을 설명하면서, 두 가지 검증 방식을 함께 사용하면 발생하는 문제와 해결 방법도 함께 설명하려고 합니다. 시~~~작 1. 개요스프링 MVC와 HTML5는 각각의 방식으로 사용자 입력을 검증할 수 있습니다. 이번 글에서는 두 검증 방식을 함께 사용할 때 발생할 수 있는 문제와 이를 해결하..
Study/Spring
안녕하딤니카?이번에는 저번에 작성했던 MySQL에서 제공하는 Lock 세 가지를 활용하는 방법에 이어서,Redis의 두 가지 라이브러리(Lettuce, Redisson)를 활용해서 동시성 이슈를 해결하는 방법을 알아보겠습니다.저번 글은 아래에서 확인할 수 있습니다! MySQL에서 제공하는 Lock을 이용해서 동시성 제어하기 (Pessimistic Lock, Optimistic Lock, Named Lock)안녕하딤니카? 또 티스토리 블로그 방치 이슈...오늘은 저번에 슬렁슬렁 공부하던 동시성 제어를 좀 더 공부해 보기 위해서 글을 작성해 봅니다바로~ MySQL에서 제공하는 Lock을 이용해서 동시성chuuuu1224.tistory.com 그럼 시~작 1. 개요저번에는 MySQL의 Lock을 활용해..
안녕하딤니카? 또 티스토리 블로그 방치 이슈...오늘은 저번에 슬렁슬렁 공부하던 동시성 제어를 좀 더 공부해 보기 위해서 글을 작성해 봅니다바로~ MySQL에서 제공하는 Lock을 이용해서 동시성 제어하기! 시작하겠붐붐띠 1. 개요이번에는 저번에 선착순 쿠폰 발급 시스템에서 발생한 문제와 비슷하게, 데이터베이스에서 동시성 제어를 위해 사용하는 Lock을 이용해서 여러 트랜잭션이 동일한 데이터에 접근했을 때 발생할 수 있는 충돌을 방지하기 위해 Lock 을 MySQL에서 사용해보려고 합니다.저는 MySQL과 Redis에서 제공하는 기능을 활용할 예정이며, 이번 글에서는 Lock의 정의부터 Lock을 사용해야 되는 이유,그리고 Pessimistic Lock, Optimistic Lock, Named L..
안녕하데요? 재영입니따 오늘은 저번 글에 이어서, 선착순 쿠폰 발급 시스템의 로직을 살짝 변경해서 Redis의 Set 자료구조를 찍먹해보는 시간을 가져보겠습니다. 저번 글은 여기서 확인해주세요이~~~ 선착순 쿠폰 발급 시스템 개발을 통해 Redis 랑 Kafka 찍먹해보기안녕하세요? 재영입니따 프로젝트 개발을 끝내고 오랜만에 블로그에 왔습니다오늘 정리해볼건 여태 안 듣고 미뤄놨던 Redis 랑 Kafka 찍먹 강의를 듣고학습한걸 끄적여보려고 합니다 이거 진chuuuu1224.tistory.com 그럼 레쭈고기리기릿 1. 개요저번 글에서까지 정리한 선착순 쿠폰 발급 시스템의 로직은 한 명의 사용자가 여러 개의 쿠폰을 중복해서 발급받을 수 있습니다.근데 다른 서비스에서 쿠폰 받는 걸 생각해 보면..
안녕하세요? 재영입니따 프로젝트 개발을 끝내고 오랜만에 블로그에 왔습니다오늘 정리해볼건 여태 안 듣고 미뤄놨던 Redis 랑 Kafka 찍먹 강의를 듣고학습한 걸 끄적여보려고 합니다 이거 진짜 찍먹 수준이라 Redis 랑 Kafka 써봤다고 하면 안 될 정도고저도 처음 써보는 거라 얘네들이 뭘 도와주는 친구들인지 알아보는 것만으로도 머리가 터질 것 같습니다 하하하... 그럼~ 레 쭈 고 1. 개요이번 글에서는 선착순 쿠폰 발급 시스템을 개발하면서 겪었던 문제점과 이를 해결하기 위해 사용한 Redis와 Kafka 가 어떻게 선착순 쿠폰 발급 시스템에서 작동하는지에 대해 설명하겠습니다. 이 과정을 통해 저는 많은 사용자가 몰려서 발생할 수 있는 동시성 문제를 해결하고, 데이터베이스 부하 분산 방법..
안녕하딤니카그간 폐관수련으로 공부를 소홀히 하다가 다시 미라클모닝도 시작하고... 열심히 공부 중인 재영입니다 최근에는 스프링의 검증 처리를 하는 방법에 대해 자세히 배우고 있는데맨날 JSP로 if문 써서 처리하다가... 타임리프 쓰니까 코드 관리하기 좋더라구요 이번 글은 제가 강의 들으면서 검증 처리를 구현한 과정을 간단히 정리하고초반에 한글이 출력되지 않아 문제를 해결한 과정을 살짝쿵야 남겨볼게요저도 남겨두면 두고두고 볼 것 같아서요! (오늘도 지극히 제 위주의 글이라는 뜻입니다 그럼 시 작(수강 강의: 김영한의 스프링 완전정복 로드맵 - 스프링 MVC 2편) 1. Validation(검증) 처리 과정 1) resources 폴더 아래에 errors.properties 파일 생성 후 레벨 ..
안녕하세용 오늘은... 간단한건데 제가 깃허브 리드미에 트러블슈팅 메모를 남겨놨길래 티스토리에 옮겨 적는 스프링 빈으로 등록하려고 했을 때 발생할 수 있는 Could not autowire 에러에 대해서 뜯어보겠습니다 사실 이건 의존관계를 잘 생각해서 구현하면... 잘 볼 수 없다고 생각하지만 (물론 저의 생각) 인생이란? 야속하게도 멀쩡하게 굴러가지 않을 때가 훨씬 더 많기도 하고 제가 의존관계부터 공부를 다시 시작했을 때 시뻘건 줄 박박 그어진거보고 개큰울음을 발싸했기때문에... 저처럼 스프링 공부하시는분들은 심심치않게보지않을까? 싶습니다 물론 이것도 그냥 저의 생각입니따 우땨땨... 잡담 그만하고 바로 드가겠습니다 레쭈고 1. 에러 내용 확인 Could not autowire. There is mo..
안녕하딤니카 여러분 오늘은 스프링에서 의존관계 주입을 하다보면 가끔 볼 수 있는 BeanNotOfRequiredTypeException 에 대해서 알아보겠어요 대체 BeanNotOfRequiredTypeException 는 왜 생기는지 어케 해결하면 되는지 정리해보겠습니다 레 쭈 고 1. BeanNotOfRequiredTypeException 에러 발생의 원인 빈 등록이 올바르게 되어있지 않은 경우 : 의존성 주입을 위해 @Autowired 또는 @Inject 등의 어노테이션을 사용하여 해당 타입의 빈을 주입받는 클래스가 있는데, 해당 빈이 스프링 컨테이너에 제대로 등록되어 있지 않은 경우에 발생할 수 있다. 빈 이름 충돌 : 스프링은 빈을 등록할 때, 기본적으로 빈의 이름을 해당 클래스의 이름(첫 글자..