Don't say sorry.
·
Review
1. 올해 초, 영어 회화 스터디를 신청하기 전 두려운 것이 하나 있었다.'내가 말하는 속도가 너무 느려서 답답하다고 느끼면 어떻게 하지?' 덕분에 첫 스터디 때 연신 "sorry"를 남발해댔고, 그 때마다 study leader는 이렇게 말했었다."We don't allow 'sorry' in our study!" leader를 포함한 모든 study members는 내가 아무리 말을 버벅여도 끝까지 인내심있게 경청해주었고, 덕분에 나는 그만두지 않고 free talking class까지 올라갈 수 있게 되었다. newcomer가 올 때마다, 그들이 내게 그렇게 해주었듯이 나 또한 "Don't say sorry"라고 건네주면서 그들을 안심시켰다.지금도 그들의 말을 경청하고, 적절한 호응을 하고, 새롭게..
리팩토링이란 무엇인가
·
Review
1. What is Refactoring? 📌 The Misconception I Had About Refactoring나는 지금껏 리팩토링과 관련한 저서를 읽어본 적도, 따로 연구해본 적도 없었다.그렇기에 스스로 정의했던 리팩토링이란 현재 기능을 그대로 유지한 채 더 나은 코드로 개선하는 작업 정도였다. 규모와 무관하게 나는 언제나 이상적인 상태를 망상하며 현재 상태가 더 나아질 것이라는 희망을 가졌다.그리고 실제로 "리팩토링"이라 자칭했던 행위를 수행할 때마다, 언제나 한 번에 이상적인 상태 혹은 근접한 상태로 도달하게 만들 수 있을 것이라는 오만함에 빠져있었다. 세 달 전쯤 AI 주도 개발 관점에 대해서라는 글을 작성했었다.사실 이 글에는 후일담이 존재하는데, 이 코드를 리팩토링을 하고 이에 대한..
[Clean Architecture] 아키텍처 (1)
·
Reference/Clean Architecture
아니, 안 그래도 이번 건 내용이 너무 길어서 분리했는데 왜 이렇게 많은 거지.임시저장은 내용이 길어지면 뒷 내용이 잘려버리는 이슈가 있어서 그냥 게시해버렸다.1. 아키텍처란? 📌 들어가며잘 모르겠지만, 소프트웨어 아키텍처는 기술적 성취의 정점에 서 있다고 한다."젊고 야심 찬 소프트웨어 개발자라면 한 번쯤은 소프트웨어 아키텍트가 되고 싶다고 꿈꿔 보지 않았을까?"라고 하지만, 옛날에 쓰여진 책이라 그런 걸 수도...요새는 잘 못 본 것 같기도 하고, 기술적 정점에 서 있다는 느낌을 주진 않는 것 같다. 여튼 소프트웨어 아키텍트가 되더라도 여전히 프로그래머(여야 한)다.아키텍트를 바라보기 위해 코드를 벗어나 고수준의 문제에 집중해야 한다는 말을 하지만, 현실은 직접 경험해보지 않는다면 올바른 아키텍처를..
[Clean Architecture] 컴포넌트 원칙
·
Reference/Clean Architecture
1. 컴포넌트 📌 컴포넌트의 간략한 역사컴포넌트는 배포 단위다.이번 장은 말 그대로 "독립적 배포 단위"가 가능해진 역사에 대해 설명해준다. 나도 잘 모르겠지만, 먼 옛날 옛적 c언어 개발자들을 "요즘 개발자 놈들"이라 부를 정도의 선조 시대에는 프로그램이 차지할 메모리 위치와 레이아웃을 프로그래머가 직접 제어를 했다고 한다.즉, 절대 주소 바이너리 값을 사용했다는 말인데, 컴파일러에게 메모리 주소에 로드할 코드를 생성하라고 컴파일러에게 알려줬다고 한다. 이런 환경에서 라이브러리 함수에 접근하려면?소스 코드는 애플리케이션으로 가져와서 단일 프로그램으로 컴파일해야만 했다.그런데 그 시절의 HW를 고려했을 때 이건 노역에 가까운 행위임이 뻔했다.메모리도 엄청 작은데, 라이브러리도 매번 함께 컴파일을 한다고..