오늘은 오전에 CS 특강 오후에 알고리즘 강의가 있다. 나도 내가 CS공부가 상당히 부족하다고 느꼈고, 이 특강은 나에게 많은 도움이 되었다. 오늘 특강의 주제는 CPU인데, CPU는 어떻게 구성되어있는지, 프로그래머의 언어가 어떻게 CPU에게 전달되는지, 명령어 수행은 어떤식으로 하는지에 대해 강의 해주셨다. 

 이 때까지 코딩은 했었지만, 내가 사용한 프로그래밍 언어를 컴퓨터가 어떻게 동작하는지는 잘 몰랐었고, 그나마 겉햝기로만, 메모리영역에 접근해서 주소를 레지스터들이 받은 명령을 수행해와서 컴퓨터에 동작을 넘겨주는 것이라고 이해해왔었는데, 왜 그러한 처리가 있었는지 알 수 있게 되었다. CS라는게 막연하게 어렵게 느껴졌는데, 튜터님의  설명 덕분에 쉽게 다가갈 수 있던것이 엄청 컸던거 같다. 

 오후에는 알고리즘 특강이 있었고, 알고리즘 특강을 들은 다음에, 남은 오후 시간동안은 자료구조를 더 공부했다. 이제 강의를 거의 완강해 가는 시점이 되었고, 남은건 복습 또 복습인것 같다. 지금의 마음이 끝까지 지속될 수 있었으면 한다.

 이제 내일 배움 캠프도 벌써 2주차가 끝나간다. 이번주는 여러모로 내가 공부 해왔던 것들을 총체적으로 복습하는 주간이 된 것 같다. 오늘도 알고리즘과 자료구조에 대해 계속해서 복습하는 시간이 되었다. 주어진 강의를 통해서 던져진 주제를 복습하는 것은 나에게 꽤나 도움이 되는 일이다.

 자료구조와 알고리즘 부분은 예전에 공부했었던 것을 복습을 하는 느낌이 강했다. 처음 공부할 때에는 c++로 알고리즘을 작성했었는데, 그 것을 지금에는 파이썬으로 다시 작성하였고, 이 것은 생각보다 많은 도움이 된다. 이번 주에 남은 강의를 완강하고, java로도 한번 더 자료구조를 사용해서 작성하는 것이 새로운 목표가 되었다.

 남은 강의도 빠르게 완강하는 것이 내일의 목표가 될 것 같다. 꾸준히, 계속해서 공부하도록 노력하자.

 오늘은 하루종일 알고리즘 공부를 했다. 내가 생각하는 알고리즘은 "얼마나 효율적으로 해결하느냐"가 가장 큰 포인트다. 즉, 알고리즘은 문제를 해결하는 최적의 경로이다. 그것을 생각하면서, 알고리즘에 대해 공부를 하였다. 알고리즘은 크게 2가지의 비용을 가지게 된다. 시간과 공간이다. 시간은, 이 수식을 활용해서 얼마나 걸리느냐이고, 공간은, 내가 사용할 수 있는 기억 용량중 얼마나 소모를 하느냐이다. 이것을 표현하는 말로, 시간복잡도와 공간복잡도가 있다.

 일단 알고리즘을 알기 위해서는, 데이터를 어떻게 정리하냐 즉, 자료 구조에 대해서 알 필요가 있다. 그렇기 때문에 주어진 강의를 활용해서, 자료 구조와 알고리즘을 공부하기 시작했다. 아직은 이론적인 부분이 대부분이라서 크게 무언가 만든다는 느낌은 없지만, 해왔던대로, 공부를 했다.

 효율적인 알고리즘 공부는 코드 테스트 연습과 분리 할 수 없다고 생각한다. 즉, 내가 활용 할 수있는 논리적 절차적 사고를 효과적으로 적용할 수 있는 것이 코드 테스트다. 그렇기 때문에, 알고리즘 공부하는 동안은 다양한 코드 테스트 사이트를 활용할 것이다.

 이 과정을 통해서, 내가 백엔드 개발자로써의 기초를 얼마나 크게 성장할 수 있을지 궁금해진다. 이번 기간동안은, 꾸준히 공부하고, 계속해서 반복 연습하는 것이 가장 중요하다고 생각된다. 

 오늘은 새로운 팀원과 새로이 시작하게 되었다. 항상 프로젝트를 시작하기전에 새로운 팀을 짠다고 했는데, 새로이 만나게 되었다. 이제부터 본격적으로 시작된다고 느꼈다. 

 오전 시간에는 어제 못 본 Java 문법 강의를 마무리하고, 파이썬 문법을 들었다. 두 언어의 대표적인 차이는 java는 컴파일 언어이고, 파이썬은 인터프리터 언어이다. 때문에, 두 언어의 차이를 생각하면서 강의를 들었고 오전 중에 모든 문법 강의를 완강했다. 

 이제 오후부터는 알고리즘/자료구조 공부를 시작한다. 오랜만에 알고리즘 내용을 복습하는 계기가 될 것 같다. 학교다닐때, 자료구조와 알고리즘에 대해서 맛보기 수준으로 공부했지만, 이번 기회에는 확실하게 짚고 넘어가는 기회가 될거같다.

 아직 기초문법과 쉬운 알고리즘을 배우는 단계라서, 크게 TIL에 쓸만한 내용이 없다는게 많이 아쉽다. 아마도 내일의 목표는 빠르게 알고리즘을 정리하고 생각해 둔 CS공부를 목표로 공부할 것 같다.

 2주차가 시작되었고, 오전시간에는 새로운 주차의 발제가 있었다. 이제부터 본격적인 학습 주간이라고 한다. 학습 주간 동안 우리는 Java의 기초, Python의 기초, 그리고 자료구조와 알고리즘을 학습할 예정이다.

 나의 경우에는, 이미 C#을 학습한 경험이 있기 때문에, Java를 학습하기 어느정도 수월할 것이라고 예상했고, 오늘 하루동안 오늘 제공 받은 Java 강의를 들으면서 객체 지향 프로그래밍의 개념을 다시한번 숙지하는 시간을 가졌다.

 Java와 C#은 상당히 비슷한 구조를 가지면서, 다른듯한 언어다. 예를 들면, Java의 경우 JVM, C#의 경우 .Net Framework라는 가상머신 위에서 구동하게 되는데, 각각의 가상 머신들은 개발환경, 운영체제와 상관없이 프로그램의 구동을 보장한다. 즉, 둘의 개념은 비슷하다고 생각한다.

 또한, 스크립트에서 약간의 차이가 있었는데, C#과 다르게 Java는 퍼블릭 클래스를 선언할 때마다, 새로운 스크립트를 작성해야 했다. 파일의 분류가 상당히 힘들어 질것 같은 느낌이였다. C#의 경우 그냥 새로운 퍼블릭 클래스를 작성할 때, 밑에 쭉붙이고 나중에 분리해도 문제가 없었지만, Java의 경우 그런것이 안되더라.

 오전 오후 동안은 오랜만에, 객체지향 프로그래밍 언어를 공부를 했고, 내가 알고있던 것, 새로이 이해한 것을 대조해서 공부하는 시간을 가질 수 있었다. Java의 언어에 대한 기본적인 학습을 끝내는 것이 오늘 하루의 최종 목표가 되었다.

 아직, 강의의 절반 부분밖에 수강하지 못했지만, 오늘 남은 시간동안 나머지를 전부 수행 가능해 보인다. 이것도 C#을 학습하지 않았다면 어려웠지 않았을까 생각이 들었다. 최대한 빠르게 복습하고 알고리즘과 자료구조를 다시 복습하는 시간을 가져야 할 것같다.

 - 오늘의 목표: Java 강의를 완강하기

 - 내일의 목표: 알고리즘, 자료구조 강의 시작하기

 내일배움캠프를 시작하고 첫 주말을 맞이했다. 내 나름 공부도 해야했던 시간이였고 어느정도 공부를 하다가 일주일에 누적된 피로도 해소하는 시간이였다고 생각한다. 하루하루 나눠서 쓰고싶었지만, 토~일요일 동안 컴퓨터를 사용할 여건이 없었고, 주말이 지나서 작성을 하게 되었는데 뭔가 몰아서 일기를 적는 느낌이였지만, 기록을 한다는 것에 의의를 두고싶었고, 그래서 지금에서 작성하게 되었다.

 토요일은 하루의 대부분을 휴식과 취미생활로 보냈는데, 나는 웹소설을 읽는 것을 좋아하기 때문에, 일주일 동안 몰아서 웹소설을 꽤나 많이 읽었다. 그런데 이전에 웹소설을 읽으면서 별 생각을 하지 않고 읽었었는데, 게임이 아닌 다른분야의 프로그래밍 공부를 하다보니, 내가 사용하는 어플리케이션은 어떤 구조로 만들어 졌을까? 하는 생각도 들었다. 내 생활에 프로그래밍이 차지하는 부분이 늘었다고 생각되었다.

 그리고 일요일에는 내 고향 친구들과 함께 모여 롤드컵을 보았다. 이 날의 경기는 많은걸 느낄 수 있었던 경기였던거 같다. 나는 LOL이라는 게임을 꽤나 오래했었고, 지금도 일주일에 2~3판정도 즐길정도의 게임이다. 내 인생의 1/3을 차지하는 기간동안 즐겼던 게임이니깐, 내 안에서 꽤나 큰 부분을 차지하는 게임이라고 생각한다. 그리고, 친구의 영향으로 내 나름대로 나는 DRX의 골수 팬까지 아니지만, T1보다 더 긍정적인 의미로 좋아하는 팀이라고 생각한다. 당연히 이 날의 경기는 DRX의 팬으로써 응원했고, 결국 DRX가 우승을 하는것을 지켜보았다. 이번 롤드컵 시리즈에서 가장 감명깊에 봤던 인터뷰가 있다. 그것은 바로, "꺾이지 않는 마음"을 섬네일로 사용한 인터뷰 영상인데, 아무리 좌절하고 싶은 환경이고, 힘들다고 해도, 내가 포기하지않고 끝까지 밀어붙일 수 있다면, 좋은 결과를 얻을 수 있다는 내용의 인터뷰 인데, 이 문구가 참 내 상황과 그 마음에 와닿는다고 생각한다. 나도 개발자로 취직하기 위해 꺾이지 않는 마음을 가져야 겠다고 인터뷰 영상을 보면서 생각했고, 이 롤드컵의 결승 시리즈를 보면서 다시한번 마음속에 다지게 되었다.

 다음 주부터는 본격적으로 spring 공부를 시작하게 된다. 이제부터는 정말 본격적으로 하겠지? 공부하는 것이 아무리 힘들고 어려워도, "꺾이지 않는 마음"으로 결과를 얻을 수 있었으면 한다. 또한, 언젠가 힘들때 TIL을 되돌아보면서 다시한번 마음가짐을 고쳐 잡을 수 있었으면 한다.

 오늘은 드디어 미니 프로젝트 발표가 있는 날이다. 오전에 팀원들과 모여서 미니프로젝트를 마무리 하는 시간을 가졌고, 발표 자료도 마무리 했다. 그리고 오후 시간이 되었고, 오후 시간에 한 주간의 성과물을 발표 하는 시간을 가지게 되었다. 결과적으로는 다양한 방식의 코드들과, 다양한 사람들을 볼 수 있었고, 유익한 시간이 되었다고 생각한다.

 우리팀의 발표는 1부 중간쯤의 순서였는데, 다른 여러 사람들이 우리의 작업물을 보고 있다는 생각이 들어서 좀 긴장하게 되었다. 팀장님께서 발표를 마치고 각 팀원들 간 서로 개발중에 가장 의미있었던 코드를 이야기 하는 시간이 있었는데, zoom에서 마이크 이슈가 있어서 나는 아쉽게도 나의 코드에 대해서 이야기를 못하였다. 

 그래서 이자리를 이용해서 나에게 의미있는 코드를 이야기를 하려고 한다. 나는 이번에 처음으로 강의를 들으면서 웹 개발을 시작하였고, 나의 부족한 점을 메꾸기 위해서 주어진 예제를 따라하는 것이 전부였다고 생각한다. 내가 무엇을 배우든 간에 가장 중요한 것은 이해를 하지 못하고 지나가는 것을 탐탁치 않아한다. 그런 부분에서 이번에 내가 프로젝트에 제출 했던, 스크롤 애니메이션 구현 코드는 나의 웹 언어 이해를 한단계 향상 시켜주었던 코드였고, 그렇기 때문에 의미가 있던 코드라고 생각한다.

개인 프로젝트 스크롤 애니메이션 구현 내용
구현을 위해 이해했던 코드 부분(HTML)

 

 한 주간의 회고 

 - 이제부터 주간이 끝날 때마다 TIL에 한주간의 회고를 작성하려고 한다. 이 것은 내가 한주간 무엇을 느꼈고 배웠고, 내가 무엇을 더 노력할 수 있을지 고민할 공간이라고 생각해 주면 좋을거 같다.

 이번주는 여러가지로 정신이 없었던 한 주였던거 같다. 웹 개발을 처음 시작했고, 그것을 이해하고 프로젝트에 적용하기 위해 상당한 시간을 투자했던거 같고, 어느정도 성과가 있었다고 생각한다. 이번 주에 가장 중요하게 여겼던 것, 바로 팀 프로젝트에서 팀원들에게 피해를 주지 않기였는데 그것도 어느정도 이뤘다고 생각한다. 나름 팀원들에게 따라갈 수 있었던 것 같다. 한 주간 고생한 팀원들에게 감사한다.
 다음 프로젝트부터 새로운 팀원과 새로운 주제로 새로운 주간을 시작한다고 한다. 나는 과연 이것을 위해 무엇을 노력할 수 있을까 곰곰히 생각해봤는데, 내 대학 생활동안 항상 부족했다고 느꼈던 CS에 대해서 천천히 공부해 보려고 한다. 그래서 책도 구입했고, 일주일에 최소 6시간 이상 CS에 대해서 공부해야겠다고 생각했다. 내 블로그에 추가할 포스팅 그리고 개인적인 CS공부, 내일 배움캠프. 크게 3가지가 이제 내 일주일의 밀도를 꽉꽉 채워주지 않을까 예상해본다. 이제 다음주도 힘내서 한주를 보내야겠다.

 내배캠을 시작하고 1주차가 끝나간다. 벌써 4일차나 되었다.

 

 오전시간에는 팀 프로젝트 개인페이지 및 팀 전체 페이지를 마무리 했다. 먼저, 비어있던 페이지에 무엇을 채울까 고민해 봤지만, 생각나는게 너무 없어서 결국 비우기로 했다. 그렇게 하고 나니, 페이지의 색 때문에, 글씨가 너무 잘 눈에 안들어오는 것 같았다. 

배경색 때문에 눈에 잘 안들어오는 흰색의 글씨

 그렇게 해서 글자에 외곽선을 추가하기로 했다.

글자에 외곽선을 추가했을 뿐인데 눈에 확들어온다

 개인 페이지작업은 이정도로 하고 프로젝트를 마무리 하기로 했다. 

 오전 시간이 끝날 때 쯤에, 매니저님과 상담 시간이 있었다. 상담 시간동안 궁금한 것도 앞으로 내가 어떻게 해야할지 이야기를 할 수 있었다.

 오후 시간동안에는 이번 주 동안 내가 무엇을 했는지 복습하는 시간을 가졌다. 덤으로 블로그 포스팅도 같이 했다. 오랜만에 쓰는 포스팅이라 뭔가 어색한것도 많아보인다 내가 이해했던 것을 글로 풀어 쓰려고 하니깐 시간이 더 많이 걸리는거 같았다.  주말까지 이번주에 수강했던 강의들을 포스팅하는게 목표가 될 것 같다. 

 이제 내일은 이번주 내내 했던 팀 프로젝트 발표를 하는 날이다. 이번주 내내 했던 것들을 보여주는 것이 조금 떨리긴 하지만, 잘 준비해야겠다.

+ Recent posts