自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 收藏
  • 关注

原创 go依赖注入库samber/do使用

以简单和高效而闻名的Go语言在其1.18版本中引入了泛型,这可以显着减少大量代码生成的需要,使该语言更加强大和灵活。如果您有兴趣,Go 泛型教程是很好的学习资源。通过使用 Go 的泛型,samber/do库为依赖注入 (DI) 提供了一个很好的解决方案。依赖注入是一种重要的设计模式,它促进对象及其依赖关系之间的松散耦合,从而提高代码模块化性、可测试性和可维护性。泛型和依赖注入的结合进一步提升了 Go 在创建高效、可扩展软件方面的潜力。在本文中,您将学习如何使用 samber/do 提供依赖注入。

2024-02-18 03:17:19 1704 4

原创 golang 函数式编程库samber/mo使用: IO

副作用是在计算结果的过程中,改变了系统状态或者与外部世界进行了可观察的交互。操作文件系统往数据库插入记录调用http请求修改全局变量打印日志访问系统状态副作用之所以不好,是因为它使得代码难以理解和测试。当系统状态或者外界环境发生变化时, 同一段代码的执行会产生不同的结果。纯函数是指一个函数,给定相同的输入,总是返回相同的输出,并且没有任何可观察的副作用。不取决于系统状态,也不会对系统状态进行修改。这类函数具有参数透明性、可测试性、并行性等诸多优秀特性, 所以我们偏好纯函数。

2024-02-28 23:50:54 1405 1

原创 golang 函数式编程库samber/mo使用: Future

本节讲述Future的使用,Future是一种Monad,它可以帮助我们处理异步编程问题。如果您对samber/mo库不了解, 请先阅读第一篇。

2024-02-27 23:54:53 680

原创 golang 函数式编程库samber/mo使用: Either

有时候我们不确定值的类型, 一个值可能是int, 也可能是string, 这时候我们可以使用Either类型。Either类型是一种表示两种可能值的类型, 和python中的 Optional类似。left Lright R其中 isLeft表示值的类型, left和right分别表示两种可能的值。如果isLeft为true, 则left有值, right为nil;如果isLeft为false, 则right有值, left为nil。

2024-02-26 23:51:27 775

原创 golang 函数式编程库samber/mo使用: Result

如果您不了解samber/mo库, 请先阅读上一篇, 这篇讲述结构体Result的使用。

2024-02-26 22:49:47 819

原创 golang 函数式编程库samber/mo使用: Option

samber/mo是一个Go语言库,它提供了一组函数式编程(FP)的抽象,包括Monad。这些抽象可以帮助你更好地组织和处理你的代码,尤其是在处理异步和错误处理等方面。

2024-02-25 17:45:07 1363

原创 python 实现函数式编程的flatmap

flatMap。

2024-02-25 13:12:35 443

原创 samber/lo 库的使用方法:Error

samber/lo 是一个 Go 语言库,提供了一些常用的集合操作函数,如 Filter、Map 和 FilterMap。这个库函数太多,因此我决定按照功能分别介绍,本文介绍的是 samber/lo 库中Error相关的函数。

2024-02-24 05:27:03 435

原创 samber/lo 库的使用方法:Concurrency

samber/lo 是一个 Go 语言库,提供了一些常用的集合操作函数,如 Filter、Map 和 FilterMap。这个库函数太多,因此我决定按照功能分别介绍,本文介绍的是 samber/lo 库中Concurrency相关的函数。

2024-02-24 05:00:21 614

原创 samber/lo 库的使用方法:function

samber/lo 是一个 Go 语言库,提供了一些常用的集合操作函数,如 Filter、Map 和 FilterMap。这个库函数太多,因此我决定按照功能分别介绍,本文介绍的是 samber/lo 库中function相关的函数。

2024-02-23 02:57:28 345

原创 samber/lo 库的使用方法:type

samber/lo 是一个 Go 语言库,提供了一些常用的集合操作函数,如 Filter、Map 和 FilterMap。这个库函数太多,因此我决定按照功能分别介绍,本文介绍的是 samber/lo 库中type相关的函数。

2024-02-23 02:48:29 552

原创 samber/lo 库的使用方法: 目录

samber/lo 是一个 Go 语言库,使用泛型实现了一些常用的操作函数,如 Filter、Map 和 FilterMap。这个库函数太多,因此我决定按照功能分别介绍。本文是目录, 便于查找。

2024-02-22 01:30:02 648

原创 samber/lo 库的使用方法: condition

samber/lo 是一个 Go 语言库,使用泛型实现了一些常用的操作函数,如 Filter、Map 和 FilterMap。这个库函数太多,因此我决定按照功能分别介绍,本文介绍的是 samber/lo 库中条件相关的函数。

2024-02-22 01:09:12 476

原创 samber/lo 库的使用方法: search

samber/lo 是一个 Go 语言库,使用泛型实现了一些常用的操作函数,如 Filter、Map 和 FilterMap。这个库函数太多,因此我决定按照功能分别介绍,本文介绍的是 samber/lo 库中search相关的函数。

2024-02-22 00:58:58 433

原创 samber/lo 库的使用方法: intersection

samber/lo 是一个 Go 语言库,提供了一些常用的集合操作函数,如 Filter、Map 和 FilterMap。这个库函数太多,因此我决定按照功能分别介绍,本文介绍的是 samber/lo 库中intersection相关的函数。

2024-02-21 01:12:17 735

原创 samber/lo 库的使用方法: 处理 channel

samber/lo 是一个 Go 语言库,提供了一些常用的集合操作函数,如 Filter、Map 和 FilterMap。这个库函数太多,因此我决定按照功能分别介绍,本文介绍的是 samber/lo 库中channel相关的函数。

2024-02-21 00:54:51 1424

原创 samber/lo 库的使用方法: 处理 tuple

samber/lo 是一个 Go 语言库,提供了一些常用的集合操作函数,如 Filter、Map 和 FilterMap。这个库函数太多,因此我决定按照功能分别介绍,本文介绍的是 samber/lo 库中tuple相关的函数。

2024-02-20 01:37:44 358

原创 samber/lo 库的使用方法: 处理 string

samber/lo 是一个 Go 语言库,提供了一些常用的集合操作函数,如 Filter、Map 和 FilterMap。这个库函数太多,因此我决定按照功能分别介绍,本文介绍的是 samber/lo 库中string相关的函数。

2024-02-20 01:08:13 220

原创 samber/lo 库的使用方法: 处理 math

samber/lo 是一个 Go 语言库,提供了一些常用的集合操作函数,如 Filter、Map 和 FilterMap。这个库函数太多,因此我决定按照功能分别介绍,本文介绍的是 samber/lo 库中math相关的函数。

2024-02-20 01:00:24 457

原创 samber/lo 库的使用方法: 处理Map

samber/lo 是一个 Go 语言库,提供了一些常用的集合操作函数,如 Filter、Map 和 FilterMap。这个库函数太多,因此我决定按照功能分别介绍,本文介绍的是 samber/lo 库中处理Map的函数。

2024-02-19 23:53:15 664

原创 samber/lo 库的使用方法: 处理切片

是一个 Go 语言库,提供了一些常用的集合操作函数,如 Filter、Map 和 FilterMap。这个库函数太多,因此我决定按照功能分别介绍,本文介绍的是 samber/lo 库中处理切片的函数。主要参考库的README。

2024-02-19 23:37:11 2416

原创 vue应用集成sentry: 超过20M文件无法上传问题 sentry reported an error: bad gateway (http status: 502)

原issue地址 https://forum.sentry.io/t/sourcemap-upload-failing-when-file-size-more-than-20mb/4660。实际nginx可能也需要修改, 参考配置如下。

2024-02-10 21:50:42 304

原创 golang 集成sentry:http.Client

http.Client 是 Go 标准库 HTTP 客户端实现, sentry-go也没有这个组件,所以需要自己实现。我们只需要对 http.Transport 进行包装即可, 完整代码如下。

2024-02-10 21:20:58 971 2

原创 golang 集成sentry:PostgreSQL

pgx接入sentry

2024-02-09 23:34:13 734

原创 golang集成sentry: go-redis

代码: https://github.com/Shujie-Tan/go-redis-sentry。网上没有找到go-redis集成sentry的库, 所以我简单实现了一个。

2024-02-09 16:39:51 864

原创 vue应用集成 sentry上传sourcemap不生效, 报错 FileNotFoundError

查看yaml, sentry-worker的 sentry-data是 emptyDir, 但是 sentry-web却是pvc卷, 两者对不上。最后在values.yaml发现 persistentWorkers 配置为 false了, 也就是sentry默认不启用存储 souremap的功能, 打开重新部署就好了。进sentry-worker容器发现确实没有, 然后进 sentry-web 容器, 发现有这个文件, 这就很奇怪了。

2024-02-07 21:36:45 488

原创 golang 集成sentry

golang集成sentry

2024-01-29 15:18:42 271

原创 minkube start后 调用kubectl create 错误

kubectl create 错误minikube start 后使用 k create -f *.yaml 遇到错误Error from server (InternalError): an error on the server ("") has prevented the request from succeeding解决办法unset https_proxy

2021-10-07 20:55:28 594

原创 macOS Focus Follow Mouse 焦点随鼠标移动问题

标题Macos Focus Follow Mouse 焦点随鼠标移动问题突然发现自己的活动窗口(程序)会随着鼠标移动,这让我非常困扰。程序窗口随着鼠标切换来切换去,非常没有控制感。找了很多答案才发现是自己不小心打开了afloat 的focus follow mouse 功能,非常感谢 该回答。...

2021-03-21 10:55:39 1377

原创 Macos 周期性退出当前程序界面, 效果类似如按Esc键

Macos 周期性退出当前程序界面, 效果类似如按Esc键如题, 该问题一直出现, 干扰正常工作。在lauchpad界面, 过几秒钟会回到工作界面; 在一般程序界面,也会闪一下。拼音输入法输入时被打断。困扰了我一段时间,最终下定决心解决它。我先是在terminal输入top命令,一直关注程序的状态。 观察到ReportCrash 周期性变为running状态, 说明一直有程序在崩溃。在console控制台的user report看到是Global Protect程序经常出问题, 彻底卸载该程序问题就解

2021-02-28 14:07:19 191

原创 编译原理入门推荐

看龙书英文第二章,感觉相当难懂,差点就从入门到放弃了。听华保健老师的公开课。编译原理

2019-01-20 11:14:38 532

原创 prml 学习笔记

prml 学习笔记kalman filter :kalman filter :MIT tutorialUnderstanding the Basis of the Kalman Filter Via a Simple and Intuitive Derivation [Lecture Notes]

2018-12-13 11:25:50 532

转载 NSGA-II 源码解析

if you want to understand the source code, you could refer to 多目标遗传算法 —— NSGA-II (部分源码解析)介绍 the core code of nsga2 is for (i=2; i<=ngen; i++) { selection (parent_pop, child_pop);...

2018-06-12 11:13:36 1760

原创 多目标优化常见分解方法

多目标优化常见分解方法初读moead时对其中的分解方法很难理解,这篇博客帮了我大忙https://blog.csdn.net/jinjiahao5299/article/details/76045936/

2018-06-06 09:17:30 2120 2

原创 实验11 - 汇编语言(王爽)

将以0结尾的字符串中的小写字母转变为大写字母; Name: letterc; Function: Converts character c in the string end with 0 to its uppercase equivalent if c is a lowercase letter and has an uppercase equivalent ; Parameter:ds:si

2017-08-02 10:51:25 357

原创 3.数值显示-汇编语言(王爽)-实验10 编写子程序

jcxz跳转后,紧随其后的代码不会执行,要特别注意出栈入栈是否匹配; e10_3.asmassume cs:code,ss:stack,ds:datadata segment db 16 dup (0)data endsstack segment db 64 dup (0)stack endscode segment start: mov ax,stack

2017-08-01 17:50:19 520

原创 2.解决除法溢出问题-汇编语言(王爽)-实验10 编写子程序

学习高德纳,先用铅笔在纸上写出算法好像真是不错的注意~; e10_2.asmassume cs:code,ss:stackstack segment db 16 dup (0)stack endscode segment start: mov ax,stack mov ss,ax mov sp,16 mov ax,1000h mov dx,10h

2017-08-01 11:41:36 406

原创 1.显示字符串-汇编语言(王爽)-实验10 编写子程序

1.显示字符串assume cs:code,ds:data,ss:stackdata segment db 'Welcome to masm!',0data endsstack segment dw 16 dup (0)stack endscode segmentstart: mov ax,data mov ds,ax mov ax,stack

2017-08-01 10:07:23 417

原创 反片语(Ananagrams, UVa 156)

学习了map用法, 特别是count的用法:size_type count (const key_type& k) const; Count elements with a specific key. Searches the container for elements with a key equivalent to k and returns the number of matches. r

2017-07-25 21:18:21 308

原创 安迪的第一个字典(Andy's First Dictionary, UVa 10815)

int tolower(int ch)的使用要特别小心, 参数ch必须是unsigned char 或者 EOF字符串大小写转换很常用,因此折腾了一下transform的使用// uva10815.cpp#include <iostream>#include <string>#include <cctype>#include <algorithm>#include <set>#inc

2017-07-24 21:24:39 439 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除