개발/개발 노트 5

VirtualBox에서 인터넷 사이트 DNS 접속 오류

버츄얼 박스에서 Ubuntu를 설치한 뒤 인터넷을 사용할 때, 일부 사이트 접속이 되지 않는 문제 파이어 폭스 혹은 크롬을 통해 인터넷 연결 및 검색은 되지만 사이트의 url 연결시 접속이 안되는 문제가 있다. resolvconf 설치 sudo apt-get install resolvconf /etc/resolvconf/resolv.conf.d/head 파일 수정 // cd /etc/resolvconf/resolv.conf.d -> head 파일을 수정 sudo nano /etc/resolvconf/resolv.conf.d/head 맨 아래에 nameserver "참조할 dns 서버 주소" 추가하고 저장 내 dns 서버 주소는 윈도우 cmd창에서 nslookup으로 확인 버츄얼 박스 재부팅후 사이트 접속

REST API

REST (Representational state transfer) World Wide Web의 아키텍쳐 개발을 위해 고안된 소프트웨어 아키텍쳐 스타일을 지치한다. REST는 인터넷-스케일에서 분산 하이퍼미디어 시스템을 위한 제약 조건들의 집합을 정의한다. REST 아키텍쳐 스타일은 컴포넌트간의 상호작용/ 일관적인 인터페이스, 독립적인 컴포넌트 유지 그리고 유저-반응과 연관된 캐시 성능을 활용하기 위해 레이어드(계층) 형태의 아키텍처를 지향한다. REST는 소프트웨어 산업 전반에서 상태가 없고 신뢰성있는 webAPI를 제공하기 위해 널리 받아들여진 가이드라인과 같은 존재이다. REST 규약을 따르는 web API의 경우 RESTful이라고 지칭한다. RESTful web API는 HTTP 전송 메서드를..

x64 아키텍쳐 레지스터

x64 레지스터들은 8개의 범용 레지스터와 8개의 추가 레지스터들을 합하여 16개의 레지스터로 이루어진다. 범용 레지스터 RAX / RBX / RCX / RDX 이 레지스터들은 함수 계산을 할 때 주로 사용되는 레지스터들로 RAX는 주로 함수의 리턴 값을 저장한다. RBX는 RSI/RDI와 연계하여 기준 주소의 오프셋을 나타내는 값을 저장한다. RCX는 for,while 문에서 자주 사용되는 반복 횟수가 저장된다. RDX는 RAX와 같이 데이터나 주소 등 여러 범용으로 사용된다. 스택 포인터 레지스터 RBP / RSP RBP : 스택 메모리의 시작 주소를 저장한다. RSP : 증가하는 스택 메모리의 끝 주소를 저장한다. 인덱스 레지스터 RSI / RDI 복사나 비교의 대상이 자주 되는 기준 출발/목적지 ..

Base64 변환 인코딩

Base64 인코딩 임의의 데이터를 문자열 종류에 영향을 받지않는 가장 기본적인 ASCII 코드 형식으로 인코딩 하는 방법이다. Base64 문자열 테이블 A-Z, a-z, 0-9 그리고 규격에 따라 정해진 나머지 두 개의 문자열을 합하여 총 64개의 문자열으로 인코딩한다. MIME 규격으로는 '+'(63) 와 '/'(64)를 사용한다. 인코딩 방식 64개의 문자열에 맵핑하기 위해서 2의 6제곱, 6비트 정보가 필요하다. 편의를 위해 4개씩 문자열을 만드는데 필요한 24비트, 총 3바이트씩 끊어서 인코딩한다. 위키 피디아의 예시처럼 "Man"을 인코딩하면 "TWFu"가 된다. Text content M a n ASCII 77 97 110 Bit pattern 0 1 0 0 1 1 0 1 0 1 1 0 0..

C++ UnitTest 프로젝트 만들기

C++ UnitTest 프로젝트를 만드는 방법을 알아본다. 단위 테스트는 테스트 주도 개발(TDD)에서 가장 기본이 되는 테스트 방법으로 자신이 만든 함수나 클래스를 테스트하고 올바르게 동작하는 지 확인함에 있다. 몇 가지 테스트 케이스를 두고 입력에 따른 올바른 결과가 나오는 지 확인하는 것을 보통 사용한다. 테스트 케이스가 모든 가능한 경우를 테스트한 다고 볼 수는 없지만 기본적으로 자신이 만든 함수에 대해 기본 기능은 보장한다고 할 수 있다. 또한 다른 작업자가 해당 코드를 나중에 수정할 경우에도 동일한 단위 테스트가 성공할 것을 보장하여 개발 신뢰성을 높일 수 있다. 참고 https://docs.microsoft.com/ko-kr/visualstudio/test/writing-unit-tests-..