系统学习还是得看书,Go 书籍推荐

想要更系统地学习编程语言,看书是比较有效的途径之一。最近又学习了下 Go 语言,为什么是又,因为 2013 年买过许式伟大佬翻译的一本 Go 语言书籍,但没有系统学下去,现在想想原因可能是这本书过于严肃,没那么有趣,还有就是当时对编程语言的理解也没那么深。 所以说看书虽然系统,还是要选择能够看的进去的书。之前看过一句话:写作需要阅读作为基础,阅读也需要阅读作为基础,我觉得很有道理。所以在看书之前,可以先将这个领域的相关概念大概了解下,不同的文章做下横向比较,再去阅读书籍,会有不错的效果,这就像学生时代的课前预习一样。

技术

Go 学习:那些不一样的知识点(下)

在上一篇《Go 学习:那些不一样的知识点(上)》中已经提到了 10 个 Go 语言中有特点的地方,本文继续介绍一些 Go 语言中语法或使用方式比较独特的知识点。 11、切片类型同 Python 一样,Go 语言中也支持切片类型,而 C# 在 C# 8 中也增加了对数组进行切片操作的语法糖,先来看一个 C# 的例子:

技术

Go 学习:那些不一样的知识点(上)

在学习 Go 语言的过程中,会涉及到语法、数据结构、和一些 Go 特有的东西,其中有不少现在还印象深刻,本文就说说 Go 语言中那些不一样的地方。

技术

Go 学习:从环境搭建到写一个 Web 服务

最近学习了 Go 语言,做下记录。 Go 的来历和 C、C++ 相比, Go 是一门很年轻的语言。2007 年,在 Google 的内部,有三位大佬因为 C++ 的复杂性、构建编译速度很慢和对并发支持不好等原因,便决定开发一门新的语言,于是他们基于 C 语言,做了功能的删减和新增,便有了 Go 的诞生。

技术

.NET Core 使用 LibreOffice 实现 Office 预览(Docker 部署)

前些年做云盘产品的时候,一个很核心的功能就是 Office 文件预览,当时还没有使用 .NET Core ,程序部署在 Windows Server 服务器上,文件预览的方案采用了微软的 OWA 。 目前在做的零代码产品中的表单附件控件,同样面临着 Office 文件预览的问题,现在技术栈采用了 .NET Core ,并使用容器化部署,自然就抛弃了 OWA 的方案。 本文简单介绍下 OWA 的替代方案。

技术

微服务:事务管理

几乎所有的信息管理系统都会涉及到事务,事务的目的是为了保证数据的一致性,这里说的一致性是数据库状态的一致性。 说到数据库状态的一致性,相信大家都会想到 ACID : 原子性(Atomic):在一个事件的多个数据库操作中,要么同时成功,要么同时失败,例如:转账业务; 隔离性(Isolation):不同的业务之间处理数据相互独立,互不影响 持久性(Durability):正常提交的数据能够被持久化,不丢失数据,比如 mysql 天然就能持久化,redis 、 rabbitmq 也能通过设置进行持久化; 一致性(Consistency):最终的数据正确,所以说是通过 AID 这些手段来保证了 C 。

技术

NET Core中的RabbitMQ消费者CPU高,竟然是这个原因

在 RabbitMQ 中有一个 vhsot 机制,可以用来做租户隔离,当产品从单租户演化为多租户时,正好可以用到这个特性,不同 vhost 中的交换机、队列互不影响。

技术

微服务:服务间如何通信?

在微服务架构中,会将一个完整的应用程序拆分成一组服务。这些服务之间需要经过协作,通过接口调用,才能组成一个完整的应用。 不同的服务部署在不同的机器上,或者同一个机器的多个容器中,进程间的通信就不可避免了,也变得非常重要。

技术

从一个简单 API 的发布到组件化的架构思考

在 SaaS 版本的零代码平台中,高级用户希望能上传自己编写的 WebAPI ,来实现一些复杂场景下的业务。就需要添加可以通过上传程序包进行发布部署的功能。

技术

代码居然还能这样写

这篇文章要介绍的是 GitHub Copilot 。 微软去年推出的 GitHub Copilot 是一个基于 AI 的编程辅助工具,简单理解就是我们写点注释或者写个方法名,Copilot 就能理解了我们的意思,然后帮我们写一个相关的方法出来。

技术
14567834