etc/프로젝트 2

[임시소] 랜덤 미로 생성

랜덤 미로 생성하는 알고리즘이 필요해서 조금 검색해보니 정말 다양한 알고리즘이 있었다. 굳이 복잡한 알고리즘은 필요하지 않았다. 보드에서 출력할 수 있는 공간이 부족하다 보니 벽도 좌표로 저장하는 알고리즘을 사용하게 되면 이동할 수 있는 칸이 너무 적어질 것 같았다. 그래서 알고리즘을 조금 수정할 필요가 있어서 비교적 간단한 Recursive랑 Binary Tree 둘 중에 고민했다. 원래는 둘 다 구현해보고 비교하려고 했었는데, 벽을 나타내는 방법이랑 조금 충돌이 나서 그냥 Binary Tree만 구현하기로 했다. 하려면 할 수는 있겠지만 알고리즘을 구현하는 게 핵심은 아니라고 생각했다. 그리고 랜덤 함수를 sleep 없이 사용했더니 이상한 결과가 나왔다. 시드 값이 바뀌지 않는 이상은 계속 같은 값이..

etc/프로젝트 2022.06.20

[임시소] 기말 프로젝트 시작

이번 학기에 임베디드 시스템 소프트웨어라는 과목을 수강하고 있다. 임베디드 환경에서 리눅스가 어떻게 동작하는지에 대한 내용을 배우고 있다. 중간고사 이전에는 주로 임베디드 환경이 어떤 식으로 구성되어 있는지, 리눅스 커널이 어떻게 동작하는지에 대해 배웠다(곁다리로 C 코드를 최적화하는 방법도 배움). 시스템 콜, 디바이스 드라이버 정도는 아직 기억에 잘 남아있는데 나머지는 거의 까먹기 직전이다. 기말에는 커널이 메모리를 할당하는 방법, 인터럽트에 관한 내용을 배우고 마지막엔 안드로이드로 넘어와서 JDK, NDK에 대해서 배웠다. 그리고 파이널 프로젝트로 JNI와 디바이스 드라이버를 사용하는 선에서 자유 주제로 응용을 하나 만들면 된다. 주말간 주제를 고민해봤는데, 결국은 안드로이드는 최소화하고 로우 레벨..

etc/프로젝트 2022.06.20