2.3 Bazel build Go
0 码力 | 86 页 | 4.57 MB | 1 月前文档介绍了Bazel构建系统中Go语言的相关规则。主要内容包括:使用github.com/bazelbuild/rules_go提供的规则支持Go项目构建;支持go_library、go_binary、go_test等构建目标;支持vendoring、cgo、交叉编译、通过gazelle自动生成BUILD文件以及protocol buffers。文档还涉及Bazel的常用命令如build、run、test,以及交叉编译示例和忽略目录的方法。此外,文档提到了一个关于Bazel与GRPC结合的Codelab,演示如何使用Bazel构建多语言的GRPC服务,包括编写protocol buffers、在C++/Go/Python/Java中实现服务、编写单元测试和回归测试。最后文档提及了Go版本管理相关的一系列文章。
2.4 Go's Hidden Pragmas
0 码力 | 58 页 | 605.64 KB | 1 月前文档主要介绍了Go语言中的隐藏pragmas(编译指示)。首先通过历史回顾,提到了ALGOL 68和C语言中的pragma用法,并以C语言#pragma pack为例进行说明。然后明确指出Go语言确实存在pragmas,并在源代码中通过注释形式使用,例如//go:nointerface、//go:noescape、//go:norace、//go:nosplit、//go:noinline、//go:systemstack、//go:nowritebarrier、//go:nowritebarrierrec、//go:yeswritebarrierrec、//go:cgo_unsafe_args、//go:uintptrescapes等。文档还展示了这些pragmas在编译器源码中的实现,如pragmaValue函数根据不同的verb返回对应的Pragma常量。最后提及这些内容来自GopherChina 2017的演讲,演讲者为Dave Cheney。
1.3 Go coding in go way
0 码力 | 69 页 | 1.24 MB | 1 月前文档围绕“Go coding in go way”这一核心理念展开,强调编程语言影响编程思维,应避免用其他语言(如C、Java、Python)的思维方式编写Go代码。文档提出编程语言思维的形成模型:价值观决定思维和语言结构,思维和语言结构影响语言的应用行为,应用行为反过来优化语言结构。Go语言的价值观包括Overall Simplicity和Orthogonal Composition,其语言设计体现为通过组合(如type embedding、interface、goroutines和channels)构架程序结构,而非继承。并发方面,goroutines提供并发执行,channels用于通信和同步,select协调多个channel操作。文档还提及Go 2.0的演化方向,强调价值观不变。
Golang Warsaw #48
0 码力 | 9 页 | 1.72 MB | 1 月前文档为Golang Warsaw #48活动的通告,活动于2022年9月15日在Przestrzeń Meta举行。议程包括:Jakub Daliga的如何部署首个Web应用演讲、5分钟休息期间的公告与工程师失物招领、Łukasz Gut(Grafana)的快速Go后端仪表化演讲。活动后安排社交环节。文档还包含招募演讲者的信息,鼓励联系@Wojciech B或加入#poland频道。
Concurrency Patterns in C
0 码力 | 20 页 | 1.35 MB | 1 年前文档介绍了《Concurrency Patterns in C》和《Concurrency Patterns in Go》的主题演讲,演讲者为Artsiom Bukhautsou,Nord Security的高级后端工程师。演讲内容围绕并发编程模式展开,重点讨论了Fan-in、Fan-out、Pipeline、Fan-in-Fan-out-Pipeline和Tee等模式及其应用场景。
Go Compile Time Instrumentation
0 码力 | 27 页 | 1.74 MB | 1 年前文档介绍了OpenTelemetry Go编译时间仪器化项目,该项目通过直接修改源代码实现对Go应用程序的自动仪器化。其核心工作原理包括使用抽象语法树(AST)分析和注入OpenTelemetry功能,同时处理上下文传播问题。文档还回顾了项目的历史,包括初始提案、捐赠过程以及当前状态,并展望了未来的发展方向。
7 Years of Talking to People: The Importance of Giving Talks in Golang Warsaw #59
0 码力 | 26 页 | 3.20 MB | 1 年前文档分享了作者在Golang Warsaw会议上7年的演讲经历,强调了演讲的重要性超过演讲的质量。作者通过自身经历讲述了克服演讲恐惧、建立自信的过程,并指出演讲能够激发听众的情感(如希望、参与感和自信心),并触发具体行动(如申请演讲、使用编程模式、购买服务或参与环保行动)。文档还提到演讲对个人成长和职业发展的重要影响。
How to start a VC-backed startup
0 码力 | 32 页 | 7.43 MB | 1 年前本文详细介绍了如何启动一个由风险投资(VC)支持的初创公司。首先,解释了VC的运作模式,包括从富裕的有限合伙人(LP)筹集资金,投资于有前途的初创公司,并通过出售这些公司获得回报。接着,重点讲述了如何为初创公司筹集资金,包括准备商业计划书和演讲幻灯片,向约50家VC pitching,并在2-3周内完成资金募集。此外,还强调了寻找合适的联合创始人的重要性,理想的联合创始人应具备执行项目的能力、销售或吸引用户的能力,以及乐观和现实的结合。最后,提到了VC的目标,包括追求10亿美元以上的估值,寻找高成长性的企业,并耐心等待长期回报。
Secure access to EC2 (for developers)
0 码力 | 10 页 | 3.11 MB | 1 年前文档讨论了在开发环境中安全访问EC2实例的不同方法。主要内容包括介绍EC2在原生环境中的使用、3层架构的基本概念,以及替代资源连接方法,如Bastion host、SSM和EC2 Instance Connect。文档还比较了这些方法的优缺点,提到了EC2 Instance Connect的成本效益和SSM的灵活性,并讨论了其他云服务提供商(如Azure和OCI)的安全访问解决方案。最后,文档总结了不同方法的复杂性和成本 trade-offs。
Best practices for building Kubernetes Operators
0 码力 | 36 页 | 2.19 MB | 1 年前文档详细介绍了构建Kubernetes操作符的最佳实践,包括操作符的基本概念、能力模型、开发框架(如Kubebuilder/Operator-sdk)、验证规则、过渡规则,以及如何进行集成测试和端到端测试。文档强调了操作符在管理应用程序生命周期中的重要性,并提供了实际应用中的经验教训。
共 48 条
- 1
- 2
- 3
- 4
- 5













