프로그래밍 공부 90

[운영체제] Scheduling metric(FIFO, SJF, STCF)

FIFO, SJF, STCF를 살펴보기 전에 Turnaround time이라는 Performance metric을 알아야 한다. Turnaround time이란 job이 도착해서 완료까지 걸리는 시간이다. 이를 수식으로 나타내면 T(turnaround) = T(completion) - T(arrival)이다. 이 시간이 짧을수록 성능이 좋다고 할 수 있다. 1. FIFO ( First In, First Out ) 가장 심플한 개념이다. 먼저 들어온 JOB을 먼저 처리해주는 것이다. JOB A, B, C가 거의 동시에 순차적으로 도착하고 각각의 runtime은 20s라고 가정해보자. 그러면 A의 turnaround time은 20 - 0 = 20s, B는 40 - 0 = 40s, C는 60 - 0 = 60..

운영체제 2020.04.24

[알고리즘] Greedy(탐욕) 알고리즘

알고리즘은 두 종류의 알고리즘이 있다. 1. iterative algirithm : 계속해서 답을 고쳐나가는 알고리즘 => 느리나 정교함 2. constructive algorithm : 한번정한 것을 바꾸지 못함 => 빠름 그리디 알고리즘은 전형적인 constructive alogirithm이다. 매 순간마다 최적의 방법을 선택하면서 진행된다. 따라서 그리디 알고리즘으로 문제를 해결해나가고자 한다면 한 순간에서는 최적의 값을 낼 수 있을지는 몰라도 전체적으로는 최적의 답을 찾지 못할 가능성이 적지 않다. 그렇다면 정확성이 떻어지는 greedy 알고리즘 기법은 어디에 사용할까? 1. greedy 알고리즘으로도 최적의 답을 도출해낼 수 있을 때 2. 다른 방법으로 짠 알고리즘의 비교 대상으로 사용할 수 있..

[알고리즘] Dynamic Programming(동적계획법)

Dynamic Programming은 대회나 시험용으로 가장 많이 나오는 유형이다. 이 방법을 이해하면 문제를 60line 이내로 해결가능하나 이해를 하지 못하면 해결이 거의 불가능하다. 1. Dynamic Programming이란? 큰 문제를 해결하기 위해서 큰 문제를 작은 문제로 나누고 작은 문제들의 답을 통해 큰 문제의 답을 구하는 것이다. 2. 적용법 Dynamic Programming의 3대 요소는 데이터 저장용 Table, Dynamic Program 식, 기저조건(n=0, n=1)이 있다. 동적계획법은 거꾸로 프로그래밍하는 것이다. 이 말이 무엇이냐 하면 부산에서 서울까지 가장 빠른 시간 내에 가고자하면 부산부터 출발하는 것이 아니라 서울 근처 강릉, 파주와 같은 도시로 가는 가장 짧은 길을..

[Unity] Layer 순서 조정하는 법

1) Order in Layer에서 지정하기 Component 중 Tilemap Renderer나 Sprite Renderer안에 Order in Layer 요소가 있다. 지정값이 클수록 앞쪽에 위치하게 된다. 보통 배경을 0으로 두고 다른 요소들을 1 이상의 수로 배치한다. 물 tile처럼 앞에 있기를 원하는 요소는 player보다 더 큰 숫자를 넣어주면 된다. 2) Sorting Layers sprite를 클릭하고 tag에서 add tag를 누르면 Tags & Layers 창이 뜬다. 여기서 Sorting Layers에서 Layer의 순서를 지정할 수 있는데 위에 위치할 수록 뒤에 위치하게 된다.

Unity 2020.04.07

[VMware] This host supports Intel VT-x, but Intel VT-x is disabled.

컴퓨터가 Intel VT-x를 지원은 하지만 이를 활성화시켜놓지 않았다는 말이다. 따라서 BIOS 세팅을 켜서 이를 활성화시켜주면 된다. BIOS세팅창을 키는 법은 컴퓨터마다 다양한데 Windows10같은 경우는 Shift를 누른 상태에서 다시 시작을 누르면 파란 화면이 뜨는데 여기서 "문제 해결" -> "고급 옵션" -> "UEFI 펌웨이 설정"을 누르면 아래와 같은 화면이 뜰 것이다. 여기서 F7을 누르거나 화면 우측 하단의 "Advanced Mode"를 누르면 Advanced Mode로 진입할 수 있다. 그리고 Menu에서 Advanced를 눌러준다. Intel Virtualization Technology에서 Disabled를 Enabled로 바꿔준다. 그리고 Exit를 눌러 Save Change..

끄적끄적 2020.04.02

[Unity] 룰 타일(Rule tile) 이용법

룰 타일 이란? tile asset의 규칙을 정의할 수 있으며, 이 규칙을 바탕으로 scene에서 맵을 디자인할 때 주변 타일에 맞춰반응하는 스마트한 타일이다. 2D Extras 액세스 룰타일은 unity-techonologies에서 github에 올려놓은 2D Extras를 import해야만 사용할 수 있다. https://github.com/Unity-Technologies/2d-extras Unity-Technologies/2d-extras Fun 2D Stuff that we'd like to share! Contribute to Unity-Technologies/2d-extras development by creating an account on GitHub. github.com 다운로드 파일을..

Unity 2020.03.31

[Android Studio] have you declared this activity in your AndroidManifest.xml?

Activity를 추가하고 사용하려면 "AndroidManifest.xml"파일에 이를 선언해야한다. 이를 선언하지 않으면 have you declared this activity in your AndroidManifest.xml? 와 같은 오류가 발생하게 된다. 새로운 Activity가 SubActivity라고 하면 19번째 줄과 같은 코드를 추가하면 해결된다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter http://colorscripte..

끄적끄적 2020.03.30