개요 몇 명이 함께 Git 을 이용하여 프로젝트를 개발하며 소스코드의 버전을 관리한다고 할때에 현재 사용중인 가장 기본적인 프로세스를 정리해본다. 더하여 이를 블로그 포스팅하여 다른 분들과 의견을 나누고 새로운 것을 배운다. 상황 1) remote repository 를 통해 여러명이 소스코드 버전을 공유하고 있다.2) add-user 라는 기능을 추가 개발하려고 한다. develop 브랜치에서 branch 를 따서 작업을 한다.3) 이때 remote develop 에서는 다른 팀원들이 commit 을 push 중이다. TL;DR $git co feature/add-user - coding 후 $git add . && git cm -m "wip" 3회 $git rebase -i HEAD~3 $git fe..
"아이들의 왕, 야누시 코르차크" 를 읽고 밑줄, 정리해 보았다. 아이들을 대하는 법을 배우자. 아이들의 왕 야누시 코르차크국내도서저자 : 베티 진 리프턴(Betty Jean Lifton) / 홍한결역출판 : 양철북 2020.02.27상세보기 간단 감상 2차 세계대전 이전까지의 세계에서 아예 인간 이하의 취급, 아직 제대로 되지 않은 인간 취급을 받았던 아이들에 대하여 새로운 접근으로 현대인 들에게는 아이들에 대한 상식의 기반을 만들어낸 야누시 코르차크의 일생에 대해 다룬 책이다. 훌륭한 인품이나 사상, 철학, 그리고 그것을 넘어서는 삶 속에서의 실천, 그리고 마지막 모습은 감동이었다. 인용구 타이핑후 감상. 책에 대해 점수를 그렇게 까지 높이 주지는 않았었는데 문장들을 곱씹으니 야누시 코르차크의 위대함..
개요 reflection 이라는 개념이 처음에는 참 어려웠다. Rob Pike 의 글을 따라가며 좀더 체계적으로 접근하며 이해해본다. - 링크: https://blog.golang.org/laws-of-reflection- 번역본 링크: https://johngrib.github.io/wiki/golang-the-laws-of-reflection/ Types and interfaces 예제 링크: https://play.golang.org/p/lcztLbvaUJj 간단히 몸을 풀어가자. MyInt 타입이 실제 int 값을 담더라도 MyInt 와 int 는 엄연히 다른 타입이다. - 따라서 두 타입의 변수간에는 할당, 비교등의 연산이 불가능하다. - type casting 을 해줘야만 연산이 가능해진다. ..
개요 Russ Cox 의 인터페이스 글을 기반으로 Interface 에 대해 좀 더 깊이 들여다 본다. 링크: https://research.swtch.com/interfaces 사용법 예제 링크: https://play.golang.org/p/AEHmlYtqkAy 1) ReadCloser 라는 인터페이스를 정의했다. - Read() 와 Close() 라는 메쏘드를 가진 type 이기만 하면 - ReadCloser 인터페이스를 만족한다. - 회사가 구인 광고에 워드와 엑셀을 할 수 있는 사람 이라고 올렸을때 - 내가 워드, 엑셀, 파워포인트, 포토샵을 할 수 있으면 지원이 가능한 것이다. 2) ReadAndClose() 라는 함수는 ReadCloser 인터페이스를 만족하는 타입을 파라미터로 받는다. 그리..
개요 사용자의 비밀번호를 그대로 보관하는 것은 위험하다. 비밀번호 보관에 특화된 bcrypt 를 알아보자. 참고링크 - 링크: https://auth0.com/blog/hashing-in-action-understanding-bcrypt/- 링크: https://d2.naver.com/helloworld/318732 TL;DR - 빠르게, 보안도 신경썼다는 티를 내면서 구현하려면 bcrypt 를 사용하자- 보안에 좀더 민감한 곳이라면 scrypt 를 쓰자 - 현 시점 비밀번호 저장의 끝판왕은 Argon2id 이다. 비밀번호를 보관하자. 1) Plaintext 를 저장한다면 데이터베이스가 털리면 바로 끝이다. - 이녀석 비밀번호는 asdf1234 이구나. 2) Hashing 을 한번 해주고 그걸 저장하면 ..
단도직입 언제 아래처럼 쓰고 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) 프로는 지식을 쌓아야 하고 그것을 책임있게 행동으로 옮긴다. 테스트하기 쉽게 코드를 짜야 한다. 구조가 좋아야 코드를 쉽게 변경할 수 있다. 아닌건 아니라고 말할 수 있는 용기가 있어야 한다. 몰입은 좋은게 아니다. 큰 그림을 놓치게 되고, 다른 사람과의 협업을 ..
- Total
- Today
- Yesterday
- ORM
- 잡학툰
- 클린 애자일
- Gin
- notion
- strange
- 노션
- intellij
- 인텔리제이
- 중용
- pool
- agile
- folklore
- bun
- ChatGPT
- Bug
- 2023
- 체호프
- 명상
- API
- 영화
- solid
- go
- github
- Shortcut
- golang
- postgres
- websocket
- 독서후기
- OpenAI
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |