Dev
Intellij에서 WSL2 터미널 환경 설정
들어가며 윈도우 상에서 IntelliJ를 사용할 경우 기본 터미널은 cmd입니다. 이를 WSL2로 바꿔보겠습니다. 혹시 WSL2를 사용하지 않고 있는 분들은 WSL2을 사전에 설치해주셔야 하니 여기를 참고해주시면 되겠습니다. IntelliJ에서 터미널을 WSL2로 바꾸기 1. IntelliJ 상단 메뉴에서 File - Settings - Tools - Terminal 2. Application Settings의 Shell path를 cmd.exe 에서 wsl.exe로 변경하고 Apply, OK 누르기 3. Alt + F12를 눌러서 터미널창 켜보기. 그러면 아래와 같이 이상한 글자가 보이고, 우측에 시간도 깨져서 나오는 것을 볼 수 있습니다. 4. 경로 앞에 이상한 글자가 보이는 것은 IntelliJ의 ..
Ubuntu에서 CMake 설치 방법
들어가며 본 글은 WSL2 Ubuntu 20.04LTS 버전에서 CMake를 설치 및 업데이트하는 방법에 대한 내용입니다. WSL2가 아니더라도 Ubuntu면 모두 동일하게 이 방법을 적용할 수 있습니다. | 주의 사항 CMake는 일반적인 패키지들과는 달리 sudo apt update cmake과 같은 명령어로 업데이트가 불가능합니다. 따라서 기존에 CMake가 설치되어 있으신 분들 중 업데이트를 희망하신다면, 아래 명령어를 통해 기존에 설치되어 있는 CMake를 제거해주시고 본 글의 설치 방법을 따라가주세요. sudo apt purge cmake | 사전 요구사항 CMake를 설치하기 이전에 설치되어 있어야 하는 패키지는 다음과 같습니다. wget build-essential openssl 만약 wg..
[Java] 객체와 클래스, 인스턴스 간 차이
본 글은 객체와 클래스, 인스턴스 간 차이를 명확히 정리하기 위해 전공 서적들을 참고하여 쓴 글입니다. 실질적인 코드 작성에 도움이 되는 내용보다는 객체 지향 프로그래밍(OOP)에 대한 개념적인 내용이 대부분이며, 그나마 있는 코드도 OOP를 처음 접하는 초심자분들을 위해 제일 간단한 수준으로만 작성했으므로 참고 바랍니다. 객체 (Object) 객체 지향 프로그래밍에서 '객체'를 이해하기 위해서는 현실 세계 속의 객체와 소프트웨어 관점에서의 객체를 구분할 수 있어야 합니다. 우선 현실 세계 속의 객체란 '세상에 존재하는 의사나 행위가 미치는 대상'을 의미합니다. 사실 이 정의는 네이버 사전에 등재되어 있는 것인데, 적절해 보여서 가져왔습니다. 눈에 보이는 대표적인 객체는 사람, 자동차, 건물 등이 있습니..
[C언어] 함수 매개변수 앞에 const?
들어가며 const float PI = 3.14 보통 변하지 않는 상수값을 정의하기 위해 변수의 자료형 앞에 const를 사용합니다. 포스팅을 하기 위해 코딩도장을 살펴보니 const의 위치가 자료형 뒤로 가도 된다고 하더군요. 신기하지만 딱히 활용할 일은 없을 것 같습니다. 컨벤션을 지켜야겠죠! 오늘 알아볼 것은 일반적인 변수에 사용하는 const가 아닙니다. 함수들의 원형을 살펴보면 많은 함수들이 매개변수의 자료형에 const를 사용합니다. 왜 함수의 매개변수의 자료형에 const를 붙이는지 궁금해서 정리하다가 포스팅을 하게 되었습니다. 어떤 함수의 매개변수에 const를 사용했을까? intatoi(const char *nptr); intstrncmp(const char *s1, const char ..
[파이썬/Python] Collections - Deque
들어가며 코딩테스트에 응시할 때 빠르게 찾아볼 수 있도록 따로 정리한 내용입니다. 공부하시기에는 빈약한 내용일 수 있음을 미리 알려드립니다. 공식 문서를 참고할 때에는 대부분의 기업이 이용하고 있는 프로그래머스 코딩테스트 환경에 적용된 python 3.8 버전의 collections을 참고했습니다. 코딩테스트용으로 작성한 글인 만큼 빠르게 훑을 수 있어야 하므로 경어체를 사용하지 않겠습니다. 초기화 방법 1. 기존의 iterable 객체 없이 빈 큐를 초기화 from collections import deque queue = deque() print(d) # deque([]) 2. 기존의 iterable 객체 없이 큐를 구현하되, 구현하면서 임시의 iterable 객체를 이용하여 초기화 from coll..
[Node.js] heroku(헤로쿠) 배포하기
본 글은 2020.09.13에 최종 수정되었습니다. 참고 바랍니다. 본문에 앞서 - 본 글은 Node.js의 express 서버를 heroku를 이용하여 배포하는 방법에 대한 가이드를 제시하는 내용이 담겨 있습니다. 필수적인 내용에 대한 설명은 적으려고 노력했으나, 리눅스 명령어나 express 서버, heroku에 대한 깊은 내용을 다루지는 않습니다. 참고 바랍니다. - 개발 환경은 WSL2를 쓰기 때문에 Linux 운영체제 기반으로 설치를 했습니다. Windows 운영체제를 사용하신다면 도움이 되지 않을 수 있습니다. - heroku 웹 상에서도 배포가 가능하지만, CLI로 하는 것이 더욱 많은 기능을 편리하게 이용할 수 있어서 CLI 기반으로 배포를 진행했습니다. 참고 바랍니다. 개발 환경 - no..
sublime text에서 terminal 이용하는 방법
1. sublmie text 에디터 열기 2. Ctrl + Shift + p (맥의 경우 cmd + Shift + p)를 동시에 눌러 Command Pallete 열기 (정상적으로 작동하지 않는다면 아래의 그림을 참고하여 단축키 없이 열기) 3. command pallete에 install package라고 입력 후, 최상단에 위치한 Package Control: Install Package 클릭 4. package가 설치되었다는 알림이 뜬 후, 다시 command pallete를 열고 sublimeREPL 입력. 이후, 가장 최상단에 보이는 패키지를 클릭 5. (이건 확실하지 않습니다! 어려운 것이 아니라 검증하지 않고 건너가버렸습니다) sublime text를 껐다가 다시 키기 6. 상단 메뉴 중 T..
[linux] zsh에서 pip를 이용한 설치 시 경로(PATH) 에러 해결
문제 - WSL2 기반 Ubuntu에서 제공하는 bash가 아닌, zsh를 이용하고 있습니다. - Ubuntu가 연결되어 있는 VS Code에서 pip3를 이용하여 특정 패키지를 설치하니 다음과 같은 에러가 발생했습니다. WARNING: The script pycodestyle is installed in '/home/monggu/.local/bin' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. ... 문제 원인 찾아본 결과, 위 경고 문구 중 빨간색 글씨는 공통된 부분이고 주황색 글씨가 설치한 패키지 및 설..