목록기타 개발 지식 (3)
백고등어 개발 블로그
오늘은 많은 개발자분들이 한 번쯤은 겪는 동시성 이슈에 대해 이야기해볼까 합니다."어? 갑자기 재고 수량이 맞지 않네?"라는 상황, 한 번쯤 들어보셨죠? 이 글에서는 동시성 이슈가 왜 발생하는지, 그리고 이를 어떻게 해결할 수 있는지, 현실적인 비유와 함께 스프링 부트 예제 코드를 곁들여 쉽게 풀어보겠습니다!동시성 이슈란?먼저, 동시성 이슈란 여러 사용자가 동시에 같은 데이터를 읽고 수정하면서 발생하는 문제를 말합니다.현실 속 비유친구와 피자가게에서 전화로 주문을 하고 있다고 가정해보겠습니다! 친구 A가 전화로 피자를 주문하며 남은 재고가 몇 개인지 물어봅니다. 가게 직원은 "5개 남았어요!"라고 대답합니다. 친구 B도 동시에 전화를 걸어 "재고 몇 개 남았나요?"라고 묻습니다. 직원은 "5개 남았어..
웹 서버 클라이언트(웹 브라우저)로 부터 http 방식으로 요청 받아 정적인 컨텐츠를 제공해주는 프로그램이다 또 자체적으로 처리할 수 없는 동적인 자원을 웹 컨테이너로 넘겨주고 웹 컨테이너에서 처리한 결과를 다시 받아 클라이언트에게 제공해주는 역할을 합니다 웹 컨테이너 웹 서버가 보낸 동적 자원(jsp, php, asp.net 등)을 실행하고 수행 결과를 다시 웹 서버로 보내주는 역할을 합니다 대표적으로 톰캣, RESIN, 웹로직, 웹투비 등이 있습니다 웹 어플리케이션 서버(WAS) WAS는 웹 서버와 웹 컨테이너가 합쳐진 형태로서, 웹 서버 단독으로는 처리할 수 없는 데이터베이스의 조회와 같은 동적 컨텐츠 처리를 제공한다 덕분에 사용자의 다양한 요구에 맞춰 웹 서비스를 제공할 수 있습니다 웹 서버와 W..
CRUD를 웹개발에 맞게 좀 더 세분화 시킨 것이 7 Standard Actions입니다. 웹사이트가 어떠한 종류의 데이터를 가지고 하는 일반적인 7개의 작업입니다. CRUD는 4개 인데 왜 7개가 되는지는 계속 읽어 보시면 알 수 있습니다. '반드시 이 7가지 작업을 할 수 있어야 한다'는 것은 아니고, 그냥 가이드 정도로 생각하시면 됩니다. 명칭도 정확하게 정해지지 않아서 Standard Controller Actions, Golden Seven Actions 등등으로 다양하게 불리지만 저는 그냥 7 actions라고 부르겠습니다. 자료를 웹사이트에서 생성하기 위해서 웹사이트는 2가지 일을 해야 합니다. New - 생성폼(form)을 사용자에게 보여주고, Create - 전달 받은 자료를 실제로 생성..