[javascript] 중복클릭 방지 - 세마포어 이용하기

중복클릭 방지가 필요한 이유

  • 중복된 클릭으로 인한 요청은 원하는대로 에플리케이션이 의도한대로 동작할수 없게 할 뿐 아니라 데이터의 정합성을 해칠 수 있음.
  • 물론 이를 막기위해 backend는 중복된 요청이 오더라도 데이터의 정합성에 이상이 없더록 처리가 되어야함
  • front end 또한 중복된 요청이 가지않도록 인터페이스에서부터 막을 필요가 있음
  • 중복 클릭 방지라는것은 경합상황에서 한번만 수행되도록 하는것!
Read more

querystring jquery 로 쉽고 명확하게 만들기

javascript상에서 쿼리스트링을 생성하여 redirect하거나, 비동기로 요청을 해야하는 경우가 있다.
간단하게는 string을 직접 생성하여 사용하는 방법도 있다.
jquery는 좀더 우아한 코드작성에 도움을 준다, 파라메터가 복잡할수록 가독성도 좋아진다.

파라메터가 하나 추가될때 이전방식은 변수선언과 url합성을 동시에 해야하는반면,
jquery를 사용했을때는 들어가는 object의 내용만 바꿔주면된다.

before

1
2
3
4
5
6
7
var id = "myId";
var name = "myName";
var age = "20"
window.location = 'http://localhost:7000?' +
'&id=' + id +
'&name=' + name
'&age=' + age;

after

1
2
3
4
5
6
7
var url = 'http://localhost:7000';
var obj = {
id : 'myId',
name : 'myName',
age : 20
};
window.location = url +'?' + $.param(obj);