제임스딘딘의
Tech & Life

고양이의 둥지 255

[PowerMockup] 쉽고 빠르고 간편한 GUI Mockup Tool!

안녕하세요 본 포스팅은 Power Mockup 이라는 GUI Mockup Tool 에 대한 리뷰입니다. 저는 그동안 웹 기획/어플리케이션 기획 등의 작업을 할 때 Microsoft PowerPoint를 이용하여 화면 설계를 진행 해왔었습니다. 제가 회원활동을 하고 있는 삼성소프트웨어 멤버십에서도 많은 회원들이 웹/어플리케이션 을 기획하고 GUI 화면을 설계할 때 파워포인트를 즐겨 사용하는 것 같더군요. GUI 설계 작업시 반복되면서도 단순한 요소가 많은 지루한 작업이지요. 하지만, 단순하지만서도 쉬운 작업은 또 아니지요. 아무튼! 파워 포인트는 원래 프리젠테이션에 최적화 된 툴이지, 화면 설계에 최적화된 툴은 아닙니다.이런 문제의식을 가지고 몇년전부터 화면 설계서 작성을 위한 여러 대안 툴들이 국내외에서..

NULL ptr/ NULL ptr 2012.05.20

[네트워크] FTP 프로토콜의 Active/Passvie 모드

FTP는 명령어 커넥션과 데이터 커넥션이 다른 포트를 사용함. 데이터 커넥션의 접속 방식에 따라 Active/Passive 2가지 방식이 있다. - Active Mode *데이터 커넥션을 서버에서 클라이언트로 접속하는 방식 클라이언트가 서버의 21번 포트로 접속, 데이터 전송을 위한 별도의 포트를 추가로 하나 생성 후 그 번호를 서버에게 알려줌. 서버는 20번 포트를 클라이언트에게서 넘겨받은 포트로 연결한다. (이때 클라이언트 네트웤 환경에 방화벽이나 공유기 등에서 그 임의의 포트로 접근하는 것이 막혀있을 경우 데이터 전송을 위한 연결이 이루어지지 않는다. 그래서 접속은 되나 파일 목록 표시가 안됨.) - Passive Mode *데이터 커넥션을 클라이언트에서 서버로 접속하는 방식 클라이언트가 서버의 2..

[리눅스/Vi]Vim, Vi, GVim 에서 '작업 취소(Undo)' / '다시 하기(Redo)' 방법

Vi (Visual Display Editor) 리눅스나 유닉스를 처음 접하는 사람에게 vi는 매우 골치아픈 존재일지도 모릅니다.윈도우환경에서 문서 편집기를 써 본 사람이라면, vi는 매우 불편한 편집기로 생각 될지도 모르죠.그러나 vi 편집기에 익숙해지면 이보다 좋은 문서 편집기는 없다는것을 느끼게 될 것입니다. 문제는 익숙해지는데 오래걸려서 그렇죠(...먼산...) 만약 당신이 윈도우에 익숙한 사용자라면, 텍스트 에디터에서 무언가 잘못된 입력을 한 경우, Ctrl+Z 로 간단하게 그 잘못된 입력을 되돌릴 수 (Undo) 있다는걸 알고 있을것입니다. 리눅스에서 기본적으로 사용하는 Vi에디터 에서도 동일한 기능을 제공합니다만, 단축키가 다릅니다.방법을 알아봅시다. 이하 존칭은 생략합니다. 작업 취소만약 ..

스마트폰을 'CCTV·블랙박스'로 활용하세요

출처 : http://www.ittoday.co.kr/news/articleView.html?idxno=26260 학교폭력을 포함한 일반 범죄 예방과 신고가 가능한 스마트폰 개인안전 서비스가 개시됐다. 앱스비즌(대표 장형규)은 스마트 폰을 CCTV와 블랙박스로 활용한 개인안전 서비스 'secu-EYE'를 출시했다고 29일 밝혔다. ▲ secu-EYE.이 앱은 스마트 폰을 CCTV처럼 이용할 수 있다. 동영상을 촬영 전송하고 블랙박스처럼 원격 서버에 저장해 불안한 상황에서 사전대처 할 수 있다. 위험한 상황에서 한 번의 터치로 112치안센터에 말없이 신고할 수 있다. 동영상 증거 자료는 휴대폰에 남지 않고 원격 서버에 저장돼 범죄 신고시에만 치안당국에 제공된다. 사생활 침해에 대한 걱정은 하지 않아도 된다..

삼성전자 홍준성 상무 세미나 - 2011년 삼성전자 딜라이트 전시장

2011년 말. 나는 대학생 신분으로, 대전지역 삼성 소프트웨어 멤버십 회원활동을 하고 있었다. 당시 삼성은 전국 각 주요도시에서 소프트웨어 멤버십이라는 것을 운영하며,IT에 열정과 관심을 가지고 그 분야로 진출하려고 고군분투 하는 대학생들을 모집하여 (말그대로) 먹여주고 재워주고 컴퓨터도 빌려주고, 네트워크망도 빌려주고, 책상과 의자와 사무실 공간을 빌려주면서'어디 네가 개발하고 싶은게 있으면 만들어봐라' 식으로 학생들에대한 지원을 아끼지 않고 있었다. 운이 좋게도 나는 서울 서초동에서 열리는 '삼성소프트웨어 멤버십 딜라이트 전시회'를 갈 기회가 있었는데,여러가지 전시작품을 관람하는 시간 외에도, (당시)삼성전자 홍준성 상무의 세미나 시간도 있었다. 여기서 잠깐 삼성전자 홍준성 상무를 소개하자면,200..

NULL ptr/ NULL ptr 2012.03.25

Pair Programming (짝 프로그래밍)

1. 개요 본 문서는 애자일 팀에서 어떻게 짝 프로그래밍(Pair Programming, 이하 PP)을 진행 할 것인지에 대한 가이드를 제공한다. PP는 기술적인 측면보다 사회 문화적인 측면에서 접근/진행하여야 한다. 따라서 대화를 자주 나누고, PP의 목표가 서로가 함께 발전해 나가면서 이를 통해 좀더 좋은 SW를 만들 수 있게 해준다는 것을 인식하여야 한다. 2. PP진행의 목적 및 효과 - 코드의 품질을 향상시킨다. - 개발에 대한 집중력을 높인다. - 팀 내 커뮤니케이션을 증진시킨다. - 지속적인 코드 리뷰가 될 수 있다. - 협업을 통해 서로가 서로를 발전 시킬 수 있다. - 개발이 좀더 즐거워 질 수 있다. 3. 기본 마음가짐 - 서로를 신뢰하며 공경한다. - 대화를 논쟁으로 생각하지 않는다...

[C#] WPF Thread

WPF Threading WPF는 새로운 스레드 프로그래밍에 대한 보다 단순화된 모델을 제시한다.대부분의 응용프로그램은 하나의 스레드만으로 실행 되지는 않는다. WPF 역시 렌더링 스레드(Rendering Thread), 사용자 입출력을 담당하는 UI 스레드(UI Thread) 등 여러개의 스레드가 동시에 실행된다. 개발자가 여러 개의 스레드를 다룰수록 복잡하고 디버깅 등의 어려움이 따르게 마련이다. Dispatcher 와 DispatcherObject Dispatcher는 스레드에 포함된 작업큐를 말한다.작업큐에는 수행해야 할 아이템들이 대기하게 되고 정해진 순서에 따라 수행이 된다. 당연히 Dispatcher 스레드 간에는 공유 될 수 없고 하나의 스레드에만 속해야 한다.Dispatcher에는 사용자..

[C#] 닷넷 프레임워크 기반의 소켓 프로그래밍

출처 : http://www.devtimes.com/45 요약 (Summary)이 문서는 닷넷 프레임워크 환경과 이기종 환경 간의 소켓 통신을 위한 간략한 개요를 제시합니다. 특히 HTTP 또는 SOAP 등의 텍스트 기반의 통신이 아닌, C/C++ 개발자들이 선호하는 구조체 패킷을 이용한 통신에 초점을 두었습니다.뿐만 아니라 이를 지원하기 위한 소켓 라이브러리(C# 2.0 지원)도 함께 제공합니다. MIT 라이센스를 채택하였으며, 라이센스에 명시된 바와 같이 상업적인 목적으로도 사용할 수 있습니다.소개 (Introduction)이 문서는 닷넷 프레임워크 기반의 소켓 프로그램을 작성하려는 개발자를 위해 작성되었습니다. 닷넷 개발자는 C/C++ 등으로 작성된 서버/클라이언트와 통신하기 위한 모듈 또는..

[안드로이드] 동적으로 다음페이지를 로딩하는 ListView 구현

동적으로 다음페이지를 로딩하는 ListView 구현 아이폰의 수많은 UITableView를 활용하는 어플리케이션을 보면 참 퀄리티 높게 잘 만든다는 생각이 드는 것 중에 한가지가 바로, 자동으로 리스트의 가장 아래에 도달하면, 알아서 다음페이지를 로딩하는 기능이 아닐까 싶다. 안드로이드에서도 요즘은 많은 어플리케이션이 해당 기능을 구현하고 있다. 안드로이드에서는 리스트뷰와 데이터간에 Adapter라는 디자인패턴을 활용하고 있어 아이폰의 그것과는 같은 기능이라도 구현하는 방식이 다르다. 안드로이드에서는 좀 더 적극적으로 Adapter를 활용하여 이 기능을 구현해야 한다. 어찌보면 조잡하고 어찌보면 더 쉽게 구현할 수 있다. 길게 이야기할것 없이 예제 코드를 살펴 보겠다. public class Dynami..

CQ40 노트북 청소

컴팩 CQ40 노트북을 구매한지 2년만에 처음으로 분해/청소를 실시했다. 2010년 2월 에 구입했으니 햇수로 정확히 2년만이다. 내부에 먼지가 무척 많이 쌓여서 쿨러 소음도 심하고, 냉각 성능도 저하된듯 하여, 벼르고 있었는데 오늘 과감히 실시! 분해 하면서 찍은 사진은 이것 뿐이이다. 다음 사이트를 참고하여 분해를 진행했는데, 어렵진 않았지만 시간이 꽤 오래 걸렸다. CQ40 분해 참조 : http://www.doriver.com/home/work.php?mid=2&r=view&uid=4282 빠른 분해와 조립의 핵심은 각 나사가 어디에 끼워져 있었는지 잘 분류 해 두는 것이라 생각한다. 조립할때, 각 구멍에 정확히 맞는 나사를 빠르게 찾아내야 하니깐. 키보드, 팜레스트 각 각의 결합력이 생각보다 강..

NULL ptr/일기장 2012.02.15

[C#] .NET 이 아닌 native 코드로 작성된 외부 DLL 사용 방법(파라미터의 타입을 알 수 없는 경우)

외부 메소드의 파라미터가 char* 인 경우(데브피아 C# 마을, 질문&답변) (원본: http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=17&MAEULNO=8&no=120108&ref=120099&page=3#Contents120108) 가장 일반적으로 포인터로 넘겨서 값을 받아올경우 할당되어 있는 방으로 넘겨 받아야 합니다. 하지만 DllImportAttribute 클래스를 이용하여 맵핑 하시기에 어려움을 겪으시는것 같네요. 해당 매개변수는 호출지점에 구도에 따라 string, StringBuilder, byte, unsafe.... 맵핑이 가능합니다. 원초적인 방법으로 IntPtr 을 이용한 메모리 활당하여 이용하는 방법도 가능합니다. 사용하시는 ..

[안드로이드] 안드로이드의 Process & Threads

안드로이드의 Process & Threads 안드로이드의 프로세스(Process)와 스레드(Threads)에 대해서 공부해 보았다.학교에서 배운 운영체제, 시스템 프로그래밍 등의 과목에서 배운 개념과 크게 다른 점은 없지만, 안드로이드의 프로세스와 스레드에는 분명 안드로이드 고유의 특성이 추가적으로 포함되어 있다.다음 링크의 자료를 참조 하였다. http://developer.android.com/guide/topics/fundamentals/processes-and-threads.html#ThreadSafe 시작하며 안드로이드 어플리케이션 컴포넌트(components)가 실행하려 할 때, 이미 시작된(running) 다른 컴포넌트가 없다면, 시스템은 단일한 하나의 스레드에서 실행되도록 하는 어플리케이션..

Air Pocket Haptic Glove 최종 통합 결과물 영상

2011년 임베디드 소프트웨어 공모대전 Air Pocket Haptic Glove 프로젝트의 최종 통합 결과물 영상이다. 2011년 10월쯤에 최종 통합되었다. 나를 비롯한 팀원 모두 개강을 했고, 바쁜와중에도 틈틈히 모여 밤을 새가며 통합작업을 하느라 마지막까지 고생이 많았던 프로젝트이다. 고생은 많이 했지만... 결과는 좋지 않았다는게 정말 아쉬운 점이다. 내가 맡았던 부분은 3D게임 컨텐츠 제작 및 물리엔진 적용이다. 영상에서 보면 모니터 화면에 나오는 3D 게임이 내가 개발한 부분이다. 3D게임은 C#, XNA 3.1 framework, 3D Max 2011을 사용하여 개발하였다. 물리엔진은 XNA용으로 포팅된 JigLibX 를 사용하였다. 아래 영상은 햅틱글러브의 내부 장갑이다. 플렉스 센서로 ..

[Java] 비트 연산자 / 시프트 연산자

[Java] 비트 연산자 / 시프트 연산자 자바언어에는 C/C++ 와 동일하게 비트연산자들인 '&', '|', '^', '~' 와 시프트연산자인 '' 가 있습니다.그러나 자바에만 있는 연산자가 있는데요.바로 '>>>' 라는 연산자가 추가적으로 존재합니다. 순서대로 정리해 보도록 하겠습니다. 비트연산자컴퓨터 내부의 데이터를 비트 단위로 비교하거나 조작할 때 사용한다. 1. 논리곱 (and) &각 비트를 비교하여 양쪽 모두 1이면 1, 아니면 0을 반환함. ex) a = 110, b= 220a = 0 1 1 0 1 1 1 0b = 1 1 0 1 1 1 0 0 a&b = 0 1 0 0 1 1 0 0 2. 논리합 (or) |각 비트를 비교하여 어느 한쪽이 1 이면 1, 그렇지 않으면 0을 반환함. ex) a =..

[Java/Tip] 자바에서 unsigned byte 다루기.

자바의 Primitive Data Type 들 중에는 unsigned 데이터 타입이 존재하지 않습니다. unsigned를 특별히 사용할 일이 없을때는 의식하지 못하고 있었는데, 자바에서(정확히는 안드로이드에서 사용할 목적으로) 음성을 G.711 인코딩/디코딩 하기 위한 코덱을 구현 하던 중 깨닫게 되었습니다. byte 타입을 unsigned 로 0~255 을 사용하고 싶었지만, 자바에서는 unsigned 키워드 자체가 존재하지 않아 byte 타입은 -128~127 의 값을 갖게 되어 있더군요. 즉 2's complement 의 값입니다. 하지만 제가 필요한 것은 0~255 의 범위값이었습니다. 정확히는, C#에서 byte 타입으로 보낸 0~255의 값 (이진 값으로는 0000 0000 ~ 1111 111..

G.711 코덱 정보 및 소스 (Encoding & Decoding)

G.711은 오디오 인코딩을 위한 코덱(codec)표준 중 하나이며 협대역(narrow-band) 오디오 코덱이다. 원래 전화에서 사용하기 위해 디자인 되었으며, PCM (Pulse Code Modulation, 펄스 부호 변조)이 공식명칭이다. ITU-T에서 1972년에 표준을 만들었다. https://www.itu.int/ITU-T/recommendations/related_ps.aspx?id_prod=911 300-3400Hz 범위의 오디오 신호를 통과시키면서 그것들을 8000Hz로 샘플링한다. μ-law와 A-law 라 불리는 두 종류의 로그 압축 알고리즘 중 하나를 사용한다. 압축된 각 샘플은 8비트로 양자화되어, 최종적으로는 64kbit/s라는 비트전송률(bit rate)이 된다. 또한 G.7..

동기화 소켓 vs 비동기화 소켓, 사용시 각각의 장단점

// 동기화와 비동기화 소켓 사용시 유의 사항에 가까울지도 동기화 소켓의 경우는 한쪽이 write이면 다른 한쪽은 read로서 다른 일하지말고 read대에만 신경 집중해야 합니다. 그래서 write하는 곳에서 자료를 다 보낼때까지 read하는 쪽은 다 받을때까지 Block(다음 구문으로 넘어가지 않음) 되어 있어야하죠. 클라이언트 측에서는 다 받을때까지 기다리고 난후 다음 일을 하면되겠지만, 서버측에서는 read에만 집중할 수 없고 다른 일을 해야합니다. 즉 다른 요청에 대해서 Listen도 해야하고, 기타 다른 처리도 해야겠지요. 이런 이유로 서버측에서는 Forking(자기 자신을 복제함)을 하든가 Threading을 하던가해서 현재의 일을 하나의 Thread(Forking의 경우는 Process)에게..

개발자들이 Windows 8 에 대해 알아야 할 10가지 정보

이번 Windows 8 은 모든 것을 새롭게 다시 상상했다고 할 만큼 많은 것이 바뀌었지요. 관심을 가지고 지켜보더라도 중요한 정보들을 놓치기가 쉬울 것 같아요. 그래서 개발자들이 꼭 알아야 할 10가지 정보를 정리해 봤습니다. 1. 마이크로소프트는 작년 9월 //Build 개발자컨퍼런스에서 Windows 8 Developer Preview를 공개하였다. 누구나 Windows 개발자 센터 사이트(http://dev.windows.com)에서 지금 바로 다운로드하여 설치할 수 있다. 개발툴이 포함되어 있어서 앱 개발을 시작해볼 수도 있다. 오는 2월 말에 베타 버전이 출시될 예정이다. 2. Windows 8 에서는 Windows 7 응용프로그램들을 실행 할 수 있으며, 평상시에도 더 적은 메모리와 프로세스..

자료조사(9) - RTP Packet Payload Type

본 포스팅은 이번 프로젝트에서 사용하는 RTP 패킷에 대한 자료조사 덧붙임이다. RTP 패킷의 헤더에는 데이터 형식을 지정하는 PT(Payload Type) 필드가 있다. 8비트가 할당되므로 0~255 까지의 숫자로 표현된다. 이번 프로젝트에서는 PCMA ( G.711 코덱 ) 형식의 음성 데이터를 주고 받는데, 해당 PT 번호는 8번이다. 아래는 몇가지의 PT번호를 나타내는 표이며 출처에 표기한 사이트에서 발췌하였다. 출처 : http://www.packetizer.com/in/q9.html The information in this article applies to: H.323, H.225.0, H.245, RTP (RFC 3550) If there is a static payload type def..

[우분투] Ubuntu에 Mysql 설치

Ubuntu에 Mysql 설치 1. 우분투에서는 다음과 같이 입력하면 mysql 에 관련된 패키지를 검색하게 됩니다. $sudo apt-cache search mysql 그중에서 필요한걸 골라서 설치하면 됩니다. (mysql 서버 데몬을 설치하는 경우 바로 2번 부터) 2. mysql 서버 설치 $sudo apt-get install mysql-server 3. mysql 클라이언트 설치 $sudo apt-get install mysql-client 4. mysql 서버 설치 직후 UTF-8 설정을 해줍니다. 해주지 않을 경우 latin1 로 character encoding 이 자동 설정되는데, 이걸 그대로 두면, 한글 처리할때 난관이 찾아올것입니다. my.cnf 파일을 편집하기 위해 vi에디터로 해당..

[영상처리] Mean-Shift 와 CAMshift 알고리즘

Mean-Shift 와 CAMShift 알고리즘 많은 사람들이 이들 두 알고리즘이 색상 특징값을 기반으로 한다고 알고 있지만, 사실 이것들은 관심영역의 모든 특징값의 분포를 이용할 수 있는 알고리즘이다. (1) Mean-Shift 알고리즘Mean-Shift 알고리즘은 데이터 집합의 밀도분포(특징점,코너,색상)를 기반으로 관심영역(ROI: Region Of Interest) 객체를 고속으로 추적하는 알고리즘이다. 초기의 검색 영역의 크기와 위치를 지정하면 반복되는 색 분할 계산에 의해서 색상 클러스터가 발생되고 초기 지정한 색 영역에 기반하여 경계를 결정하여 관심 물체를 추출할 수 있다고 한다. 이것은 mode seeking 알고리즘이라고도 하며, 특정 데이터들의 중심(mean)으로 이동(shift)하는 ..

[Java] 정규표현식 표현 방법

java.util.regex 패키지에 있는 Match 클래스와 Pattern 클래스를 사용하여 문자열을 정규표현식으로 검증할 수 있다. boolean bln = Pattern.matches("^[a-zA-Z0-9]*$", this.input); 정규표현식은 다음과 같은 문법으로 되어 있다. ^ : 문자열의 시작을 나타냄. $ : 문자열의 종료를 나타냄. \ . : 임의의 한 문자를 나타냄. (문자의 종류는 가리지 않는다) | : or를 나타냄. ? : 앞 문자가 없거나 하나있음을 나타냄. + : 앞 문자가 하나 이상임을 나타냄. * : 앞 문자가 없을 수도 무한정 많을 수도 있음을 나타냄. 만약, .* 으로 정규식이 시작한다면 시작하는 문자열과 같은 문자열이 뒤에 없거나 많을 수도 있는 경우에만 일치를 ..

Register Allocation

Register Allocation은 virtual register를 physical register에 대응시키는 과정입니다. 이 과정에는 두가지 과정이 필요한데, 첫째는 interference graph, 둘째는 register coloring입니다. 어떤 두 register가 동시에 live하면 같은 physical register를 할당할 수 없습니다. 그리고 이런 상태를 두 register가 interfere한다고 표현하죠. 이렇게 register를 graph의 vertex로, interfere하는 두 register를 edge로 연결하여 표현하는 graph를 interference graph라고 합니다. 이것은 liveness analysis를 통해서 구해낼 수 있습니다. register col..

Function Calling Conventions

함수 호출 규약(Function Calling Convention)에 대하여 정리해 보자. 일단 Microsoft의 Calling Convention의 종류는 다음과 같다 Calling Convention Argument Passing Stack Maintenance Name Decoration (C only) Notes __cdecl Right to left. Calling function pops arguments from the stack. Underscore prefixed to function names. Ex: _Foo. This is the default calling convention for C/C++ __stdcall Right to left. Called function pops it..

[안드로이드] 안드로이드 API GPS 상태체크

안드로이드 API GPS 상태체크 지도를 비롯하여, 안드로이드 기기의 위치정보를 이용한 서비스 개발을 할 때, 일반적으로 기기의 현재 위도(latitude), 경도(longitude) 값이 필요하다. 기기의 현재 위,경도 값을 알기 위해서는, 사용자가 위치정보 사용을 동의해야 한다.만약 동의하지 않은 상태에서 위치 획득 관련 API호출한다면, exception을 던지게 되어있다. 만약 아래와 같은 UX flow를 구현하려 한다면, 아래 코드를 참고하자. GPS 사용동의 여부를 체크 후 if 미동의 : 'GPS 사용 동의 설정 화면으로 이동 하겠는가?' 다이얼로그 출력. if 다이얼로그로 부터 '이동한다' 입력받을 경우 : GPS 설정 화면으로 이동. 아래는 그 기능의 예제코드이다. @Override pu..

자료조사(8) - RTP (real Time Procotol)

RTP(Real Time Protocol) >> RFC 3550 ☛ 개요 RTP는 오디오, 비디오 및 시뮬레이션 데이터와 같은 실시간 데이터를 멀티캐스트 또는 유니캐스트 네트웍을 이용해서 전송하는 응용 서비스에 알맞은 단말-대-단말 네트웍 전송 기능을 제공한다. RTP는 자원 예약을 수행하지 않으며, 따라서 적시 전달, 순차 전달과 같은 서비스 품질도 보장하지 않는다. RTP 데이터 전송 기능은 제어 프로토콜에 의해 확장되는데, RTCP라 불리우는 이 제어 프로토콜은 데이터의 전달 상황을 감시하며, 최소한의 제어 기능과 매체 식별 기능을 제공한다. RTP와 RTCP는 하위의 전송 및 네트웍 계층에 무관하게 설계되었다. RTP는 별개의 독립 계층으로 구현되기 보다는 특정 응용에서 요구되는 정보를 제공하여 ..

리눅스 압축 tar gzip bzip2 zip 해제/압축 방법

리눅스 압축 명령/방법/종류 리눅스에서 많이 사용되는 압축파일로는 tar, gz, bz2, zip 등이 있다. 이들 각각은 나름대로의 고유한 압축방식을 가지고 있으며, 압축해제하는 방법 또한 다양하다. 그래픽 유저 인터페이스(GUI) 모드에서 리눅스를 사용하는 사람이라면 간단히 더블클릭으로 압축 관리 프로그램을 실행하여 압축 및 해제를 할 수 있지만, 텍스트 모드를 사용하는 상황이라면 이들 압축파일을 사용할 수 있는 명령들을 숙지하고 있을 필요가 있다. 오늘은 이러한 압축 파일들을 생성하고 압축해제하는 방법에 대해 알아보도록 하자. .tar 파일tar은 엄밀히 말해서 압축방식은 아니고, 일종의 묶음 파일로 이해하자. 이 tar과 gzip을 같이 사용하는 경우 tar.gz (또는 tgz)라는 확장자를 사용..

[우분투] 우분투 JDK 7 tar 패키지로 수동 설치하기

우분투에 JDK 7 tar 패키지로 수동 설치하기 # JDK 설치하기 우분투에 JDK 설치 관련으로 인터넷을 뒤져보면 apt-get (sun-java...) 이나 시냅틱 패키지 관리자 ( openjdk-... )로 설치가 된다고들 하던데... 난 안되는 상황이다. "설치할 수 있는 후보가 없습니다." 라는 메세지만 받았다. 그리고 rpm, deb등 설치 패키지들도 의존성관련 에러가 발생한다. 이럴때 살짝 멘붕이 온다. 하지만 당황하지 말자.설치 패키지로 잘 설치가 안된다면 다른 방법이 있다. 바로, tar 패키지 받아서 직접 경로에 설치하는 것이다. 아래 주소에 가면 x86용 JDK-7 tar 패키지를 받을 수 있을 것이다. http://www.oracle.com/technetwork/java/javas..

자료조사(7) - RTP/RTCP 프로토콜 (실시간 통신 프로토콜)

RTP/RTCP * 관련문서 : RFC 1889, RTP - A Transport Protocol for Real-time Applications IETF AVT WG에서 작성한 인터넷 표준이다. RFC 1889는 실시간 응용 데이터 전송을 위한 트랜스포트 프로토콜인 RTP와 제어 정보를 전달하는 RTCP로 구성된다. RTP (Real-time Transport Protocol) RTP는 멀티캐스트 또는 유니캐스트상에서 음성, 화상, 또는 모의 데이터와 같은 실시간 데이터를 전송하는 응용에 적합한 단대 단 트랜스포트 기능을 제공한다. 그러나 RTP는 자원 예약에 대한 내용은 다루지는 않으며, 특히 적시 데이터 전송 (timely delivery), QoS 보장, 뒤바뀐 순서의 전송 방지와 같은 기능을 제..

자료조사(6) - H.323 프로토콜 의 구조

H.323 프로토콜을 구성하고 있는 여러 가지 관련 프로토콜의 구조에 대해 알아봅니다. 은 H.323 프로토콜과 다른 프로토콜과의 관련성을 보여주고 있습니다. H.323 프로토콜은 비디오와 보이스를 둘다 지원합니다. (참고로 MGCP 는 보이스만 지원합니다.) 위 처럼 H.323 에서 비디오 장비를 위한 코덱 으로는 H.261 과 H.263 이 정의 되어 있고 보이스를 위한 코덱 으로는 G. 시리즈의 코덱들이 있습니다. 여러분들이 잘 아시는 MPEG4 비디오 코덱이 H.263 코덱 입니다. 어쨌든 이러한 코덱들을 이용하는 미디어 스트림들은 RTP/RTCP 프로토콜을 이용하고 이것들은 UDP 프로토콜 기반에서 동작 합니다. 지금은 RTP 와 RTCP 프로토콜은 미디어 스트림이 전송될 때 사용..

1 ··· 3 4 5 6 7 8 9