Go应用
将应用程序分解成一套较小的互连服务,将单体应用拆分为一系列服务,每个服务都轻量级单独部署,运行在自己的进程中,共同组件整个系统中。每个服务注重自己的核心能力的开发,微服务组件之间采用轻量级别通信方式进行通信,包括RESTful APi。那Go语言的微服务框架有哪些需要学习的呢? Protobuf语法 / Protobuf序列化原理服务发现 / Consul内部原理节点服务集群Docker 环境的搭建RPC 简介及原理介绍RPC 与 Protobuf 结合gRPC 的…
因为不合适 goroutine是强制加上scheduler的纤程 纤程和协程的差异点在于,fiber/goroutine多了一个调度器,而这个调度器会把callback后的代码调度到 其他线程去执行但是gui的特点在于,它有一个ui thread,这个ui thread发出去的任何请求,在callback之后, 必需调度回原来线程执行,之所以这么做,是因为ui thread一般做的都是渲染部分的工作,而渲染一般就只能通过一个主要的线程予以执行,而且不能block住这个线程所以你看安…
【Java自学项目】做一个java房屋租赁管理系统
项目已经开源啦,分享给大家~
这真的是我近期最感兴趣的数码产品,其能引起的我的兴奋地已经超过了笔记本、旗舰手机啥的。Insta360 GO2,这个小东西太有趣了。我个人真的非常欣赏这种充满了巧思的产品设计。 [图片] 关于GO2这个小东西,说实话喜欢的很多,吐槽的也不少。最关键的其实是看它是不是适合你自己的使用场景。数码产品,再好再坏也无所谓,最关键的就是适合自己。不适合你,你会觉得它全是缺点,适合你,你则会疯狂地喜欢上它。 铺垫了挺多了,下面开始正…
这是一篇可以让你受益终身的回答,汇聚了微服务的精华! 建议你花 2 分钟读完这篇回答,可以帮你节省 90% 的找答案时间,一定要坚持读到最后。收藏的知友记得点个赞,开源君花了不少时间搜集整理,让好东西值得更多人看到。Go 语言电子书推荐 Go-web编程百度云链接 提取码:pm8s Go并发实战链接 提取码:4end Go语言编程链接 提取码:lhfk G语言标准库链接 :提取码:ax5n Go语言程序设计 :提取码:d35w Go语言圣经: 提取码:q8mr …
Go 1.18 将引入新的网络地址包
很久之前,我在网上看到一篇 Brad Fitzpatrick 写的文章,名为 netaddr.IP: a new IP address type for Go。Brad 是 Go 语言的核心开发者,同时也是 tailscale 的创始人。Brad 在文章中分析了 Go 语言 net.IP 类型的问题和他们的应对方案以及方案的演变过程。最终 Brad 他们开源了 inet.af/netaddr 这个包。当时我就随便瞄了几眼,留下一点印象。今天收到邮件订阅说是 Go 1.18 接受了 Brad 的提案,准备引入一个新包 net/netip。…
我用过Go做过桌面应用!!!这是我所使用的第三方库,它是用Win32 API接口来实现的。 github.com/lxn/walk 实现一个桌面窗口只需要: package main import ( "syscall" "github.com/lxn/walk" "github.com/lxn/win" ) func main() { window, _ := walk.NewMainWindow() // 设置窗体标题 window.SetTitle(`你好世界!`) // 设置窗体的宽高 window.SetWidth(400) window.SetHeight(400) // 设置窗体生成在屏幕的正中间 // 窗体横坐…
“业务、模型”估计下一句就是domain,dto,factory了。就这固化的思维模式,固化到啥就老老实实用啥吧,别自己找不痛快了。 咱就说Java/Spring,各种千奇百怪的注解,get set都编译期自动生成,谁写的服务看起来都一个样子。然后呢这玩意到现在却连个真正意义上的hotswap都做不到,然后还被人说“适合web开发”,顺手改一个字母都要吭哧吭哧的重启一遍server。搞个查询又orm,又mapper。这真爽吗?我看未见得,只是你被这个体系…
Go 1.18 新特性:多模块工作区模式
摘要:在 Go 1.18 推出多模块工作区模式——Multi-Module Workspaces,用以支持模块的多个工作空间,我们来看看到底有什么特别。本文分享自华为云社区《 一起看看 Go 1.18 新特性之多模块工作区模式 》,作者:宇宙之一粟 。引言2022年,Go 团队发布 Go 1.18 ,作为一个大的版本变动,Go 1.18 理所当然涵盖了许多的新功能、Go 团队也提到是 Go 语言发布以来做的最大的一次变动,并且性能改进很大。 其中一个功能,就是提供了一个 …
每个语言都是有其适合开发的领域和方向吧。 正如题主所说,用Go语言是可以桌面应用,但是没有几个人用。我自己分析大概有两个原因: - Go的主打特性和适合方向里面,提到的总是高并发,高效服务器开发,云服务平台,分布式微服务等这些方面,无论是资料还是github上,也是这几个方面的资料见到的多一些。前面我还提到过go适合开发区块链,区块链开发推荐学习go。我本来以为是Go适合区块链开发,经廖雪峰老师提醒并不是,是因为区…
insta360 go 2到手两个月了,这两个月我戴着它走了不少地方,也对这个产品有了不少认识和总结可以聊聊。 insta360 go2快速一览对于insta360 go 2 还没有什么概念的朋友,我想用简短的几句概括下这是一台什么样的相机: insta360 go 2中文名“拇指防抖相机”,真的是只有拇指大小,重仅27g,高度和airPods充电盒相仿 [图片] 超广角11.24mm等效焦距,标准的超广角视角无需稳定器,相机直接电子防抖(裁切画面边缘),而且自动保持地平线水…
最新进展:Go arena 手动管理内存,鸽了!
大家好,我是煎鱼。 年初有给大家分享 Go1.20 arena 能手动管理内存的事情,当时不论是我们读者,还是社区上的小伙伴们,都是比较激动的。毕竟这是一个有意思的特性。 这不,今年都快过去了。2024 年要来了。有小伙伴问这个最新的进展: [图片] 今天这篇文章就是给大家同步目前的情况。第一节是前置知识,如果不太记得背景的同学可以快速看一下。 前置知识Arena 指的是一种 从一个连续的内存区域分配一组内存对象的方式。优点比一般的内…
Go原生插件使用问题全解析
[图片] 导言本人在设计和落地基于Go原生插件机制的扩展开发产品时踩到了很多坑,由于这方面相关资料很少,因而借此机会做一个非常粗浅的总结,希望能对大家有所帮助。 本文只说问题和解决方案,不读代码。 一些背景知识2.1 运行时通常而言,在计算机编程语言领域,“运行时”的概念和一些需要使用到vm的语言相关。程序的运行由两个部分组成:目标代码和“虚拟机”。比如最为典型的JAVA,即Java Class + JRE。对于一些看似不需要“虚拟机…
看题我姑且认为题主是想问为什么没有人用go开发桌面软件框架来答好了。 2019年了,目前主流的桌面软件开发框架选择性已经很少了(Windows),以编程语言来划的话无非就是C++和JS。在Windows平台上,桌面软件开发框架始终绕不过GDI、GDI+、Direct2D,目前主流的C++桌面软件开发框架以DirectUI为主,代表是Duilib,缺点是没有完整的跨平台方案(QT除外);后者代表则是Electron,桌面软件web化,天生跨平台,现在有越来越多的桌面…
Go 1.22 终于把循环变量的坑填了
使用Go语言的小伙伴一定都知道一个著名的坑:循环变量是共享的,这样的设计导致按照自然理解去写代码,会出现不可预知的结果,这里注意,为什么说是不可预知的结果,而不是像有些小伙伴说的是循环变量的最后值,我们通过代码来看下: package main import "time" func main() { for i := 0; i < 5; i++ { go func() { println(i) }() } time.Sleep(time.Second) }这段代码很简单,期望的结果就是会显示5个数字,范围是…
Go 错误处理:100+ 提案全部被拒绝,为何现阶段仍用 if err != nil?
大家好,我是煎鱼。 这些年给 Go 提新的错误处理提案的人络绎不绝,挡都挡不住。Ian Lance Taylor 作为历史的亲历者之一特意梳理了《 language: Go 2: error handling meta issue[1]》。今天结合我自己写过的内容分享给大家,以后有人再问可以甩给他们,这样他就懂前因后果了。 背景在 2018 年 8 月,现任 Go 核心团队负责人 Russ Cox 给 Go2 的错误处理画了一个大大的蓝图,并介绍了一个未实现的设计草案。 [图片] 具体目标如下: 期望…
Insta360 GO 2,网上都卖断货了,甚至要加价购买;另外,各种UP主都发了测评视频,也不知道是不是在恰饭,反正风评出奇的好。 今天,就深扒一下,摘掉狂吹Insta360 GO 2的滤镜,看看花1800块钱买个这小破玩意儿,到底值不值。废话少絮,直接说它的槽点和优点。 01. 画质 光线的对Insta360 GO 2的影响超级超级大。晚上拍摄,Insta360 GO 2的画质就土掉渣,1800块买的,我却只想扔掉它;可雨过天晴后的白天,它的画质又是如此感人…
没明白不爽点在哪 无论是序列化还是反序列化,golang的提供都是非常良好的 至于error,很简单,如果你不用error,那么panic+recovery是几乎完全等价于try catch的 说实话,我一直没搞明白知乎最近一两年对go的喷点在哪……
Golang 之所以在国内受到很多开发者追捧是因为语言的设计定位是简单,所以和强大没什么关系,也就是说 golang 语言很多特性匮乏,对 UI 的抽象来说差的太远。 GUI 方面比较强的是 C#,还有在安卓平台上的 rxJava,再说到 iOS 平台的 rxswift 都参照了 C# 平台的 rx 框架抽象。 Golang 的简单设计理念大家都知道它和 C 有的一拼,gtk 是非常著名的 GUI 框架,也是由于抽象表达力不够所以参照 D语言的设计研发了 Vala 语言,这个语…