본문 바로가기
정글/TIL

[크래프톤 정글] 62일 - 즐거운 일요일☀️

by 위대한초밥V 2023. 6. 5.
오늘 한 일 👩‍💻
- 알고리즘 문제 풀이(P3613 - Java vs C++)
- Passing the argument and creating a thread

🧮 알고리즘

https://www.acmicpc.net/problem/3613

 

3613번: Java vs C++

Java 예찬론자 김동규와 C++ 옹호가 김동혁은 서로 어떤 프로그래밍 언어가 최고인지 몇 시간동안 토론을 하곤 했다. 동규는 Java가 명확하고 에러가 적은 프로그램을 만든다고 주장했고, 동혁이는

www.acmicpc.net

요즘 문자열 문제를 풀고 있다. 이 문제는 예외처리를 신경쓸게 많았다.


✍️ Passing the argument and creating a thread

핀토스 과제 2주차는 user program이다. 

지금 하고 있는 부분은 Parameter Passing인데, 크게 다음을 구현해야 한다.

1. process가 실행해야하는 명령이 `echo x y z`로 들어왔을 때, 메서드에 해당하는 `echo`와 인자인 `x`, `y`, `z`로 구분한다. 

2. user stack에 x, y, z를 담는다. (process를 실행한다는 것은 결국, 현재 실행을 f_name으로 바꾼다는 것이므로 현재 정보를 intr_frame에 담는다.)

 

구현 관점에서 보면 Simple! 이라고 생각할 수도 있지만 Nope!!!😵

 

일단 오늘 한 것은

- 도대체 process_exec 가 어디에서 나오는지 거슬러 올라가며 살펴보고, 

https://mywnajsldkf.tistory.com/37

 

[Pintos Project2] User Program(2) - Passing the argument and creating a thread: process_exec 함수의 뿌리를 찾아서...

process_exec (void *f_name)는 현재 실행 컨텍스트를 f_name으로 바꾸는 함수이다. 이 과제에서 우리는 process_exec에서 호출하는 file을 로드하는 load() 함수에서 f_name을 통해 들어온 명령어를 잘 파싱하여

mywnajsldkf.tistory.com

- 위의 함수를 작성하고 있다.

 

이번 주차는 공부 방법을 살짝 바꾸었는데, gitbook을 제대로! 이해하는 것이다. 그 방식으로 번역을 택했다. 처음에는 시간이 좀 걸리긴하지만 계속 문서를 오고가는데 걸리는 시간을 좀 줄일 수 있는 것 같다.

 

오늘을 기존의 조각지식이 하나둘 해소되는 느낌이 들어 즐겁게 공부하고 있다.


🌳 함께 자라기

https://www.yes24.com/Product/Goods/67350256

 

함께 자라기 - YES24

‘함께’는 협력을 말하고, ‘자라기’는 학습을 말한다. 무엇이건 실제 바깥세상(야생)에 임팩트를 남기려면 혼자 힘으로만 되는 게 없다. 함께 해야 한다. 주변 사람들과 함께. 매일 부대끼는

www.yes24.com

정글 생활을 시작한지 벌써 2달되었다. 

오기전보다 성장했느냐? 하면 YES지만! 아직 갈 길이 멀다.

특히 동료 학습에 대한 부분이 기대한 만큼 충족되지 않았다. 함께하는 시간보다 코드를 혼자 치는 시간이 많다. 남은 두달은 반 사람들과 함께 협력하며 자라고 싶기 때문에 전부터 추천받은 이 책을 빌려왔다!!! (나만무때도 도움되지 않을까 싶다.)

 

아직 많이 읽지 못했지만, 저자가 학교 학습과 반대되는 개념으로, '야생 학습'이라고 칭하는 것부터 '야생=정글🐛'이 아닌가 싶다.

 

매일 조금이라도 꾸준히 읽고 TIL에 잘 정리해봐야겠다.

내일 할 일 📝
- 알고리즘: ㅈㅇ셋 못푼 것 풀고 오답, 문자열 문제 푼 것들 정리할 것 정리
- parsing 구현 완료
- parsing 내용 정리
- System Calls and Handlers, File Manipulation gitbook 번역
반응형