最新 | 最热门 | 最高评价

+0  [译]Go正则表达式示例

Tag: Go | Regexp
鸟窝 发于 2020年11月12日 00:43 | 点击: 76 | 展开摘要
原文:Golang Regex Replace Example by Brad。

在这篇文章中,我会介绍如何在Go语言中使用正则表达式。Go标准库本身就包含正则表达式库regexp。

首先给读者朋友们道个歉。最近一个多月主要忙两件事,所以博客没有更新。一个是换工作的事情,国庆节从工作将近四年的微博辞职了,虽然离职了,但还是祝愿微博发展的越来越好,在新公司一直在忙啊忙的,没有多少时间博客了。二是在极客时间开辟了一个专栏,专门介绍Go并发编程的相关知识,这个也是拖了一年之久的

查看全文: http://www.udpwork.com/item/17411.html

+0  Redis 6.0 客户端缓存特性及实践

Tag: 数据库
鸟窝 发于 2020年11月11日 22:22 | 点击: 76 | 展开摘要
Redis 6.0 发布了。

Redis 6.0的新特性也是在一步步的讨论和优化中确定的。

很多的特性已经在之前的RC等版本中介绍过了。

但是正式GA版中也有一些新的变化:

SSL

ACL: 更好,命令支持

RESP3

Client side caching:重新设计

Threaded I/O

Diskless replication on replicas

Cluster support in Redis-benchmark and improved r

查看全文: http://www.udpwork.com/item/17420.html

+0  Go反模式之越俎代庖

Tag: Go
鸟窝 发于 2020年11月11日 22:22 | 点击: 73 | 展开摘要
反模式(anti-pattern或antipattern)又叫做反面模式,指的是在实践中经常出现但又低效或是有待优化的设计模式,是用来解决问题的带有共同性的不良方法。Andrew Koenig在1995年造了anti-pattern这个词,灵感来自于GoF的《设计模式》一书。

按《AntiPatterns》作者的说法,可以用至少两个关键因素来把反面模式和不良习惯、错误的实践或糟糕的想法区分开来:

行动、过程和结构中的一些重复出现的乍一看是有益的,但最终得不偿失的模式



查看全文: http://www.udpwork.com/item/17417.html

+0  Go泛型新方案 - 类型参数

Tag: Go
鸟窝 发于 2020年11月11日 22:22 | 点击: 73 | 展开摘要
今天Ian Lance Taylor和Robert Griesemer新推出一篇文章,介绍了Go泛型的新方案。两位都是Go核心开发组中的老大,也是负责Go泛型特性的负责人。

本文带你了解Go泛型的最新进展,更详细的介绍请看The Next Step for Generics、Type Parameters - Draft Design、Summary of Go Generics Discussions、issue#15292。

在最新版的泛型设计中,原来的Contrac

查看全文: http://www.udpwork.com/item/17416.html

+0  本地运行Go泛型代码

Tag: Go
鸟窝 发于 2020年11月11日 22:22 | 点击: 72 | 展开摘要
昨天 Ian Lance Taylor 和 Robert Griesemer 发布了Go泛型的新的草案(The Next Step for Generics), 国内外的Gopher反响非常的热烈,大家纷纷对草案和这个文章进行了解读,并且感觉这一版的Go泛型设计基本接近于Go的泛型目标,总之比前一个方案好太多了。

同时Ian也提供了一个在线编译的工具go2go,可以对Go泛型编程进行尝鲜。

如果在本地编译呢?

事实上Go的源代码会同步到github中,所以你只需要下载相

查看全文: http://www.udpwork.com/item/17415.html

+0  Go并发编程一年回顾

Tag: Go
鸟窝 发于 2020年11月11日 22:22 | 点击: 74 | 展开摘要
距离我2019年的深入Go并发编程研讨课发布也有一年时间了。在Gopher Beijing 2019相关演讲后我整理了这一个8小时的课程,对有志于深入理解Go并发编程原理的同学从深度和广度上提供一些帮助。当然一年来我也一直关注着Go并发编程的演变,并且补充了池和并发模式的一些例子。对于官方的并发库来说,这一年来又有哪些变化呢,让我们快速回顾一下。

Sync.Once 很简单?

如果让你实现一个Once一样的库,是不是觉得很简单?因为Go标准库提供了atomic的CAS操作

查看全文: http://www.udpwork.com/item/17414.html

+0  使用 Go 实现 lock-free 的队列

Tag: Go
鸟窝 发于 2020年11月11日 22:22 | 点击: 74 | 展开摘要
队列(queue)是非常常用的一个数据结构,它只允许在表的前端(head)进行出队(dequeue)操作,而在表的后端(tail)进行入队(enqueue)操作。和栈数据结构一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾(tail),进行删除操作的端称为队头(header)。

在并发环境中使用队列,就必须考虑到多线程(多纤程)并发读写的问题,可能存在多个写(入队)操作线程,同时也可能存在多个线程读操作线程,在这种情况下,我们要保证数据的不丢失,不重复,而且也要

查看全文: http://www.udpwork.com/item/17413.html

+0  基于protobuf快速生成服务治理的RPC代码

Tag: Go
鸟窝 发于 2020年11月11日 22:22 | 点击: 73 | 展开摘要
rpcx是一个流行的Go语言实现的服务治理的框架,只要你简单会写Go的函数,你就能实现带服务治理的RPC服务,超级简单,比如下面的加法服务:

1
2
3
4
5

type Arith struct {}

func (a *Arith) Add(ctx context.Context, args int, reply *int) error {
*reply = args + 100
}

但是,很多情况下,尤其在大型互联网公司中,常用Protobuf的proto

查看全文: http://www.udpwork.com/item/17419.html

+0  [译]配置 sql.DB 获得更好的性能(2020年更新版)

鸟窝 发于 2020年11月11日 22:22 | 点击: 73 | 展开摘要
原文在2020年4月9号做了更新,所以重新翻译了原文。

网上有很多教程介绍sql.DB, 以及如何使用它来执行SQL数据库查询和语句, 但是大部分都没有介绍SetMaxOpenConns()、SetMaxIdleConns()和SetConnmaxLifetime()方法。事实上你可以使用这些方法来配置sql.DB的行为并改善其性能。

在这篇文章中,我想准确地解释这些设置的作用,并演示它们可能产生的(正面和负面)影响。

打开和空闲连接

首先说一点背景知识。

sql.

查看全文: http://www.udpwork.com/item/17418.html

+0  Go Race Detector报假警?

Tag: Go
鸟窝 发于 2020年11月11日 22:22 | 点击: 73 | 展开摘要
最近写了一篇使用Go实现高效lock-free队列的文章,主要是根据Maged M. Michael 和 Michael L. Scott 的论文中提到的两个算法,其中一个算法是利用两个lock实现分别控制head、tail实现的队列,算法都超级简单,所以使用Go实现起来也是非常的容易。

最近一位网友提了一个issue,发现使用go race detector很容易就报data race错误。上述论文已经发表了24年了,可以说久经学术界和工程界同仁的考验,但是这位网友也提供

查看全文: http://www.udpwork.com/item/17412.html

+0  修复WebView资源未找到导致的崩溃问题

技术小黑屋 发于 2020年11月06日 20:06 | 点击: 73 | 展开摘要
近期 应用新增了很多的崩溃,分析特征,发现崩溃集中在5.0-5.1.1系统上,崩溃的日志如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56

Caused by: android.content.res.R

查看全文: http://www.udpwork.com/item/17441.html

+0  用 SwiftUI 在 macOS 下实现全尺寸的窗口内容

图拉鼎 发于 2020年10月29日 16:12 | 点击: 72 | 展开摘要
一周前,我在用 SwiftUI 做 macOS App 的时候,发现了一个兼容问题:即实现全尺寸窗口内容在不同的系统版本和不同的 Xcode 版本不一致的情况。

简单地说,我有一个开启了 Full Size Content View 的 NSWindow,通过 NSHostingController 的形式载入了一个 SwiftUI View,但是效果并不一致。有的搭配是 Full Size Content View,有的搭配却不是:

Big Sur + Xcode 12

查看全文: http://www.udpwork.com/item/17428.html
|<<<2345678>>>| 一共1312页, 15738条记录