본문으로 바로가기

파일의 IT 블로그

2022/10

해당되는 글 19
  • thumbnail
    프로그래밍/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 ..
  • thumbnail
    프로그래밍/Talk

    [C++] infix -> postfix 수식 변환 & 계산기 구현

    * 해당 글은 구현을 단순히 기록차 남겨놓은 후기 글 입니다 강의글이 아니므로 따로 자세한 설명을 넣진 않습니다. 자세한 구현 방식은 나중에 자료구조 탭을 추가하여 제대로 작성할 예정입니다. C++ 에서 infix 수식 (중위 표기법) 을 받아서 postfix 수식 (후위 표기법) 으로 변환 후 그 postfix 수식에 대한 값을 계산해 결과값을 출력하는 기능을 구현했습니다. 뭐 이번에도 과제때문에 억지로 구현한거긴 합니다. 사실 프로그래밍을 하면서 일반적으로 리터럴에 적는 여러가지 수식들은 자연스럽게 컴퓨터가 읽어내 계산할 수 있도록 컴파일러가 처리해줍니다만, 실제로 수식 문자열을 입력받아서 계산하는 기능은 생각보다 굉장히 어려운 기능입니다. (당장 수식을 계산하는 방법을 머리 속으로 생각해보면, 정수..
  • thumbnail
    프로그래밍/C++

    [C++] 모든 인자값을 레퍼런스로 넘겨야 성능상 유리할까?

    일반적으로 C++에서 레퍼런스를 인자로 받으면, 참조하는 타입의 모든것을 복사하는게 아닌 주소 한번을 넘김으로써 원본에 접근할 수 있어, 포인터 처럼 성능상의 이점을 취할 수 있습니다. 그러면 생각해낸게 "아 그럼 모든 인자는 레퍼런스로 받아야 성능이 좋을까?" 라는 생각이 문뜩들었습니다. 매우 큰 객체들은 (Struct, Class 변수) 레퍼런스로 받는게 당연히 빠를 것이나 그럼 int, double 같은 기본 값 타입들도 Call by Value가 아닌 Call by reference 로 받으면 빠르겠구나! 라고 대충 추정해보았습니다. 일단 레퍼런스로 받으면 빠르다라고 배웠으니깐요.. 그런데 찾아보니깐 아니더라구요.. 이에 관련하여 좋은 글을 작성해주신 분이 있어서 관련 링크를 첨부합니다. http..
  • thumbnail
    일상

    리눅스 시스템 프로그래밍을 가상 환경에서 해야하는 이유..jpeg

    그건 시스템 콜을 잘못 사용하면 시스템이 실제로 다운되기 때문입니다 (...) 시험보고 있는데 실제로 코드 검사를 안하다가 fork() 가 무한 호출되서 컴퓨터가 3번이나 재부팅되는 불상사를 겪었습니다. SW로 커널 시스템을 다운시켜본적은 한번도 없었는데 신선한 경험이자 개같은 경험이였습니다! ㅡㅡ (Ctrl + C 가 시그널 핸들러 재정의 된 덕분에 강제 종료도 못한건 안비밀) 역시 뭐가됐던 샌드박스 환경이 최고 인거 같습니다. WSL2로 돌리니 가상 리눅스 환경이 다운된거라 본 시스템엔 영향이 전혀 없네요. 편안합니다 (?) WSL2 쓰면서 프로세스 종료됨 문구는 한번도 본적이 없는데 신기하네요 ㅋㅋ 요새 Docker도 그렇고, 파이썬 가상 환경도 많이 사용하고 있는데 처음엔 이 귀찮고 느린것들을 왜..
  • thumbnail
    프로그래밍/Python

    [Python] 멀티 쓰레딩 vs 멀티 프로세싱 비교

    https://www.youtube.com/watch?v=AZnGRKFUU0c 파이썬에는 GIL(Global Interpreter Lock) 이란게 걸려있어서 여러 쓰레드를 동시에 실행시켜도 결론적으론 한번에 하나의 쓰레드 밖에 실행하지 못합니다. 이런 반쪽짜리 멀티 쓰레딩 덕분에 파이썬이 실제로 욕을 많이먹었죠. 멀티 쓰레딩과 멀티 프로세싱을 비교하는 좋은 영상이 있어서 첨부해봅니다. 실제로 제가 이전에 구현하고 현재도 배포중인 네이버 웹툰 다운로더의 경우에도 파이썬의 멀티 프로세싱 모듈을 이용해 제작했습니다. 사실 개념도 잘 모르고 인터넷에 추천되있는걸 받아와서 사용한거긴 한데 뭐 결론적으론 올바른 선택이 아니였나 싶습니다.
  • thumbnail
    프로그래밍/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..
  • thumbnail
    일상

    마음을 비워야 한다

    인생은 고단길, 불화도 갈등도 많은 불길을 걷는 것과 같다. 그놈의 본질이란것이 그렇기에 체념하려 해도 당장의 고통과 아픔은 사라지지 않는구나 마음을 비워야 한다. 끝도 없이 청렴한 하늘의 풍경처럼 정신을 부여잡고 맑아지도록 마음을 비워야 한다. 앞으로 짜증나는 일들도 힘든일도 많겠지만 술 한잔 마시면서 마음을 비워야 한다. 모든 고통과 불화는 나로부터 온다. 항상 명심하려 해도 마음의 슬픔은 가시지 않는다. 언젠간 맑고 푸르른 마음씨를 가지도록 또 소망하고, 빌어본다. 내 가슴 중심부의 한편이 아파오는구나
    이모티콘창 닫기
    울음
    안녕
    감사해요
    당황
    피폐

    이모티콘을 클릭하면 댓글창에 입력됩니다.