일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- googleapis
- AWS
- futureself
- 세이노의가르침
- 역행자
- 퓨처셀프
- BOOK
- 오브젝트
- 독후감
- Validation
- 스터디
- nodejs
- typescript
- OOP
- 조영호
- 부자아빠가난한아빠2
- 클린코드
- 북스터디
- 객체지향의사실과오해
- Object
- 일상속귀한배움
- UNiQUE
- 자청
- PRISMA
- serverless
- validator
- nodemailer
- Study
- 개발자
- Nestjs
- Today
- Total
목록분류 전체보기 (83)
우당탕탕 우리네 개발생활
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/6XkP6/btsHcIDruSb/FsoJz5sF5Nyj7kTfib1Pt1/img.png)
객체지향에 대한 공부를 시작하게 된 계기올해 설정한 백엔드팀의 긴 로드맵 중 하나가 객체지향에 근간한 개발하기이다. 그 이유 중 하나는 '코드의 책임 분리'가 확실해질 수 있기 때문이다. 현재 무거운 로직들의 경우 책임 분리가 명확하지 않아 덕지덕지 꼬여있다. 이로 인해 코드에 대한 이해가 어렵고 유지 보수는 엄두가 나지 않는다. 점점 살이 붙으면서 더 유지보수가 힘들어지고 있는 상황을 긴호흡으로 객체지향 베이스로의 전환을 통해 해결해보자고 의견이 모아졌다. 근래 합류한 훌륭한 동료가 객체지향에 대한 공부를 꾸준히 해왔고 실무에서도 적용해본 경험이 있어서 객체지향 도입에 대해 리딩을 해주고 있다. 최근 새로운 feature를 개발하면서 동료가 객체지향 방식으로 작성한 코드를 리뷰할 기회가 생겼는데 다..
필요한 기능은 단순히 알맞은 데이터를 엑셀에 매핑한 후 해당 엑셀파일을 이메일로 전송하는 것이었습니다.파일을 물리적으로 저장할 필요가 없었기에 메모리상에서만 파일 객체를 만들고 이를 이메일에 담아 전송할 수 있는 로직을 구현해야 했습니다. nestjs 또는 nodejs 환경에서 이러한 직접적인 레퍼런스를 발견하지 못하였고 여러 가지 힌트를 얻어 직접 구현을 해봤습니다.힌트는 다음과 같았습니다.1. xlsx 라이브러리를 통해 만들어지는 xlsx객체는 다양한 형태(file, string, buffer, base64string 등..)의 객체로 변환이 가능2. MIME타입의 이메일 바디를 raw하게 작성할 때 파일은 base64string으로 보통 변환하여 포함3. nodemailer의 attachment필드..
당장에 더 완벽한 대안을 낼 수 있는 상황이 아니라면, 이왕에 결정된 그리고 결정될 사안이라면 조금이라도 빨리 유연해져서 그 결정된 사안이 어떻게 하면 더 좋은 결과가 될 수 있을지 고민하는 것도 좋을 듯하다.결과가 어떨지 확신하지도 못하면서 마치 그런 것처럼 행동하지 말자. 필요 이상으로 걱정하지 말자.불필요한 말은 구태여 하지 않기로 다짐했는데 그냥 내뱉을 수 있는 대로 또 내뱉었다. 차라리 후련하기라도 했으면 덜 후회스러웠을까.신중하게 행동하자.그래도.. 가끔은.. 잘 모르겠다.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/LntUf/btsGdZ1fwlF/zLEe7xSSsxhbFIxNOHbmi0/img.png)
nestjs 프로젝트에 급하게 이메일 전송기능을 구현할 일이 생겼습니다. 이 기능에는 전송할 이메일에 파일을 첨부할 수 있는 필수 요청사항이 있었습니다.이미 기존 프로젝트 코드 중 AWS SES를 사용할 수 있도록 aws-sdk 라이브러리를 이용하여 유틸성 이메일 서비스를 구현해 놓은 것을 확인했었기에 해당 코드의 재사용을 계획했습니다. 하지만 이미 구현되어 있는 유틸성 이메일 서비스는 파일 첨부를 전혀 염두에 두지 않은 채로 개발되어 있었습니다. 일부 옵션들을 추가하며 파일 첨부를 구현할 수 있을까 가능성을 살펴봤지만 불가능했습니다. aws-sdk를 사용하면서 이메일에 파일 첨부를 하는 방법은 있었습니다. Multipurpose Internet Mail Extensions (MIME) type ema..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/10i2C/btsF9KcfCVO/YKITjj6CeMjs8QRhKIfUVK/img.png)
여느 때와 같이 개발을 하던 중 다음과 같은 상황에 직면했습니다. const input: { catId: number | null; dogId: number | null; fishId: number | null; counts: number; name: string; } = /**/ const data: { catCounts?: number; catName?: string; dogCounts?: number; dogName?: string; fishCounts?: number; fishName?: string; } = {}; if (input.catId) { data.catCounts = counts; data.catName = name; } else if (input.dogId) { data.dogCou..
링크드인이라는 플랫폼을 하다 보면 수많은 사람들의 글을 접할 수 있게 된다. 다양한 직종의 사람들이 심지어 각기 다른 개성을 가지고 저마다의 이야기를 작성하는 것이다.수많은 사람들의 글들을 읽다 보면 여러 형용구들을 사용하여 멋들어지게 작성한 글들도 있는가 하면 문법도 틀리고 제멋대로지만 집중하게 되고 마음을 쏟게 되는 글들이 있다. 이런 분들의 경우엔 앞으로의 이야기가 더 궁금해서 먼저 일촌을 신청드리곤 한다. 앞으로도 글솜씨를 신경 쓰기보다 내 이야기를 더욱 진정성 있게 작성하기로 다시 한번 다짐해 본다.우연히 들린 내 공간에서 누군가는 나의 이야기를 반기길 바라본다.좋은 글? 그저 당신의 이야기가 좋습니다.
항상 용모를 단정하게 할 것! 다양한 분야에서 존경받는 분들이 공통적으로 얘기하는 것 중 하나이다. 수많은 사람들은 첫인상을 통해 많은 것을 결정한다. 심지어 중요한 결정들 역시 첫인상을 통해서 이루어지는 경우들도 많은 것 같다. 사람의 내면이 진정한 가치인 것은 변함이 없지만, 첫인상을 통해 내면을 탐구할 필요를 못 느끼는 경우가 허다한 것 같다. 위 얘기를 곱씹어보면서 불현듯 묵혀지고 있는 나의 이력서가 생각났다. 내 이력서는 notion을 통해 작성되어 있고 이 링크는 나의 github와 linkedIn 등에 개방되어 있다. 내가 신경을 쓰지 못하고 있는 평상시에도 수많은 사람들이 나의 이력서를 볼 수 있는 것이다. 수염관리를 안 하고 머리는 떡져있는 등의 외면을 보면 사람들이 기피하듯이 오래 묵혀..
https://youtu.be/3aokY48UZkk?si=YvMfgraC6XaVLKVj 출근하면서 위 영상이 눈에 들어왔다. 요즘 들어 나 자신이 어떤 개발자가 되고 싶은지에 대한 사색에 잠길 때가 많았는데 이에 도움이 될 것 같았다. 말씀을 나눠주신 '네이버 팀장님'으로 지칭되시는 분은 5년 동안 네이버에서 근무하시면서 약 1년 반정도는 팀을 대표하는 팀매니저 역할을 수행하셨다고 한다. 그동안 수많은 면접을 보면서 정립한 주관적인 여러 기준(good, normal, bad)을 시원하게 공유해 주셨다. 좋은 말씀을 많이 나눠주셨는데 그중에서도 한 부분이 와닿았다. 세계에서 가장 유명한 축구선수는 메시와 호날두이다. 하지만 메시 11명으로 구성된 축구팀은 매력적이지 않을지도 모른다. 축구팀에는 공격수, 수..