본문 바로가기

전체 글74

[후기] Sapling 써보기 Graphite 유료화 이슈로 다른 stacked diff 툴을 찾아보다가 다른 동료 분이 추천해주신 sapling을 써보려고 한다. 웹페이지: https://sapling-scm.com/ 소개 Sapling은 Meta에서 개발하고 사용하고 있는 source control system이다. Meta 안에서는 큰 모노레포를 위해서 사용되지만, 개발자 개개인을 위해 Git이나 Github와의 호환을 지원한다. 개발된 이유 역시 메타의 모노레포 스케일에서는 다른 오픈소스 source control system이 제대로 동작하지 않기 때문이라고 한다. 설치 맥북에서 설치는 꽤 간단하다. homebrew를 이용해 설치하면 된다. brew install sapling 이후 간단한 설정이 필요하다. commit au.. 2023. 11. 5.
Go garbage collection golang에서 garbage collection이 일어나는 시점과 작동 원리에 대해 알아보고 정리해두고자 한다. [참고 문서] https://tip.golang.org/doc/gc-guide https://changhoi.kim/posts/go/go-gc/ A Guide to the Go Garbage Collector - The Go Programming Language Documentation A Guide to the Go Garbage Collector A Guide to the Go Garbage Collector Introduction This guide is intended to aid advanced Go users in better understanding their applicatio.. 2023. 10. 30.
[TIL] Go buffer read golang 개발하다가 buffer 관련해서 몰랐던 사실을 알게되어 정리해 둔다. Context 입력으로 이미지를 받고, 해당 이미지에 대한 정보를 불러온 후, 원본 이미지를 그대로 다음 middleware로 전달하는 코드가 있다. var buffer bytes.Buffer _, err := io.Copy(&buffer, src) if err != nil { return err } img, _, err := image.Decode(buffer) if err != nil { return err } // 이후 buffer 그대로 사용 Problem 이미지가 다음 미들웨어로 들어오지 않아서 에러가 발생했다. 확인해 보니 image.Decode(buffer)에서 buffer를 모두 읽어와서 발생한 에러다. fu.. 2023. 10. 27.
graphite 사용기 약 1년간 Graphite를 사용해 보고 느낀점을 간략히 정리해보고자 한다. 웹페이지: https://graphite.dev/ 소개 Graphite는 작은 단위의 pull request를 가능하게 하는 code review platform이다. Graphite cli 자체는 git 명령어를 wrapping해서 만든 cli이다. Graphite workflow는 3가지 원칙을 통해 normal git workflow를 강화시킨다. Pull request를 작게 유지시킨다. Trunk branch와 remote branch를 잘 동기화하고, branch restack을 자주 할 수 있게 한다. Branch별로 하나의 커밋을 유지한다. 이미 많은 개발자들은 큰 change를 여러 개의 commit sequen.. 2023. 10. 23.