Go系列教程(二十一) | Go协程(goroutine)

在前面的教程里,我们探讨了并发,以及并发与并行的区别。本教程则会介绍在 Go 语言里,如何使用 Go 协程(Goroutine)来实现并发。 Go 协程是什么? Go 协程是与其他函数或方法一起并发运行的函数或方法。Go 协程可以看作是轻量级线程。与线程相比,创建一个 Go 协程的成本很小。因此在 Go 应用中,常常会看到有数以千计的 Go 协程并发地运行。 Go 协程相比于线程的优势 相比线程而 …

阅读全文

Go系列教程(二十) | 并发入门(Concurrency Getting Started)

Go 是并发式语言,而不是并行式语言。 在讨论 Go 如何处理并发之前,我们必须理解何为并发,以及并发与并行的区别。 并发是什么? 并发是指立即处理多个任务的能力。举个例子就能很好地说明这一点。 我们可以想象一个人正在跑步。假如在他晨跑时,鞋带突然松了。于是他停下来,系一下鞋带,接下来继续跑。这个例子就是典型的并发。这个人能够一下搞定跑步和系鞋带两件事,即立即处理多个任务。 并行是什么?并行和并发 …

阅读全文

Wireshark文档 | Wireshark 过滤器

Wireshark 和 TShark 共享一个强大的过滤引擎,有助于消除数据包跟踪中的噪音,让您只看到您感兴趣的数据包。如果数据包满足过滤器中表达的要求,则它会显示在数据包列表中。显示过滤器让您可以将协议中的字段与特定值进行比较,将字段与字段进行比较,并检查指定的字段或协议是否存在。 检查字段或协议是否存在 最简单的过滤器允许您检查协议或字段是否存在。如果您想查看所有包含 IP 协议的数据包,过滤 …

阅读全文

CentOS7 安装 Git LFS

Git 大文件存储 (LFS) 使用 Git 内部的文本指针替换音频样本、视频、数据集和图形等大文件,同时将文件内容存储在 GitHub.com 或 GitHub Enterprise 等远程服务器上。 1 $ curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.rpm.sh | sudo bash …

阅读全文

CentOS7 安装 Docker

要在 CentOS 上开始使用 Docker Engine,请确保满足先决条件,然后安装 Docker。 先决条件 操作系统要求 要安装 Docker 引擎,您需要 CentOS 7 或 8 的维护版本。不支持或测试存档版本。 必须启用 centos-extras 储存库。默认情况下启用此存储库,但如果您已禁用它,则需要重新启用它。 推荐使用 overlay2 存储驱动。 …

阅读全文

MYSQL创建新用户并赋于权限

为应用程序创建特定的用户特定的数据库,不要直接使用root用户直接在应用程序中执行数据库操作,如果条件允许请将root用户设置为禁止远程登录,以提高系统的安全性,通常情况下,在开发或测试时可以将环境中的MYSQL设置为允许远程登录,以提高开发或上线效率,生产环境下是严禁MYSQL数据库远程登录的,应用程序应该通过内部网络进行通信完成数据的相关操作。特定的用户只对特定数据库有权限,退一万步讲,即使特 …

阅读全文

Docker环境构建Gitea版本库服务

Gitea是一个开源软件包,用于托管使用Git以及其他协作特性(如bug跟踪、wiki和代码审查)的软件开发版本控制。它支持自托管,但也提供一个免费的公共第一方实例托管在滴滴的中国云,它是Gogs的分支,Gitea使用Go语言编写,可以托管在Go支持的所有平台上,包括Linux、macOS和Windows。项目由Open Collective资助。以上来自维基百科 建立一个管理Gitea …

阅读全文

Git 推送LSF(大文件)到远程

项目中包含大上件时 推送已有项目到新仓库时报错 1 2 3 4 5 6 7 8 9 10 11 12 $ git push -u origin master 枚举对象中: 1585, 完成. 对象计数中: 100% (1585/1585), 完成. 使用 4 个线程进行压缩 压缩对象中: 100% (1466/1466), 完成. 写入对象中: 100% (1585/1585), 13.66 …

阅读全文

Mac下使用FreeRDP

FreeRDP是一个远程桌面协议(RDP)的实现,开源免费软件,在Apache许可下发布。要在MacOS系统下安装使用还是有些特别需要注意的地方,记录一下在Mac系统的安装具体步骤方便遇到类似问题的开发者进行参考。 Section1.安装openssl并配置环境变量 如果没有安装openssl请打开 terminal 或 item2 (以下统称终端)执行以下brew命令安装: 1 $ brew …

阅读全文

Go语言调用C语言代码

Go 语言除了语法精炼、并发支持好外,还有一个优点就是可以调用 C 代码。可以直接在 Go 源代码里写 C 代码,也可以引 C 语言的外部库。这样在性能遇到瓶颈的地方可以重写,或者某些功能 Go 和第三方还缺失,但 C 语言有现成的库就可以直接用了。官方 Cgo 这块目前有一篇博客 https://blog.golang.org/c-go-cgo …

阅读全文