🎁[속보] 인프런 내 깜짝 선물 출현 중🎁

[인프런 워밍업 클럽 CS 3기] 1주차 발자국

[인프런 워밍업 클럽 CS 3기] 1주차 발자국

회고


비전공으로 개발을 시작하여 CS가 부족하다고 느껴 신청했고, 자료구조와 알고리즘은 기존에 배웠던 것들이 많아 보다 쉽게 이해하였다.

운영체제 같은 경우에는 프로그램, 프로세스, 스레드 등 안다고 생각했지만 정확한 정의를 말하라고 하면 하지 못하던 것을 이전보다는 쉽게 얘기할 수 있을 것 같다.

발자국 가이드에 강의 내용 요약이 있는데 음.. 나는 내가 정리한 내용들을 공유하라는 것 같지는 않아서 그냥 어떤 점을 느꼈는지, 강의가 어땠고 나는 어떻게 했는지 같은 내용을 적을 것 같다. 정리한 내용을 공유한다고 하면 어디까지 할 것인가에 대한 문제가 생겨서 고민하고 싶지 않다.

앞으로도 2번 더 작성할텐데, 지금처럼 총평 - 각 강의 회고 순으로 적을 것 같다.


자료구조와 알고리즘

자료구조와 알고리즘은 간단한 개념 설명과 함께 시간 복잡도를 설명하는 것으로 시작되었다

섹션2부터는 배열의 설명을 시작으로 연결리스트, 스택, 큐, 덱, 해시테이블, 셋의 개념과 구현을 진행했다.

JS로 수업이 진행되다보니, 유니티 개발자인 나는 조금 다른 구현이 필요하였다.

또, 우선 처음에 필요한 함수의 내용을 적어줬었는데(Stack의 경우 push, pop 등) 해당 함수명만 보고 우선 만들어보는 재미도 있었다. 물론 시간은 좀 더 걸렸지만, 강의의 구현과 내 구현이 어떤 차이가 있는지 보는 것도 꽤 유용했다.

처음에는 연결리스트의 노드의 value를 단순하게 int로 만들었는데 나중에 string도 담는 식으로 변하여 object 타입으로 변환하였고, 그에 따라 기존에 구현했던 함수도 마찬가지로 수정이 들어가게 되었다.

C#의 로그용 함수인 Console.WriteLine같은 경우 null값이 return되면 아무것도 출력하지 않아 ToString함수를 오버라이딩하여 JsonSerializer.Serialize를 통해 null을 string "null"로 return될 수 있도록 하는 것도 필요했다.

마지막으로 미션 때는 오버로딩이 필요했는데 이를 진행하면서 평소에 사용할 일 없던 object 타입을 사용할 때의 불편함이 생겼다. 해시테이블의 키값이 int -> string으로 변하며 발생한 문제였는데 우선은 명시적 변환을 통해 해결했지만, 나중에는 node를 각각 구현해야할지, 구현은 JS로 모두 따라가야할지 고민이 되었다. hint를 주신 것도 JS의 함수였기 때문에 사용할 수 없었고, 해당 함수의 동작을 토대로 비슷한 코드를 만들었다. 따라서 성이 아닌 다른 기준이 되었는데, 이미 미션은 제출했지만 성으로 통일할 방법을 좀 더 고민해봐야겠다.


운영체제

운영체제는 사실 적을게 많이 없다. 구현을 하며 기술 및 원리를 체화하는 것이 아니어서 그런 것 같다.

운영체제는 기존에도 조금씩 찾아보기는 했지만, 그때마다 아예 새로 배우는 것과 같다.

섹션 1의 운영체제 개요와 역사는 아주 짧게 지나갔다.

아무래도 섹션1은 짧게짧게 나뉜 영상이 많았는데 역사 등은 조금이라도 더 깊게 들어가면 너무 디테일하게 다뤄야하기 때문이라고 추측한다.

섹션 2와 3은 아직 제대로 머리에 들어오지 않은 것 같다. 미션을 진행할 때도 영상을 다시 보면서 진행했다.

자료구조와 알고리즘은 아무래도 직접 코드를 작성하고, 내가 어디에 적용할 수 있을지 생각하는 것도 있다보니 흥미가 있어서 머리에 잘 들어오는데 운영체제는 전혀 그렇지 않았다.

프로세스, 프로그램, 스레드, 레지스터, PCB 등등의 단어가 난무하는데 대부분은 강의를 보며 이해가 조금 됐지만, 레지스터의 개념은 따로 찾아봐야할 것 같다. 익숙한 단어일 수록 이해하기가 쉬웠던 것 같다(PCB는 그냥 그런 단어다 라고 생각하기로 했다).

섹션2는 하드웨어 동작의 기본을, 섹션3은 그 동작의 발전 과정을 보여주는 것 같다. 예전 개발자들은 개발자라기보다 기계공학자가 아니었을까 싶다.

다음 주 남는 시간 혹은 워밍업 클럽 기간이 끝나더라도 반복해서 봐야 머리에 조금 더 잘 남을 것 같다.

댓글을 작성해보세요.


채널톡 아이콘