프로그래밍/VSCode
[VSCode] 점유율 100% 터미널, 에디터 렉 오류 rg.exe 해결
VSCode에서 코딩 진행중인데 터미널하고 에디터에서 정체 불명의 불쾌한 렉이 발생했습니다. 확인해보니깐 VSCode에서 rg.exe가 계속 실행되고 있더라구요. 에디터에서 코드 수정할때까진 괜찮은데, VSCode 터미널에서 gcc나 g++ 로 컴파일 해서 실행하면 저렇게 rg.exe가 무한 실행되며 문제가 발생합니다 -.- rg.exe가 뭔지 확인해보니 폴더에서 텍스트를 검색할 때 쓰는 ripgrep 이라는 아주 빠른 도구라고 합니다. 렌더링 에서 GPU 가속 끄는것도 안먹히고, VSCode 재설치해도 안되길레 혹시 확장 프로그램이 문제인가? 싶어서 최근에 설치한 C-mantic 이라는걸 삭제하니깐 해결이 되네요. VSCode에서는 C++ 코딩할때 VS처럼 헤더파일에 class 선언해두고, 멤버 함수 ..
프로그래밍/Etc
VS 2022 C/C++ Compiler보다 더 깐깐한 gcc/g++ Compiler!
VS 2022 C++ 컴파일러에선 오류나 경고가 하나도 잡히지 않는데, 같은 코드를 VSCode에서 g++로 빌드해서 실행해보니 오류, 경고 작렬이네요. 개인적인 감상으론 사실 제대로 깐깐하게 컴파일 하는건 gcc나 g++가 VS 컴파일러보다 한수위인거 같고, VS 컴파일러는 Dev C++ 컴파일러보다 한 수 위인거 같습니다. 즉 정리하자면 gcc/g++ compiler > VS C/C++ compiler > Dev C++ 컴파일러 순으로 순위(?)가 매겨질 수 있겠네요. 사실 저는 gcc나 g++ 컴파일러를 선호하는 편인데 아무래도 GNU 프로젝트 시절부터 내려온, C 표준을 잘 지키는 근본 컴파일러기도 하고, UNIX 계열 운영체제 / 윈도우 가리지 않고 사용할 수 있다보니 좋아합니다. Visual ..
프로그래밍/Talk
[C++] infix -> postfix 수식 변환 & 계산기 구현
* 해당 글은 구현을 단순히 기록차 남겨놓은 후기 글 입니다 강의글이 아니므로 따로 자세한 설명을 넣진 않습니다. 자세한 구현 방식은 나중에 자료구조 탭을 추가하여 제대로 작성할 예정입니다. C++ 에서 infix 수식 (중위 표기법) 을 받아서 postfix 수식 (후위 표기법) 으로 변환 후 그 postfix 수식에 대한 값을 계산해 결과값을 출력하는 기능을 구현했습니다. 뭐 이번에도 과제때문에 억지로 구현한거긴 합니다. 사실 프로그래밍을 하면서 일반적으로 리터럴에 적는 여러가지 수식들은 자연스럽게 컴퓨터가 읽어내 계산할 수 있도록 컴파일러가 처리해줍니다만, 실제로 수식 문자열을 입력받아서 계산하는 기능은 생각보다 굉장히 어려운 기능입니다. (당장 수식을 계산하는 방법을 머리 속으로 생각해보면, 정수..
프로그래밍/C++
[C++] 모든 인자값을 레퍼런스로 넘겨야 성능상 유리할까?
일반적으로 C++에서 레퍼런스를 인자로 받으면, 참조하는 타입의 모든것을 복사하는게 아닌 주소 한번을 넘김으로써 원본에 접근할 수 있어, 포인터 처럼 성능상의 이점을 취할 수 있습니다. 그러면 생각해낸게 "아 그럼 모든 인자는 레퍼런스로 받아야 성능이 좋을까?" 라는 생각이 문뜩들었습니다. 매우 큰 객체들은 (Struct, Class 변수) 레퍼런스로 받는게 당연히 빠를 것이나 그럼 int, double 같은 기본 값 타입들도 Call by Value가 아닌 Call by reference 로 받으면 빠르겠구나! 라고 대충 추정해보았습니다. 일단 레퍼런스로 받으면 빠르다라고 배웠으니깐요.. 그런데 찾아보니깐 아니더라구요.. 이에 관련하여 좋은 글을 작성해주신 분이 있어서 관련 링크를 첨부합니다. http..
프로그래밍/Python
[Python] 멀티 쓰레딩 vs 멀티 프로세싱 비교
https://www.youtube.com/watch?v=AZnGRKFUU0c 파이썬에는 GIL(Global Interpreter Lock) 이란게 걸려있어서 여러 쓰레드를 동시에 실행시켜도 결론적으론 한번에 하나의 쓰레드 밖에 실행하지 못합니다. 이런 반쪽짜리 멀티 쓰레딩 덕분에 파이썬이 실제로 욕을 많이먹었죠. 멀티 쓰레딩과 멀티 프로세싱을 비교하는 좋은 영상이 있어서 첨부해봅니다. 실제로 제가 이전에 구현하고 현재도 배포중인 네이버 웹툰 다운로더의 경우에도 파이썬의 멀티 프로세싱 모듈을 이용해 제작했습니다. 사실 개념도 잘 모르고 인터넷에 추천되있는걸 받아와서 사용한거긴 한데 뭐 결론적으론 올바른 선택이 아니였나 싶습니다.
프로그래밍/VSCode
VSCode Vim 익스텐션에서 Ctrl+C / Ctrl + V / Ctrl + X / Ctrl + H (복붙, 자르기, 치환) 활성화 하기
VSCode 확장에 있는 이 Vim 이라는것만 깔면 VSCode를 Vim 에디터처럼 사용할 수 있습니다.. 그러나 한가지 문제점은 Vim에서 복붙키나 (Ctrl C Ctrl V) 자르기 (Ctrl + X), Find & Replace (Ctrl + H) 등이 제대로 동작하지 않습니다. 왜냐면 VIM에서 이미 이 키들을 선점해서 바인딩중이기에 VSCode 기본 키들이 동작하지 않는것입니다. 사실 복붙 안되는건 Vim에서 y키나 p로 흉내내면서 따라할 수 있어도 에디터 모드에서 자르기가 안되는건 진짜 불편하더라구요. 사실 Vim에서 저 키들을 이미 선점중이라 무슨 유용한 기능을 제공할까 싶은데 기존에 기능에 비하면 거의 사용하지 않는 수준의 기능들입니다. 아래 코드를 VSCode 설정 파일 (settings..
프로그래밍/Talk
[C++] 다항식 클래스 100% 구현 완성!
단일 연결 리스트 구조를 이용해서 무려 "다항식" 을 저장할 수 있는 Class를 구현했습니다! 과제라서 어쩔 수 없이 꾸역 꾸역 하긴 했는데 온갖 버그와 싸운 끝에 일단 구현 완성하긴 했네요. (사실 만들고 나니 왜 만든건지 잘 모르겠습니다. 울프람 알파 쓰면 안되나?) C/C++ 로 프로그래밍 하면서 느낀건데 얘내들은 뭔가 완성해도 "와 됐다!" 가 아니라 "어 됐네? 근데 왜 됐지?" 라는 말이 먼저 나옵니다 ㅋㅋ 특히 메모리 참조 오류를 너무 많이 쳐맞았더니 거의 사용한적 없는 Visual Studio 의 디버깅 툴이 참 고마워지더라구요. Rust 좋아하는 분들이 C/C++ 도 Rust가 대체할 것이다 이렇게 강하게 말하는 경우가 있습니다. 좀 비약이 강한 말이긴 하지만 솔직히 C는 몰라도 C++..
프로그래밍/Talk
[C++] 다항식 클래스 구현 50%
과제로 연결리스트를 구현에서 다항식을 저장해주는 클래스를 만들고 있는데 요새 방구석에 앉아서 컴퓨터로 코딩만 했더니 진짜 헛구역질이 나오네요;; C나 C++이나 진짜 짜증나는게 한 두가지가 아닙니다.. C는 문자열 없어서 동적할당으로 똥꼬쇼 해야하고 C++은 객체 정의에 만들어야 할 게 도대체 몇개인지.. 옛날엔 분명 저 Visual Studio 폰트나 글자가 나름 마음에 들었던 거 같은데 이제는 VSCode 기본 폰트에 비해 깨랑깨랑(?) 해서 잘 보이지도 않네요 온갖 예민함과 짜증, 피로가 몰려옵니다 도대체 제가 뭐하는건지도 요새는 잘 모르겠습니다 솔직히 프로그래밍 하는건 즐거운데 몸이 못따라가는 기분입니다. 그도 그럴것이 하루에 7~8시간씩 컴퓨터만 만지고 있었으니깐... 좀 쉬었다 와야겠습니다. ..
이모티콘창 닫기
울음
안녕
감사
당황
춤
피폐