1. 자바스크립트 역사1)처음 -> DHTML(Dynamic HTML의 줄임말로 특정 기술이 아니라 HTML, CSS, 자바스크립트를 결합한 말)2) 넷스케이프 네비게이터 vs 인터넷 익스플로러 : 두 회사의 브라우저에서 처음엔 자바스크립트 형식이 달랐다 그래서 초기에 개발자들은 DOM을 다루기 위해 코드를 나눠야 했다. 그래서 실패했다. ex) 넷스케이프 : document.layers['myelement'], 익스플로러 : document.all['myelement']3)그래서 W3C에서 DOM 표준을 만들어 모든 브라우저 회사들의 DOM 형식을 통합했다. ex)document.getElementByID('myelement')4)W3C가 정의한 DOM : 문서의 외양과 구조, 내용을 스크립트와 프로그..
php1.addslashes() : DB 작업을 하기 위해서 쿼리를 작성하게 되는데, 이때 DB 시스템은 작은따옴표 ' 와 큰따옴표 " 그리고 백슬래시 / 그리고, NULL byte 를 문자열을 구분하는 등의 기준으로 이용하게 됩니다. 그런데, 하나의 문자열 안에 따옴표가 들어가 있게되면, 예상치 못하게 오류가 발생하게 됩니다. 그래서, 문자열을 데이터베이스에 저장할 수 있는 포맷으로 변화시켜줄 필요가 있습니다.예를 들면, I'm a boy 를 문자열로 지정해서 'I'm a boy' 이렇게 쿼리로 전송되게 되면, I 뒤의 작은 따옴표 때문에 오류가 발생하게 됩니다. 그래서, 내부에 위치하게 될 따옴표들을 기준을 가지고 다르게 표현을 해 줘야합니다. 흔히들 이스케이프(escape) 시킨다...라고 표현하는..
웹페이지를 구현할 때 서버에서 변경된 데이터를 실시간으로 프론트엔드에 반영되는 것은 매우 중요합니다. 이것을 가능하게 해주는 것이 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로 데이터가 리턴되었기..
웹 초보 개발자로써 개발을 할 때 항상 유효성 검사에 신경을 쓰게 된다 ... 어디까지 막아야할까? 귀찮음과 필요함 사이에서 갈등하게 되는 것 같다. 내가 아는 방법들만 소개한다 ㅎ (더 많은 방법들도 아시면 알려주세요)1. 클라이언트 - 서버 이중 유효성 검사 : 가능 한 모든 유효성 검사는 클라이언트와 서버측 두군데 다 하는게 맞음2. 유해 파일 업로드 필터링 추가 : 사용자가 파일을 업로드하는 곳이 있다면 파일의 확장자 등을 필터링해서 악성 프로그램 업로드를 차단하는 방법3. js파일 떨굴 때 주의 : 중요한 데이터의 경우 js파일로 떨구게 되는 경우 사용자가 볼 수 있기 때문에 꼭 db에서 select해서 값 가져오기4. 아파치 document root를 설정 : 사용자에게 공개되는 경로를 설정해..
PDO : php data objects php 5.1부터 여러 db를 일관성있게 처리할 수 있는 pdo 객체를 제공한다. pdo 객체를 쓰면 좋은점은 sql injection을 막을 수 있고 여러 db들을 다루기 유용한 것이다. sql injection을 막는 원리는 prepare,placeholder 함수를 사용하여 미리 쿼리문의 틀을 짜놓은 상태에서 쿼리문에 들어가는 변수 값만 사용자에게 입력받은 값으로 넣어주는 방식이다. 이때, 주의해야할 점은 사용자에게 입력받는 변수값을 그대로 넣어주지 않고 필터링을 해줘야 하는 것이다. 웹개발 시 보안을 생각하면 pdo 모듈을 쓰는 것도 좋을 것 같다. 참고 : http://blog.deadcoder.net/220374012896 http://blackfros..
출처http://blog.naver.com/joebak/220516030309 개요* HTML5 에서 소개한 양방향 통신 프로토콜* 아직 표준은 아님.* HTTP와 비교시 장단점 장점: Server 에서 Client로 바로 Event를 줄 수 있다는 점에서 성능향 효율적이다. (polling 과 같이 불필요한 request 가 없어도 됨) 단점: 코드 수준에서의 관리가 어렵다. 이벤트 방식이기 때문에 Event Listener 등록, Event 함수 등록해서 사용해야 함. 개발단계에서 Connection, Event 발생, Close를 다 해줘야 하므로, 서버개발자가 Test용 Client 어플리케이션을 직접 개발해가며 테스트해야 한다. 특징 'http://' 와 다르게 'ws://' 와 같은 Web S..
1. 태그 셀렉터$("h1").html 문서내의 ... 을 선택합니다. 헤드라인 2. id 셀렉터$("#title").html 태그요소중에 id="title" 인 요소를 선택합니다. 헤드라인 만약 h1 태그중에 id가 title 인 요소를 선택하려면, 아래와 같이 셀렉터를 작성할 수 있습니다. $("h1#title"). 3. class 셀렉터$(".title").html 태그요소중에 class="title" 인 요소를 선택합니다. 헤드라인 만약 h1 태그중에 class가 title 인 요소를 선택하려면, 아래와 같이 셀렉터를 작성할 수 있습니다. $("h1.title"). 4. 자손 셀렉터자손이라고 하는 것은 특정 태그 내에 포함되어 있는 모든 태그 요소를 의미합니다. 아들 1 딸 1 손자1 손녀1 위 ..