diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 000000000000..7a73a41bfdf7 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,2 @@ +{ +} \ No newline at end of file diff --git a/Gemfile b/Gemfile index 3be9c3cd812e..920518e6e755 100644 --- a/Gemfile +++ b/Gemfile @@ -1,2 +1,8 @@ source "https://rubygems.org" -gemspec +gemspecs +gem "minimal-mistakes-jekyll" +gem 'tzinfo' +gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw] +# Windows does not include zoneinfo files, so bundle the tzinfo-data gem +gem 'tzinfo' +gem "tzinfo-data", platforms: [:mingw, :mswin, :x64_mingw, :jruby] \ No newline at end of file diff --git a/_config.yml b/_config.yml index af7d57221b02..c027ef177216 100644 --- a/_config.yml +++ b/_config.yml @@ -12,31 +12,31 @@ # theme : "minimal-mistakes-jekyll" # remote_theme : "mmistakes/minimal-mistakes" -minimal_mistakes_skin : "default" # "air", "aqua", "contrast", "dark", "dirt", "neon", "mint", "plum", "sunrise" +minimal_mistakes_skin : "dark" # "air", "aqua", "contrast", "dark", "dirt", "neon", "mint", "plum", "sunrise" # Site Settings -locale : "en-US" +locale : "ko-KR" rtl : # true, false (default) # turns direction of the page into right to left for RTL languages -title : "Site Title" -title_separator : "-" -subtitle : # site tagline that appears below site title in masthead -name : "Your Name" -description : "An amazing website." -url : # the base hostname & protocol for your site e.g. "https://mmistakes.github.io" +title : "Game Study Blog" +title_separator : "|" +subtitle : "haha" +name : "dongseon" +description : "dongseon의 블로그 입니다." +url : "https://ehdtjspc.github.io" baseurl : # the subpath of your site, e.g. "/blog" repository : # GitHub username/repo-name e.g. "mmistakes/minimal-mistakes" teaser : # path of fallback teaser image, e.g. "/assets/images/500x300.png" -logo : # path of logo image to display in the masthead, e.g. "/assets/images/88x88.png" +logo : "/assets/images/Dog.png" masthead_title : # overrides the website title displayed in the masthead, use " " for no title -breadcrumbs : # true, false (default) +breadcrumbs : true # true, false (default) words_per_minute : 200 enable_copy_code_button : # true, false (default) copyright : # "copyright" name, defaults to site.title copyright_url : # "copyright" URL, defaults to site.url comments: - provider : # false (default), "disqus", "discourse", "facebook", "staticman", "staticman_v2", "utterances", "giscus", "custom" + provider : "disqus" # false (default), "disqus", "discourse", "facebook", "staticman", "staticman_v2", "utterances", "giscus", "custom" disqus: - shortname : # https://help.disqus.com/customer/portal/articles/466208-what-s-a-shortname- + shortname : "ehdtjspc" discourse: server : # https://meta.discourse.org/t/embedding-discourse-comments-via-javascript/31963 , e.g.: meta.discourse.org facebook: @@ -84,7 +84,7 @@ google: # SEO Related google_site_verification : bing_site_verification : -naver_site_verification : +naver_site_verification : "5b9e204eefbc41bec46d5bdbb62401396a94e16c" yandex_site_verification : baidu_site_verification : @@ -105,35 +105,26 @@ social: # Analytics analytics: - provider : # false (default), "google", "google-universal", "google-gtag", "custom" + provider : "google-gtag" # false (default), "google", "google-universal", "google-gtag", "custom" google: - tracking_id : - anonymize_ip : # true, false (default) + tracking_id : "G-VL2YJHZPHT" + anonymize_ip : false # true, false (default) # Site Author author: - name : "Your Name" + name : "DongSeon" avatar : # path of avatar image, e.g. "/assets/images/bio-photo.jpg" - bio : "I am an **amazing** person." - location : "Somewhere" - email : + bio : "안녕하세요~" + location : "South Korea" + email : links: - label: "Email" icon: "fas fa-fw fa-envelope-square" - # url: "mailto:your.name@email.com" - - label: "Website" - icon: "fas fa-fw fa-link" - # url: "https://your-website.com" - - label: "Twitter" - icon: "fab fa-fw fa-twitter-square" - # url: "https://twitter.com/" - - label: "Facebook" - icon: "fab fa-fw fa-facebook-square" - # url: "https://facebook.com/" + url: "mailto:ehdtjspc@gmail.com" - label: "GitHub" icon: "fab fa-fw fa-github" - # url: "https://github.com/" + url: "https://github.com/ehdtjspc" - label: "Instagram" icon: "fab fa-fw fa-instagram" # url: "https://instagram.com/" @@ -141,21 +132,9 @@ author: # Site Footer footer: links: - - label: "Twitter" - icon: "fab fa-fw fa-twitter-square" - # url: - - label: "Facebook" - icon: "fab fa-fw fa-facebook-square" - # url: - label: "GitHub" icon: "fab fa-fw fa-github" - # url: - - label: "GitLab" - icon: "fab fa-fw fa-gitlab" - # url: - - label: "Bitbucket" - icon: "fab fa-fw fa-bitbucket" - # url: + url: "https://github.com/ehdtjspc" - label: "Instagram" icon: "fab fa-fw fa-instagram" # url: @@ -227,7 +206,7 @@ sass: # Outputting permalink: /:categories/:title/ -timezone: # https://en.wikipedia.org/wiki/List_of_tz_database_time_zones +timezone: # Asia/Seoul # Pagination with jekyll-paginate @@ -289,17 +268,17 @@ category_archive: tag_archive: type: liquid path: /tags/ -# https://github.com/jekyll/jekyll-archives -# jekyll-archives: -# enabled: -# - categories -# - tags -# layouts: -# category: archive-taxonomy -# tag: archive-taxonomy -# permalinks: -# category: /categories/:name/ -# tag: /tags/:name/ + # https://github.com/jekyll/jekyll-archives + #jekyll-archives: + # enabled: + # - categories + #- tags + #layouts: + #category: archive-taxonomy + #tag: archive-taxonomy + #permalinks: + # category: /categories/:name/ + #tag: /tags/:name/ # HTML Compression @@ -320,6 +299,13 @@ defaults: layout: single author_profile: true read_time: true - comments: # true + comments: true share: true related: true + show_date: true + toc: true + toc_sticky: true + toc_label: 목차 + toc_icon: "fas fa-user-graduate" +date_format: "%Y-%m-%d" + diff --git a/_data/navigation.yml b/_data/navigation.yml index 6f30866f3bed..17033dde7bd5 100644 --- a/_data/navigation.yml +++ b/_data/navigation.yml @@ -1,7 +1,33 @@ # main links main: - - title: "Quick-Start Guide" - url: https://mmistakes.github.io/minimal-mistakes/docs/quick-start-guide/ + - title: "Category" + url: /categories/ + - title: "Tag" + url: /tags/ + - title: "Search" + url: /search/ +docs: + - title: "대목차1" + children: + - title: "Category" + url: /categories/ + - title: "Tag" + url: /tags/ + + - title: "대목차2" + children: + - title: "Category" + url: /categories/ + - title: "Tag" + url: /tags/ + +counts: + - title: "카테고리" + use: true + - title: "태그" + use: true + + # - title: "About" # url: https://mmistakes.github.io/minimal-mistakes/about/ # - title: "Sample Posts" diff --git a/_includes/nav_list b/_includes/nav_list index d25f9e9480bc..ef0afc070e59 100644 --- a/_includes/nav_list +++ b/_includes/nav_list @@ -1,27 +1,59 @@ +{% assign navigation = site.data.navigation[include.nav] %} + +{% assign categories_max = 0 %} +{% for category in site.categories %} + {% if category[1].size > categories_max %} + {% assign categories_max = category[1].size %} + {% endif %} +{% endfor %} + +{% assign tags_max = 0 %} +{% for tag in site.tags %} + {% if tag[1].size > tags_max %} + {% assign tags_max = tag[1].size %} + {% endif %} +{% endfor %} + + {% endif %} + \ No newline at end of file diff --git a/_layouts/home.html b/_layouts/home.html index 384a4d9a3bb7..99c56db3d04a 100644 --- a/_layouts/home.html +++ b/_layouts/home.html @@ -18,3 +18,4 @@

{{ site.data.ui-text[site.locale].recent_posts | d {% include paginator.html %} + diff --git a/_pages/404.md b/_pages/404.md new file mode 100644 index 000000000000..b3025a6053b5 --- /dev/null +++ b/_pages/404.md @@ -0,0 +1,8 @@ +--- +title: "Page Not Found" +excerpt: "Page not found. Your pixels are in another canvas." +sitemap: false +permalink: /404.html +--- + +Sorry, but the page you were trying to view does not exist. diff --git a/_pages/category-archive.md b/_pages/category-archive.md new file mode 100644 index 000000000000..3cd6f6e06761 --- /dev/null +++ b/_pages/category-archive.md @@ -0,0 +1,7 @@ +--- +title: "Category" +layout: categories +permalink: /categories/ +author_profile: true +sidebar_main: true +--- \ No newline at end of file diff --git a/_pages/search.md b/_pages/search.md new file mode 100644 index 000000000000..9a05649273fd --- /dev/null +++ b/_pages/search.md @@ -0,0 +1,5 @@ +--- +title: Search +layout: search +permalink: /search/ +--- \ No newline at end of file diff --git a/_pages/tag-archive.md b/_pages/tag-archive.md new file mode 100644 index 000000000000..58ae8e76afc6 --- /dev/null +++ b/_pages/tag-archive.md @@ -0,0 +1,7 @@ +--- +title: "Tag" +layout: tags +permalink: /tags/ +author_profile: true +sidebar_main: true +--- \ No newline at end of file diff --git a/_posts/2025-01-03-first.md b/_posts/2025-01-03-first.md new file mode 100644 index 000000000000..6d12db8e6139 --- /dev/null +++ b/_posts/2025-01-03-first.md @@ -0,0 +1,109 @@ +--- +layout: single +title: "어셈블리 언어 입문(1)" +categories: "C++" +tag: [C++,C++강의] + +author_profile: true +sidebar: + nav: "counts" +--- +### SASM,NASM + +SASM:저장할 때 exe 파일로 만들어 실행하면 내가 만든 코드 실행을 해준다. + +SASM:통합 환경 + +NASM:어셈블리의 역할을 하게 해준다. + +컴퓨터가 자기가 원하는 0101010으로 변환해서 분석해서 실행해야 하는데 우리가 만든 코드를 기계어로 변환을 해주는 작업이 필요함 그리고 그 작업을 컴파일러 혹은 어셈블리라고 한다. 그걸 해주는 게 **NASM**이다. + +### 컴파일러,어셈블리 + +컴파일러, 어셈블리: 통역기이다. 한국인이 안녕하세요 하면 컴파일러, 어셈블리가 프랑스어로 번역해 프랑스인에게 알려주는 원리이다. + +실행파일 구조를 보면 + +![]({{site.url}}/images/2025-01-03-first/실행파일 구조-1736009490854-4.png) + +이런 식으로 되어있다. + +### 메인 메모리와 하드디스크 차이 + +메인 메모리와 하드디스크 차이: 메인 메모리에서 저장된 데이터와 하드디스크에 저장된 데이터가 있는데 전원이 나가면 메모리에 있는 데이터는 나가고(사라지고) 하드디스크는 유지된다. + + + +CPU에 가까울수록 빨라지는데 저장 공간은 줄어든다 그래서 속도로 보면 + +Register -> 메인 메모리 -> 하드디스크 (하드디스크 쪽으로 갈수록 느려진다) + +저장 공간은 반대로 + +하드 디스크->메모리->register(register 쪽으로 갈수록 저장 공간이 적어진다) + +![CPU 관계]({{site.url}}/images/2025-01-03-first/CPU 관계-1736009761024-6.png) + +-register,메인 메모리,하드디스크 관계 + + + +ex) 롤이란 걸 실행할 때 하드디스크에 있는 내용을 꺼내서 메인 메모리에 복사를 한 다음 CPU랑 메인 메모리 사이를 왔다 갔다 하면서 실행한다 + + + +어셈블리어는 가장 낮은 언어이기 때문에 레지스터도 같이 작업을 하게 된다 + +그래서 CPU-레지스터-메인 메모리 왔다 갔다 하면서 작업을 한다. + + + +어셈블리어 핵심요소: CPU, 레지스터, 메인 메모리 + + + +### bit,byte,word,dword,qword + +비트는 0,1을 뜻하고 바이트는 비트 하나가 8개 모이면 바이트라고 불린다 + +8비트 중에 제일 위에 있는 상위 비트를 1로 설정하면 음의 부호로 설정해 음수로 표현할 수 있다 + + + +2진수 표현할 때 Ob??로 표현(0,1로 표현) + +10진수 표현할 때는 42,12,32 이런 식으로 쓰면 된다 + +16진수 표현할 때는 Ox???로 표현한다(1,2,3,4,5,6,7,8,9, A, B, C, D, E, F) + +2의 보수 사용법: 모든 걸 비트를 뒤집고 거기에 1을 더해주면 된다. ex) 86이라는 게 -86으로 바뀐다. + + + +8bit=1byte + +16bit=2byte=1word + +32bit=4byte=1dword(double-word)=2word + +64bit=8byte=1qword(quad-word)=4word + +### 레지스터 종류 + +CPU 명령어들을 보면 레지스터와 핑퐁이 많이 자주 발생하는데 그 이유는 하드디스크까지 가면 효율이 엄청 떨어지니 자주 발생하는 건 레지스터에서 발생한다. + + + +레지스터 종류(코딩하는 사람이 제일 많이 쓰는 종류) + +![레지스터 종류]({{site.url}}/images/2025-01-03-first/레지스터 종류-1736009794077-8.png) + +RAX(64비트) + +EAX(32비트) + +AX(16비트) + +AH(8비트) + +AL(8비트) diff --git a/_posts/2025-01-05-(1).md b/_posts/2025-01-05-(1).md new file mode 100644 index 000000000000..dfbd97178fed --- /dev/null +++ b/_posts/2025-01-05-(1).md @@ -0,0 +1,262 @@ +--- +layout: single +title: "어셈블리 언어 입문(2)" +categories: "C++" +tag: [C++,C++강의] + +author_profile: true +sidebar: + nav: "counts" +--- + +mov reg1,cst + +오른쪽 애를 왼쪽 애로 이동시켜주세요 + + + +빌드 시키면 실행시키는 건 아니지만 에러가 없나 확인하는 용도이다. + + + +메모리에 데이터를 올리는 방법은 다양하지만 Data와 BSS 올리는 방법을 보자 + +-데이터 올리는 법 + +1.section.data:초기화 된 데이터 사용 + +[변수 이름] [크기(db(1) dw(2) dd(4) dq(8)] [초기 값] + +2.section.bss:초기화되지 않은 데이터 + +[변수 이름][크기(resb(1) resw(2) resd(4) resq(8)][개수] + + + +변수는 데이터를 저장하는 바구니이다. + +레지스터도 바구니지만 CPU와 가까이 있는 바구니이다. + +16진수 숫자 2개를 합치면 1바이트를 잡아먹는다. + +메모리에 데이터가 올라갈 때 구분할 수 있도록 주소(번지수)가 있다. + +mov rax, a를 입력하면 주소가 들어가고 [a]를 하면 바구니에 있는 값을 넣는다. + +바구니 안에 있는 데이터는 똑같은데 int로 보냐 16진수로 보냐 어떻게 분석하느냐에 따라 달라진다. + +문자열:문자가 연속적으로 있다. 끝에 0x00을 붙여서 끝냈다고 알려줘야 한다. + +PRINT_STRING 변수 이름: 변수 이름을 출력해 준다, 헬퍼 매크로이고 어셈블리어는 아니다. + +빅 인디언: 0x12345678 대입하면 메모리 주소가 증가할 때 큰 거부터 작은 순으로 나열한다. + +리틀 인디언: 0x12345678 대입하면 메모리 주소가 증가할 때 작은 거부터 큰 순으로 나열한다. + + + +리틀 인디언 장점 + +-캐스팅에 유리하다. 12345678 있을 때 78만 가져오고 싶을 때 뒤에를 다 버리면 된다. + +빅 인디언 장점 + +-숫자 비교에 유리하다 + + + +GET_DE(1),(al, num): 10진수로 숫자를 받을 건데(1바이트)로 받고 (레지스터, 데이터)에 저장할 수 있다. + + + +더하기 연산: add a, b + +->이거랑 같은 말이다. (a=a+b) + +->a, b 모두 메모리 값을 넣으면 안 된다 + +->메모리에 상수를 더할 땐 몇 바이트인지 크기를 지정하고 넣어야 한다 + +ex) add [num],byte 1 + +빼기 연산은 더하기 연산과 같다. sub만 쓰면 된다. + +### 곱하기 연산 + +ex1) + +mul reg + +mul b1 -> al*bl + +연산 결과를 ax에 저장한다 기본적으로 곱하기 연산하면 al에 곱하고 ax에 저장한다. + +ex2) + +mul bx -> ax*bx + +연산 결과는 dx(상위 16비트) ax(하위 16비트)에 저장을 한다. + +### 나눗셈 연산 + +ex) + +div reg + +div b1 =>ax/bl + +연산 결과는 al(몫) ah(나머지) + +시프트 연산(산술 시프트, 논리연산) + +### 산술 쉬프트 + +-모든 값들을 왼쪽이나 오른쪽으로 옮겨준다. 최상위 비트는 유지된다. + +shl, shr (8) 얼마나 옮길 것인지 쓰면 된다. + +-나타낸 숫자에서 시프트 연산을 하면 왼쪽으론 2배씩 커지고 오른쪽으로는 2배씩 작아진다. + +### 논리 연산 + +not A ->0이면 1, 1이면 0 + +A and B ->둘 다 만족해야 1 아니면 0 (and al bl) + +A or B ->둘 중 하나만 만족하면 1둘 다 아니면 0 (or a, b) + +A xor B ->둘 다 1이거나 0이면 0 아니면 1(xor a, b) + +xor al al 하면 항상 0으로 떨어진다. mov al, 0 한 거랑 똑같지만 + +xor al al은 논리회로를 건드리는 거여서 굉장히 빠르다. + +### 분기분 + +분기분:특정 조건에 따라서 코드 흐름을 제어하는 것이다. + +조건->흐름 + +CMP dst, src(dst 기준) ->Flag Register에 저장된다. + +애도 곱셈이랑 나눗셈처럼 특정 레지스터에 저장되어 있다. -> Flag Register + +( ) [label] + +() 안에 넣으면 된다 + +JMP : 무조건 jump + +JE : JampEquals 같으면 jump + +JNE:JampNotEquals 다르면 jump + +JG: JampGreater 크면 jump + +JGE:JampGreaterEquals 크거나 같으면 jump + +### 반복문 + +반복문:특정 조건을 만족할 때까지 반복해서 실행 + +dec ecx: ecx에다가 -1을 하겠다 + +inc ecx:ecx에다가 +1을 하겠다 + + loop[라벨] : loop할 때마다 1씩 감소한다. 0이면 빠져나간다 아니면 라벨로 다시 이동한다. + +DEC: 10진수 표현 + +### 배열 + +배열:동일한 타입의 데이터를 묶는다. + +-배열을 구성하는 각 값을 배열 요소(element)라고 한다. + +-배열의 위치를 가리키는 숫자를 인덱스(index)라고 한다. + +ex) a db 0x01, 0x02, 0x03, 0x04, 0x05 -> 5x1 = 5바이트 배열이다. + +ex) b times 5 dw 1 -> b라는 이름의 배열을 만들어 데이터가 5개 있고 데이터 크기는 2바이트이다. 그리고 초깃값은 1로 세팅해라라는 말이다. + +메모리에 1을 더하면 주소가 하나씩 앞으로 간다. + +주소 접근 -> [시작 주소+인덱스*데이터 크기] + +함수호 출하는 방법 + +call 이름 지정 + +이름 지정; + +인자가 너무 많아지면 함수를 호출할 때마다 메모리에도 안 좋고 레지스터 쓰는 방법도 안 좋아서 다른 메모리 구조가 필요한데 그 방법이 stack이라는 메모리 영역을 사용을 해야 한다. + +### stack + +-함수가 사용하는 일종의 메모장 + +-매개 변수 전달, 돌아갈 주소 관리 + +## stack 조건 + +-꿈이 유효하는 동안에는 그 꿈을 유지시켜줘야 함(유효 범위가 있다) + +-어떤 꿈이 끝나면 그 꿈을 부숴버려도 된다.(정리의 개념이 있다) + +-꿈에서도 또 꿈을 꿀 수 있다는 것을 고려해야 한다(유동적으로 유효 범위 확장 가능) + +### 스택 메모리, 스택 프레임 + +스택 메모리, 스택 프레임: 중요한 버그가 일어났을 때 원인을 찾는데 많은 도움을 준다. + +스택 프레임: 함수 호출 시 해당 함수에 대한 정보를 저장하는 메모리 구조 + + + +레지스터는 다양한 용도로 사용(범용 레지스터 a, b, c, d) + +-포인터 레지스터(포인터=위치를 가리키는) + +-ip(Instruction Pointer): 다음 수행 명령어의 위치 + +-sp(Stack Pointer): 현재 스택 top 위치(일종의 cursor) + +-bp(Base Pointer) : 스택 상대주소 계산용 + + + +rbp는 스택 상대주소 계산 용이여서 처음에 null 값인 rbp를 push 해서 넣고 + +mov rbp, rsp를 이용해 현재 함수를 가리키게 만들어서 다른 스택에 이동할 때 사용한다. + + + +rsp를 사용 안 하는 이유는 계속 바뀌기 때문에 고정된 기준점을 만들려고 rbp에다가 rsp를 넣음 그리고 나올 때는 다시 null로 나와야 하니 간 pop을 함 그래야 여러 함수 내에서 자기의 rbp를 고정 핀을 사용할 수 있음 + + + +rbp를 스택에 넣을 때 이전 BP 값이라고 불리는 이유는 만약 함수 A가 실행 중인데 rbp는 함수 A의 스택 프레임을 가리키고 있고 함수 B를 호출하면 함수 B가 실행되기 전에 함수 A가 사용하던 rbp 값을 스택에 저장한다. 이 값은 A의 스택 프레임 기준이 난간 함수 B의 입장에서는 이전 BP 값이다. + + + +return:함수가 끝날 때 복귀 주소로 돌아가는 명령어이다. call 명령어를 사용하면 복귀 주소를 스택에 자동으로 저장한다. 함수가 끝난 후에도 이전 함수의 스택 프레임을 정확하게 복원해야 한다. RET 명령은 단순히 스택에 저장된 주소로 돌아갈 뿐 스택 프레임을 복구하지 않는다. + + + +스택에 넣을 땐 push + +push 1 + +push 2 + +push 3 + +스택에 뺄 땐 pop + +pop rax + +pop rbx + +pop rcx + +->스택을 사용하면 깔끔하게 청소도 해줘야 한다. diff --git a/_posts/2025-01-05-(2).md b/_posts/2025-01-05-(2).md new file mode 100644 index 000000000000..d36a3cb70b20 --- /dev/null +++ b/_posts/2025-01-05-(2).md @@ -0,0 +1,90 @@ +--- +layout: single +title: "UE5(블루프린트1)" +categories: "UE5(블루프린트)" +tag: [UE5,UE5강의] + +author_profile: true +sidebar: + nav: "counts" +--- +### 블루프린트 명령어,단축키 + +byte to Enum (열거형 이름) : 정수를 이용해서 열거형으로 변신함 + +Enum to String : 즉흥적으로 String으로 바꿔준다. + +Switch on (열거형 이름) : 내가 선택한 열거형이 먼지에 따라서 길을 나눌 수 있다. + +Format Text: { } 이렇게해서 변수도 넣고 이름도 넣고 할 수 있다. + +Add Custom Event: 이벤트 이름을 지정해주고 그 이름을 만들어서 이어주면 설정한 이벤트로 이동한다, 가독성이 좋아진다 + +Set Intrger(by ref) : 넣고 싶은값을 거기다가 넣어준다 + +Set Actor Location: 이동 관련 애다 좌표를 조작하는 함수이다. + +SpawnActor: 어떤 설계도를 이용해가지고 실제 객체를 만드는 함수이다. + +Valid: 넘겨 받은 이 주소가 진짜로 유효하냐 안하냐 True,False해서 확인할 수 있다. + +Cast To : 다시 돌아갈 수 있게 형변환 가능하다 + +MultiGate: 문을 열 수 있다. + +Alt 왼클릭: 선을 없애준다. + +Normalize: 벡터를 정규화 시켜준다 + +Event Tick: 한번만 가는게 아니라 이벤트가 계속 일어난다. + +Find Look at Rotation: 시작 위치와 끝나는 위치가 주어지면 그 회전값이 나온다. 스타트 위치에 있는 애가 타겟 로케이션에 있는 애를 바라보게 하는 회전을 구해준다. + +Set Actor Rotation: 회전값을 변경가능하다. + +Make Rotator: 내가 원하는 값만 변경가능 z축만 움직이고싶으면 z축만 가능 + +RInterp To:현재 회전값 목적 회전값을 두개 연결해주고 속도 지정해주면 한번에 바라보는게 아니라 스르륵 쳐다본다. + +Compare Float : < == > 내가 인풋넣고 비교해주는걸 3갈래길로 만들어주는 매크로이다. + +### 블루프린트 개념 + +해시 테이블:우리가 어떤 값을 빨리 찾고 싶을 때 그 값을 내가 원하는 특정 번호로 뭔가 치환할 수 있는 해시 함수를 하나 정한다. 규칙을 만들어서 빨리 찾을 수 있게 만들 수 있다. 대신 메모리를 많이차지하지만 속도가 빨라진다(통을 버켓이라고한다. 규칙을 만들어서 담는 통을) + + + +다중 상속은 위험해서 사용을 못한다. 그래서 나온게 인터페이스이다. 기능을 상속처럼 물려주는게 아니라 이름만 물려줘서 기능은 내가 구현해야한다. + + + +이벤트는 실행이 되는 계기이다. 함수는 하나의 기능이여서 시작했으면 끝까지 일단 책임지고 한번에 빵해서 가야한다. + + + +벡터는 방향과 크기를 갖는다. + +->5 //우측으로 5크기만큼 간다. 우측으로 5m/s의 속도로 이동해라, 우측으로 5N의 힘을 가해 라 알아서 해석하면 된다. + +->방향만 유지하고 크기를 날리는 방법: 단위 벡터: 크기가 1인 벡터 -> 어디 방향으로 이동할때 사용 방향이 중요한 상황 + +->단위 벡터 = (a/c,b/c) ->정규화 ->비율을 이용해서 5만큼 크기가 있을때 5분의 1을 해서 1로 줄임 나머지도 5분의1을 비율로 줄여줌 비례식을 이용해서 + + + +프로그래밍 관점에서 까보면 Vector=(x,y,z)라는 float 3개 짜리로 이루어진 구조체임 벡터라는 의미는 방향과 크기를 갖고있는거지만 이걸 위치 벡터로 사용할 수 있음 -> 위치벡터,일반 벡터로 나눌수 있다 + + + +짐벌락현상: xyz축으로 회전을 할 때 우리가 그 3개의 값만으로 관리를 하게 되면 언젠가는 먹통이 되는 현상이 일어난다. 축 2개가 겹쳐가지고 더이상 회전이 안된다. 그래서 Rotator는 4가지 값을 가진다. xyzw이렇게 4가지 내부적으로 그리고 w값은 직관적이지 않기 때문에 실제로 보여줄때는 3개만 보여준다. xyz이렇게 + + + +메크로랑 함수랑 차이: 메크로는 딱 한번에 복사해서 가져오기때문에 한번에 다 실행하는게아니라 딜레이를 줘서 좀 늦게 실행해도 되는 이벤트처럼 할 수 있다. 그리고 상속관계에서 오버라이딩을 못한다. 딱 이정도 차이이다. + + + +기본적으로 함수를 사용하되 편한 매크로면 매크로를사용한다 근데 매크로에 너무 많은 부분이 들어있으면 복사하는 개념이여서 막 이리저리 복붙해서 쓰면 다 복붙되어서 성능에 부담이 된다. 함수는 리턴할때 사라진다. + + + diff --git a/_sass/minimal-mistakes.scss b/_sass/minimal-mistakes.scss index ba9d13d5df2f..70f59343a457 100644 --- a/_sass/minimal-mistakes.scss +++ b/_sass/minimal-mistakes.scss @@ -35,3 +35,7 @@ @import "minimal-mistakes/archive"; @import "minimal-mistakes/sidebar"; @import "minimal-mistakes/print"; + + +/* google fonts */ +@import url('https://fonts.googleapis.com/css2?family=Dongle&display=swap'); \ No newline at end of file diff --git a/_sass/minimal-mistakes/_variables.scss b/_sass/minimal-mistakes/_variables.scss index 2a3258735264..fd3fea7fd3e4 100644 --- a/_sass/minimal-mistakes/_variables.scss +++ b/_sass/minimal-mistakes/_variables.scss @@ -6,7 +6,7 @@ Typography ========================================================================== */ -$doc-font-size: 16px !default; +$doc-font-size: 18px !default; $doc-font-size-medium: $doc-font-size * 1.125 !default; $doc-font-size-large: $doc-font-size * 1.25 !default; $doc-font-size-x-large: $doc-font-size * 1.375 !default; @@ -17,7 +17,7 @@ $indent-var: 1.3em !default; /* system typefaces */ $serif: Georgia, Times, serif !default; -$sans-serif: -apple-system, BlinkMacSystemFont, "Roboto", "Segoe UI", +$sans-serif: -apple-system, BlinkMacSystemFont, "Dongle", "Roboto", "Segoe UI", "Helvetica Neue", "Lucida Grande", Arial, sans-serif !default; $monospace: Monaco, Consolas, "Lucida Console", monospace !default; diff --git a/assets/images/Dog.png b/assets/images/Dog.png new file mode 100644 index 000000000000..4c7fe292818b Binary files /dev/null and b/assets/images/Dog.png differ diff --git a/google8a51e55cd18dd467.html b/google8a51e55cd18dd467.html new file mode 100644 index 000000000000..7bae18aaabbc --- /dev/null +++ b/google8a51e55cd18dd467.html @@ -0,0 +1 @@ +google-site-verification: google8a51e55cd18dd467.html \ No newline at end of file diff --git "a/images/$(filename)/\353\223\234\353\241\234\354\232\260\355\225\217 \355\224\204\353\246\254\353\257\270\354\226\264 \355\223\250\354\226\264 \354\272\220\354\213\234\353\257\270\354\226\264 \355\236\210\353\223\240 \354\213\261\352\270\200 \354\275\224\355\212\270-1735892315790-3.png" "b/images/$(filename)/\353\223\234\353\241\234\354\232\260\355\225\217 \355\224\204\353\246\254\353\257\270\354\226\264 \355\223\250\354\226\264 \354\272\220\354\213\234\353\257\270\354\226\264 \355\236\210\353\223\240 \354\213\261\352\270\200 \354\275\224\355\212\270-1735892315790-3.png" new file mode 100644 index 000000000000..21a7c0cbbf59 Binary files /dev/null and "b/images/$(filename)/\353\223\234\353\241\234\354\232\260\355\225\217 \355\224\204\353\246\254\353\257\270\354\226\264 \355\223\250\354\226\264 \354\272\220\354\213\234\353\257\270\354\226\264 \355\236\210\353\223\240 \354\213\261\352\270\200 \354\275\224\355\212\270-1735892315790-3.png" differ diff --git "a/images/$(filename)/\353\223\234\353\241\234\354\232\260\355\225\217 \355\224\204\353\246\254\353\257\270\354\226\264 \355\223\250\354\226\264 \354\272\220\354\213\234\353\257\270\354\226\264 \355\236\210\353\223\240 \354\213\261\352\270\200 \354\275\224\355\212\270-1735892369894-5.png" "b/images/$(filename)/\353\223\234\353\241\234\354\232\260\355\225\217 \355\224\204\353\246\254\353\257\270\354\226\264 \355\223\250\354\226\264 \354\272\220\354\213\234\353\257\270\354\226\264 \355\236\210\353\223\240 \354\213\261\352\270\200 \354\275\224\355\212\270-1735892369894-5.png" new file mode 100644 index 000000000000..21a7c0cbbf59 Binary files /dev/null and "b/images/$(filename)/\353\223\234\353\241\234\354\232\260\355\225\217 \355\224\204\353\246\254\353\257\270\354\226\264 \355\223\250\354\226\264 \354\272\220\354\213\234\353\257\270\354\226\264 \355\236\210\353\223\240 \354\213\261\352\270\200 \354\275\224\355\212\270-1735892369894-5.png" differ diff --git "a/images/$(filename)/\353\223\234\353\241\234\354\232\260\355\225\217 \355\224\204\353\246\254\353\257\270\354\226\264 \355\223\250\354\226\264 \354\272\220\354\213\234\353\257\270\354\226\264 \355\236\210\353\223\240 \354\213\261\352\270\200 \354\275\224\355\212\270.png" "b/images/$(filename)/\353\223\234\353\241\234\354\232\260\355\225\217 \355\224\204\353\246\254\353\257\270\354\226\264 \355\223\250\354\226\264 \354\272\220\354\213\234\353\257\270\354\226\264 \355\236\210\353\223\240 \354\213\261\352\270\200 \354\275\224\355\212\270.png" new file mode 100644 index 000000000000..21a7c0cbbf59 Binary files /dev/null and "b/images/$(filename)/\353\223\234\353\241\234\354\232\260\355\225\217 \355\224\204\353\246\254\353\257\270\354\226\264 \355\223\250\354\226\264 \354\272\220\354\213\234\353\257\270\354\226\264 \355\236\210\353\223\240 \354\213\261\352\270\200 \354\275\224\355\212\270.png" differ diff --git "a/images/$(filename)/\354\275\224\355\212\2703.png" "b/images/$(filename)/\354\275\224\355\212\2703.png" new file mode 100644 index 000000000000..989b7170f756 Binary files /dev/null and "b/images/$(filename)/\354\275\224\355\212\2703.png" differ diff --git "a/images/2025-01-03-first/CPU \352\264\200\352\263\204-1736009761024-6.png" "b/images/2025-01-03-first/CPU \352\264\200\352\263\204-1736009761024-6.png" new file mode 100644 index 000000000000..5815ef689183 Binary files /dev/null and "b/images/2025-01-03-first/CPU \352\264\200\352\263\204-1736009761024-6.png" differ diff --git "a/images/2025-01-03-first/CPU \352\264\200\352\263\204.png" "b/images/2025-01-03-first/CPU \352\264\200\352\263\204.png" new file mode 100644 index 000000000000..5815ef689183 Binary files /dev/null and "b/images/2025-01-03-first/CPU \352\264\200\352\263\204.png" differ diff --git "a/images/2025-01-03-first/\353\223\234\353\241\234\354\232\260\355\225\217 \355\224\204\353\246\254\353\257\270\354\226\264 \355\223\250\354\226\264 \354\272\220\354\213\234\353\257\270\354\226\264 \355\236\210\353\223\240 \354\213\261\352\270\200 \354\275\224\355\212\270-1735892779045-9.png" "b/images/2025-01-03-first/\353\223\234\353\241\234\354\232\260\355\225\217 \355\224\204\353\246\254\353\257\270\354\226\264 \355\223\250\354\226\264 \354\272\220\354\213\234\353\257\270\354\226\264 \355\236\210\353\223\240 \354\213\261\352\270\200 \354\275\224\355\212\270-1735892779045-9.png" new file mode 100644 index 000000000000..21a7c0cbbf59 Binary files /dev/null and "b/images/2025-01-03-first/\353\223\234\353\241\234\354\232\260\355\225\217 \355\224\204\353\246\254\353\257\270\354\226\264 \355\223\250\354\226\264 \354\272\220\354\213\234\353\257\270\354\226\264 \355\236\210\353\223\240 \354\213\261\352\270\200 \354\275\224\355\212\270-1735892779045-9.png" differ diff --git "a/images/2025-01-03-first/\353\223\234\353\241\234\354\232\260\355\225\217 \355\224\204\353\246\254\353\257\270\354\226\264 \355\223\250\354\226\264 \354\272\220\354\213\234\353\257\270\354\226\264 \355\236\210\353\223\240 \354\213\261\352\270\200 \354\275\224\355\212\270.png" "b/images/2025-01-03-first/\353\223\234\353\241\234\354\232\260\355\225\217 \355\224\204\353\246\254\353\257\270\354\226\264 \355\223\250\354\226\264 \354\272\220\354\213\234\353\257\270\354\226\264 \355\236\210\353\223\240 \354\213\261\352\270\200 \354\275\224\355\212\270.png" new file mode 100644 index 000000000000..21a7c0cbbf59 Binary files /dev/null and "b/images/2025-01-03-first/\353\223\234\353\241\234\354\232\260\355\225\217 \355\224\204\353\246\254\353\257\270\354\226\264 \355\223\250\354\226\264 \354\272\220\354\213\234\353\257\270\354\226\264 \355\236\210\353\223\240 \354\213\261\352\270\200 \354\275\224\355\212\270.png" differ diff --git "a/images/2025-01-03-first/\353\240\210\354\247\200\354\212\244\355\204\260 \354\242\205\353\245\230-1736009794077-8.png" "b/images/2025-01-03-first/\353\240\210\354\247\200\354\212\244\355\204\260 \354\242\205\353\245\230-1736009794077-8.png" new file mode 100644 index 000000000000..f8774190f534 Binary files /dev/null and "b/images/2025-01-03-first/\353\240\210\354\247\200\354\212\244\355\204\260 \354\242\205\353\245\230-1736009794077-8.png" differ diff --git "a/images/2025-01-03-first/\353\240\210\354\247\200\354\212\244\355\204\260 \354\242\205\353\245\230.png" "b/images/2025-01-03-first/\353\240\210\354\247\200\354\212\244\355\204\260 \354\242\205\353\245\230.png" new file mode 100644 index 000000000000..f8774190f534 Binary files /dev/null and "b/images/2025-01-03-first/\353\240\210\354\247\200\354\212\244\355\204\260 \354\242\205\353\245\230.png" differ diff --git "a/images/2025-01-03-first/\354\213\244\355\226\211\355\214\214\354\235\274 \352\265\254\354\241\260-1736009490854-4.png" "b/images/2025-01-03-first/\354\213\244\355\226\211\355\214\214\354\235\274 \352\265\254\354\241\260-1736009490854-4.png" new file mode 100644 index 000000000000..f53f0812025f Binary files /dev/null and "b/images/2025-01-03-first/\354\213\244\355\226\211\355\214\214\354\235\274 \352\265\254\354\241\260-1736009490854-4.png" differ diff --git "a/images/2025-01-03-first/\354\213\244\355\226\211\355\214\214\354\235\274 \352\265\254\354\241\260.png" "b/images/2025-01-03-first/\354\213\244\355\226\211\355\214\214\354\235\274 \352\265\254\354\241\260.png" new file mode 100644 index 000000000000..f53f0812025f Binary files /dev/null and "b/images/2025-01-03-first/\354\213\244\355\226\211\355\214\214\354\235\274 \352\265\254\354\241\260.png" differ diff --git "a/images/2025-01-03-first/\354\275\224\355\212\2703.png" "b/images/2025-01-03-first/\354\275\224\355\212\2703.png" new file mode 100644 index 000000000000..989b7170f756 Binary files /dev/null and "b/images/2025-01-03-first/\354\275\224\355\212\2703.png" differ