어쩌다 이 곳에 왔냐면
웹이 그저 재밌어서 프론트엔드 개발 공부를 하게 된지 6개월이 지날 무렵 ‘내가 과연 실무에서 프로젝트에 참여할 수 있을까?’ 라는 생각이 들었다. 강의, 책, 토이 프로젝트 등으로 배워갈 수 있는 건 분명 존재하지만 한계가 있다고 생각했고, 백엔드와 함께 프로젝트를 처음부터 만들어봐야 실제로 공부한 것들이 어떻게 쓰이고 돌아가는지 알 수 있다고 생각했다. 마침 현장 실습을 진행 중인 친구가 몰랐던 것들을 많이 배울 수 있는 꼭 필요한 과정이라기에 관심이 생겼고 다행히 실무에서 현업자 분들을 통해 배울 수 있는 좋은 기회가 생겨 지원! 그리고 21년 3월, 드디어 데일리펀딩 인턴이 되었다.
인턴이 된 나
학부에서 컴퓨터공학을 전공하며 웹, 암호, 통신회로 등 다양한 공부를 했었다. 그 중에서도 가장 재밌게 들었던 수업은 웹 프로그래밍 수업이었다. 코드 한 줄을 입력하면 바로 바로 원하는 화면이 띄워지는 것이 학부 생활 동안 가장 신기하고 흥미로웠다. (매번 한번에 돌아가는 코드가 없었..) 이후 프론트엔드 개발 공부를 하기 시작했고 현재는 차근차근 배우며 알아가고 있는 중이다.
일지를 남기기로 결심하다
평소에도 Git이나 개인 블로그에 오늘 공부한 내용을 정리하는 편이고, 개인 실습 프로젝트를 하면 무엇을 배웠는지 기록하는 과정은 나에겐 굉장히 도움이 되었고 뜻 깊었었다. 이번에 총 4개월의 인턴 활동기간에도 배운 것들을 머릿속으로 기억만 해두고 결과물만 띡, 나오는 것보다 정확히 어떤 것에 고민했었고 어떻게 해결했는지를 기록해두는 것 또 하나의 공부고 소중한 경험이라 생각하여 일지를 남기게 되었다. (새빨간 화면에 또다시 스택 오버 플로우를 뒤적거리며 스트레스를 받지 않기 위함도 있다.)
앞으로 내 일지에는
아직까지는 클론 프로젝트를 수행해보면서 자신이 맡은 사이드 언어와 웹의 흐름에 대해 익히는 기간이기 때문에 기존에 알던 것들을 다시 상기시키고 적용해가는 부분들이 더 많지만, 앞으로 실제 데일리 펀딩에서 이용될 수 있는 서비스를 직접 맡아보게 되면서 겪게 될 문제들이 많을 것 같다. 잘 못한 결과물이더라도, 보여주기 창피한 코드라도 용기를 가지고 고민했던 내용들, 해결한 방법들과 함께 그때그때 정리해 공유해가면서 개발일지에 기록해둘 계획이다.
지난 3주를 어떻게 보냈냐면
새롭게 배운 내용 : Typescript
React를 공부하면서 ‘React Native, Redux도, Typescript도, Webpack도 공부해보면 좋겠다!’ 하면서 욕심만 많아지다보니 정작 제대로 공부한 것이 없었다. 인턴을 시작하게 되면서 온전히 리액트와 타입스크립트를 배울 수 있는 기회가 주어져서 재밌게 배울 수 있었다.
내가 이해한 Typescript에 대해 다음과 같이 설명할 수 있다. Javascript는 엄격한 규칙이 없고, 코드 관리도 편해 사용하기 쉽다는 장점이 있지만, 규모가 큰 프로젝트를 진행하거나 버그를 최소화 하고 싶을때 한계점이 분명 존재한다. 이로 인해 Typescript가 탄생하게 되었다. Typescript는 언어의 정적 타입을 명시해줌으로써 타입을 예측 가능하게 하고, 읽기 쉬운 코드로 Javascript를 더욱 효율적으로 사용할 수 있게 해준다!
아직은 Typescript를 배워가는 단계이기에 익숙치 않지만 앞으로 더 깊이 공부해보면서 친해지고 싶은 언어이다 :)
고민한 내용
현재 진행하고 있는 미니 프로젝트를 하면서 서버 쪽 작업물과 내 작업물을 연결해보는 과정에서 CORS 에러가 발생했던 적이 있다. 혼자 공부하면서 프로젝트를 해볼 때는 내 컴퓨터에서만 작업하니까 문제가 생겼던 적이 거의 없었는데, 처음 보는 에러가 발생하니 당황스러웠다. 에러 원인은 CORS Policy에 의해 데이터 교환이 차단되고 있었다. 이럴 땐 프론트와 서버 쪽에서 origin에 대한 추가 세팅을 해주어야한다. 동기 Jyeon님과 함께 이것저것 고쳐보고 확인해보면서 계속 연결을 시도해보았지만…
결국 MIT님께 여쭤보았고 도움을 받아 다음날 해결할 수 있었다. ( _ _ b) 서버에서는 코드 한 줄이 빠져있었고, 프론트에서는 url을 입력하는 과정에서 마지막 문자에 ‘/’ 슬래시가 빠져있었다. 퇴근할 시간에 발생한 에러여서 굉장히 찝찝한 상태로 퇴근을 했었는데 막상 해결하고 나니 너무 허무하면서도 다행이었다. 문제 없이 개발을 해내는 것도 중요하지만, 문제가 생겨도 침착하게 문제 해결할 수 있는 능력도 개발자에게 꼭 필요한 역량이라는 것을 새삼 다시 느낄 수 있었다.
돌이켜 생각해보기
- 리액트 폴더 관리에 대해서 질문을 통해 배운 것
처음 프로젝트를 시작할 때 폴더를 어떤 식으로 구성해야하고, 어떤 식으로 컴포넌트를 나눠야하는지 감이 잘 안잡혔다. 이전에 공부하면서 만들어봤던 클론 프로젝트에서는 보여지는 페이지의 컴포넌트들의 수가 적었기 때문에 한번도 고민해본적이 없었던 것 같다. 이런 부분은 검색보단 실제 여러 프로젝트를 경험해보신 분께 도움을 요청하는 것이 낫다고 생각하여 May님께 질문을 드리게 되었다. 프로젝트 팀원들 간에 각 폴더에 대한 어떤 규칙이 따로 존재하는 것 같았다. 폴더마다 주어진 역할이 존재했고, 폴더 내부에서도 또 다른 규칙들로 구성되어 있다는 것을 알 수 있었다. 내가 생각한 로직에 따라 ‘이 폴더엔 이 파일이 들어가는게 좋겠어요!’ 라는 May님의 조언에 프로젝트를 시작할 수 있었다. 만약 지금보다 큰 프로젝트를 수행하게 된다면 더욱 더 도움이 될 것 같다. 바쁘실텐데도 굉장히 자세하고 친절하게 답변해주셔서 감사했다! ( _ _b)
- 누구에게나 쉬운 도구, 나에겐 꽤 복잡했던 부트스트랩
프론트엔드 공부를 하면서 부트스트랩은 꽤나 많이 들어본 도구였다. 실제로 사용을 많이 하지 않았던 이유는 부트스트랩에 대해 잘 몰랐을 시기.. 뭔가 부트스트랩을 사용하면 꼼수 부리는 것 같은 기분(?)이었다. 매번 CSS로 직접 하나하나 만들어보면서 CSS를 익히는게 더 중요하다고 생각했었다. 쉽고 편리하다는 부트스트랩을 공부해보고 직접 사용해보면서 발생했던 문제는 CSS 충돌이었다. 내가 원하는 디자인이 적용되지 않고 기본 CSS가 적용되는 것이었다. 항상 최소 1시간은 문서나 구글링을 통해서 해결책을 찾아보고 못찾으면 질문을 해야겠다는 생각으로 열심히 이것저것 만진 결과 해결책을 찾았을 때의 그 뿌듯함이란...
사실 찾는데 오래 걸리진 않았다. 클래스 이름의 가장 뒤에 자신이 만든 클래스 이름을 적어주면 되는 문제였다. 하지만 React bootstrap을 사용하면서 div태그가 아닌 컴포넌트 이름들로 스크립트를 구성하다 보니 수정하고 적용하는데 시간이 꽤 소요되었던 것 같다.
‘디자인 면에선 창의성이 부족한 내가 왜 진작 편리한 도구를 쓰지 않았을까..’ 하는 생각이 들기도 했지만, 이제서야 어떻게 쓰이고 사용하는지 알게 되었으니 앞으로도 종종 사용하게 될 것 같다.
문득 떠오른 아이디어
혼족들의 배달비, 최소 금액 부담
- 혼자 시켜먹을 땐 사실 배달비가 신경쓰인다, 최소 금액도.
1. 예전에는 책자 여러 개 모으면 상품권을 줬었는데 (너무 옛날인가…), 온라인 플랫폼이 핫한 만큼 배달 업체마다 쿠폰을 둬서 일정 개수 모으면 배달비 무료, 음식 할인 쿠폰 등 존재하면 좋겠다. 배달의 민족에 자신의 업장을 등록하려면 배달 가능 거리에 따라 매달 사용료(?)를 내는 것으로 알고있다. 실제로 아르바이트를 하면서 가게 사장님도 사용료에 비해 배달 건이 많지 않을 것 같아 부담스러워서 배달 업체를 사용해야할지 고민이 된다고 하셨다. 쿠폰, 할인 이벤트가 생기면 단골도 생기고 부담도 덜 것 같다.
- 장점이자 한계점 코로나로 인해 배달이 늘어나긴 하지만, 홀 영업을 주로 하시는 분들이나 배달 운영 구조를 잡기 어려운 업계의 경우 자영업자 분들이 많이 힘들기 때문에 현실적으로 한계가 있는 부분이라고 생각한다.
2. 당근마켓 앱처럼 지역 설정을 하고, 같은 동네(반경 n미터 이내) 사람들이 같은 가게에서 음식을 시켜먹고 싶을 때 최소 주문 금액을 맞춰서 한번에 주문할 수 있도록 도와주는 앱이나 커뮤니티가 따로 존재하면 괜찮을 것 같다.
삐빅, 월요병 초기입니다
“월요병 생성기 = 지옥철”
나는 지하철을 2번 환승해서 출근한다. 마지막엔 9호선을 타는데 지옥철이 따로 없다. 분명 지하철은 꽉 찼는데 엉덩이로 들어가신다...( ᵕ̣̣̣̣̣̣﹏ᵕ̣̣̣̣̣̣) 만약 9호선 급행을 타게 된다면 그냥 지하철에 몸을 맡겨야 한다.
차라리 일찍 나와서 뚱뚱해서 터져버릴 것 같은 지하철 하나를 보내고 나면 여유롭게 아아와 함께 회사에 출근할 수 있다. (얼죽아 만쉐)
재밌는 건 퇴근할 땐 누구보다 빠르게 내려가 꾸역꾸역 9호선 급행을 탄다. 문제는 빠르다고 해서 급행을 탈 수가 없다. 네,, 덕분에 월요병 생겼어요,,
인턴 3주차의 일상, 그리고 소감
- 처음 왔을 땐 모든 게 어색하고 긴장 돼서 정신없이 공부하다 보면 퇴근 시간이었다. 평소에 아점으로 늦게 끼니를 때우곤 했는데, 요즘은 하루 종일 컴퓨터 화면을 보면서 뚱땅뚱땅 키보드를 두드리다 보면 점심을 그렇게 먹고도 또 배고파진다. ‘뭔가 열심히 했구나’ 하는 생각에 뿌듯할 때도 있지만, 그것도 잠시 빨리 집 가서 밥 먹고 싶다. 우리 회사는 간식도 많고 음료도 다양해 근무 시간에도 자유롭게 먹을 수 있어서 좋지만.. 난 밥순이기에...( ᵕ̣̣̣̣̣̣﹏ᵕ̣̣̣̣̣̣)
- 개발 공부를 하다 잠깐 쉴 때 주변을 돌아보면, 모든 분들이 정말 열정적으로 자신이 맡은 일에 임하시는 것 같다. ? 조금 지친다 싶다가도 그 분들의 열정적인 에너지에 나도 모르게 다시 집중할 수 있게 되는 것 같다. ? 그리고 퇴근 하기 전에 일일 업무 사항과 익일 업무에 대해 계획하여 서로 공유하고 하루를 마무리 하는 문화가 굉장히 인상 깊었다. 지금도 계획하는 습관은 가지고 있지만 실천하는게 어려운 것 같다. 행동력 100%까지 화이팅!