2024년 5월 회고

2024. 6. 1.


최근 낮에는 낮대로 쨍쨍한 햇빛을 맞으며 포근함을 느낄 수 있고, 밤은 밤대로 시원해서 기분이 좋다. 저번 달에 내 자신이 쓰레기같이 느껴졌던 게 거짓말같을 정도로 마음이 평온하다. 인간은 호르몬의 노예라는 말이 괜히 있는 게 아닌가보다. 세로토닌님 만만세입니다ㅋㅋ 아무리 집이 좋아도, 별 스케줄 없는 하루라고 해도 집 밖에 나가 햇빛을 쐬어주는 시간을 확보해야겠다는 다짐을 하게 되었다. 이대로 어둠의 자식이 될 수는 없으니까…

튜링의사과 개발자 커뮤니티 강의 참가

저번 달 회고 머릿글에도 쓴 내용이긴 하지만, 이유 모를 우울감에 시달리던 저번 달을 돌이켜봤을 때 가장 문제라고 생각했던 점은 자력으로 뭔가 생산적인 일을 할 생각이 들지 않는다는 점이었다. 의미없이 시간을 허투루 썼다는 생각에 우울감이 밀려오고, 그에 대한 음성 피드백으로 더욱 뭔가를 할 기력이 없어지고, 이러한 행태가 연쇄적으로 맞물리니 옆에서 보고 있으면 미치고 팔짝 뛸 스파이럴이 그려지는 것이다. 이를 어떻게든 끊어내기 위한 첫 몸부림이 필요했고, 그게 바로 튜링의사과에서 열리는 개발자 커뮤니티 강의에 참가 신청 넣기였다. 2일에는 김혜성님께서 진행해주셨던 ‘웹 보안의 기본 메커니즘’, 16일에는 이재열님께서 진행해주셨던 ‘Vim, 어디까지 알고 있니?’ 이렇게 총 두 가지의 강의에 참가하였다.

웹 보안의 기본 메커니즘

‘따져보자면 웹은 매우 취약한 플랫폼’이라는 사실을 주지시켜주시기 위해 여러 가지 이야기들을 들려주셔서 재미있었던 강의였다. 웹 브라우저는 알고보면 결국 누가 작성했는지도, 어디에 있는지도, 또 무슨 일을 하는지도 모르는 코드를 다운로드받아와서 실행할 수 있는 위험천만한 소프트웨어인데, 불굴의 의지와 상상력만 있다면 어떻게든 공격할 방법을 생각해낼 수 있으며 사실 그렇게 도출해낼 수 있는 방법들에는 이미 이름이 붙여져있다는… 돌이켜보면 고개를 끄덕일 수밖에 없는 말씀을 해주셨다. 이런 취약한 플랫폼 위에서 사용자에게 신뢰성을 주기 위한 여러 가지 안전 장치들(HTTPS, CORS 등등)을 그저 귀찮다고 생각하는 것은 일종의 직무 유기라고 볼 수 있을 것이다. 보안이란 소프트웨어 엔지니어의 입장에서 제품의 위험 관리를 위해 고려해야 하는 요소이며, 특히 웹 프론트엔드 분야 보안 정책의 기반이 되는 Origin에 대해 올바르게 이해하는 것이 중요하다는 것을 느낄 수 있었다.

Vim, 어디까지 알고 있니?

Vim, 정확히는 NeoVim과 여러 부수적인 도구를 활용하여 자신의 생산성을 끌어올리기 위해 해오셨던 여정을 설명해주시는 강의였다. 처음에는 ‘이런 것도 돼요’로 시작해서 ‘저는 이런 것까지 해봤어요’의 흐름을 따라가며, 보기에 괜찮은 게 있다면 뜯어먹으라는 원대하신 계획이 보이는 진행이었다. 덕분에 vscodevim이라는 VS Code 확장을 설치해서 지금도 사용 중이다. 마지막에는 개인적으로 예상했던 이야기인, 소스코드를 문자의 1차원 배열 대신 트리 형태로 보는 패러다임 시프트 강조를 (역시나) 들을 수 있었다. 돌이켜보면 나는 이런 부분에서는 개발자 체질이 아니려나 하는 생각도 들었다. 나는 ‘몸이 좋으면 머리가 고생할 필요가 없다’는 생각이 먼저 드는 사람이고, 반복되는 무언가에 염증을 느껴 자동화 방법을 고민하는 게으름(좋은 의미로)을 피울 생각을 한 적이 드물었다. 기껏해야 동일하게 반복되는 패턴의 코드를 추상화해서 중복을 제거하는 것을 좋아하는 정도? 타자를 친다거나 하는 물리적인 행위에서 귀찮음을 느껴본 적이 별로 없었다. 진정한 쳇바퀴를 경험해본 적이 없어서 그럴 수도 있겠지만… 나에게도 생산성의 필요성을 십분 느끼게 되는 날이 올지 궁금하다.

코드스냅

5월에는 내가 편집장 역할을 맡아 주제를 정하고 소개글을 작성하였으며, 각 글들의 업로드 순서를 결정했다. 소개글에서도 알 수 있듯, 5월에는 타입과 관련된 이야기들을 다루게 되었다. 처음에는 정적 타입 관련 내용들로만 한정짓고 싶었는데, 정적 타입에 너무 익숙하고 또 좋아하다보니 너무 편향적인 시선을 가지고 있는 건 아닌가 하는 생각이 문득 들었다. 그래서 범위를 좀 넓게 잡고, 팀원분들께 이번 기회에 정적 타입의 단점을 느낄 수 있게 되면 좋겠다고 넌지시 말씀드렸는데 다소 피상적인 비교밖에 없어서 음… 그렇구만 하고 넘겼던 기억이 난다. 5월 주제에 대해 내가 고른 글은 TypeScript의 기능을 활용하여 효과적으로 에러를 처리하고 방어적 프로그래밍을 적용하는 방법에 대해 다루는 글이다. 조금씩만 신경쓴다면 충분히 달성할 수 있는 접근법이라 이후에도 염두에 두어야겠다.

프론트엔드 스터디 그룹 FEDeepDive의 새로운 주제 진행

그동안 주마다 2회씩 진행하던 면접 대비 스터디를 대강 정리하고, CS 지식을 복습하기 위해 새롭게 스케줄을 정하였다. 전공 지식의 경우 범위가 너무 방대하기 때문에, 면접 대비용 책을 하나 구매해서 해당 책이 정리해놓은 내용을 기반으로 스터디를 진행하게 되었다. 특별히 나 혼자만 별개의 책을 구입하여, 내용을 조금 더 다양성 있게 꾸려보기로 했다. 언젠가 한 번은 했어야 했던 거라, 정해지니 속이 시원하다.

이력서 및 포트폴리오 업데이트

뭐 얼마나 힘든 일이라고 미뤄뒀다가 사라져간 구인 공고가 몇 개더냐… 마지막으로 진행했던 프로젝트 내용을 추가하고, 포맷을 살짝 바꿔서 이력서와 포트폴리오를 완성했다. 기존에 사용하던 원티드 이력서를 돌아보니 너무 들어간 내용이 없어서 그래… 이러니 서합을 할 수가 없지하는 생각이 들었다. 예전부터 마음에 들었던 랠릿을 이용하여 이력서를 작성하였고, Figma를 활용하여 포트폴리오를 꾸몄다. 포트폴리오도 원래는 노션을 사용했었는데, PDF로 내보내기하면 줄바꿈이 이상하게 적용되는 등 레이아웃을 마음대로 지정할 수 없어서 조금 더 자유로운 Figma로 갈아탔다. 이력서와 포트폴리오 둘 다 장기적으로는 개인 웹사이트를 통해 관리할 수 있게 할 예정이다. 특히 이력서는 프린트 친화적으로 구성하여, 웹사이트에서 바로 원클릭으로 PDF로 뽑을 수 있도록 해야겠다는 생각이다. 포트폴리오는 지금 넣은 프로젝트들을 대체할 수 있게 새로운 프로젝트들을 많이 만들 수 있으면 좋겠다.

정리

이번 달의 잘한 점

  1. 우울감의 늪에서 어느 정도 벗어난 것 같다. 아래에 쓸 것들도 사실 이게 선행되지 않았다면 불가능했겠지.
  2. 편집장 역할을 무리없이 소화해냈다. 차례로 돌아가며 한 번씩 맡게 되는데, 다음 번에는 어떤 주제를 가져갈지 천천히 생각해봐야겠다.
  3. 이력서 및 포트폴리오 업데이트는 사실 4월 안에 끝냈어야 하지 않았나 싶긴 하지만, 지금이라도 끝낸 게 어디야ㅋㅋ
  4. 유튜브에서 동기부여 영상을 보고, 집에서 조금씩이나마 운동을 해야겠다는 생각에 조금씩 몸을 움직이고 있다. 허벅다리가 터질 것 같다…

이번 달의 못한 점

  1. 이번 달은 나름 잘 산 거 같은데? 크게 못한 점은 없는 것 같다!

끝으로

물론 지금 정신을 차렸다고 앞으로 일이 잘 풀리지만은 않을 것이다. 또 기분이 바닥을 뚫고 내려가려고 할 때가 있을지도 모른다. 하지만 그럴 때마다 따사로운 햇빛을 쬐어주고, 맛난 거 먹고 푹 자고 일어나면 분명 괜찮아질 것이다. 붙을 때까지 가면 결국 붙겠지! 마음을 항시 긍정적으로 먹으려 노력해보까. 난 아직 하고 싶은 게 많이 남아있으니까!