jquery.ready()와 .onload()의 차이점
2021. 8. 11. 08:19
개발용어
-호출 시점의 차이 ready() -> onload() 순으로 실행 .ready() 호출시점 : DOM Tree 생성 완료후 실행 .onload() 호출시점 : 모든 페이지 구성요소 페인팅 완료 후 -DOM(돔)이란 브라우저가 HTML 웹 페이지를 인식하는 방식을 계층화시켜 트리구조로 만든 객체 모델이다.
Sql Injection과 xss를 방지하기
2021. 8. 11. 08:15
개발용어
* Sql Injection 방어하기 - Mybatis에서는 내부적으로 #{} ${} 두 가지 형식으로 파라미터를 받는다. - #{} : 내부적으로 PreparedStatement를 사용하기 때문에 sql injection 공격에 안전하다. - ${} : 파라미터가 바로 출력된다 -> SQL Injection 공격에 취약 * xss 방어하기 - lucy-xss-servlet-filter 적용 1. XML 설정 만으로 XSS 방어가 가능해짐 2. 비즈니스 레이어의 코드 수정이 발생하지 않음 3. 개발자가 XSS 방어를 신경 쓰지 않아도 됨 4. XSS 방어가 누락되지 않음 5. 설정 파일 하나로 XSS 방어절차가 파악됨 -> lucy의 필터링은 서블릿 설정으로 적용을 했기 때문에 form-data에 대해서..
아파치와 톰캣의 차이점
2021. 8. 11. 07:56
개발용어
웹서버는 정적인 데이터를 처리하는 서버, 단순 HTML을 처리하는 서버라면 웹서버가 적당하며 빠르고 안정적이다. WAS는 동적인 데이터를 처리하는 서버, DB 연결, 데이터 조작등과 같은 처리는 WAS를 활용해야 한다.
CORS (cross-origin resource sharing)란?
2021. 7. 15. 22:19
개발용어
CORS(교차 출처 리소스 공유) 교차 출처 리소스 공유(Cross-Origin Resource Sharing, CORS)는 추가 HTTP 헤더를 사용하여, 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제입니다. CORS같은 정책이 없으면 CSRF, XSS같은 보안 공격에 노출이됨
추상클래스, 인터페이스
2021. 7. 15. 22:12
개발용어
추상클래스 추상클래스는 일반 클래스와 다를게 없음. 단지 추상 메서드를 선언하여 상속을 통하여 자손 클래스에서 완성하도록 유도하는 클래스, 상속을 위한 클래스이므로 따로 객체를 생성할수 없음 abstract class 클래스이름 { ... public abstract void 메서드이름(); } 인터페이스 인터페이스도 추상클래스처럼 다른 클래스를 작성하는데 도움을 주는 목적으로 작성하고 클래스와 다르게 다중상속이 가능함 interface 인터페이스이름 { public static final 상수이름 = 값; public abstract void 메서드이름(); }
AOP, DI, IOC란?
2021. 7. 15. 22:00
개발용어
AOP 기존의 소스코드를 건들이지 않고, 객체를 다른 객체로 바꾸는 방법 (관점 지향 프로그래밍) @Transactional, 프록시 패턴 DI 객체 자체가 아니라 Framework에 의해 객체의 의존성이 주입되는 설계패턴 생성자, 메소드의 setter, @inject, @autowird를 통해 주입하는 방법 IOC 제어의 역전이라고 부르며, 메소드나 객체의 호출작업을 개발자가 결정하는것이 아니라. 프레임워크에서 결정하는것