회고(6)
-
개발일지 (3월 회고)
복학 후기 이번학기에는 15학점을 신청했다. 전반적으로 과제로드가 비교적 적은 수업들을 듣거나, 성적에 대한 부담을 내려놓은 수업이 많아서 그런지 아직까지는 힘든 과제가 많이 없고 이런저런 지식들을 배우는 재미가 있다. 데이터 통신 수업은 생각보다 많이 low level을 다루지만 굉장히 재미있고, Chat GPT가 나오고 나서부터 수업 시간이 굉장히 알차졌다. 교수님께서 애매하게 설명하고 넘어가셨다는 느낌이 드는 부분이나, 내가 딴생각 하다가 놓친 부분을 굉장히 빠르게 해결할 수 있어서, 수업이 끝나고 나왔을 때 새롭게 이해하게 되는 부분들이 많아졌다. 데이터 통신 과제로 간단한 소켓 프로그래밍을 구현하는 예제가 나왔는데, 이걸 C, C++, Go, Kotlin으로 각각 구현해봤다. (GPT의 도움을 ..
2023.04.02 -
개발일지 (11월 & 12월 회고)
After Class 중간고사 / 기말고사가 끝나고, 이렇게 복무 만료 이후의 첫 학기가 잘 마무리되었다. 아직 성적은 나오지 않았지만, 던진 과목은 없어서 계속해서 장학금을 받지 않을까 생각이 된다. 굉장히 고된 3달 반여를 보낸 것 같지만, 남은 두 학기도 우선은 계속 이렇게 진행할 수 있을 것 같다. 학기 내내 들었던 생각은 나의 "앎"에 대한 기준, 그러니까 무언가를 "이해했다"라고 생각하는 기준이 동기들에 비해 그렇게 높지 않다는 것이었다. 어쩌면 이 사실을 깊게 깨달은 것이 이번학기의 가장 큰 소득일 수도 있겠다. 생각해보면 늘 내가 생각하는 무언가를 "이해했다"고 생각하는 기준은 완벽에 가깝진 않았던 것 같다. 전반적으로 꼼꼼함이 부족하다고 해야 하나, 동시에 많은 일들을 하는 것을 즐기지만..
2022.12.18 -
개발일지 (8월 회고)
Open Source Contribution 전사적으로 구글 AIP(API Improvement Proposal)를 도입해서 사용하고 있고, 이를 위해 protobuf로 정의된 IDL(Interface Definition Language)을 Go, Java, Kotlin, Typescript등의 다양한 언어로 컴파일 해서 사용한다. 프론트엔드에서는 typescript로 컴파일된 인터페이스들과 stub 구현체가 필요하기 때문에 구글의 gax-nodejs라는 라이브러리와, 이를 사용해서 proto 파일을 Typescript 인터페이스로 컴파일해주는 템플릿 라이브러리인 gapic-generator-typescript라는 라이브러리를 사용하고 있다. 실제로 해당 라이브러리들을 사용해서 컴파일된 결과물들을 가지고..
2022.08.28 -
개발일지 (7월 회고)
Back to Basics 최근 우연한 계기로 React Fiber, Hook에 대한 질문들을 받으면서 "나 프론트엔드 개발자인데 React에 대해서 얼마나 알고 있지?"에 대한 질문을 스스로에게 던져보게 되었고, 생각보다 너무 모르고 있는 것 같다는 결론을 내리게 되었다. GCP Migration이 바빠서, Backend Domain도 알아야 하니까, 프로젝트 일정도 맞춰야 하니까 와 같은 여러 변명들을 할 수도 있지만, 어쨌거나 React에 대해 잘 모르는 개발자라는 사실은 변하지 않으니 돌아오는 8월부터는 조금 정신 차리고 React를 조금 깊이 공부해보고자 한다. 좋은 기회로 React를 Code Level에서 상세하게 분석해서 올려주신 블로그를 알게 되었고, 꼼꼼히 읽어보면서 "실제로 컴포넌트에..
2022.07.31 -
개발일지 (12월 1주차 회고)
Overview 회사 내 관리자페이지를 완전히 새로 기획하여 만들게 되면서, 이전에 급하게 만드느라 추가하지 못했던 기능들과 검토할 기회조차 없었던 기능들을 추가하려고 노력했다. 그 중에 하나가 바로 프로그램을 TDD를 사용하여 작성하는 방식이었는데, 사용자의 잔고와 사내의 잔고가 오가는 일이라 (자세한 내용은 사내 규정상 밝힐 수가 없다.) 잘못된 로직의 코드가 들어가게 되면, 큰 피해가 생길수도 있기 때문에 테스트 코드의 중요성을 깨닫게 되었고, 같이 개발하는 팀원들에게 부분적으로 TDD를 도입하는 방식을 제안했었다. TDD 도입의 현실적인 한계. TDD는 단순히 프로그램을 작성하고, 그 작성한 코드가 제대로 돌아가는지를 테스트하는 테스트코드를 작성한다는 개념이 아니라는 것을 이해하였다. TDD는 일..
2020.12.09 -
개발일지 (11월 4주차 회고)
Study History 면접과 코딩테스트, 과제등의 여러 준비들로 인해서 추가적인 개발공부에 여력을 쏟을 수 없었던 한 주였다. 주로 타입스크립트 공식 문서를 조금씩 읽었다. Typescript 타입스크립트는 자바스크립트의 런타임 속성을 변화시키지 않는다. 자바스크립트 코드를 타입스크립트로 변환시키는 것은 타입 오류를 검사하기는 해도 같은 방식으로 실행시킬 것을 보장한다. 이렇게 자바스크립트 자체를 그대로 유지하면서 타입 검사만 추가하는, 말 그대로 레이어만 하나 추가하는 방식으로 작동한다. 타입 추론 타입스크립트 공식 문서에는 interface를 우선적으로 사용하고, 특정 기능이 필요할 때 type을 사용하라고 권장하고 있다. 타입스크립트는 DuckType을 지원하는데 이것이 흔히 사용되는 "타입 추..
2020.12.09