반응형
서문
2024학년 1학기, 복학하고 나서 첫 한 학기 동안 무엇을 배웠는지 과목별로 정리하였다.
성균논어
- 전체적으로 유교를 다시보는 계기가 되었다. 유교가 꽉 막힌 사상이라 악영향만 준건 아니었다.
- 공자가 말한 유교는 성선설이다. 그리고 그 선한 감정에서 나오는 의도를 중요시한다. 이는 '정의란 무엇인가' 책에서 말한 미덕주의와 비슷한 것 같다.
- 그리고 유교하면 생각나는 특유의 허례허식 파묻힌 문화는 유교 잘못은 아니다. 공자는 예를 인을 실천하기 위한 수단으로 보았지 인에 앞서지는 않았기 때문이다.
- 이와 관련해서 예의 중요성과 논어를 엮어서 글을 써 리포트로 제출하기도 했다.
- 요약하면 공자는 그 시대에서 할 수 있는 최선의 사상을 만들어 낸 것 같다.
- 다만, 군군신신부부자자로 대표되는 플라톤의 목적론적 사고, 그러니까 각자의 역할에 최선을 다해야 한다는 사고는 해체되는 사회를 고정시키는 데는 유용하지만, 그 해체를 긍정하지는 못하는 것 아닌가? 하는 의문이 든다
- 이번 학기에 읽은 책' 돈으로 살 수 없는 것들'에서는 시장의 한계점을 다룬다. 가장 최선이라 생각하는 시장과 법치, 민주주의 등 인간이 만들어낸 모든 시스템은 한계가 있다.
- 인간의 욕망은 중력처럼 어떻게 해서든 바닥으로 가려고 하고, 시스템은 이를 억지로 막아놓은 것이기에 결국 어딘가는 줄줄 새고 악용이 된다.
- 그런 법치의 한계를 미리 알고 공자는 덕치를 주장한 것 과 같다.
- 이 수업에서 주로 다루진 않았지만 중용의 한계에 대해서 의문이 생겼다. 마침 가장 좋아하는 유튜버인 너진똑이 유교사상을 다루고 있어서 의문에 관해 메일을 보냈고 지금 답장을 기다리는 중이다.
고급 비즈니스 영어
- 나는 영어를 못한다. 적어도 우리학교 학생들 중에서는 꽤나 영어실력이 하위권일 것이다.
- 이를 극복학기 위해 군대에서 나름 공부해서 토익 800 맞았고, 말해보라 등의 앱으로 꾸준히 영어학습을 해왔다.
- 영어는 단어가 왕도라고 생각해 단어만 봤지만 그건 반만 맞는 말이었다. 막상 영어로만 말해야 하는 수업에서 말이 나오지 않았다.
- 대화를 하기 위해선 단어를 구성하는데 텀이 없어야 한다.
- 그런데 내가 영어로 대화하는 과정은 :듣기 -> 소리를 영어 문장으로 변환 -> 이를 한글로 해석 -> 나의 대답 한글로 구성 -> 영어 단어로 번역-> 말하기인데 모든 과정에서 문제가 생겼다.
- 우선 듣기가 문제다. 영어로 말하면 뭔소린질 모르겠다. 듣고 그걸 머릿속으로 해석하기 전에 이미 다른 문장을 말하고 있다. 그래서 몇몇 단어로 뽑아서 대충 추리하게 된다.
- 영어로 말을 할때에도 순간순간의 단어를 한-> 영 변환하는 게 느려 키워드를 누락하기도 한다.
- 비슷한 의미를 가진끼리 묶어서 외우다가 가령 수수료와 배당금을 헷갈려서 아예 딴소리를 하기도 했다.
- 결국 읽고 쓰는건 시간이 충분히 주어지기에 어느 정도 되더라도 막힘없이 진행되어야 하는 대화는 어떻게 할 것인가 의문이 들었다.
- 그래서 영어 학습법을 여러 번 바꾸었다. chatgpt로 영작도 해보고 지금은 듀오링고를 쓰고있다.
- 그런데 이것들이 영어실력에 대한 근본적인 해결책은 아닌 것 같았고, 동기의 소개로 영어회화 동아리에 일단 나가보기로 했다.
- 그래도 영어 발표를 하는데 스크립트를 어떻게 암기해야 효과적인지는 깨달았다.
- 처음에는 ai가 한글 문장을 영어 문장으로 바꿔준 것을 쌩으로 외우려고 하였다. 당연히 몇 문장 안되어도 문장구조나 단어가 내가 쓰던 게 아니라 잘 안 외워졌다.
- 빠르게 영어 스크립트를 외우기 위해서는 1. 일단 한글로 말할 내용이 술술 나오게 외워야 하고 2. 그걸 내가 직접 편한 단어로 번역한 다음 3. 오류나 어색한 표현만 ai가 잡아주는 식으로 스크립트를 구성해 말하는 게 가장 빠르고 좋다.
- 물론 외울 때는 단어 하나하나 완벽히 통암기하는 식이 아닌 유동적으로, 문장을 빼먹더라도 나중에 보충하고, 일부 단어 변용하더라도 맥락만 맞으면 되도록, 여러 번 직접 말해보면서 연습해야 잘된다.
- 여기서 배운 교훈들은 이후 토스나 오픽 같은 어학 자격증 공부할 때 참고해야겠다.
데이터통신 기초
- 군대에서 전산병으로 일하며 깨졌던 경험들이 생각났다. 당시 동축케이블, rj45 등의 장비들과 네트워크 문제 해결책을 그냥 외웠었는데 그것들이 무슨 관련이 있었는지 비로소 알게 되었다.
- 애플리케이션 레벨보다 더 낮은 low-level에 대한 이해가 부족했었다. 그걸 보충해 주는 좋은 수업이었다.
- 내가 그렇게 배웠던 내용들을 일부 글로 남겼는데 (하단 링크 참조) 이후의 내용은 정리가 두서없고, 올리기에는 수준미달이라 올리지 않았다.
- 공부하면서 다른 velog나 티스토리의 정리된 내용들이 많은 도움이 되었다.
- 다른 학문도 그렇지만 데이터통신이란 것도 일단 이렇게 해볼까? 하고 생기는 문제점들을 고쳐나가고, 새로운 기술을 만들며 발전해 나갔다. 이렇게 했더니 이런 오류가 발생해서 이런 기능을 추가하고, 근데 이런 기능을 추가했더니 이런 문제가 생겨서 보완하는 저런 기술이 나오고....
- 이 과목은 지식중심으로 배웠지만, 학생의 역량이 충분하다면 문제 상황을 주고 어떻게 해결할 것이지 스스로 생각해보게 해도 좋을 것 같다. 거의 학생이 생각할 수 있는 모든 수단을 이미 이전의 공학도들이 실천에 옮겨보았기 때문이다.
- 이 과목은 개인적인 수확도 있다. 내가 정리하는 메모앱 obsidian의 canvas 기능을 거의 쓰지 않았는데 이 과목의 내용을 정리하면서 flow chart 형식으로 쓰게 되었다.
- 이전에 flow chart를 그릴 때 썼던 다른 사이트나 프로그램은 쓸데없는 기능이 많아 불편했다. 옵시디언의 캔버스는 내용과 화살표로 흐름을 정리해 갈 수 있어서 효과적이었다. 전체적인 목차와 흐름이 존재하는 다른 과목을 공부할 때도 이렇게 정리해서 쓸 것 같다.
- 교수님이 내시는 적은 양의 서술형 문제들이라는 시험 양식에 예전에 적응을 못해 안 좋은 성적을 받았는데, 이번 과목을 배우며 계속 치다 보니 좀 적응이 된 것 같다. 중간시험에서 감점을 당한 부분을 알고 싶어서 교수님을 찾아간 적이 있었는데, 거기서 어떤 식으로 서술형을 적어야 하는지 도움이 되었다.
교육 과정
- 배운 것을 한 문장으로 요약하면 교육과정은 지식중심과 학생의 역량중심, 2가지 관점의 정반합이다. 이는 실제로 학문의 구조와, 이를 유용하게 학습하는 구조의 차이에서 귀인 한다.
- 특정한 교육관, 교육방법이 무조건 맞다기보다는 정반합 사이에서 중용을 꾀하며 현재 사회에 가장 적합한 형태로 나아가야 한다.
- 교육 과정이 수립되는 시간과 실제로 시행하는 시간사이의 시차도 많은 이슈를 불러일으키는 원인이 되는 것 같다.
- 개인적으로는 기말과제를 진행하며 관련 논문을 학교 계정으로 편하게 찾는 법과, 토의한 내용을 빠르게 요약하는 속기능력이 증가하였다.
자료구조
- 자료구조 수업은 adt로 시작해서 adt로 끝났다. 코딩 자체보다는 어떤 기능을 어떻게 구성해야 적합할까? 에 대한 사고력 수업이었다.
- 내가 이전에 올렸던 백준은 근본이 없었다. 무슨 말이냐 하면 자료구조에 대한 기초지식 없이 맨땅에 헤딩해서 공부했다는 거다. 이제 그 맨땅이 쿠션정도로 바뀐 것 같다.
- 포인터를 이용하는 과제들이 있었는데 나는 포인터에 대한 이해가 부족했다. 이 수업 이후 이제는 포인터 사용을 겁먹지 않는다.
- 학기 초에 c 컴파일러가 잘 깔리지 않아 애먹었다. 파이썬 같은 언어는 잘만 돌아가면서 가장 근본이 되는 c가 실행이 안 되는 게 이해하기 어려웠다.
- 그래서 디버깅은 군대에서도 썼던 onlineGDB로 디버깅하고 최종 컴파일과 실행확인만 vscodeStudio에서 진행했다.
- 지금까지 그냥 include 해서 썼던 자료구조들을 다 일일이 구현하려면 상당한 디테일 필요하였다.
- 동아리 CMD에서 알고리즘 과제를 한 것과 내용이 연계되어 이어졌다. 실제로 과제도 자료구조하고 CMD 과제하고 하는 식으로 했다.
- 나는 내가 아이디어가 많다고 자만한 적이 많았다. 하지만 매주 adt 예시를 짜면서 아무리 아이디어를 쌓아놓아도 현재 과제에 적합한 아이디어가 쌓여있을 가능성은 적다는 것을 깨달았다. 그래서 팀원의 아이디어를 받아들이고 다듬은 최종 팀프로젝트는 상당히 만족스러웠다.
- 파이썬으로 구글 폼 - 구글 스프레드 시트 - 파이썬 - 유튜브 순서로 구성된 프로젝트였다. 구글 폼에서 사용자 입력을 받고, 이것이 스프레드시트에 저장되고, 그 url을 파이썬이 읽어 youtube 창을 실행시키는 과정이었다.
- 프로젝트를 하는 데 있어 규모를 우리가 할 수 있을만한 사이즈로 적절히 정했고, 발표할 때 다른 조들이 하지 못한 청각적 참여형 발표가 좋았다.
- 또한 기존 큐의 아이디어를 받는 시간을 바탕으로 우선순위 큐로 적절히 변용해서 쓴 게 핵심이었다. 결국 자료구조는 가장 크고 최신인 걸 쓰는 게 아니라 가장 상황에 맞게 적합한 걸 쓰는 것이 중요한 것이다.
- 사용자 입력을 받아 음악을 트는 프로그램을 서버를 구현하여 만드려 했으면 오랜 시간이 필요했을 것이다. 기존에 있던 api를 적절히 활용해 가능한 작은 프로젝트로 만들고 이후 추가기능을 기획하는 방법을 배웠다.
- 깃허브 링크를 올리려 했는데 스프레드 시트 api key 같은 민감한 정보들이 많아서 private로만 깃허브에 올렸다.
웹 프로그래밍
- 처음 웹 과제를 제출할 때는 조건에만 맞춰서 대충 만들어 제출하였다. 그런데 나중에 최종발표할 때 다른 사람들 작품들을 보니 너무 비교가 되어 내 차례가 되기 전에 싹 다 뜯어고쳤다. 그렇게 싹 뜯어고치는 과정에서 많이 배웠다.
- 프런트엔드는 디자인이 중요한데 이건 나보다 뛰어난 사람들이 디자인 한 작품들을 참고하는 게 맞다. 괜히 혼자 해보겠다고 하면 시간은 많이 드는데 그만큼 결과물은 안 나온다.
- 그 과정에서 나는 codepen의 디자인들을 이용했는데, codepen은 한두 개의 특수한 디자인을 넣을 땐 적합하지만, 전체적인 밸런스를 맞추는 데는 적합하지 않아 bootstrap을 쓸걸 후회했다.
- 비유를 하자면 codepen은 피자 탕수육, 마라탕, 짜장면 등을 다 단품으로 제공해서 골라먹는 디자인을 제공하고, bootstrap은 통합적인 정식 세트메뉴가 나온다. 그런데 나는 모든 페이지를 각기 다다른 codepen코드를 적용해 만들어서 마라 피자탕수육짜장면이 완성되었다.
- 이렇게 각기 다 다른 페이지를 어떻게 일관성 있게 만들지 고민이 들었는데 내가 내놓은 해답은 일부러 최소한의 일관성만 유지하게 하는 것이었다.
- 나는 CV를 만들었는데 아직 쓸 내용이 부족했고, 내용 간의 일관성도 없었다. 그래서 아예 카드 형식으로 내용간 독립성을 주는 내비게이션을 만들고, 들어가면 각자 내용에 맞는 레이아웃이 나오게 하였다. 일관성은 대문 페이지로 이동하는 홈버튼과 대문페이지의 양식만 유지했다.
- 이전에 만들었던 웹 테트리스도 프로젝트 페이지의 일부로 넣었다. (하단 링크 참조)
- html css js 간의 상호작용을 깨닫고 vercel을 이용한 배포까지 하니, 웹 자신감이 이전보다 훨씬 늘어났다.(하단 링크 참조)
- 그리고 꼬여버린 css 코드들을 보며 css는 가능한 필요한 것만 줄여서 적용해야겠다 깨달았다. css 여러 개 부모에서 적용되고 자식에서 적용되고 css 코드 순서에 따라 달라지고 하는 걸 보면 답답해졌다.
- 동아리 멋쟁이 사자처럼에서 배운 웹지식도 연계하여 도움이 되었다. 동아리에서 배운 Next.js를 사용해 만든 건 아니어서 이를 나중에 기존 지식과 연계하여 만드는 법을 배워나가야겠다.
게임 프로그래밍
- 군대 가기 전에 혼자서 유니티 토이 프로젝트를 만든 적이 있었다.
- 그리고 그건 개 망했다. 그 프로젝트가 왜 망했는지는 나중에 글로 작성할 예정이지만 요약하면 능력에 비해 큰 기획이었다.
- 그래서 게임프로그래밍 과제로 게임을 만들면서는 최대한 작은 기획을 목표로 했다.
- 작은 기획이어도 기능마다 구현하는데 실제로 걸린 시간과 예상시간이 큰 차이가 있었다.
- 가장 큰 게임의 원칙이었던 공전을 구현하는데 삽질을 많이 해 오랜 시간이 걸렸고, 반대로 행성 경로를 보여주는 데에는 적은 시간이 걸렸다.
- 군대 가기 전 했던 지식들은 깜빡거리며 도움을 주었다. 도움이 될 때도 아니면 안다고 생각했지만 실제로는 까먹어서 다시 배워야 하는 내용일 때도 있었던 것이다.
- export package로 과제를 제출하며 내부 파일구조를 효율적으로 구성하는 방법을 배운 것 같다.
- 기말 프로젝트를 만들고 webGL로 배포까지 했다. (하단 링크 참조)
- 친구들한테 배포한 링크를 보내 테스트할 겸 한번 해보라 하니 재미없다고 예전에 만들던 거나 만들라고 하였다ㅋㅋㅋ. 프로젝트의 깔끔한 건 이번이 더 깔끔했지만 확실히 그 깔끔함과 재미는 꼭 비례하지 않는다는 걸 깨달았다.
리눅스 프로그래밍
- 리눅스에 대해서는 약간의 자신감이 있었다. 정보처리기능사를 준비하면서도 잠깐 배웠고, 공군 정보통신특기학교에서도 몇 주간 배웠기 때문이다. 하지만 그때의 명령어 짓과 별개로 구조에 관한 기초지식을 이해하는데 어려웠다. 명령어보다는 아키텍처 적인 것 이해가 더 힘들었다.
- 일단 다운로드하으라고 하니까 wsl이랑 ubuntu랑 다운로드하긴 하는데 그게 무슨 차이가 있고, 학교 monolith서버 접속해서 할 때와 내 pc에서 할 때의 차이 등, 당연한 것들이 제대로 잡혀있지 않은 상태로 배워서 혼란이 있었다.
- 특히 애플리케이션 레벨에서만 코딩하다가 커널레벨에서 컴파일하는데 제대로 되지 않아 엄청 오래 걸렸고, 힘들었다. 이 과정에서 조교님을 많이 괴롭혀 해결했다.
- 배운 내용들은 데이터 통신 기초의 내용들과 연계되었다. 둘 다 low-level을 다루기도 했고 TCP/UDP 통신을 다뤘기 때문이다.
- 어린 시절에 scratch에 빠져살 때는 통신기능을 쓸 수 없어 통신 기능 자체가 벽처럼 느껴졌다. 그런데 이번에 이루어냈고, 처음 ip로 메시지가 전달되는 걸 보는 순간 아주 짜릿했다. 그 벽을 드디어 넘은 것 같았다.
- 남들이 최종 발표하는 걸 보고 아 저런 내용으로도 구현할 수 있구나 그리고 저런 내용도 보고서에 적을걸 하는 생각들이 들었다. 그렇게 남들이 하는 걸 보고 배웠기에 안 가도 되는 기말 이후 수업을 간 데에 후회는 없다.
결론
배운 게 많았다. 프로젝트를 만들고 배포까지 하며 짜릿함을 느꼈다. 기존에 겁먹던 지식을 직접 마주하고 내 것으로 만들기도 하였다. 내가 생각보다 오만했다는 걸 깨닫고 처음부터 다시 지식을 쌓는 계기가 되는 수업들도 있었다.
5월까지는 정말 열심히 했었는데 6월부터는 페이스 조절에 실패해 다른 자기 계발 활동을 시험공부한다는 핑계로 중단하고 조금 무너져 내린 것이 아쉽다. 아마 나는 그때로 가면 또 무너져 내릴 것이고, 그런 환경이 되면 앞으로도 무너질 것 같다.
나는 남들보다 긴장과 걱정이 많다. 그런 긴장과 걱정이 초중반에는 남들보다 더 먼저 일찍 열심히 공부하는 계기가 되지만 후반이 될수록 오히려 과도한 부담으로 아무것도 안 하게 되는 것 같다.
그런 나를 이끌고 어떻게 새로운 것들을 배워나가야 할지, 가장 나에게 맞는 페이스를 찾아 장기적으로 나아갈 수 있도록 하는 게 1학기가 남긴 근본적인 숙제 같다.
반응형
'성장하는 일상' 카테고리의 다른 글
2024 7월 결산 (0) | 2024.08.03 |
---|---|
2024 6월 결산 (1) | 2024.06.30 |
2024 5월 결산 (2) | 2024.06.03 |
2024 4월 결산 (1) | 2024.05.03 |
2024년 2월,3월 결산 (0) | 2024.03.31 |