목록알쓸전컴 (343)
알쓸전컴(알아두면 쓸모있는 전자 컴퓨터)
Q_Dqt 오픈 소스를 보면 해당 내용이 아주 많이 나옵니다. #define Q_D(Class) Class##Private * const d = d_func() #define Q_Q(Class) Class * const q = q_func() 로 정의 되어 있습니다. 이것이 무엇에 사용 되는지 알아 보겠습니다. Qt에서는 이것을 d-pointer 라고 부릅니다. 사용되는것은 자신의 privete 클래스에 접근 하기 위해서 입니다. 외부에서 라이브러리를 사용할때 일반적으로 private 클래스에는 접근 하지 못하도록 합니다. 예를 들면 widget.h class WidgetPrivate; class Widget { // ... Rect geometry() const; // ... private: Widge..
HTTP Live Streaming[HLS] http://d2.naver.com/helloworld/7122 에서 내용을 출처 하여 분석하고 합니다. APPLE의 HLS 에대해서 설명한 PDF 파일을 첨부 합니다. 라이브 스트리밍을 위한 전통적인 프로토콜로인 RTSP는 도입 비용이 높고 방화벽 환경에서 서비스가 원활하게 이루어지지 않는 단점이 있습니다. 이러한 단점을 해결하는 방법으로 HTTP를 라이브 스트리밍을 위한 프로토콜로 사용하는 방법이 나오게 되었습니다. 이 글에서는 HTTP를 이용해 원활한 스트리밍 서비스를 제공하고 방화벽 문제 등을 해결하려는 노력 중에 하나인, Apple이 만든 HLS(HTTP Live Streaming)에 대해 살펴보겠습니다. HTTP를 사용하는 라이브 스트리밍동영상 라이..
스트리밍 서비스 프로토콜 종류 프로그레시브 다운로드(Progressive Download) 프로그레시브 다운로드는 지금까지 가장 널리 사용되는 비디오 전송 방법이다(유튜브에서 이 방법을 사용). 이 방법은 구현하기 가장 쉽다: 웹서버에 비디오를 올려놓고 플레이어에게 URL을 알려주면 된다. 사용자가 플레이를 누르면, 플레이어는 즉시 그 파일을 다운로드하기 시작한다. 그리고 어느 정도 다운로드가 되었을 때, 플레이어는 비디오 재생을 시작하게 된다. 하지만 파일이 전부 수신될 때까지 다운로드를 계속하게 된다. 이것은 그냥 웹폴더에 있는 파일을 다운받아 진행하는 방식이다. RTSP/RTMP 스트리밍(RTSP/RTMP Streaming)프로그레시브 다운로드가 가지는 약점 때문에, Hulu와 같은 프로페셔널 미디..
bootstrap 테마 적용 저게 예제로 사용할 탬플릿은 https://startbootstrap.com/template-overviews/shop-homepage/ 에 있는 테마 입니다. 다운로드 받으면 위와 같은 내용 들이 있습니다. 이를 Django에 적용 하려고 합니다. 먼저 저의 Django 환경은 project 이름은 Vcsite app이름은 mainapp 으로 만들었습니다. 먼저 Vcsite/mainapp/ 에 static 폴더를 만들고 Vcsite/mainapp/static 에 mainapp 이라고 폴더를 만들어 줍니다. Vcsite/mainapp/static/mainapp 에 자신이 받은 bootstrap 파일중 index.html을 제외하고 모두 복사 붙혀 넣기 합니다. 저의 경우에 a..
시프트 레지스터 일단 레지스터란? 고속 입출력 저장 메모리 입니다. 속도가 정말 빠르기 때문에 주로 CPU의 제어용도로 많이 사용되고는 합니다. 일단 시프트 레지스터를 이해 하기 위해서는 D플리플롭 에 대해서 알아야 합니다. D 플리플롭을 봤다는 전제하에 설명하겠습니다. 정의기억하고 있는 내용을 오른쪽이나 왼쪽으로 이동시킬 수 있는 레지스터로 여러 개의 플립플롭을 연속으로 연결하여 구성 클럭 펄스가 들어올 때마다 레지스터의 내용은 1비트씩 오른쪽으로 전달됨 위와 같이 D플리플롭만 이해하고 있으면 정말 간단하게 구현되고 수많은 데이터를 표현하는데 입력 2가닥 선이면 저장되고 표현이 됩니다. 위의 예는 4bit 시프트레지스터 이지만 8bit,16bit,32bit 는 좀더 D플리플롭을 연결한것 뿐입니다, 이렇..
기본폼 이메일 주소 암호 파일 업로드 여기에 블록레벨 도움말 예제 입력을 기억합니다 제출 주의점 Form group 과 input group 을 직접 같이 쓰면 안됩니다. 대신, input group 을 form group 내에 넣도록 하세요. 인라인 폼 한줄에 폼을 표시하는 것입니다. Name Email Send invitation 주의점1. 너비를 자동으로 맞추기게 되어 있습니다. with:100% 와 width:auto; 로 초기화하여 사용합니다. 사용하는 화면에 따라 맞춤너비가 필요할수도 있습니다. 2. 항상 라벨을 추가해야합니다. 그렇지 않으면 폼에 문제가 생길수도 있습니다. 하지만 라벨을 숨기는 방법은 있습니다. .sr-only 클래스에 sr-only 을 주면 라벨을 숨길수 있습니다. 그리고 ..
동기 플리플롭 동기 플리플롭은 이전에 설명한 비동기 플리플롭을 좀더 효율적으로 응용하고 사용하기 위해서 만들었습니다. 동기 플리플롭의 게이트 회로부터 보겠습니다. NOR 회로로 구성한 동기 플리플롭위의 회로를 보고 결과 진리표를 보고 진리표의 결과를 따라가보면 이해하기 쉽습니다. 진리표 동기 플리플롭의 결과로 중요한것은 C가 0일때는 결과 값을 유지한다는것이죠. 이전에 비동기보다 생각하는 방식이 좀더 단순해 졌습니다. 그냥 C가 0이면 출력값을 유지 시킬수 있구나 ! 하지만 여기서 메모리에 0 or 1을 저장하는데 진리표에서 불필요한 부분을 제거 한것이 D 플립플롭을 만들었습니다. D 플립플롭 진리표 좀더 단순히 사용할수 있습니다, 여기서 메모리에 저장하여 사용할 0과 1을 저장하는데 필요한 부분만 최소..
비동기 플립플롭 지금 까지는 AND,OR,NOT는 논리 회로만 배웠습니다. 플립 플롭은 메모리의 기초가 되는 회로 입니다. 플립 플롭의 이해는 글로 설명하고 그림으로 설명해도 직관적으로 바로 이해하기 힘든 부분이 있기 때문에 회로를 보며 직접 입력 값을 주고 출력을 따라가며 이해는 하시는 것이 가장 좋을듯합니다. 동기 플리플롭을 이해하는것이 목적이지만 이전에 비동기 플립 플롭의 이해가 선행되어야 되기때문에 비동기 플립 플롭을 먼저 설명 도록 하겠습니다. 우선 비동기 플립 플롭의 기본 소자인 NOR 부터 정확히 정의 하고 넘어 가겠습니다. 여기서 중요한 포인트로 외우고 갈것이 A,B 중 1개라도 입력 1이 있으면 출력은 0 이라는 것입니다. NOR 비동기 플립플롭 회로 여기서 R와 S가 입력이며 Q 와 Q..
지금 부터 부트 스트랩 코드는 기본 코드는 기본 코드 를 바탕으로 body 만 작성 하겠습니다. 정렬 클래스 좌측정렬된 텍스트.중앙정렬된 텍스트.우측정렬된 텍스트.양쪽정렬된 텍스트.그냥 텍스트. 변형 클래스Lowercased text.Uppercased text.Capitalized text. 기본 테이블 Optional table caption. # First Name Last Name Username 1 Mark Otto @mdo 2 Jacob Thornton @fat 3 Larry the Bird @twitter 줄무늬 테이블 Optional table caption. # First Name Last Name Username 1 Mark Otto @mdo 2 Jacob Thornton @fat 3 ..
디코더(Decoder) 디코더 풀이하면 해석기라는 의미이지요 컴퓨터에서 디코더는 어디에서 사용될까요 ? 컴퓨터에게 어떠한 명령을 처리하는데 사용됩니다. 컴퓨터는 단순히 계산만 하는것이 아니라 정말 여러가지 일들을 합니다. 예를 들면 마우스를 움직이면 이것에 대해 맞은 행동을 해야하고 키보드를 누르면 이에 맞게 행동을 해야합니다. 위의 예는 이해를 돕기위해서 예를 든것입니다. 그렇다면 컴퓨터는 이러한 행동을 판별해야합니다. 명령어에 대한 구분을 위해 사용되는것이 디코더 입니다. 2진 디코더를 살펴 보겠습니다. 2진 디코더 회로 2진 디코더 진리표 진리표를 보면 X,Y 2개의 입력으로 4개을 출력을 구분한수 있습니다. 이 회로의 사용예를 들면 LED0,LED1,LED2,LED3 이 있다고 하면 F0 -> L..