[LTE/NR] Youtube 강의 정리 (NPTEL)

통신 관련 강의를 찾아보다가 Youtube에 괜찮은 강의가 있어서 정리해보았습니다. 강의를 보면서 각 강의에서 설명하는 내용과 공부가 필요한 내용을 정리하였습니다. 출처 1은 Youtube 동영상 강의 주소이고, 출처 2는 영어 강의 스크립트를 다운받을 수 있는 사이트입니다. 혹시 영어 강의가 아니면서 괜찮은 강의가 있으면 공유 부탁드립니다! Lecture 01: Overview of Cellular Systems – Part 1 주소 https://www.youtube.com/watch?v=f2wlHL1Sok8&t=2697s 내용… Read More »

[C/C++] 레퍼런스(참조자) vs. 포인터 (Reference vs. Pointer)

전문가를 위한 C++(출처1) 책을 읽다가 Reference(레퍼런스, 참조) 변수에 대해서 알게 되어서 정리하였다. 개인적인 느낌이지만 Reference 변수를 잘 사용하면 Pointer를 사용할 때 보다 실수를 적게 하면서 프로그램을 작성할 수 있을 것 같다. Pointer와 Reference 변수를 선언해서 사용하는 방법은 아래와 같다. 기본적으로 함수를 호출하면 변수를 복사해서 사용한다. 하지만 Pointer와 Reference를 사용하면 변수를 복사하지 않고 참조 전달 방식(Pass… Read More »

[Linux] Git SSH Local 서버 만들기

실험 환경 OS: Ubuntu 18.04 github, gitlab등을 사용하지 않으면서 간단히 git 서버를 만드는 방법에 대해서 정리해보았다. 사실 크게 사용할 일이 없기는 한데 외부 인터넷 접속이 어려운 회사 내부에서 사용하거나 개인 서버를 가지고 싶을 때 사용하면 유익한 것 같다. SSH Git 서버 구축하는 방법과 Web Git 서버 구축하는 방법이 있다. 저의 경우 SSH Git 서버만 사용하면… Read More »

[SSE/AVX Vectorization] 02-Detect System Capabilities

목차: [Series 01] Index & Overview (Link)이전 글: [Series 01] Index & Overview (Link)다음 글: [Series 03] TBD (Link) 지난번에 작성한 글에서 SSE와 AVX에 대해서 짧게 정리를 하였다. 간단히 설명하면 Vector (SIMD) 연산을 수행하기 위해서 CPU에 추가된 Instruction Set이다. 상세한 글은 출처 1에서 확인 할 수 있다. 이번 글에서는 CPU가 SSE/AVX를 지원하는지 확인하는 방법, GCC를 사용해서 SSE/AVX… Read More »

[Linux-Ubuntu] XRDP 설치 및 사용하기 (Install X? Remote Desktop Protocol)

실험환경: Ubuntu 18.04 XRDP는 Microsoft Remote Desktop Protocol (RDP) 기능을 다른 OS에서도 사용할 수 있도록 해주는 Protocol이다. 상세한 설명은 출처 1 영문 위키피디아에서 확인 할 수 있다. 개인적으로 사용하는 방법에만 관심이 있어서 해당 Protocol에 대해서 추가로 공부를 하지는 않았다. 보통 위와 같이 설정한 다음 Window Remote Desktop 프로그램을 사용해서 리눅스에 접속을 할 수 있다고 한다.… Read More »

[LTE/NR] Channel Model

주의 (Caution) 제가 작성한 다른 글에서도 틀린 내용이 존재할 수도 있지만, 특히 LTE/NR에 대해서는 지식이 없어서 틀린 내용이 더 많이 있을 수도 있습니다. 제가 이해하기 위해서 구글에서 찾은 내용을 정리한 글입니다. 혹시나 틀린 내용을 알려주시면 정말 감사하겠습니다. What is Channel? (출처 1) Channel이란 통신 신호가 지나가는 통로를 의미하는 것으로 판단된다. 예를 들어서 컴퓨터 간에 케이블로… Read More »

[Linux] CMake 명령어 정리 (CMake Commands)

CMake에 대해서 정리해보려고 했는데 출처 1, 2에 설명이 정말 잘 정리되어 있어서 개인적으로 사용하는(사용해본) 명령어만 정리해보았다. 대부분 출처 1, 2에서 발취한 내용이다. CMake 최소 지원 버전 선택하기 (CMAKE_MINIMUM_REQUIRED) CMake 지원 최소 버전을 명시할 때 사용한다. 보통 CMakeLists.txt 파일 제일 처음에 작성한다. VER: CMake 최소 버전 File 및 Folder 위치 정보 변수에 저장하기 (GET_FILENAME_COMPONENT) File 및… Read More »

[Vim/Linux] cscope DB 파일 자동 로딩 (Auto-Loading cscope DB File)

예전에 cscope Database (DB) 파일을 생성하는 방법에 대해서 정리하였다 (출처 1참조). 해당 글에서는 cscope Database 파일을 절대 경로(Absolute Path)로 변경하여서 vim에서 로딩하도록 설정하였다. 하지만 절대 경로로 변경하지 않고 현재 위치한 경로 아래에 있는 모든 cscope DB 파일을 자동으로 로딩하는 방법이 있어서 정리하였다. 방법은 아주 간단하다. 아래에 있는 코드를 .vimrc 파일에 추가하면 된다. 보통 .vimrc는 /home/USER_NAME/.vimrc에서… Read More »

[Linux] Vim 여러줄에 동일한 글자 입력하기 (Same Characters on Multiple Lines)

Vim을 사용하면서 여러 줄에 동일한 글자를 입력해야 하는 경우가 빈번히 발생한다. 특히 주석처리 하는 과정에 많이 사용된다. 여러 줄에 걸쳐서 동일한 문자를 입력하는 방법을 정리하였다. 여러 줄에 동일한 글자 입력하는 방법 (그림 1참조) “Ctrl + v”를 입력함 글자를 입력하고 싶은 라인을 선택함 “Shift + i”를 입력함 원하는 글자를 입력함 ESC를 입력함 완성 출처 https://stackoverflow.com/questions/253380/how-to-insert-text-at-beginning-of-a-multi-line-selection-in-vi-vim

[Linux] git 명령어 정리 (git commands)

최근 일을 하면서 git을 많이 사용하게 되었다. 예전에 일을 할 때는 Subversion을 많이 사용했는데, git을 사용하다 보니 명령어가 익숙하지 않아서 정리해보았다. 대부분의 명령어는 1개 단위로 정리를 하였다. 하지만 특정 경우에 여러 개의 명령어를 사용해야 하는 경우가 있다. 이런 경우는 2개 이상의 명령어로 구성되어 있다. 아마 각 명령어를 상세히 이해한다면 2개 이상의 명령어가 어떻게 동작하는지 알… Read More »