WebRTC구글에서 만든 웹 기반 실시간 음성, 영상 통신 기술이며, P2P로 브라우저간 통신이 가능하다.실시간성이 중요한 미디어 처리가 목적이기 때문에 빠르게 전송할 수 있는 UDP 위에서 동작한다. WebRTC는 아직까지 다양한 플랫폼에 대한 표준화가 완전히 구현되지 않아 브라우저와 OS 별로 호환성과 상호 운용성이 상이하며, 각 환경(브라우저,OS) 별로 개발되는 속도의 차이가 있기 때문에 어떤 브라우저에서 지원하는지에 대한 호환성 체크를 항상 해주는 것이 중요하다. 크로스 브라우징 이슈를 해결하기 위해서는 adapter.js 라이브러리를 사용하여 해결할 수 있다. P2P 통신 절차각 브라우저에서 P2P 커뮤니케이션에 동의통신할 대상의 주소 확인보안 사항 및 방화벽 우회미디어 데이터를 실시간으로 ..
호이스팅이란? '끌어올리다'라는 뜻으로 인터프리터가 변수와 함수의 메모리 공간을 선언하기 전에 미리 할당하는 것이다.* JS는 인터프리터 방식이며, 현대에는 JIT compiler를 사용한다 = 자바와 유사함아래 예시 코드를 보면 코드를 위에서부터 순차적으로 실행하기 때문에 test()는 에러를 발생시킬 것 같지만, 실제로 실행해보면 문제없이 동작하는 것을 볼 수 있다.호이스팅으로 인해 위에서 호출된 test()가 함수의 메모리 주소를 가지고 있기 때문에 가능한 일이다.test();function test() { console.log("hoisting");} 변수 호이스팅에서는 함수와 달리 메모리 공간만을 할당하고 값까지 할당해주지는 않는다.그렇기 때문에 console.log를 출력했을 때 에러가 발..
DOM이란?DOM이란 Document Object Model의 약자로 HTML의 태그들을 조작할 수 있도록 도와주는 HTML와 JavaScript 사이의 인터페이스 역할을 한다.DOM은 JS 기능의 일부가 아니라 JS로 조작할 대상을 지정할 수 있도록 API를 제공하는 것 뿐이기 때문에 JS가 아닌 다른 언어를 통해서도 사용이 가능하다. 예를 들어 파이썬에서도 다음과 같이 DOM을 조작할 수 있다.# Python DOM exampleimport xml.dom.minidom as mdoc = m.parse("C:\\Projects\\Py\\chap1.xml");doc.nodeName # DOM property of document object;p_list = doc.getElementsByTagName("..
Mybatis에 대해 무지한 상태로 사용하면서 여러 JOIN의 결과를 하나의 DTO로 받는 방법에 대해 찾아보다가 resultMap을 통해 받는 방법을 찾았다.나는 설문 조사를 만드는 프로젝트를 진행하면서 설문조사에 질문 리스트가 있고 질문에 객관식 질문 리스트가 있는 구조의 결과를 받아야하는 상황에서 다음과 같은 resultMap을 선언해서 하나의 DTO로 결과를 반환할 수 있었다. ..