일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- BOOK
- serverless
- Validation
- googleapis
- 클린코드
- 일상속귀한배움
- Nestjs
- 객체지향의사실과오해
- 북스터디
- 자청
- nodejs
- AWS
- validator
- 오브젝트
- UNiQUE
- Study
- 퓨처셀프
- nodemailer
- 조영호
- OOP
- 스터디
- 독후감
- typescript
- Object
- 부자아빠가난한아빠2
- PRISMA
- 개발자
- 역행자
- futureself
- 세이노의가르침
- Today
- Total
목록분류 전체보기 (83)
우당탕탕 우리네 개발생활
약 5 달이라는 시간 동안 아침 2시간(지하철 1시간 + 이른 출근 후 1시간)을 오롯이 책 읽기 또는 글쓰기에 투자하고 있다. 요즘은 최진기 선생님의 이라는 책을 읽으면서 공부를 하고 있다. 영어 단어를 공부할 때 어원을 이해하며 공부하면 더 습득이 잘 되듯이 그림까지 동원하여 단어를 최대한 쉽게 이해할 수 있도록 고민하신 흔적들이 보여서 좋다. 책을 통해 공부를 한 지 1주 정도가 지났고 진도는 절반 조금 넘게 나간 것 같다. 앞으로도 1주 정도는 더 이 책에 시간을 투자하게 될 것 같다. 가끔씩 이렇게 비교적 장기간으로 한 주제에 대해 공부하는 것을 즐긴다. 기간이 길어지는 만큼 특정 주제에 대해 고민하는 시간이 늘어나게 되고 더 깊이 있게 빠져들게 되는 것 같다. https://www.youtub..
최근 prisma 라이브러리에 대한 typing이 얼마나 섬세하게 작성되어 있는지 새삼 느낄 수 있었다. const updateUser = await prisma.user.update({ where: { email: 'viola@prisma.io', }, /** Type '{ email: string; }' is not assignable to type 'UserWhereUniqueInput'. Object literal may only specify known properties, and 'email' does not exist in type 'UserWhereUniqueInput'.ts(2322) index.d.ts: The expected type comes..
지은이 찰스 아서(Charles Arthur)는 영국 가디언지의 IT 전문기자, 인디펜던트, 뉴 사이언티스트에서도 근무한 바 있다. 찰스 아서가 기술 및 과학 관련 기자로 활동한 기간은 줄잡아 25년이 넘는다. 그동안 기술산업분야의 쟁쟁한 인물들을 모두 다 만났다. 수많은 행사에서 빌 게이츠, 스티브 잡스, 구글의 임원들을 인터뷰했고, 애플, 구글, 마이크로소프트의 활동에 대한 광범위한 취재 활동을 벌여왔다. 현재 기술과 관련된 모든 주제에 대해 강연과 저술, 블로그 활동을 하고 있다. 이 책의 표지에 적힌 문구(애플, 구글, 마이크로소프트의 검색, 음원, 스마트폰, 태블릿을 둘러싼 전쟁의 기록)와 동시에 책의 두께(약 430페이지)를 보면서 이 대단한 기업들간의 전쟁이 정말 치열했겠구나 짐작을 해볼 수..
최근 운영하고 있는 서비스에서 이슈를 발견했습니다.@Injectable()class TestProvider { constructor() {} @Cron('0 */10 * * * *') async methodA(): Promise { // group에 대한 데이터 처리 // 하위 item에 대한 데이터 처리 // 3rd party API } @Cron('0 */10 * * * *') async methodB(): Promise { // 하위 time에 대한 데이터 처리 // 3rd party API }}이슈가 있는 서비스로직에서는 특정 기능과 관련된 서드파티 API를 호출해야 합니다.이 서드파티 API를..
저희 백엔드 팀에서는 이미 서비스 내에 신고처리나 특정 이슈발생(결제이슈 등)을 Slack의 Incoming Webhook으로 받아보고 있습니다. 근래 결제이슈에 대한 Incoming Webhook을 한 가지 더 설정할 일이 생겨서 레퍼런스를 찾던 중 Slack console에서 Incoming Webhook을 등록하는 과정을 찾기가 어려웠습니다. 다양한 레퍼런스들을 통해 결국 해결했고 이 과정을 정리해두고자 합니다. 우선 아래와 같이 https://api.slack.com에 접속해서 Your apps를 누릅니다. 아래와 같이 Create New App을 할 수 있습니다. 새로운 앱을 만든 다음에 그 안에 Webhook서비스들을 여러 개 만드는 구조이기 때문에 추후 webhook에 대한 관리가 용이할 ..
저는 Nestjs + typescript 기술 조합으로 백엔드 개발을 하고 있습니다. 최근 개발을 하면서 두 가지 궁금증이 생겼습니다.- class-validator를 사용하여 decorating한 클래스는 어느 상황에서든 validation을 하는가?- 클래스 멤버 뒤에 붙는 ! 과 ? 는 어떤 역할을 하는가? 위 궁금증들을 해결하면서 정리한 생각을 기록할 겸 공유하려고 합니다.class-validator를 사용하여 decorating한 클래스는 어느 상황에서든 validation을 하는가?제가 있는 백엔드 팀은 서비스코드의 리턴 값과 타입이 일치하는 mapper 클래스 파일을 만들고 이 mappper 인스턴스에 값을 담은 후 리턴을 하는 규칙이 있습니다.mapper클래스 내부에는 class-valid..
너는 계속해서 꿈을 추구하기보다 개인적인 생존을 더 걱정하고 있다. 너는 두려움 때문에 열정을 잃었다. 계속해서 가는 가장 좋은 방법은 가슴속의 열정을 계속 타오르게 하는 것이다. 네가 무엇을 하려 했는지 늘 기억해라. 그러면 여행은 쉬워질 것이다. 자신에 대해 더 걱정하기 시작하면, 두려움이 너의 영혼을 갉아먹을 것이다. 열정은 사업을 만든다. 두려움이 아니다. 너는 여기까지 왔다. 너는 가까이 왔다. 이제 와서 뒤돌아보지 마라. 네가 무엇을 하려 했는지 기억해라. 그런 기억을 가슴속에 간직하고 불꽃을 꺼뜨리지 마라. 너는 언제든지 그만둘 수 있다. 그런데 왜 지금 그만두느냐? 세상을 살다 보니 돈을 바라보게 된다. 그렇게 돈을 바라보며 살다 보니 다양한 두려움들이 쌓이게 되었다. 돈을 바라보는 것이 ..
사람들의 말을 귀담아들을 줄 알아야 하고, 각 사람에게 알맞은 단어를 구사할 줄 알아야 한다. 저자는 사람들의 유형을 4개의 사분면(E(Employee), S(Self-Employed), B(Business Owner), I(Investor))에 빗대어 분류하고 있다. 각 사분면에 속하는 사람들은 가치관이 너무도 다르다. 단적으로 예를 들면, E는 지극히 안정적이며 복지를 우선시하지만 B는 매우 도전적이며 실수를 통해 배운다는 사실을 굳게 믿고 행한다. 이런 상황에서 E에 속하는 사람들에게 B의 관점으로 얘기를 하게 된다면 E에 속하는 사람들은 심한 거부반응을 느끼게 될 것이다. 내가 어느 사분면에 속해있건 세상은 각기 다른 사분면에 속해있는 수많은 사람들의 조합으로 이루어져 있다. 그렇기에 그들의 말을..