본문 바로가기

전체 글217

WEB-RTC 개발 - 1 (WEB-RTC with Nodejs) 이번시간에 구성해 볼 기능은 첫번째 단계인 사용자가 접속하여 웹 클라이언트 페이지를 받는 단순한 HTTP 서버와, 서로의 신호를 주고받을 수 있는 시그널링 역할을 하는 웹소캣 서버를 만들어 볼 예정이다. 개발 언어로는 Nodejs를 활용할 예정이다. 구현할 기능의 단계는 크게 아래 3가지로 구분되어 진다. 1. http 서버를 구현하여 사용자가 접속하면 화상채팅을 할 수 있는 페이지를 전달하여 준다. 2. 서로가 같은 네트워크에 붙어있음을 확인할 수 있는 시그널링 역할을 하는 웹소캣 서버를 만든다. 3. 서로의 시그널링을 주고받을 수 있도록 웹 페이지에서 웹소캣 서버로 접속을 하는 기능을 만든다. 첫 번째 단계를 위해서 http 모듈을 설치한다. npm install http 모듈이 설치되고 난 이후에 .. 2019.10.15
우분투 가상머신 ssh 접속(Ubuntu ssh virtualbox) 가상머신(버츄얼 박스)을 통해서 ssh를 설치 한 이후에 접속하는 방법이다. 테스트를 위한 환경구성이며, root 계정을 통해서 ssh에 접속 할 예정이다. * 접속 운영체제 : 윈도우 * 가상머신 : Virtualbox (버전 6.0.8) * 접속 프로그램 : Putty * 우분투 버전 : 18.04.2 1. dpkg -l | grep ssh 명령어를 실행하여 ssh 서버가 설치 되어 있는지 확인한다. (root 계정으로 접속) 2. apt-get update 명령어를 통해서 패키지 목록을 업데이트 한다. (물론 이미 되어있다면 생략한다) 3. apt-get install openssh-server 명령어를 통해서 ssh서버를 설치한다. 4. dpkg -l | grep ssh를 통해서 정상적으로 설치 .. 2019.10.15
T Word 단말기 할부금 정보(티 월드 단말기 할부금) * 2019년 10월 14일 기준 티월드(T world)가 업데이트를 하면 간혹 화면을 뒤 엎어서 기존의 정보를 보던 위치가 바뀌는 경우가 있습니다. 단말기 할부금을 보기위해서는 당연히 티월드 앱이 필요 합니다. 티월드를 실행하면 맨 처음 만나는 화면 입니다. 1. 여기서 "나의 가입 정보" 를 클릭 합니다. 2. 다음으로는 "약정할인/기기상환정보" 를 클릭합니다. 3. 다음 화면에서 스크롤을 내리면 단말기 할부금이 나옵니다. 4. 만약 ***표시가 나타나면서 정보가 잘 보이지 않으면 인증을 위해서 아래의 아이콘 모양을 클릭합니다. 그후, 인증탭이 나오게 되며, 문자인증을 통해서 정보가 표출 됩니다. 끝~ 2019.10.14
테스트용 SSL 톰캣 적용기 (SSL Tomcat, OpenSSL) 테스트용 SSL 인증서를 회사에 요청했는데...알아서 하세요(?)라는 대답이 돌아왔다. 이를 극복하기 위해 구글링하며 정리한 내용을 기록하여 보았다. 적용시킬 대상은 Tomcat 8.0 서버이다. 먼저 ssl을 만들기 위한 프로그램을 다운 받는다. OpenSSL이라는 훌륭한 프로그램을 사용하여 진행 할 예정이다. https://code.google.com/archive/p/openssl-for-windows/downloads 그럼 아래 단계에 맞추어서 천천히 진행하여 보자. 다운로드 받은 OpenSSL 압축을 풀어준다. 압축을 푼 이후에 bin 디렉토리로 이동하여 openssl.exe를 실행한다. 1. 개인키 , 공개키 만들기를 진행한다. 1) 개인키를 만든다. * genrsa -des3 -out 키이름.. 2019.10.14
WEB-RTC 개발 준비 WEB-RTC는 Web Real-Time Communication를 줄여서 표현한 말로, 웹 브라우저 간에 플러그인의 도움 없이 서로 통신할 수 있도록 설계된 API이다. W3C에서 제시된 초안이며, 음성 통화, 영상 통화, P2P 파일 공유 등으로 활용될 수 있다. 조금 더 간단하게 이야기하면, 웹 브라우저만 활용해서 화상챗팅, 음성챗팅을 할 수 있다는 이야기이다. 아직은 웹 표준으로 자리잡지를 않아서 대부분의 브라우저에서 지원되는 것은 아니다. * 지원되는 브라우저 현황 브라우저 명칭 버전 마이크로소프트 엣지 12+[6] 크롬 28+ 파이어폭스 22+[7] Safari 11+[8] Opera 18+[9] Vivaldi 1.9+ 먼저 개념에 대해 간단히 정리하여 보았다. 1. WEB-RTC를 위해서는 .. 2019.10.13
JAVA 바이너리 설치, Install binary java, 리눅스, 우분투 * 가정1 : 네트워크가 단절이 되어 있어서 자바파일을 외부에서 다운로드 받았다. * 가정2 : usb, 외장하드 또는 cd를 통해서 java파일을 리눅스(우분투) 서버로 옮겼다. * 즉, 인터넷이 되지 않는 상태에서 자바 설치파일로 설치하는 방법을 의미 한다. 1. 먼저 java 파일을 다운로드 받는다. * 다운로드 페이지(로그인 해야된다. 없으면 가입..) https://www.oracle.com/technetwork/java/javase/downloads/index.html Java SE - Downloads | Oracle Technology Network | Oracle Which Java package do I need? Software Developers: JDK (Java SE Develo.. 2019.10.11
MIT License, 오픈소스 라이센스 MIT 라이센스는 미국 매사추세츠 공과대학교에서 해당 대학의 소프트웨어 공학도를 돕기 위해서 만들어진 라이센스이며, 요즘에는 오픈라이센스(무료)의 개념으로 많이 사용된다고 한다. 공개된 소스코드들이 따르는 일종의 표준화된 라이센스이다. 라이센스에서 MIT License가 나오니 해당 모든 기술을 만들었다고 오해(?)할 수 있지만 그런 것이 아니라 단순히 MIT 라이센스가 워낙 잘 정리되어있으니 해당 라이센스를 따른다의 개념으로 이해하면 될 것 같다. 주요 특징으로는, 1) 이 소프트웨어를 누구라도 무상으로 제한없이 취급해도 좋다. 단, 저작권 표시 및 이 허가 표시를 소프트웨어의 모든 복제물 또는 중요한 부분에 기재해야 한다. 2) 저자 또는 저작권자는 소프트웨어에 관해서 아무런 책임을 지지 않는다. 구.. 2019.10.07
VS코드 GIT 히스토리 로그(VisualStudio code git log, 비주얼스튜디오 코드 git log) VS코드에서 히스토리를 이쁘게(?) 보려면 간단한 플러그인을 설치하면 된다. 메뉴 왼쪽의 맨 아래 버튼을 눌러서 위의 사진처럼 Git History를 검색해서 설치한다. 설치 이후에는 안정적인 적용을 위해서 VS코드를 껏다 켜 주자. 그리고 디렉토리 또는 폴더에서 마우스 오른쪽 버튼을 누르면 Git View History라는 매뉴가 추가되어 있음을 볼 수 있다. 처음 실행하면 나오는 모습이다. 아마도 특정 스트리밍 같은 기능을 활용해서 보여주는가보다. 아래 사진처럼 히스토리를 이쁘게 볼 수 있다. 물론 소스코드의 변경사항도 확인 가능 하다. 히스토리를 그래프형식으로 보려면 git graph라는 모듈을 설치한다. 설치 후 좌측의 중간에 존재하는 "소스제어" 를 클릭한 이후에 그래프 모양을 클릭하면 이쁜 트.. 2019.10.07
(기본/기초) 자바스크립트 var, let, const (Javascript var) 자바스크립트에서 var 가 붙은 변수들은 대부분 어디서든 접근 가능하다. 물론 클로저형태는 빼고 말이다. 간혹..이러한 글로벌한 형태의 참조변수를 햇갈려서 아래 소스코드를 만나면 버그? 로 생각하는 경우가 있었다. for(var i = 0; i < 10;i++){ var num = i; setTimeout(()=>{ console.log(num); },100); } 정말로 당연히 num 값이 0부터 9까지 나올줄 알았는데..결과는? 흑..이래서 기본에 충실해야 되는구나~ 라는 것을 정말 많이 느꼈다. 저기 저 setTimeout이라는 함수가 시간을 주고 num을 바라보고 있을때는...이미 반복문 for에 의해서 "참조" 하고 있는 i값이 전부 증가 해 버렸기 때문에 발생하는 현상이다. 반복문이 0부터 1.. 2019.10.04
(기본/기초) Javascript 클로저, Javascript closure, 자바스크립트 클로저 웹 개발을 공부하면서 사실 기본을 처음부터 익히지 않고 무작정 달려들었던 것 같다. 원리와 기본 개념이 없어도 쉽다고 생각한 것이 자바스크립트였는데...막상 몇몇 기본적인 현상과 마주치고 나니.. "이건 버그야!" 라고 생각하는 경우도 종종 있었다. 아무튼, 클로저라는 개념을 모르고 사용한 코드가 아래처럼 종종 있었다. function hi(name) { var _name = '안녕! '; //클로저~ return function() { console.log(_name + ', ' + name); }; } var mm = new hi('world'); mm(); 위 경우를 살펴보면 _name으로 선언한 변수는 앞에 var가 붙었음에도 불구하고 글로벌하게 사용되지 않는 것을 볼 수 있다. 즉, 내가 무슨짓.. 2019.10.04