0.
저번 MIL에서 다짐한대로 일주일에 한 번은 꼭 글을 쓰기위해 침대에서 겨우 몸을 일으켜 노트북을 펼쳤다.
그런데 막상 WIL형태로 글을 적어보자니 마냥 공부 내용만을 적지는 않을 것 같고.. 그리고 부담스러워서..
일단은 '일기'라는 이름으로 글을 시작해야 좀 마음이 편할 것 같아서 ㅋㅋㅋㅋㅋ
당분간은 일기 형태로 하고 싶은 말들을 적어보려고 한다!
1. 기록하는 습관 들이기
블로그에 일주일에 1개씩 글 적기! 데브코스 과정 중 목표로 적었던 것 중 하나가 '기록하는 습관을 들이기' 이다. 근데 곰곰히 생각해봤는데, 뭔가 잊고 있었던 충격적 사실을 깨닫게 되었다....
사실 나는 원래 기록하는 걸 좋아해서 학창시절 내내 일기를 자주 쓰곤했고, 한창 다꾸가 유행할 때에는 살포시 탑승한 적도 있었다.... 😱 그리고 공부할 때에도 다소 쓸데없어 보이는 정보까지 다 필기로 받아 적는 사람이었다....! 어쩐지 MIL 작성할 때 묘한 기시감이 들었는데, 원래 주구장창 하던 일이라 그랬나보다. 너무 예전이라 전생같지만😅
그런데 언제부터 회고를 안하기 시작했지?
쭉 떠올려보니 바로 이유가 나왔다. 2020년 겨울 쯤에 좀 충격적인 일이 있어서, 그 때 처음으로 나의 마음을 들여다보는 것이 무척 두려웠기 때문에 일기 쓰는 것을 멈췄었다. 물론 이후에 상담센터도 다니고 시간이 훌쩍 지나니 차차 회복은 되었지만, 한 번 회고하는 것을 멈췄다가 다시 시작하기엔 여전히 무의식 속 두려움이 있었던 것 같다.
그렇게 3년을 보내고 나니, 두려움을 회피한 대가로... 내가 나 스스로에 대해 잘 모르게 되고, 내 주장에 대한 근거가 부족한 사람이 되었다. 그리고 이 기간 동안의 내 모습을 증명할 수 있는 것이 없는 사람이 되었다...... 무엇을 하든 그 과정 속에서 깨닫게 되는 것이 분명히 있을텐데, 기록하지 않으면 다 사라지니까, 아무리 많은 일을 경험했어도 막상 다른 사람 앞에서 말할 수 있는 이야기는 굉장히 한정적이게 되었다.
특히 데브코스 지원하면서 자소서-면접 과정 중 '회고 하지 않은 사람의 최후가 이런 것이구나...' 를 뼈져리게 느끼게 되어, 면접 보고 바로 티스토리를 개설했다. 내가 정말로 좋아하는 건 뭘까? 그리고 왜 좋아하는 걸까? 다시 예전처럼 내가 좋아하는 것에 대해 이야기를 주절대는 것부터 시작해야겠다고 결심했다.
그래서 기록의 중요성은 누구보다 잘 알고 있었고, 잠시 몇 년 간 멈췄던 것 뿐이니, 부담 갖지 않고 편하게 글을 써보려고 한다!
2. 그런데 너무 귀찮음
편하게 글을 써보려고 하지만 공개 글을 작성해본 건 MIL 작성했을 때가 처음이라 아직은 좀 어렵고 부끄럽다. 비공개로 작성할 때보다 신경을 더 쓰느라 시간도 오래걸려서 귀찮고. 그래도 계속 연습해봐야 이런 민망한 감정도 줄어들거고, 문장도 조금 더 다듬어져서 부끄럽지 않은 글이 될테니까, 당분간은 참고 일단 실천하자....
3. 이번 주에 내가 한 일
Vue강의를 계속 들었다. 그리고 매일 진행되는 코딩테스트 문제 풀이. 수요일에는 오랜만에 1차 팀원들과 모각코 진행 후 마라곱창전골 먹기. 토요일에는 공차 알바 가서 교육하는데 레시피 안 외워오셔서 머리 짚기(...)
4. Vue
React 말고 다른 프레임워크에 대해서 배운 건 이번이 처음이다. 처음엔 이중 중괄호문, v- 문법들도 신기했는데, 배우다보면 또 어느순간 익숙해져서 신기했다. 월요일까지 제출해야하는 vue 과제가 있는데 아마 이 과제를 다 수행하고 나면 좀 더 익숙해지지 않을까? 이러고 일기쓰고 있지만... 하 얼른 다 쓰고 과제 시작해야지 ㅠㅠ
5. 싫어하는 알고리즘 유형 이겨내기 : DP
알고리즘 스터디를 10월쯤 부터 쭉 진행 중인데, 초반에는 프로그래머스 Lv.2에 있는 문제들 중 아무거나 골라서 풀었다. 그러다가 하나의 알고리즘 주제를 잡고 집중적으로 풀어보는 게 어떻냐는 한 팀원분의 제의에 다들 동의하여 최근 3주 동안은 DFS, BFS, 그래프 (+구현) 위주로 알고리즘 문제를 풀었다. 초반 1~2주 동안은 아무래도 어려워서 다른 사람의 풀이를 많이 참고하게 되었는데, 신기하게도 3주차 쯤 들어서니 이제는 알아서 dr=[1,0,-1,0] dc=[0,1,0,-1] ... while(queue.length>0) ... 를 자연스럽게 적고있는 나의 모습을 발견할 수 있었다. 평소 어려워하던 유형이었는데도 꾸준히 푸니까 분명히 실력이 향상 되었다!
그래서 이번 주에는 DP를 한 번 풀어보고 싶다고 제안했다. 예전에 배낭문제를 한 번 접했을 때, 답지조차 이해가 안되어 백스텝했던, 나를 두렵게 했던 바로 그 유형 .... 이제는 더 이상 피할 수 없다!
당연히 아직은 막힐 때마다 다른 사람의 풀이를 어느 정도 참고하면서 풀고 있다. 그래도 예전엔 답지를 봐도 이해를 못할 정도로 어려웠는데, 이제는 적어도 접근 자체는 가능해서 기뻤다. 일단 dp문제에 대한 기본적인 이해를 시작하니까 좀 더 쉬워진 것 같다. 큰 문제를 작은 문제로 나눠서 풀기. 점화식 세우기. 그리고 dp배열을 무슨 의미, 무슨 용도로 사용할 지를 잘 설계하기.
그 중 인상적인 문제가 있었는데, 바로 백준-진우의 달 여행(small) 이다.
//dp시작
for(let r=1;r<N;r++) {
for(let c=0;c<M;c++) {
dir.forEach(([dr, dc], i) => {
const prevR = r+dr;
const prevC = c+dc;
//유효범위 체크
if(prevR < 0 || prevC < 0 || prevR>= N || prevC >= M) {
return;
}
//우주선은 전에 움직인 방향으로 움직일 수 없다.
dp[r][c][i] = map[r][c] + Math.min(dp[prevR][prevC][(i+1)%3], dp[prevR][prevC][(i+2)%3]);
})
}
}
1. dp를 3차원 배열로 만들어야 했던 접근 방식
2. 원형 큐 구현 방식에서 떠올린 인덱스 순환 방식
이 2가지 아이디어는 다른 사람의 풀이를 참고하지 않고 스스로 떠올리게 된 방식이라 인상 깊었다.
왜 인상 깊었냐면, 예전엔 이런 상황에서 3차원 배열을 활용해야겠다는 생각 자체를 떠올리지 못했는데, 알고리즘 풀이를 몇개월 간 꾸준히 하다보니 이제는 정보 저장이 더 필요하다고 느껴지면 '아, 3차원 배열로 확장시켜야겠구나' 라는 생각을 바로 할 수 있게 되었다. 꾸준히 문제를 풀어보면서 다양한 풀이 방식을 접해야 점점 문제 접근 방식에 대한 사고가 열리게 되는 것 같다. 스터디의 힘을 다시 한 번 느낄 수 있었다😇
그리고 코드 마지막 부분에서 나머지 연산자%를 이용한 건 그냥 무의식 적으로 원형 큐를 떠올리면서 작성한건데, 다른 팀원 분들이 언급해주셔서 더 기억에 남게 되었다. 같은 로직을 가진 여러 줄의 코드를 %를 사용하면 한 줄로 줄일 수 있었기 때문이다.
평소엔 CS지식의 중요성을 크게 느끼지 못하다가도 가끔 빛을 발할 때가 종종 있는데, 바로 이런 순간인 것 같다.
요즘 들어 아.. 내가 학교 다니면서 왜 프로젝트 참여에 소홀했을까, 너무 이론에만 집중하지 말걸... 하고 과거에 대한 후회를 많이 했었는데, 그럼에도 이런 순간만큼은 cs지식이 나의 강점이 되어줘서, 지난 4년이 마냥 헛되진 않은 것 같아 위로를 받았다.
앞으로도 꾸준히 공부해야겠다. cs든, 알고리즘이든, 전 부 다 ..... 🔥
6. 공차 교육 대체 어떻게 해야할까... (한탄글)
이번 문제는 '커뮤니케이션' 에 관한 이야기다. 알바를 하다보면 정말 다양한 사람들을 만나게 되는데, 이번에 나와 같이 일하게 될 사람은 안타깝게도 조금 힘든 사람이 될 것 같다는 직감이 왔다.....
그동안 파악해본 정보로는 1. 학원 데스크 알바 경험o 2. 착하시고 대답도 잘하신다 3. 그런데 레시피를 제대로 안 외워오신다...😵
솔직히 말하자면 레시피를 안 외워 온다는 행위 자체가 기본적으로 이해가 안간다. 레시피를 제대로 안 외울거면 대체 왜 카페 알바를 한걸까... 그냥 쿠팡 알바 하러가시지... 몸은 편하고 싶은데 머리도 쓰기 싫은 안 좋은 심보아닌가.... 라고 개인적으로 생각하지만, 모든 사람이 나만큼의 책임감을 지는건 아니니까, 어느 정도 이해는 한다. 알바로 평생 일 할 건 아니니까... 아니 그래도 외우는건 기본적인 태도 아닌가 하 아무튼...
그래서 일단 이번주 토요일에는, 꼭 다음 주까지 적어도 지금까지 만들어봤던 음료는 '무조건' 외워와주셨으면 좋겠다고 부탁드렸다. 그리고 지금 고민해 볼 문제는, 다음 주에도 만약 레시피를 잘 안 외워왔다면? 그리고 외워왔다면, 앞으로 스무디, 펄,차 끓이기, 기타 모든 업무들.... 어떻게 교육할까..... 하 진짜 미치겠네 교육할 게 이렇게 많은데 기본 중의 기본인 레시피도 안 외우면 나보고 교육을 어떻게 하라는거야 진짜 열받네 그라데이션 분노 오는 중
1. 레시피를 제대로 안 외워오셨다면?
이젠 못 참음 매니저 님한테도 말 해야겠다. 지금까지 준 시간이 한달이 넘어가는데 아니 그것도 다 외워오라 했으면 말을 안 함 그날 배운 것만 외워와달라고 했는데 내가 진짜 어디까지 봐줘야해 미친. 아무튼 이건 그냥 더 이상 내가 할 수 있는 일이 없다. 매니저님께 말하기. 그리고 화내야겠다. 음료 만들기 말고도 매장 관리, 펄, 차 끓이기, 폼 만들기, ... 해야할 일이 산더미 같이 많은데, 그 중 가장 기본이 되는 음료 만들기가 안되면 저는 더 이상 당신과 일 못합니다....
2. 내가 외워 오라고 한 레시피는 일단 외워왔다면?
그럼 다음주엔 스무디까지 그냥 무조건 다 외워오라고 해야겠다. 학원 알바도 해봤고 대학생이면 기본적인 공부 머리는 있다는 뜻인데 그럼 레시피 외워오는건 충분히 할 수 있는 일이잖아. 애초에 교육 기간3일 + 정식 근무3주면 이미 한달이나 시간이 주어졌는데 이걸 안 해온 건 나에 대한 기본적인 예의도 없는 거고 배려가 없는 행동이라고 생각한다. <- 이 내용을 고대로 말씀 드려야겠다...
매번 웃으면서 좋게 돌려말하는 편이지만, 이런 상황에서는 표정을 좀 굳히고 진지하게 내 의사를 표현하는 것도 중요한 것 같다. 다음주에는 꼭 단호하게 말해야겠다.
그리고 꼭 나와 책임감과 열정이 비슷한 사람과 일을 하고 싶다는 마음이 다시금 들었다. 공차에서 일 하는건 재밌지만 평생 직업으로 하고 싶지 않은 이유가 바로 이거였다. 같이 일하는 사람이 너무 복불복이다. 하긴 최저 시급 받는데 열심히 일 하고 싶어하는 사람이 얼마나 있을까... 나도 더 노력하고 꾸준히 공부할테니까, 같이 일하는 사람도 그만큼의 열정과 책임감이 있는 사람이었으면 좋겠다.