Home

DB에 이미지를 Base64 형식으로 넣었을 때 속도 저하 현상

이전에 웹 개발을 처음 할 때 Ruby on Rails 기반의 웹 개발을 하면서, 기본으로 제공되는 SQLite를 사용했던 적이 있습니다. 이 때에는 외부의 데이터베이스를 연동할 생각은 하지 못하고 일단 배운 지식으로 만들어보자는 생각에 빠르게 만드는데에만 집중했습니다. 아마존 EC2 서버에 해당 서버를 올렸는데, SQLite는 외부에 존재하지 않고 EC2 안에서 함께 동작했습니다. 이 때, SQLite 데이터베이스에 Base64 이미지를 그냥 넣었던 경험이 있습니다. 당시 사용했던 에디터가 summernote 라는 에디터인데 꽤나 깔끔하고 무엇보다 클립보드의 이미지가 바로 업로드 된다는 것이 좋았습니다. 이 때...

Read more

PCI configuration space란? 개념 정리

1. 개념을 알고 가자! PCI configuration space는 PCI, PCI-X, PCI Express의 버스에 삽입된 카드의 configuration을 자동으로 설정하는 기본 방법입니다. 장치를 사용하려면 장치가 어떤 것이고(identification), 어떤 장치와 어떻게 통신해야되는지(protocol)를 알아야 하는데, PCI 버스에서는 장치를 인식하고, 장치의 기본적인 정보를 얻기 위하여 PCI configuration space를 사용합니다. 쉽게 말하면 Device ID, Vendor ID, Class code 와 같은 다양한 정보들이 담겨있는 구조체라고 볼 수 있습니다. 예를 들어, 컴퓨터에...

Read more

절전(S3), 최대절전(S4), 종료(S5) 상태의 개념과 전력 소비

각 전원 상태에서 전원이 얼마만큼 소비되는지 궁금하여 정리해보았습니다. 참조한 블로그 글에서 좋은 비유가 있어서, 약간 변경하여 사용해보았습니다. 1. 절전(Sleep, S3) 절전은 컴퓨터를 잠시 사용하지 않을 때, 전력 소모를 줄이기 위해서 사용하는 전원 상태입니다. RAM과 대기모드를 해제할 수 있는 이벤트를 실행하기 위한 전원이 계속 남아있습니다. RAM 이외의 주요 전원 장치의 전원을 차단하기 때문에, 전원만 키면 RAM에 있는 데이터를 바로 사용할 수 있기 때문에, 절전에서 깨어나는 속도는 상당히 빠릅니다. 예를 들어 잠깐 근처로 자리를 이동할 때나 화장실을 갈 때, 금방 다시 사용할 것 같다면 절전...

Read more

Windows 전원 관리의 최소/최대 프로세서 상태 옵션이 없을 때 해결법

일부 데스크톱이나 노트북 같은 경우에는 Windows 전원 관리(Power Management)의 고급 옵션에서 최소/최대 프로세서 상태가 없는 경우가 있습니다. 프로세서의 성능을 조정하여 쿨링팬의 소리가 너무 많이 나는 경우에 조정하여 소리를 줄이거나, 성능이 낮게 설정되어 있어 퍼포먼스가 낮을 경우에는 성능을 높혀서 조금 더 쾌적한 환경을 이용할 수 있습니다. 1. CsEnabled 변경으로 해결 제가 이용하는 노트북의 경우에도 기본적으로 전원 옵션을 설정할 때, 고성능 모드, 배터리 절약 같은 옵션을 선택할 수 없고 최소한의 옵션만 있었습니다. 이전에 프로세서 성능을 팬 소리 때문에 낮춘적이 있었는데, 지...

Read more

페이로드(payload)란? 개념 설명

페이로드(payload)는 전송되는 데이터를 의미합니다. 데이터를 전송할 때, 헤더와 메타데이터, 에러 체크 비트 등과 같은 다양한 요소들을 함께 보내어, 데이터 전송의 효율과 안정성을 높히게 됩니다. 이 때, 보내고자 하는 데이터 자체를 의미하는 것이 바로 페이로드입니다. 우리가 택배 배송을 보내고 받을 때, 택배 물건이 페이로드이고, 송장이나 박스, 뾱뾱이와 같은 완충재 등등은 부가적인 것이기 때문에 페이로드가 아닙니다. 추가적으로 위키피디아에 아주 이해하기 좋은 예시가 아래와 같이 나와있어서 첨부합니다. 페이로드(payload)라는 단어는 운송업에서 비롯하였는데, 지급(pay)해야 하는 적화물(loa...

Read more

데디케이티드 서버란? 개념 설명

데디케이티드 서버의 개념 클라이언트 서버 구조를 기반으로 호스트 역할을 수행하는 시스템이 존재하고, 이 시스템에서 모든 클라이언트를 수용할 수 있는 서버입니다. Dedicated Server는 단독으로 제공된 서버 위에서 하나의 서비스를 제공하는 서버만을 생성해 제공하는 서비스입니다. 호스트 컴퓨터가 모든 클라이언트를 전담하는 데디케이티드 서버(Dedicated Server)와 달리, 사용자의 게임 클라이언트 자체가 서버 호스트가 되는 리슨 서버(Listen Server)나 P2P라고도 불리는 피어 투 피어(Peer-to-Peer) 방식과 비교하여 보면 더 이해하기 쉽습니다. 예를 들어 보겠습니다. 우리가 ...

Read more

디바이스 컨트롤러, 디바이스 드라이버, ssd 컨트롤러란? 개념 정리

컴퓨터를 사용하면 많은 장치들(ssd/hdd 외장하드, ssd/hdd 내장하드, usb 플래시 저장매체, usb 허브 등)을 컴퓨터에 꽂아서 사용합니다. 혹은, 이미 많은 장치들이 컴퓨터에 꽂힌 상태로 사용하고 있습니다. 이러한 많은 장치들은 컴퓨터와 어떻게 소통할 수 있을까요?? 정답은 바로 디바이스 컨트롤러와 디바이스 드라이버, 장치 내부의 컨트롤러가 있기 때문입니다. 1. 컴퓨터 내부의 버스와 디바이스 컨트롤러의 구조 Bus and Computer Architecture 컴퓨터 내부의 버스와 컨트롤러는 위와 같은 구조를 이루고 있습니다. 컴퓨터 내부의 장치들이 서로 소통을 하기 위해서는 데이터 선이 필...

Read more

DUT(Device Under Test)란?

DUT (Device Under Test) 시험 또는 측정의 대상이 되는 장치/소자와 같은 요소들을 말합니다. Test or Calibration을 하게 되는 대상물로써, 노트북을 Test하고 있다면 이 노트북을 DUT라고 말합니다.

Read more

Add-in card(add-on card, expansion card)란?

Add-in card (add-on card, expansion card)는 컴퓨터에서 추가적인 기능을 이용하기 위하여 확장 슬롯에 꽂는 PCB(Printed Circuit Board)입니다. 구글에서 이미지 검색을 통하여 보면 아래와 같이 생긴 것을 확인할 수 있습니다. Add-in card image Add-in card는 expansion bus를 통해서 추가적으로 필요한 기능을 추가합니다. expansion bus란 컴퓨터 시스템에서 내부 하드웨어(CPU & RAM 포함)와 주변 장치들간에 정보를 옮길 수 있는 컴퓨터 버스입니다. (컴퓨터를 확장할 수 있는 wire와 protocol의 모음) ...

Read more

Eye Diagram, Eye Test, Eye Margin이란? 개념 정리

여러 구성 요소들을 지나면서 신호가 감쇄되는 현상 _ 1 여러 구성 요소들을 지나면서 신호가 감쇄되는 현상 _ 2 신호가 Transmitter에서 Receiver로 전송되는 동안에, Jitter, Noise, Attenuation(감쇄) 현상이 발생하여 신호가 망가집니다. 여러 채널과 다양한 장치들을 통과하면서 위와 같이, 원래의 신호들은 상당히 왜곡됩니다. 수용가능한 수준으로 신호가 들어오는지 확인하기 위하여는 eye test가 필요합니다. eye test는 eye diagram을 보여주는데 eye diagram의 뜻은 아래와 같습니다. eye diagram : 광 또는 전기 신호의 누적ㆍ중첩된 ...

Read more