Web/note
[정보처리기사] 컴퓨터 보안 공격 용어 정리
바이러스 : 스스로 복제하여 컴퓨터를 감염시키는 프로그램, 복제 기능이 없는 악성코드, 애드웨어, 스파이웨어와 혼동 디도스 (DDos) : 서비스 거부 공격, 시스템 리소스를 부족하게 하여 원래 용도로 사용하지 못하게 하는 공격 Ransomware : 시스템 접근을 제한하고 일종의 몸값을 요구하는 악성 소프트웨어 APT (Advanced Persistent Threat) : 특정 타깃을 대상으로 하는 지속적, 지능적 공격 Web shell : 웹 사이트를 통해 쉘(shell)을 여는 공격, 악성코드를 배포하거나 개인정보 유출 위험 Sniffing : 네트워크 상의 지나가는 패킷을 캡처, 내용을 들여다보는 기술. 패킷(데이터) 교환을 엿듣는 도청 Spoofing : 임의로 웹사이트를 구성, 방문을 유도해 ..
[HTTP] 상태코드 3xx - Redirection
요청을 완료하기 위해 웹브라우저(유저 에이전트)의 추가 조치가 필요하다 301 Moved Permanently 리다이렉트 시 요청 메서드가 GET으로 변하고, 본문이 제거될 수 있음 예) 구 이벤트 페이지에서 정보 입력 후 전송을 클릭(POST)하면, 서버에서 새로운 URL를 Location에 담아서 응답한다. 새로운 URL로 자동 리다이렉트 되면서 GET으로 변경되고, 구 URL페이지에서 입력한 메시지가 제거된다 302 Found 리다이렉트시 요청 메서드가 GET으로 변하고, 본문이 제거될 수 있음 303 See Other 302와 기능은 같음 리다이렉트시 요청 메서드가 GET으로 변경 304 Not Modified 캐시를 목적으로 사용 클라이언트에게 리소스가 수정되지 않았음을 알려준다 따라서 클라이언..
[HTTP] 서버로 데이터 전송, URI 설계 개념
정적 데이터 조회 이미지, 정적 텍스트 문서 조회는 GET 사용 정적 데이터는 일반적으로 쿼리 파라미터 없이 리소스 경로로 단순하게 조회 가능 동적 데이터 조회 주로 검색, 게시판 목록에서 정렬 필터(검색어) 조회 조건을 줄여주는 필터, 조회 결과를 정렬하는 정렬 조건에 주로 사용 조회는 GET 사용 GET은 쿼리 파라미터 사용해서 데이터를 전달 HTML Form을 통한 데이터 전송 HTML Form submit 시 POST 전송 ex) 회원 가입, 상품 주문, 데이터 변경 Content-Type: application/x-www-form-urlencoded 사용 form의 내용을 메시지 바디를 통해서 전송 전송 데이터를 url encoding 처리 ex) abc김 → abc%EA%B9%80 HTML F..
동기 vs 비동기식의 차이점, Ajax란 무엇인가
Ajax (Asynchronous Javascript and XML) 비동기식 자바스크립트와 XML 전체 페이지를 새로 고치지 않고 페이지의 일부만을 위한 데이터 로드 기법 콜백함수 (callback function) 어떤 특정 함수가 실행을 마친 후에 실행되는 함수 비동기 데이터를 처리하기 위해 사용된다 ex) 순서를 보장하기 위해 함수의 인자로 콜백함수를 넣고, 비동기 처리가 끝나는 시점에 콜백함수 실행 다른 함수의 실행이 끝날때 까지 특정 코드가 실행되지 않게 기다려주는 방법 동기식 A, B가 있다면 A를 수행하는 중에는 B를 수행하지 못한다 설계가 간단하고 직관적, 시스템 전체적인 효율이 저하된다 요청과 결과가 한 자리에서 동시에 일어남 ex) 자바의 Scanner 객체의 next() 메서드 등,..
추상 클래스와 인터페이스의 차이
클래스 변수와 메소드를 가진, 설계도 클래스를 통해서 인스턴스 객체 생성이 가능하다 인스턴스 객체가 메모리에 할당되어 실제 매모리를 차지하는 것 추상 클래스 직접 객체 생성이 불가능하고, 클래스를 상속받아 오버라이딩 하여 사용 추상 메소드를 하나 이상 가진 클래스 상속받아 기능 확장 가능 단일 상속만 가능 추상 클래스를 상속한 클래스는 추상 메소드만 서브 클래스에서 구현하면 된다 인터페이스 메소드는 같지만 동작 방식은 다르게, 다형성을 줄수 있다 다중 구현이 가증하다 모든 메서드가 추상 메소드로 이루어져있다 서로 관련 없는 클래스에서 공통적으로 사용하는 방식이 필요하지만, 기능은 각각 구현해야 하는 경우 사용 인터페이스를 구현하는 클래스는 인터페이스의 모든 메소드를 포함해야 한다 다형성 하나의 클래스나 ..
스프링 MVC는 무엇인가, DTO와 DAO의 차이는 무엇인가?
MVC 소프트웨어 디자인 패턴 중 하나 VIEW ↔ CONTROLLER ↔ SERVICE ↔ DAO(maapper) 디자인 패턴은 자주 반복적으로 발생하는 문제와 해결핵심을 기술하여 동일한 일이 반복되지 않고 해결할 수 있도록 한다. 구조화된 패턴에 대한 사전지식으로 협업에 용이하다 설계 과정의 속도를 높일 수 있다 Model domain(DTO) / DAO / SQL / Service 프로그램이 작업하는 요소들을 개념적으로 정의한 것 DAO(Data Access Object) : 데이터베이스의 데이터에 접근하기 위한 객체 데이터베이스에 접근하기 위한 로직과 비즈니스 로직을 분리하기 위해 사용한다 DTO(Data Transfer Object) : 계층 간 데이터 교환을 위한 객체, 로직을 가지지 않는 순..
라이브러리와 프레임워크의 다른점은 무엇인가?
라이브러리(Library) 활용 가능한 도구들의 집합 개발자가 필요에 의해 만든 클래스를 호출해 사용하는 방식 공통으로 사용될 수 있는 특정 기능을 모듈화한 것 프레임워크(Framework) 소프트웨어의 특정 문제 해결을 위해 상호간 의존하는 클래스와 인터페이스의 집합 완성된 어플리케이션이 아니라 개발자가 완성시켜야 하며 특정 개념의 추상화를 제공하는 재사용 가능한 여러 클래스나 컴포넌트로 구성 차이점 라이브러리는 개발자가 프로세스를 작성, 필요한 코드를 가져다 사용 프레임워크는 프로세스를 가지고 있고, 개발자는 그 안에서 필요한 코드를 작성한다 프레임워크는 꼭 써야하는 틀이 있지만, 라이브러리는 필요한 기능을 호출해서 능동적으로 사용 스프링 프레임워크 자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워..
자바스크립트와 제이쿼리 차이점
JavaScript 동적으로 컨텐츠를 바꾸고, 멀티미디어, 움직이는 이미지 등 웹 페이지를 꾸며주는 프로그래밍 언어 웹 브라우저에서 작동하는 스크립트 4가지 구성 요소 자바스크립트 core 문법 자바스크립트 core 라이브러리 자바스크립트 BOM 자바스크립트 DOM 자바스크립트 객체 종류 자바스크립트 객체 종류 코어 객체 DOM 객체 BOM 객체 코어 객체 Date, String, Math, Array... DOM 객체 Document Object Model 웹 페이지 모든 요소를 Document 객체가 관리한다 Document 객체 모델인 DOM은 트리 자료구조 형태를.. harteh31.tistory.com jQuery 자바스크립트로 자주 사용되는 기능들을 변형해 만든 라이브러리 자바스크립트 DOM ..