웹페이지를 구현할 때 서버에서 변경된 데이터를 실시간으로 프론트엔드에 반영되는 것은 매우 중요합니다. 이것을 가능하게 해주는 것이 data binding이라는 개념입니다. 데이터 바인딩은 MVC 구조를 가집니다. Controller를 통해 Model(데이터)의 변화를 바로바로 View에 반영하는 구조인데 Ember.js, AngularJS 등과 같은 프레임 워크에서 이 기능을 제공합니다. (Dirty Checking) 그러나 HTML5부터 Object.observe()라는 메소드를 이용해 더욱 효과적인 데이터 바인딩을 구현할 수 있다고 합니다.(Dirty Checking보다 성능적 향상이 있는 듯...) 하지만 Object.observer()는 브라우저의 제한이 있는데 현재는 크롬36이상에서만 가능하다고..
자바스크립트1.button submit2.ajax aync 옵션3.url scheme : html의 href 옵션을 사용할떄는 scheme을 붙여줘야 함 , 4. anchor 태그의 href=# 을 넣는 이유는 ?? -> 이미지나 텍스트에 링크표시를 해주기위해 a태그를 사용한다. 근데 #의 경우 해당 id가 없는 경우 페이지가 최상단으로 reload 되기 때문에 안좋을 수도 있다. 그리고 a태그안에 input태그 를 5.var today = new Date(); 하면 pc의 로컬 타임이 찍힘 (pc에 시간설정에서 나라를 바꾸면 다른 시간이 찍힘)6.eval은 jquery가 나오기 전 자바스크립트에서 XMLHttpRequest 객체로 ajax통신을 할 때 쓰는 함수로 옛날에는 text로 데이터가 리턴되었기..
개발을 하다 보니 참가자들의 랭킹을 매겨야하는 작업이 있다.이런 경우 어떤식으로 짜는게 가장 효율적이며 정확할까 고민을 하다보니 3가지 방법이 생각났다.(더 좋은 방법이 있으면 공유해주세요!) 1.db 트랜잭션 걸기첫 번째 방법은 먼저 db테이블에 들어간 데이터 수를 select count 해와서 그숫자에 +1을 한 값을 db의 순위 필드에 insert하는 방법이다. 단 주의할점은 select 후 insert하기 때문에 그 중간에 다른 데이터가 들어오거나 변경되는 경우 정확하지 않을 수도 있어서 트랜잭션을 걸어줘야 한다. (하지만 트랜잭션은 db에 lock을 걸기 때문에 함부로 사용해서는 안된다. 그리고 select -> insert라는 2 step을 거치기 때문에 비효율적일 수 있다.) (참고 : ht..