최근 Software Engineering at Google 이라는 책을 무료 PDF로 읽고 있다. - PDF 링크: https://abseil.io/resources/swe_at_google.2.pdf 책을 읽다보니 저자중 한 명인 Hyrum Wright(하이름 정도로 발음하면 될 듯)의 이름을 딴 Hyrum's Law라는 것을 알게 되어 이를 한 번 정리해보았다. - Hyrum's Law: https://www.hyrumslaw.com/ Hyrum's Law "With a sufficient number of users of an API, it does not matter what you promise in the contract: all observable behaviors of your syste..
Photo by Jean-Louis Paulin on Unsplash LeetCode 문제를 푸는데 풀기가 쉽지 않았다. discuss를 보니 next permutation을 계산하는 것 자체는 기본으로 알고 있는 것으로 하고 넘어가고 있었고, 어떤 언어는 기본으로 제공하는 함수였다. 그럼에도 자괴감을 힘겹게 극복하고 next permutation을 이해해보고 Go로 구현해보았다. 개념 이해 개념 이해 링크: https://bit.ly/3bvWZmu 우리가 구현하려는 것은 다음과 같다. 정수 슬라이스가 있다고 할때에 그 슬라이스 순서대로 하나의 수라고 생각해보자. 그러면 이 수의 각각의 자릿수의 순서만을 바꿔서 그 다음 큰 수를 찾는 것이다. 예를 들어 12345 라는 숫자가 있다면, 1, 2, 3, 4..
Photo by Honey Fangs on Unsplash 아주 잡다한 테스트이다. 정수를 역정렬하는 방법은 크게 두 개가 떠오르는데 둘 중 어느게 더 빠른지 알고 싶었다. 전체 테스트코드 링크: https://github.com/nicewook/golang-sort-reverse-test 첫 번째 방법은 sort.Reverse()를 활용하는 것이고, 두 번째 방법은 sort.Slice()를 이용하는 것이다. 첫 인상은 두 번째 방법이 빠를 것 같았다. 첫 번째 방법은 뭔가 세 번이나 감싸잖아? 하는 선입견이 컸다. func sortReverse1(a []int) { sort.Sort(sort.Reverse(sort.IntSlice(a))) } func sortReverse2(a []int) { sort..
Photo by Markus Spiske on Unsplash 이번에는 container/heap 패키지를 이용해서 구현해보자 "요구사항만 만족해주면 원하는 heap 기능을 제공하겠다." 이렇게 한 줄 요약할 수 있겠다. (Fix, Remove 등의 기능도 있지만 이것은 생략하겠다.) 이전 포스팅한 from the scratch 구현 - https://jusths.tistory.com/215 - https://play.golang.org/p/cjYXpQjPiZY container/heap을 이용한 구현 - https://play.golang.org/p/JwU6aHNGb7k 요구사항과 제공기능 https://golang.org/pkg/container/heap/#Interface 어떠한 타입이건 sort...
Photo by Markus Spiske on Unsplash LeetCode 문제를 풀다가 min heap이 필요한 문제를 만난김에, Go는 쉽게 쓸 수 있는 패키지는 제공하지 않기에 (오히려 그 덕분에) min heap을 들여다보고 공부해보게 되었다. (참고: LeetCode problem: https://leetcode.com/contest/weekly-contest-237/problems/single-threaded-cpu/ ) Min Heap이란 무엇인가? 이진 트리인데 parent는 아래의 child 노드들보다 작은 값을 가진다. 실제 구현은 슬라이스의 형태이다. 아래 이미지는 Max Heap이지만,..
- Total
- Today
- Yesterday
- API
- 노션
- Bug
- solid
- Gin
- folklore
- 독서후기
- golang
- OpenAI
- 2023
- websocket
- ChatGPT
- 클린 애자일
- ORM
- bun
- notion
- 영화
- Shortcut
- 체호프
- pool
- postgres
- 인텔리제이
- go
- 명상
- agile
- github
- intellij
- 중용
- 잡학툰
- strange
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |