전체 글 24

객체지향의 사실과 오해 2장 요약

인간은 본능적으로 세상을 독립적이고 식별 가능한 객체의 집합으로 바라본다. 많은 사람들이 객체지향을 직관적이고 이해하기 쉬운 패러다임이라고 말하는 이유는 객체지향이 세상을 자율적이고 독립적인 객체들로 분해할 수 있는 인간의 기본적인 인지 능력에 기반을 두고 있기 때문이다. 인간이 직접적으로 지각할 수 있는 대부분의 객체는 물리적인 경계를 지닌 구체적인 사물이다. 그러나 인간의 인지 능력은 물리적인 한계를 넘어 개념적으로 경계 지을 수 있는 추상적인 사물까지도 객체로 인식할 수 있게 한다. (ex. 오늘의 주문 내역, 어제의 주문 내역) 객체란 인간이 분명하게 인지하고 구별할 수 있는 물리적인 또는 개념적인 경계를 지닌 어떤 것이다. 현실 세계의 전등은 사람의 손길 없이는 스스로 불을 밝힐 수 없지만 소프..

개발 2021.11.29

객체지향의 사실과 오해 1장 요약

객체지향을 처음 접하는 사람들은 “객체지향이란 실세계를 직접적이고 직관적으로 모델링할 수 있는 패러다임” 이라는 설명을 많이 듣는다. 하지만 실세계의 모방이라는 개념은 객체지향의 기반을 이루는 철학적인 개념을 설명하는 데는 적합하지만 유연하고 실용적인 관점에서 객체지향 분석, 설계를 설명하기에는 적합하지 않다. 애플리케이션을 개발하면서 객체에 직접적으로 대응되는 실세계의 사물을 발견할 확률은 높지 않다. 존재하더라도 객체와 사물간의 개념적 거리는 유사성을 찾기 어려울 정도로 매우 먼 것이 일반적이다. 객체지향의 목표는 실세계를 모방하는 것이 아니다. 오히려 새로운 세계를 창조하는 것이다. 그럼 왜 실세계의 모방이라는 개념을 얘기할까? 그 이유는 실세계에 대한 비유가 객체지향의 다양한 측면을 이해하고 학습..

개발 2021.11.29

GCP에 Signed Url로 이미지 업로드하기

Signed URL 이란? - 권한을 포함한 URL 구글 드라이브나, 노션 같은 클라우드 저장 서비스를 사용하면 자료나 파일을 일시적으로 외부에 공유할 수 있는 기능이 있습니다. 클라우드에 저장된 파일의 링크(URL) 주소를 생성해 이를 다른 사람에게 전달하면 다른 사람은 링크 주소를 통해 파일을 확인하거나, 수정하거나, 내려받을 수 있죠. 위의 사진은 구글 스프레드 시트 화면인데요, 오른쪽 끝의 공유 버튼을 눌러보면 링크보기 창에서 뷰어, 댓글 작성자, 편집자 권한을 선택하여 권한을 가진 url을 만들 수 있습니다. 구글 스프레드 시트를 예로 설명했지만 AWS나 GCP 같은 클라우드에서도 Signed URL로 파일을 읽고 쓸 수 있습니다. 그럼 이제 실제 예시를 들어 Signed URL을 사용해보도록 ..

개발 2021.11.29

좋은 개발자가 되기 위한 반성의 글

2019년 4월 부터 시작된 나의 회사생활, 2년 반이 지난 지금에서야 한발짝 물러서서 그동안에 나의 회사 생활을 돌아보고 반성해 보는 시간을 갖고자 한다. 회사와 나를 분리시키기 내가 동료들에게 많이 들었던 말이다. 나는 회사에서 말이 없었다. 회사에 출근하면 모니터만 들여다 보고 있었고, 다른 사람과 잡담같은건 거의 하지 않았다. 할말이 없기도 했고.. 코드짜는게 재밌었기 때문이다. 그러다 보니 내가 회사에서 제일 일을 열심히 한다는 착각에 빠지게 되었다. 회사가 작다보니 맡은 일을 열심히 해서 회사가 커졌으면 하는 바램이 있었다. 이제 와 생각해보면 모두가 같은 마음이였지만 예전엔 나만 그런줄 알았다. 일을 안하고 잡담을 하고 있는 사람을 보면 한심한 마음이 들었지만, ‘괜찮다 나만 열심히 하면 된..

회고 2021.11.29