공부
-
[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 계산
-
파티클 동역학공부/Physics for Game Developers 2023. 12. 3. 22:14
1. 운동방적식 - 리지드 바디: 강체(剛體, Rigid body)란 물리학에서 형태가 고정되어 변하지 않는 물체를 가리킨다. 리지드 바디에 힘을 가하면 이동 외에도 회전이라는 문제가 생긴다. Ex) 공에 힘을 가했을 때, 회전하면서 날라가는 것, 공의 가속도가 변화하고 회전이 생긴다. 뉴턴의 제 2 법칙(좌), 물체가 받는 모멘트의 총 합(우) 위의 두 공식을 총칭하여, 운동방정식이라 한다. 더보기 - 이동 F: 힘 m: 물체의 질량 a: 가속도 - 회전 Mcg: 물체가 받는 모든 모멘트(회전력)의 합 I: 물체의 관성모멘트 텐서 α: 각가속도 2. 동역학의 문제 동역학에서 접하게 되는 문제는 아래의 두 가지이다. 1. 물체가 받는 힘을 알고 있을 때, 물체의 최종 가속도를 구하는 것 2. 물체의 가속..