공부
-
[Embedded Linux] 프로세스공부/Embedded 2024. 4. 2. 10:06
프로세스 : 실행된 프로그램을 의미, 프로그램이 실행되어 메모리에 적재(Load) 된 상태 PID: Process ID, 운영체제에서 프로세스를 식별하기 위해 프로세스에 부여하는 번호 PPID: Parent Process ID, 부모 프로세스의 PID PGID: Process Group ID, 1 개 이상의 프로세스 그룹을 식별하기 위한 ID SID: Session ID, 1개 이상의 프로세스 그룹의 그룹을 식별하기 위한 ID 리눅스 명령어 ~$ ps -u : 유저가 실행한 프로세스 확인 ~$ ps -ef : 모든 사용자들이 구동시킨 프로세스에 대해 Full Format * PID 1 은 커널로 리눅스 부팅 시 최초 실행되는 프로세스이다. ~$ pstree : 프로세스를 트리 구조로 확인 * 최초 프로세..
-
[Embedded C] Thread공부/Embedded 2024. 4. 1. 17:20
Process 구성 .text : 코드 영역 .data : 초기화된 전역변수 .bss : 초기화 하지 않은 전역변수 .heap : 동적할당 변수들 .stack : 지역 변수들 POSIX thread POSIX API : Portable Operating System InterFace for Unix의 약자로 IEEE에서 지정한 운영체제간 호환성을 유지하기 위한 표준 POSIX thread : pthread.h 위치 : /usr/include/pthread.h thread 사용 시, pthread 라이브러리를 같이 링킹 해야한다. - gcc -o ./test ./test.c -lpthread #include #include #include void *test1(){ while(1) { printf("t1\..
-
[Vue] Components & pinia 실습공부/Vue 2024. 3. 11. 10:46
각 페이지는 여러개의 컴포넌트들로 나눌 수 있음 /components 에 자식 파일 생성 - HomeView.vue Home count: {{userInfoStore.age }} 나이를 줄이자 - HomeChild.vue HomeChild {{ userInfoStore.name }} 이름 변경 - GrandChild.vue GrandChild 한살로 돌아가자 - /stores/counter.js import { ref, computed } from 'vue' import { defineStore } from 'pinia' export const useUserInfoStore = defineStore('userStore', ()=>{ const name = ref("테스트"); const age = ref..
-
[Vue] Day - 1공부/Vue 2024. 3. 6. 14:25
뷰 프로젝트 생성 프론트 서버 실행 cd vue-project npm install npm run dev Chorme 확장 프로그램 veu.js 장점 html에서 변수, 조건문, 반복문 사용 가능 화면 변경사항에 대해 즉각 변경 화면의 각 부분을 컴포넌트 단위로 나눠서 개발 프론트와 백이 서로 다른 프로젝트로 분리되어 통신 단점: 최초 로딩속도가 느림, SEO 검색엔진 최적화 불편 > 단점극복을 위해 SSR 프레임워크인 Nuxt 사용 컴포넌트 .vue확장자가 붙은 파일 총 3 개의 영역, js html css {{}} mustache vue : ref 선언한 변수는 쓸 때 .value를 붙여줘야 함 : .value를 붙이면 에러 v-modal : 양방향 바인딩 는 데이터 변경 가능 v-bind : 단방향..
-
memset 함수공부/C++ 2024. 1. 25. 11:43
- memset(시작 주소, 원하는 값, 바꿀 길이) : 특정 메모리를 원하는 값으로 초기화 할 때 사용 char 배열에서는 원하는 값으로 초기화 가능하고, int 배열에서는 0 과 -1 로 초기화하는 경우에만 사용가능하다. - memset에서의 메모리 초기화 예를 들어 int arr[100] 을 1 로 초기화 하는 경우에 사용자가 의도한 바는 1은 arr[index] : 00000000 00000000 00000000 00000001 //int는 4 바이트 memset 이 실제로 바꾸는 1은 00000001 00000001 00000001 00000001 //각 바이트를 1 로 변경 - memset(arr, 0, size), memset(arr, -1, size) // 0 : 00000000 00000..
-
[우선순위 큐] priority_queue 사용자 정의 함수공부/C++ 2023. 12. 27. 19:47
- 우선순위 큐에서 cmp 구조체에서 operator() 연산자 오버로딩을 통해 사용가능하다. * 반환 값이 true 이면, swap 한다. #include #include #include #include #include #include #include #include #include using namespace std; int N; typedef struct yx { int y; int x; } yx; struct cmp { bool operator()(yx a, yx b) { if (a.y == b.y) { return a.x > b.x; } else { return a.y > b.y; } } }; priority_queue q; int main() { ios_base::sync_with_stdio(..
-
물리 엔진 구현 시 참고 내용공부/Physics for Game Developers 2023. 12. 5. 07:07
https://chonjay.tistory.com/m/29 물리엔진 구현에 필요한 요소들 및 구현 팁(생각나는대로 추가 중)#[간단한 물리엔진의 구성 요소]1. 강체2. 충돌체크3. 충돌처리 [심화 된 물리엔진에 추가 될 요소]4. 조인트5. 파티클6. 천 시뮬레이션7. 소프트바디(젤리 같은 물체)8. 액체 시뮬레이션 #[구현하기chonjay.tistory.com- 엔진 내 Class가 가져야 할 요소들 - 계산 순서 - 업데이트와 랜더링 순서 - 충돌 시 반복적인 처리와 dt 계산