최근에 사용한 쓸만한 JavaScript Library 를 몇개가 있어서 정리해보았습니다. Lodash.js 인지도 높은 underscore 와 비교되는 javascript library 입니다. underscore 의 모든 함수를 구현하였고, 추가적인 함수도 구현해 놓았습니다. 이 라이브러리는 arrays, objects, strings 등의 데이터를 다룰때 활용도가 높습니다. 예를 들어 [3,4,5,6,7,8] 등의 배열에서 5보다 큰 원소만 필터링해서 출력하는 간단한 로직을 직접 구현 하는 경우 적어도 for, if 문등을 사용하여 3줄 이상의 코딩을 하여야 하는데 lodash 를 사용하면 다음과 같이 한줄로 끝낼수 있습니다. _.find([3,4,5,6,7,8], function(o) { retu..
VOIP(Voice over Internet Protocol) 란 IP 네트워크를 이용하여 음성과 같은 실시간적인 정보를 전송하는 기법입니다. 쉽게 이야기하면 인터넷 전화라고 할수 있습니다. 상세한 내용은 Voice orver IP 를 참고하시기 바람니다. pjsip(voip 를 구현한 C library) 를 공부하면서 생소한 용어나 약자를 보고 그것의 기능 및 역할을 추측해보고자 정리하였습니다. 사용되는 용어 SIP SIP(Session Initiation Protocol)는 HTTP(웹 프로토콜) 와 SMTP(메일 프로토콜) 의 많은 영향을 받아서 설계되어서 주소체계, 헤더 정보, 응답코드 등에서 유사한 점을 많이 찾아 볼수 있습니다. 이 프로토콜은 하나 또는 그 이상의 참가자와 멀티미디어 세션들의 ..
네트워크 내에서 음성 및 화상 통신을 지원하는 PJSIP 대해서 소개해보겠습니다. PJSIP 란 SIP(Session Iniation Protocol), SDP(Session Description Protocol), RTP(Real-time Transport Protocol), STUN(Session Traversal Utilities for NAT), TURN(Traversal Using Relays around NAT) 및 ICE(Interactive Connectivity Establishment)와 같은 표준 기반 프로토콜을 구현하는 C 언어로 작성된 무료 오픈 소스 멀티미디어 통신 라이브러리 입니다. Getting-Started 문서는 window, linux, mac os 등의 환경에서 빌드하..
bower 는 라이브러리 css, javascript,html 등의 frontweb 소스를 관리하는 노드 모듈중에 하나입니다. 저장소에 자신의 라이브러리를 올려놓기도하고, script 사이의 의존성 관리하기도 쉽습니다. nodejs 를 먼저 설치합니다. npm 을 활용하여 bower module 을 설치해줍니다. $ npm install -g bower $ bower help 설치가 완료되었으니 제가 주로 활용한 bower 명령어에 대해서 알아보겠습니다. 공식 API 문서 에서 더 많은 정보를 확인 하실수 있습니다. node 패키지 모듈을 관리하는 pakage.json 이 있듯이 bower 에서도 전체적인 관리를 하는 bower.json** 이라는 파일이 있습니다. 이를 따로 생성할 필요는 없고 다음 명..
이전 글에서는 독립된 jar file 을 nexus 저장소에 올리는 과정을 포스팅 해보았습니다. 이번에는 java source 를 maven 으로 build 하고 javadoc, source 를 포함하여 deploy 하는 과정을 따라가 보겠습니다. 올리고자 하는 maven project 의 pom.xml 에 배포할 repository 정보를 추가해줍니다. khphub khphub http://nexus.khphub.com/repository/maven-releases/ ~/.m2/setting.xml 에 서버의 계정 정보를 설정해주도록 합니다. khphub khpark ***** 다음 maven 명령을 실행하면 소스를 재 컴파일하여 source 와 javadoc 을 같이 배포합니다. mvn clean d..
Nexus repository OSS 3.3 (opensource 사설 저장소) 는 외부 네트워크를 사용하기 힘든 폐쇄망 환경에서 사용하면 좋습니다. 전자정부표준 프레임워크에서 nexus 2.3 에 대해 설명하고 있는 부분도 참고하시면 좋을 것 같습니다. 또한 외부에 공개하기 힘든 라이브러리등을 배포하고 관리하기에도 용이합니다. 이것을 설치 및 실행하는 것은 비교적 쉽지만, 실제 라이브러리를 배포하고 관리하는 것은 그렇지 않습니다. nexus를 사용하기 위해서는 어느정도 프로그래밍(maven,nuget,npm etc ) 쪽에 배경지식이 있어야 가능합니다. 저는 nexus maven 저장소에 Jar(JAVA libarary)를 올려보겠습니다. (구글링으로 저처럼 단편적인 지식 가지고도 사용가능합니다. ^^..