Hve Blog
취소

C++ | stack 정리

Stack Stack은 FILO 구조로 원소를 저장하고 가져올수 있는 자료구조다. 예시 #include <iostream> #include <stack> int main() { std::stack<int> s; // 선언 // 원소 추가 ls.push(1); ls.push(2); ...

C++ | Priority Queue 정리

Priority Queue Priority Queue(우선순위 큐) 는 FIFO 방식으로 처리되는 큐와 달리, 원소의 우선순위에 따라 정렬되어 우선순위가 높은 순서대로 처리된다. 내부적으로 Heap 구조로 구현된다. 예시 #include <queue> #include <iostream> int main() { st...

C++ | queue 정리

Queue Queue는 FIFO 방식으로 원소를 저장하고 가져올 수 있는 자료구조다. 먼저 추가된 원소가 먼저 나오는 구조를 가지고 있다. 예시 #include <iostream> #include <queue> int main() { std::queue<int> q; // 선언 // 원소 추가...

C++ | list 정리

List list는 연결-리스트를 구현하는 컨테이너다. 배열, vector와 달리 랜덤 접근이 불가하고 순차적으로 접근해야 한다. 예시 #include <iostream> #include <list> int main() { std:list<int> ls; // 선언 ls.push_back(1)...

Godot | 프로젝트 세팅

프로젝트 세팅 렌더러 세팅 (도트 게임) Rendering > Texture > Canvas Textures 의 값을 Linear(기본값)에서 Neareast로 바꾸면 도트가 뭉개지지 않고 날카롭게 보인다. 게임창 크기 (viewport 크기) 표시 > 창 > 크기 에서 뷰포트 너비 뷰포트 높이 를 수정 게임창 실...

Godot | 노드

노드 종류 Node2D : 일반적인 2D 노드 CharacterBody2D : 2D 환경에서 캐릭터 루트 노드로 사용됨 Sprite : 스프라이트 노드 AnimatedSprite2D : 애니메이션 2D 스프라이트 노드 staticBody2D : 정적인 요소(벽, 발판 등) CollisionShape2D : 충돌 범위를 지정하기 위한 도형 범...

C++ | vector 정리

Vector vector는 동적 배열을 구현하는 컨테이너다. 내부 원소의 증가 및 감소에 따라 알아서 메모리를 할당 및 해제 한다. 예시 #include <iostream> #include <vector> int main() { std::vector<int> vec; // 선언 // 원소...

Godot | 공부 정리

Collision 충돌 레이어를 지정한다 아래 예시는 플랫포머 게임에서 0번 레이어가 ‘World’, 1번 레이어가 ‘Player’ 라고 가정한다. *레이어 “해당 노드가 어디에 위치하는가?” 플레이어 캐릭터는 ‘Player’ 레이어에 포함해야 한다. 발판은 ‘World’ 레이어에 포함해야 한다 *마스크 “해당 노드가 누구와 상...

Linux | 스크립트 저장용

python 설치 curl https://hve4638.github.io/assets/sh/py-install.sh | sh sudo 명령이 포함된 스크립트 curl https://hve4638.github.io/assets/sh/nosudo-py-install.sh | sh sudo 명령이 포함되지 않은 스크립트 (docker contai...

Linux | Vim 사용 및 단축키

모드 설명 모드 종류 설명 Normal mode 진입시 기본 모드. 커서 이동, vim명령 실행이 가능하다 Insert mode 단축키를 통해 진입하며, 입력하기 위한 모드이다 Command-li...

Linux 명령어 | screen : 가상 터미널 세션 도구

Screen screen은 가상 터미널 세션을 만들고 공유할 수 있는 도구이다. 기존 세션을 종료하더라도 가상 터미널 세션을 유지할 수 있고, 다른 사용자간 세션을 공유할 수도 있다. 설치 apt install screen 명령어 세션 생성, 진입 # 새 새션 생성후 진입 (이름은 무작위) screen # screen -S <Se...

Linux | SSH 서버 설치 및 사용

Ubuntu (Debian 계열) 기준으로 작성되었다 설치 sudo apt install openssh-server 파일 수정 sudo vim /etc/ssh/sshd_config Port 수정 /etc/ssh/sshd_config 파일을 열어 Port 부분을 원하는 포트로 변경한다. 보안을 위해 기본 포트 22 대신 다른 포트를 ...

Docker | 도커 설치 및 사용

Docker 설치 curl -sSL get.docker.com | sh 공식 홈페이지에서 스크립트를 가져와 실행하면 자동으로 설치된다. WSL의 경우 Docker Desktop을 이용하라는 경고가 나오지만 기다리면 설치가 진행된다 일반 계정에서 Docker 사용하기 sudo usermod -aG docker $USER docker 명령을...

Linux | netcat : 네트워크 통신 유틸리티

Netcat 간단한 네트워크 테스트를 하는데 유용한 도구 통신중 보안 기능이 없기 때문에 테스트를 위해서만 사용해야 한다. 설치 Debian 계열 (ex. Ubuntu) apt install netcat Red Hat 계열 yum install nc 사용 서버 열기 # nc -l -p [포트명] nc -l -p 2000 서버 접속 ...

닷넷 설치 및 실행

라즈베리파이4 환경을 기준으로 작성되었다. 라즈베리파이는 arm32 환경으로 다른 환경에서 설치시 다른 버전의 SDK를 다운받아야 한다. (일반적인 인텔/AMD 프로세서를 사용한다면 AMD64를 다운받으면 된다.) 닷넷 설치 A. 사이트에서 다운로드 링크 확인 1. 닷넷 사이트 이동 다운로드 탭에서 모든 .Net 7.0 다운로드 클릭 ...

Linux | grep 명령어

grep grep [OPTION...] PATTERNS [FILE...] 각 파일에서 PATTERNS을 검색해 패턴과 일치하는 각 줄을 출력한다. 일반적으로 PATTERNS은 따옴표로 묶어야 한다. 옵션 -V, --version 버전 확인 패턴 -G, --basic-regex 패턴을 기존 정규식으로 해석 (기본값) -...

Git | git 명령어

Git 기본 & 자주 사용하는 명령어 git repository 생성 git init repository 복사 git clone <repo> # git clone https://github.com/hve4638/hve4638.github.io 기록 추가 (add, 스테이지) # 전체 스테이지 git add . 커밋...

레지스터 정리

어셈블리어 범용 레지스터 Byte 0-7 Byte 0-3 Byte 0-1 Byte 0 비고 rax eax ax ah, al   rbx ebx bx ...

C++ | 팁

C++ 팁 new, delete와 malloc, free의 차이? C++에서 추가된 new, delete 키워드는 C의 malloc, free를 대체하는 키워드다. new, delete는 클래스의 생성자, 소멸자를 호출한다. delete, delete[]의 차이 int, double등 원시 타입의 경우 delete와 delete[]의 차이가 ...

Dev | 팁?

VSCode VSCode 단축키 변경 ctrl+k ctrl+s 를 눌러 단축키 변경 가능 ctrl+d를 아래에 줄 복사 로 변경하면 코딩할때 좀 편하다 Windows 라우팅 테이블 # route add (IP주소) mask (서브넷마스크) (게이트웨이) metric 10 route add 192.168.100.0 mask 255.255.2...