본문 바로가기

전체 글29

vim 괄호 자동으로 닫아주는 플러그인 1. jiangmiao/auto-pairs 이란? jiangmiao/auto-pairs plugin은 프로그램 언어 작성시 괄호를 자동으로 닫아주는 플러그인이다. if문 또는 while, for, 배열 그리고 함수를 선언하거나 작성할 때 소괄호(), 중괄호 {}, 대괄호[] 등이 쓰인다. 이 괄호를 열어주기만 하면 자동으로 닫아주는 괄호가 생기며, 커서는 괄호 안쪽으로 이동하게 된다. 2. .vimrc에 Plugin 추가 call vundle#begin() " [] {} 등 괄호 입력시 자동으로 닫아주는 플러그인 Plugin 'jiangmiao/auto-pairs' call vundle#end() vundle#begin()과 vundle#end 사이에 jiangmiao/auto-pairs Plugin을 .. 2023. 3. 19.
멀티 Thread 공유 메모리 동기화 방법 1. 공유 메모리 접근에 대한 동기화 개념 1. 동기화 기법 없는 연산 결과 2. 동기화 기법 적용 후 연산 결과 그림 1. 동기화 없는 연산은 매번 발생하는 일은 아니다. 간헐적으로 발생을 하며, 복잡한 시스템속에 이러한 버그가 있다면 매번 발생하는 경우가 아니기에 더욱더 버그를 잡기 어렵다. 그러므로 초기 프로그램을 설계할 때 아래 동기화 기법을 사용하여 소프트웨어를 설계하는게 중요하다. 2. 동기화 기법 세마포어(Semaphor) 접근한 순서는 T1 -> T2 -> T3순이다. (우선 순위는 T3->T2->T1순이다.) 초기화 된 세마포어 변수 sem 을 Sem_wait()함수를 이용해 T1,T2,T3 이렇게 3개의 스레드가 잠그려는 상황이다. 세마포어를 잠글 떄에는 sem_wait()함수를, 잠금.. 2023. 2. 12.
VIM 코드 자동완성 플러그인 1. SirVer/ultisnips, honza/vim-snippets snippet(스니펫)은 재사용 가능한 소스 코드, 기계어, 텍스트의 작은 부분을 일컫는 프로그래밍 용어이다. 쉽게 말해 코드 자동완성 기능으로 재사용한 코드 혹은 텍스트의 일부분만으로 코드 및 텍스트를 자동완성하기 때문에 빠르고 오타없이 코드를 완성 할 수 있다. ultisnips는 스니펫 엔진을 갖고 있으며 python에서 빠르고 작동 되며 기능이 가장 많습니다. vim-snippets는 if, for, while 또는 switch case문과 같은 패턴이 정해져 있는 코드들을 사용자가 등록한 키에 의해 코드가 자동 완성되도록 ~/.vim/bundle/vim-snippets/snippets/c.snippets 해당 내용들이 적혀있.. 2023. 1. 20.
wesleyche/srcexpl 설치 및 사용 방법 1. wesleyche/srcexpl 이란? wesleyche/srcexpl 플러그인은 Source Explorer의 플러그인으로써 별도의 창에 함수나 타입 정의 또는 선언을 표시하여 현재 선택된 키워드에 대한 컨텍스트를 제공하는 소스 코드 탐색기입니다. 이 플러그인은 IDE에서 사용할 수 있는 컨텍스트 창을 만들어 줍니다. srcexpl플러그인은 아래와 같은 특징이 있습니다. 1. 함수, 매크로, 구조, 배열, 메서드, 클래스 및 변수를 비롯한 다양한 유형 및 ctag에서 지원하는 다양한 언어의 정의 및 선언을 표시합니다. 2. 마우스 또는 고유한 키 매핑을 사용하여 소스 탐색기 창에 표시된 컨텍스트로 이동합니다. 3. 마우스 컨텍스트 메뉴 또는 고유한 키 매핑을 사용하여 컨텍스트 위치에서 뒤로 이동합.. 2022. 7. 10.
VIM Plugin tpope/vim-fugitive 설치 및 사용 방법 1. tpope/vim-fugitive 이란? vim에서 git 연동을 위한 플러그인이다. vim을 종료하지 않고 명령어 상태에서(:commnad ) git status 및 commit, add, push등을 진행 할 수 있다. 2. .vimrc에 Plugin 추가 call vundle#begin() " let Vundle manage Vundle " required! Plugin 'VundleVim/Vundle.vim' "vim-fugitive Plugin 'tpope/vim-fugitive' call vundle#end() 위의 내용 처럼 vundle#begin()과 vundle#end 사이에 tpope/vim-fugitive 플러그인을 추가하고 PluginInstall 명령어로 설치한다. Plugi.. 2022. 5. 11.
VIM Plugin ctrlp.vim 설치 및 사용 방법 1. ctrlp.vim 이란? ctrlp.vim은 파일 찾기 기능과 같이 파일 검색과 관련된 매우 다양한 기능들을 제공한다. 파일 검색 시 퍼지 검색, 정규식 검색 방식을 지원하며, 최근 사용한 파일 관리, 열려있는 파일 관리, 파일 만들기 등의 기능들도 제공된다. 2. .vimrc에 Plugin 추가 call vundle#begin() " let Vundle manage Vundle " required! Plugin 'VundleVim/Vundle.vim' "ctrlp.vim Plugin 'ctrlpvim/ctrlp.vim' call vundle#end() 위의 내용 처럼 vundle#begin()과 vundle#end 사이에 ctrlpvim/ctrlp.vim 플러그인을 추가하고 PluginInstal.. 2022. 5. 10.