본문 바로가기

오픈소스

[Spring] CORS Filter 적용 CORS 에 대해 설명하고자 합니다. Cross-Origin Resource Sharing 의 약자로써, 특정 헤더를 통해 브라우저에게 Origin 에서 실행되고 있는 웹 애플리케이션이 Cross-Origin에 리소스에 접근할 수 있는 권한이 있는지 없는지 확인하는 방침이라고 생각하면 편합니다. 웹 애플리케이션은 리소스가 자신의 출처(도메인, 프로토콜, 포트)와 다를 때 Cross-Origin HTTP 요청을 실행합니다. CORS 요청 하는 종류 다음과 같습니다. XMLHttpRequest와 Fetch API 호출 웹 폰트(CSS 내 @font-face에서 교차 도메인 폰트 사용 시), WebGL 텍스쳐. drawImage() (en-US)를 사용해 캔버스에 그린 이미지/비디오 프레임. 이미지로부터 추출.. 더보기
[Spring] XSS Filter 적용 XSS(Cross Site Scripting)에 대해 다들 아실거라고 생각합니다. 서버로 보내는 폼이나 데이터 안에 스트링형태의 자바스크립트를 보내 개발자가 의도한 코드와는 다르게 코드가 동작하여 주로 사용자의 데이터를 가져가거나 악성코드를 심는 행위를 말하는 것입니다. 아래 그림을 보시면서 예를 들어보도록 하겠습니다. 위 그림을 간단하게 설명하겠습니다. 어느 특정 웹페이지에 입력 폼이 있다고 합시다. 그 특정 웹페이지를 구글로 들어서 설명하겠습니다. 구글에 검색 폼 안에 스크립트를 넣고 검색버튼을 누르면 구글 개발자에 의도와는 다르게 스크립트가 실행되어 어떠한 정보를 변경하거나 탈취하는 코드를 작성하고 실행시키면 동작되는 것이죠. 스프링에서는 필터를 적용하여 XSS공격을 방어할 수 있습니다. 본 문서에.. 더보기
[Spring] UTF-8 Encoding Filter 적용 처음 스프링 프로젝트를 만들고 실행시키면 아래 사진과 같이 한글 문자가 깨지는 현상이 일어납니다. 이러한 현상은 스프링 프로젝트 자체에서 Servlet에 인코딩 적용이 현재 프로젝트와 맞지 않아서 한글이 깨지게 되는데요. 이러한 현상을 제거하려면 인코딩 필터를 적용하면 한글이 제대로 나오게 됩니다. 아래 해결 방안을 읽고 적용해주세요. 본 문서는 스프링의 UTF-8 Encoding Filter 적용하기 위한 내용입니다. # Contents UTF-8 Encoding Filter 적용 # UTF-8 Encoding Filter 적용 먼저 web.xml 로 이동합니다. web.xml의 경로는 "My Project\src\main\webapp\WEB-INF\web.xml" 이며 아래는 이클립스로 접근한 사진입.. 더보기
[Spring] Srping MVC 웹 프로젝트 생성 이클립스에서 MVC 웹 프로젝트를 생성을 위한 내용입니다. MVC 웹 프로젝트를 만들기 전에 먼저 요구되는 지식이 있습니다. MVC의 개념부터 이해하고 넘어가야 합니다. 또한, Spring 프레임워크에 대하여 전반적으로 이해해야 웹 프로젝트를 생성하고 차후 원하는 프로젝트를 만들 때 원할하게 개발할 수 있습니다. 제가 작성한 블로그에서는 이러한 사전 지식이 작성되어 있습니다. 이러한 내용을 확인하고 싶으시다면 https://libtv.github.io/spring-num1 를 확인해주세요. # Contents Prerequisites How to use Clean Project Tomcat Install and Server Start # Prerequisites 전자정부프레임워크 JDK 1.8 설치 방법.. 더보기
[EAGI] Asterisk EAGI 노드버전 Asterisk EAGI를 사용하기 위해서는 기본적인 AGI 를 사용하는 방법에 대해 알아야합니다. 현 문서는 Asterisk 의 PjSIP혹은 SIP를 구성하여 Dialplan에 Context를 적용한 상태입니다. 현 상태에서 Dialplan에서는 AGI 혹은 EAGI를 호출하여 Application으로 들어오는 예제입니다. 예제를 보기 전 EAGI의 정의와 EAGI 호출 할 때 필요한 Context 문법과 호출방법, 필요한 부분에 대해서는 차근 차근 업데이트 하도록 하겠습니다. 그러면 Asterisk EAGI에 대해 알아보도록 합시다. # Contents EAGI 의 정의 EAGI 호출 방법 EAGI 적용 방법 # EAGI 정의 Asterisk EAGI Reference 는 https://www.vo.. 더보기
[Spring] 설치 및 환경 설정 설치하기 전에 오라클과 자바에 대해 간략하게 보도록 합시다. 오라클이란 간략하게 미국 캘리포니아주에 본사를 둔 매출 규모 세계 2위의 소프트웨어 회사입니다. 이 회사의 대표적인 제품인 데이터베이스 제품, 오라클 DBMS는 세계 최고의 점유율을 차지하고 있다고 합니다. 자바를 사용하기 위해서는 오라클의 자바를 많이 사용하는데, 오라클이 자바 과금 정책 변경을 선언한 지 2년이 지났습니다. 기업들은 이러한 오라클의 자바를 이용하기 위해서 일정 수준의 과금을 내고, 자바 사용을 해야 하는데, 현재 이러한 부분 때문에 기업에서는 OpenJDK를 많이 사용합니다. 자세한 사항은 JAVA 유료 논쟁의 블로그를 참조하기를 바랍니다. 설치는 총 2과정이 있습니다. 첫 번째 과정은 이클립스를 구동하기 위한 JDK 설치를.. 더보기
[Node] 02. 모듈 시스템 본 문서는 Node.js 디자인 패턴 바이블을 읽고 리뷰를 남기고 있습니다. 문고들은 이 책의 일부분을 인용한 것임을 밝힙니다. Node.js의 모듈 시스템은 CommonJS와 ESM을 사용하고 있습니다. 두 가지의 형태가 왜 존재하는지 얘기하고, 각각의 장점과 단점을 알아볼 예정입니다. # Contents 모듈의 필요성 JavaScript와 Node.js에서의 모듈 시스템 Node.js에서의 JavaScript # 모듈의 필요성 좋은 모듈 시스템은 소프트웨어 엔지니어링의 몇 가지 기본적인 필요성을 마주할 때 도움을 줍니다. 코드베이스를 나누어 여러 파일로 분할하는 방법 : 코드를 좀 더 구조적으로 관리 할 수 있게 해주고, 각각의 독립적인 기능의 조각들을 개발 및 테스트하는 데에 도움을 주며 이해하기 .. 더보기
[Node] 01. Node.js 플랫폼 본 문서는 Node.js 디자인 패턴 바이블을 읽고 리뷰를 남기고 있습니다. 문고들은 이 책의 일부분을 인용한 것임을 밝힙니다. # Contents Node.js 철학 Node.js 는 어떻게 작동하는가 Node.js에서의 JavaScript # Node.js 철학 모든 프로그래밍 플랫폼은 자신들만의 철학, 커뮤니티에서 따르게 되는 일련의 원칙들과 지침, 플랫폼의 진화와 애플리케이션 개발 및 디자인에 영향을 주는 이데올로기를 가지고 있습니다. 이러한 원칙들 중 몇가지는 기술 자체에서 발생하고, 일부는 그것의 생태계에 의해서 발생하고, 일부는 커뮤니티 내에서의 트렌드이며, 일부는 다른 플랫폼에 있던 이데올로기의 진화에 의해서 발생한 것입니다. Node.js에서는 이러한 원칙들 중 일부가 제작자인 Ryan .. 더보기