단도직입 언제 아래처럼 쓰고 if err := f(); err != nil { 언제 아래처럼 쓸 것인가? if err != nil { 규칙1. 가능하다면 if err := f(); err != nil { 를 써라. - Go 에서는 이렇게 하나로 묶어 쓰는걸 권장한다. - 아래 예시에서는 json.Unmarshal() 함수에서 이렇게 쓴다. - 이때 사용되는 err 변수는 if 문 안에서만 (= 빨간 테두리) 쓰인다. 규칙2. 리턴되는 값을 if 문 바깥에서도 쓰고 싶다면 if err != nil { 을 따로 쓴다. - 아래 예시에서는 json.Marshal() 함수에서 쓴다. - 이렇게 하면 bytes 변수의 범위 (scope) 가 if 문 바깥에서도 쓸 수 있다.
개요 전반기 정리의 독서 부분을 포함한 독서 27권에 대한 후기를 작성해본다. 읽었던 책들을 복기해보며, 다시 읽고 싶은 책들, 추천하고 싶은 책을 적어본다. 1월 - 7월 독서 15권 퀀텀스토리: 별 3.8 뒤로가니 너무 어렵게 느껴져 포기했지만 그래도 양자역학에 대해 많은 걸 알게 되었음Discovery Go: 별 3.8 조금 읽고 묵혀뒀던 책을 다시 처음부터 독파함. 고수의 풍모가 느껴지는 책남자의 뱃살: 별 2.7 먹는 것을 조절하여 체중을 줄이려던 시기에 참고 자료로 선택. 내용은 별로지만 원하는 것은 얻었음생각에 관한 생각: 별 4.5 읽은 사람은 인간을 조금은 더 이해하게 된다. 바로 재독까지 했으며, 현대인의 필독서팔코너: 별 4.5 예민하게 세상을 지켜보고, 그것을 정성스레 갈고 닦은 문..
개요 링크의 Slice trick 들을 따라가 보며 정리해보았다. 링크: Slice Tricks: https://github.com/golang/go/wiki/SliceTricks append() 와 copy() 의 탄생 buiit-in 함수인 append() 와 copy() 가 제공되면서 container/vector 패키지는 더 이상 쓸 필요가 없다. Append - 뒤에 이어서 붙여넣기 a = append(a, b...) a 라는 슬라이스에 b 라는 녀석(들)을 뒤에 붙여준다. Copy - 복사하기 1) not perfect b = make([]T, len(a)) copy(b, a) 2) not perfect b = append([]T(nil), a...) 3) perfect b = append(a..
개요 아주 작은 습관의 힘국내도서저자 : 제임스 클리어(James Clear) / 이한이역출판 : 비즈니스북스 2019.02.26상세보기 엄청난 책은 아니다 좋은 경험과 깨달음을 얻고, 관련한 책을 읽고 공부하였으며, 잘 정리한 것은 맞지만 흔한 자기계발 책이다. 동시대 유사한 책들 가져다 붙인 부분들도 보이며, 순간 순간 제법 인사이트 있는 부분이 있지만 반대로 억지로 쥐어짜내어 책의 분량과 구색을 맞춘 부분도 보인다. 그럼에도 불구하고… 내가 책을 읽고 얻어갈 부분을 찾아서 나의 것으로 만들면 가치가 있다. 머리 속 정리 아래의 정리까지 마친 상황에서 머리속의 생각을 정리해보자 습관은 100 일정도는 꾸준히 유지해줘야 한다. 특정한 숫자의 목표를 달성하려 하지말고, 특정한 정체성의 사람이 되도록 하자..
Photo by Max Nelson on Unsplash 책 링크: http://www.acornpub.co.kr/book/clean-coder#toc알라딘: http://aladin.kr/p/MJJw1 최대한 간결하게 감상을 적어보자 개발자로서 프로다운 모습, 장인의 면모를 갖추자는 것이다. 할 만큼 했다는 식은 프로답지 못하다. 하라는 데로 하겠지만 얼마나 잘되지 보자는 심보는 최악이다. (수동적 공격성: passive-aggressive) 프로는 지식을 쌓아야 하고 그것을 책임있게 행동으로 옮긴다. 테스트하기 쉽게 코드를 짜야 한다. 구조가 좋아야 코드를 쉽게 변경할 수 있다. 아닌건 아니라고 말할 수 있는 용기가 있어야 한다. 몰입은 좋은게 아니다. 큰 그림을 놓치게 되고, 다른 사람과의 협업을 ..
개요 지난 포스팅에서는 https://jusths.tistory.com/151 1) Local PC 에서 돌아가는 HTTP Server 를 구현하여 2) (serveo.net 서비스를 이용해) Port forwarding 하여2) Slack App 에서 오는 HTTP Reqeust 를 받아 처리하고 회신하게 구현했었다. 이번에는 Google Cloud Functions 로/tz, /tzn, /tns 명령이 HTTP Reqeust 를 보내는 세 개의 endpoint 를 처리하게 해보자. - 하나의 Cloud function 으로 세 endpoint 를 처리하지 못하고, 세 개의 Cloud functions 를 만들어야 했다. 참고 링크 GitHub 구현코드 링크: https://github.com/nice..
개요 Slack 에서 다른 timezone 의 팀원과 대화를 나누는 경우, 업무시간이 지났는데 말을 거는건 아닌가 싶어서 팀원의 현재시간이 궁금할때가 많았다. 이때 간단한 Slack Slash Command 로 해당 timezone 의 현재시간을 확인할 수 있도록 구현해 본다. 목표 1./tz [zoneName or Time] 입력을 받으면 정규식으로 변환해서 찾아내기 - 예를 들어 시드니의 현재 시간을 알고 싶으면 /tz syd 만 치면 되도록 한다. 2./tzn, /tzs 뉴욕시간, 서울시간 바로 나타내기3. 월-금 업무시간인지 여부를 색깔로 표시하기 - 국가별 공휴일과 근무시간까지 체크하는 건 너무 오버인듯 하여 월-금, 9 to 6 만 체크한다. 참고 링크 Timezone database name..
5부. 아키텍처 구분 내용 및 생각 15장. 아키텍처란? "소프트웨어 아키텍트는 최고의 프로그래머이며, 앞으로도 계속 프로그래밍 작업을 맡을 뿐 아니라 동시에 나머지 팀원들이 생산성을 극대화할 수 있는 설계를 하도록 방향을 이끌어 준다." 소프트웨어 시스템 아키텍처 - "그 모양은 시스템을 컴포턴트로 분할하는 방법, 분할된 컴포넌트를 배치하는 방법, 컴포넌트가 서로 의사소통하는 방식에 따라 정해진다." - "그리고 그 형태는 아키텍처 안에 담긴 소프트웨어 시스템이 쉽게 개발, 배포, 운영, 유지보수 되도록 만들어진다." "시스템 아키텍처는 시스템의 동작 여부와는 거의 관련이 없다." - 개판인 아키텍처도 동작하게 구현할 수 있다. "좋은 아키텍처는 시스템을 쉽게 이해하고, 쉽게 개발하며, 쉽게 유지보수하..
Photo by Lance Anderson on Unsplash 개요 책 링크: http://aladin.kr/p/xM1l6로버트 C 마틴 (Robert Cecil Martin, Uncle Bob) 의 Clean Architecture 를 읽고 정리해본다. 회사 업무중 소프트웨어 아키텍처에 대한 실제적 고민이 많아진 시점에 만나게 된 책이라 그런지 읽고 많이 배웠다. 소프트웨어 아키텍처에 대한 원칙과 절차, 그리고 방법론을 명쾌히 주장하고 근거를 제시해주니 좋은 출발점이 된다. 1부. 소개 좋은 소프트웨어 아키텍처를 위한 규칙은 유행을 타거나 발전하는게 아니라 보편적이며 변하지 않는 것이다. 소프트웨어 아키텍처의 목표는 적은 인원으로 개발, 유지 보수할 수 있는 시스템이다.시스템을 동작하게 하는 것 보다..
개요 github.com/rs/xid 패키지의 GUID 생성 방법을 챙겨보자 관련링크- GoDoc: https://godoc.org/github.com/rs/xid- GitHub (sourcegraph) : https://sourcegraph.com/github.com/rs/xid xid 에 대하여 GUID generator 이며 Mongo Object ID 알고리즘을 사용한다. - 링크: https://docs.mongodb.org/manual/reference/object-id/ - 4-byte value representing the seconds since the Unix epoch, - 3-byte machine identifier, - 2-byte process id, and - 3-byte ..
- Total
- Today
- Yesterday
- bun
- notion
- 인텔리제이
- 클린 애자일
- 체호프
- 중용
- folklore
- 영화
- 2023
- 명상
- ChatGPT
- postgres
- ORM
- Gin
- github
- solid
- 독서후기
- go
- Bug
- intellij
- API
- websocket
- 노션
- Shortcut
- 잡학툰
- pool
- golang
- OpenAI
- strange
- agile
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |