사랑을 보여주는 패키지

2602 단어 gocloud
지난 달에 Go 패키지 가져오기 URL을 멋지고 짧게 만드는 가장 좋은 방법을 찾고 싶었습니다. 첫 번째는 go.mod 파일을 변경하고 이름을 설정하는 것이었습니다.

module bpxe.org

go 1.16


하지만 go get이 실제로 작동하도록 만드는 방법을 알아내야 했습니다. 임의의 URL에서 가져오기가 작동하는 방식은 go get이 URL을 가져오고 해당 주소의 HTML 페이지에서 메타 태그를 찾는 것입니다. GitHub의 저장소 페이지 뒤에 있는 HTML 소스를 확인하면 go-import 메타 태그를 찾을 수 있습니다.

 <meta name="go-import"
        content="github.com/bpxe/bpxe git https://github.com/bpxe/bpxe.git">


이는 잘 알려져 있고 문서화된 동작입니다. 그러나 보시다시피 여전히 github.com 네임스페이스 URL을 참조합니다.

내 도메인의 웹 서버에서 이러한 태그를 제공할 수 있는 가장 좋은 방법을 찾았습니다. GitHub Pages 또는 간단한 웹 호스팅을 사용하여 이를 수행하는 마이크로 도구 중 하나를 실행하는 것 사이에서 어떤 옵션도 충분히 간소화되지 않았습니다.

물건을 깔끔하게 만드는 것에 약간 집착하면서(제 아내는 거의 매일 깔끔하라고 가르칩니다. 저는 결코 그녀의 수준에 도달하지 못할 것입니다!), 저는 “이것과 이것만 처리하는 작은 서비스를 갖는 것이 멋지지 않을까요?”라고 생각했습니다. 좋은 일?”

하지만 아쉽게도 제가 찾을 수 있는 그런 서비스는 없었습니다.

이것은 내가 그것을 잊고 그런 종류의 일을하거나 주말을 해킹하는 것을 의미했습니다! 주중에 메인 프로젝트를 진행하는 것만으로는 부족했던 것처럼. 그러나 멈추지 않았다…

너무 간단해서 하루 정도 안에 시작할 수 있어야 했습니다. 그래서 저는 UI에서 패키지 접두사 매핑을 설정하는 것과 관련된 복잡성의 상당 부분을 포기하기로 결정했고(정말 토끼 구멍입니다) 이를 수행하는 훨씬 더 쉬운 방법이 있다고 생각했습니다. 바로 DNS 레코드입니다! 따라서 도메인을 소유하고 패키지에 도메인을 사용하려는 경우 간단히 TXT 레코드를 사용하여 도메인을 저장할 수 있습니다.



이렇게 하면 go get에 대해 렌더링해야 하는 정확한 구성 및 매핑을 쉽게 설정할 수 있으므로 만족합니다.

토요일 늦게 개념 증명이 작동했습니다! 그러나 나는 그것을 그대로 둘 수 없었다. 주말 내내 키보드에 몸을 구부리고 있어야 했습니다.

이것이 Gopkg가 태어난 방법입니다. 나는 그것의 유용성이 다른 사람들과 공유하기에 충분하다고 결정했습니다. 그래서 남은 주말(그리고 좀 더)을 사용하여 다른 사람에게 표시할 수 있고 적어도 어느 정도 유용하게 만들었습니다. 고의 마스코트에 귀여운 로고까지 의뢰해주셨어요!

Also, it turned out that using DNS records is a great way to establish authenticity of HTML meta tags are being generated by the service: simply look up the TXT records and see if they match, since these records are under original author’s control and not Gopkg’s.


공개 베타 버전이 출시되었으므로(어쨌든 요즘 이 단어는 무엇을 의미합니까?) 더 많은 작업으로 돌아갈 수 있습니다. 앞으로 몇 주 동안 Gopkg를 더 좋고 훨씬 더 유용하게 만들기 위해 업데이트할 예정입니다(몇 가지 기능 크립이 있을 예정입니다!).


Go 패키지가 있고 가져오기 URL이 더 보기 좋게 표시되기를 원하십니까? 일부 패키지 사용 통계를 얻고 싶습니까? 패키지의 URL에서 호스팅되는 멋지게 보이는 사이트와 다중 버전 문서를 얻으시겠습니까? 그런 다음 Gopkg을 확인하면 나만큼 행복할 것입니다!

좋은 웹페이지 즐겨찾기