분류 전체보기(289)
-
산업기능요원 전직 후기
글을 들어가기에 앞서 전직하는 모든 과정들에 도움을 준 여러 동기들과 친구들, 회사 동료들에게 감사의 말씀을 전합니다. Overview 2019년 7월 1일 산업기능요원의 현역 재배정 TO를 받기 위해 강남에 있는 IT 중소기업에 프론트엔드 개발자로 취직했습니다. 4개월 후인 2019년 11월에 회사가 현역 재배정 TO를 받게 되었고, 1순위 대기자로 입사하여 현역 산업기능요원으로 복무하게 되었습니다. 1년 정도 지나고 이런저런 경험들을 하다가 이직을 결심하게 되었고, 모든 절차를 마무리하고 2020년 12월 21일 새로운 회사에 입사하게 되었습니다. 이번 포스팅에서는 산업기능요원으로, 특히 IT분야에서 복무하고 있는 분들이라면 한 번쯤은 고민해보았을 전직(이직)에 대한 저의 고민과 전직하는 전반적인 과..
2020.12.09 -
개발일지 (12월 2주차 회고)
Overview 이번 주에는 주로 Django를 사용한 OOP 구현에 초점을 맞추어서 공부하였다. Django로 서버를 제대로 구현하려는 시도 자체를 사실상 처음 해본 것이었기 때문에, 디자인 패턴이나, 최적화같은 부분들에 신경쓰기보다는 기본적인 REST API를 제대로 구현하는 부분에 중점을 두고 공부했다. Javascript와 Python은 비슷하면서도 다른 부분이 많아서, 어느 정도 Django로 능숙하게 API를 작성하게 된 후에는, 이 두 언어의 차이점을 명확하게 이해하는 과정이 필요하겠다는 생각이 들었다. 이 부분은 따로 정리해서 중요한 부분만 골라 포스팅해볼 생각이 있다. Object Oriented Programming 객체 지향에 관한 지인들의 교재 추천(객체지향의 사실과 오해)을 받아 ..
2020.12.09 -
개발일지 (12월 1주차 회고)
Overview 회사 내 관리자페이지를 완전히 새로 기획하여 만들게 되면서, 이전에 급하게 만드느라 추가하지 못했던 기능들과 검토할 기회조차 없었던 기능들을 추가하려고 노력했다. 그 중에 하나가 바로 프로그램을 TDD를 사용하여 작성하는 방식이었는데, 사용자의 잔고와 사내의 잔고가 오가는 일이라 (자세한 내용은 사내 규정상 밝힐 수가 없다.) 잘못된 로직의 코드가 들어가게 되면, 큰 피해가 생길수도 있기 때문에 테스트 코드의 중요성을 깨닫게 되었고, 같이 개발하는 팀원들에게 부분적으로 TDD를 도입하는 방식을 제안했었다. TDD 도입의 현실적인 한계. TDD는 단순히 프로그램을 작성하고, 그 작성한 코드가 제대로 돌아가는지를 테스트하는 테스트코드를 작성한다는 개념이 아니라는 것을 이해하였다. TDD는 일..
2020.12.09 -
개발일지 (11월 4주차 회고)
Study History 면접과 코딩테스트, 과제등의 여러 준비들로 인해서 추가적인 개발공부에 여력을 쏟을 수 없었던 한 주였다. 주로 타입스크립트 공식 문서를 조금씩 읽었다. Typescript 타입스크립트는 자바스크립트의 런타임 속성을 변화시키지 않는다. 자바스크립트 코드를 타입스크립트로 변환시키는 것은 타입 오류를 검사하기는 해도 같은 방식으로 실행시킬 것을 보장한다. 이렇게 자바스크립트 자체를 그대로 유지하면서 타입 검사만 추가하는, 말 그대로 레이어만 하나 추가하는 방식으로 작동한다. 타입 추론 타입스크립트 공식 문서에는 interface를 우선적으로 사용하고, 특정 기능이 필요할 때 type을 사용하라고 권장하고 있다. 타입스크립트는 DuckType을 지원하는데 이것이 흔히 사용되는 "타입 추..
2020.12.09 -
개발일지 (11월 3주차 회고)
Feedback 디자인 시안은 정말 중요하다. 웹 개발자가, 특히 작은 규모의 프로젝트에서 일하는 웹 프론트엔드 개발자가 빠지기 쉬운 함정 중의 하나는(내가 빠져서 그런가), 디자인 시안에 맞추어 개발하지 않고, 자신의 개발 편의에 맞춰 시안을 조금씩 조금씩 자기 입맛에 맞게 수정하려는 태도인 것 같다. 디자인 시안 (이번 같은 경우는 Zeplin)에 명시된 margin, color, font 등을 엄격하게 준수하고, 애매한 점이 있으면 (시안에 나오지 않는 애니메이션 효과 등) 해당 사항에 대해서 적극적으로 디자인 팀과 소통하여 의사결정을 하는 단계가 필요하다. 유들 있는 Validation. 프론트엔드를 개발한다고 하면 거의 대부분의 프로젝트에서 빠지지 않는 것이 Form Control이다. 사용자의..
2020.11.20 -
개발일지 (11월 2주차 회고)
Feedback - 디자인 패턴에 대한 깊이 있는 이해가 필요하다. Overview React Element를 하나로 감싸는 이유? CRA eject란? eject는 Create React APP을 통해서 애플리케이션을 설정했을 때, 감춰져있는 모든 설정들을 밖으로 추출해주는 명령어이다. 한번 실행하면 되돌릴 수 없으며, babel, webpack등의 기본적인 설정들이 추출되어 나온다. Infinite Scroll vs Virtual Scroll 무한 스크롤은 인스타그램 피드나, 페이스북 피드처럼 끝없이 스크롤 할 수 있도록 구현하는 방식으로, 웹 브라우저에서는 ScrollTop값을 이용해서 스크롤의 끝에 닿았는지를 판단한 후에 API Call을 통해 추가 함수를 로딩해오는 방식이다. 다만 수많은 피드들..
2020.11.16