일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- 부자아빠가난한아빠2
- UNiQUE
- Object
- validator
- 클린코드
- typescript
- BOOK
- 퓨처셀프
- 오브젝트
- 역행자
- 스터디
- AWS
- googleapis
- nodemailer
- futureself
- Nestjs
- 개발자
- OOP
- 객체지향의사실과오해
- 세이노의가르침
- Study
- serverless
- 독후감
- 일상속귀한배움
- 북스터디
- nodejs
- 조영호
- PRISMA
- 자청
- Validation
- Today
- Total
목록전체 글 (82)
우당탕탕 우리네 개발생활
오늘 동료와 점심에 커피 한잔을 하면서 이런저런 얘기를 하다 보니 이러한 밸런스 게임(?)을 하게 되었다.성격이 안좋은데 실력은 최고 vs 성격은 좋은데 실력은 최하 우선 동료는 성격이 좋지 않더라도 성과를 잘 낼 수 있다면 인정해 줄 수 있지만 성격만 좋고 실력이 없다면 인정해 주기 어려울 것 같다고 얘기를 했다. 일차원적으로 생각했을 땐 나도 동료의 의견에 동의를 했다.직장이라는 곳은 결국 돈을 받고 일하는 곳이고 성과를 통해 그 돈 이상의 가치를 만들어 내야 한다고 생각하기 때문이었다. 성격이 좋지 않더라도 성과를 잘 낸다는 말은 적어도 본인에게 투자된 돈 이상의 가치를 창출할 수 있는, 일 인분 이상의 역할을 한다는 것을 의미한다. 하지만 성격은 워낙 좋은데 실력이 안돼 성과를 내지 못한다면 투자..
https://github.com/Udangtangtang-Driven-Developer/book-study/blob/main/%EC%98%A4%EB%B8%8C%EC%A0%9D%ED%8A%B8/2%EC%9E%A5/README.md book-study/오브젝트/2장/README.md at main · Udangtangtang-Driven-Developer/book-study각자 책 읽고 리뷰 내용 공유하기 . Contribute to Udangtangtang-Driven-Developer/book-study development by creating an account on GitHub.github.com
https://github.com/Udangtangtang-Driven-Developer/book-study/blob/main/%EC%98%A4%EB%B8%8C%EC%A0%9D%ED%8A%B8/1%EC%9E%A5/README.md book-study/오브젝트/1장/README.md at main · Udangtangtang-Driven-Developer/book-study각자 책 읽고 리뷰 내용 공유하기 . Contribute to Udangtangtang-Driven-Developer/book-study development by creating an account on GitHub.github.com
클린 코드 스터디를 비교적 최근에 마쳤다. 생에 첫 스터디였고 그 과정에서 우여곡절이 많았었는데 이에 대해 회고를 작성하고 마무리를 했었다.https://github.com/DAC13/STUDY_1_CLEAN_CODE GitHub - DAC13/STUDY_1_CLEAN_CODE: `클린코드`를 공부한 내용들을 나눕니다.`클린코드`를 공부한 내용들을 나눕니다. Contribute to DAC13/STUDY_1_CLEAN_CODE development by creating an account on GitHub.github.com 우연히 기회가 생겨 회사 동료와 함께 북스터디를 진행하기로 했다. 자세한 스터디 룰과 내용은 아래 링크에 있다.https://github.com/Udangtangtang-Driven..
class Logger { error(error: unknown) { this.log(error); } log(arg: unknown) { console.log(arg); }}class Test { private logger = new Logger(); private async doSomethingAsPrivate() { throw new Error('error'); } public async doSomething() { // ... this.doSomethingAsPrivate().catch(this.logger.error); }}function main() { const test = new Test(); test.doSomething();}main();위..
상반기 타임테이블05:30 ~ 06:15 출근준비06:15 ~ 06:30 역 이동06:30 ~ 07:45 지하철 출근(미국 증시 뉴스 보기 / 책읽기 or 글쓰기 / 기술서적 공부)07:45 ~ 08:45 출근 후 1시간 개인시간 보내기(책읽기 or 글쓰기 / 기술서적 공부)09:00 ~ 18:00 업무18:00 ~ 20:00 지하철 퇴근(가볍게 아티클 보기 / 기술 강의 시청 / 공식 문서 읽기)20:00 ~ 22:00 개인 시간22:00 ~ 23:30 책읽기 or 글쓰기 / 기술서적 공부큰 틀에서 벗어나지 않고 위 타임테이블대로 상반기를 지냈다.06:30 ~ 07:45 지하철 출근(미국 증시 뉴스 보기 / 책읽기 or 글쓰기 / 기술서적 공부)지하철 출근 시에 1호선을 탑승하면 거의 앉아서 가지 못하..
postgresql과 Prisma의 조합으로 compound key unique index 사용을 고민할 때 마주할 수 있는 문제와 이를 partial index를 통해 해결하는 방법을 공유하고자 합니다.배경특정 도메인에 대한 ERD를 구현하는 과정에서 특정 테이블에 대해 2개의 컬럼과 한 개의 nullable 컬럼의 조합으로 unique index를 만들기로 했습니다. 이 과정에서 deletedAt 컬럼(삭제된 Datetime을 기록하는 컬럼)을 nullable로 갖는 soft-delete 방법 역시 사용하기로 했습니다. 2개의 컬럼값과 deletedAt 컬럼이 null값을 갖는 행을 유효한 행으로 보고, deletedAt이 null값이 아닌 행들은 삭제된 데이터로 취급합니다.왜 soft-delete를..
최근 , , 등의 책들을 공부하면서 '추상화', '책임' 이라는 단어들이 뇌리에 박혔다. 객체들의 의사소통은 명확히 분리되어 있는 각자의 책임하에 정해놓은 외부 인터페이스를 통해서만 이뤄지는 것을 원칙으로 한다. 규모가 좀 더 커져 컴포넌트간의 소통, 서비스들간의 소통 역시 마찬가지인 것 같다. 이러한 외부 인터페이스(메서드)의 input(인수)과 output(리턴값)이 구체적이지만 그 외부 인터페이스의 내부 과정(구현)이 어떤식으로 이뤄지는지는 구체적으로 드러내지 않는다. 예를 들어, 캐셔에게 아이스아메리카노를 주문한 고객이 있다고 하자. 고객은 돈을 지불했고 그에 대한 결과로 아이스아메리카노를 캐셔를 통해 받기만 하면 된다. 고객은 캐셔가 아이스아메리카노를 직접 만들든 캐셔가 바리스타에게 주문을 건..