-
Go多协程并发环境下的错误解决
所属栏目:[语言] 日期:2021-11-05 热度:197
引言 在Go语言中,我们通常会用到panic和recover来抛出错误和捕获错误,这一对操作在单协程环境下我们正常用就好了,并不会踩到什么坑。但是在多协程并发环境下,我们常常会碰到以下两个问题。假设我们现在有2个协程,我们叫它们协程A和B好了: 如果协程A发生[详细]
-
分析 Go 与 C 的指针
所属栏目:[语言] 日期:2021-11-05 热度:60
运算符 C 和 Go 都相同: 运算符取出变量所在的内存地址 * 运算符取出指针变量所指向的内存地址里面的值,也叫 解引用 C 语言版示例: #include stdio.h int main() { int bar = 1; // 声明一个指向 int 类型的值的指针 int *ptr; // 通过 取出 bar 变量所在[详细]
-
怎样使用Python对Gif进行压缩
所属栏目:[语言] 日期:2021-11-05 热度:94
一、背景 前天在给微信公众号上传文章的时候,文章里面有一个图片是gif的,在上传的过程中报错了,说是图片超大了。搜索之后发现图片需要小于5m。 那么问题就转化为怎么把当前的gif给缩减到5m以内本着有轮子用轮子,没有轮子造轮子的精神,网上搜索一番。 发[详细]
-
人人都能明白的 Python 装饰器入门教程!
所属栏目:[语言] 日期:2021-11-05 热度:195
大家好,我是早起。 之前的文章中提到,很多人认为理解了装饰器的概念和用法后,会觉得自己的 Python 水平有一个明显的提高。 但很多教程在一上来就会给出装饰器的定义以及基本用法,例如你一定会在很多文章中看到例如代码运行时间计时器等相关常用装饰器。[详细]
-
Python单元测试的九个方法
所属栏目:[语言] 日期:2021-11-05 热度:198
pytest是python的单元测试框架,简单易用,在很多知名项目中应用。requests是python知名的http爬虫库,同样简单易用,是python开源项目的TOP10。关于这2个项目,之前都有过介绍,本文主要介绍requests项目如何使用pytest进行单元测试,希望达到下面3个目标:[详细]
-
很全面的Python重点知识总结,建议收藏!
所属栏目:[语言] 日期:2021-11-05 热度:141
这是一份来自于 SegmentFault 上的开发者 @二十一 总结的 Python 重点。由于总结了太多的东西,所以篇幅有点长,这也是作者缝缝补补总结了好久的东西。 Py2 VS Py3 print成为了函数,python2是关键字 不再有unicode对象,默认str就是unicode python3除号返回[详细]
-
关于Go程序错误处理的一些意见
所属栏目:[语言] 日期:2021-11-05 热度:123
Go的错误处理这块是日常被大家吐槽较多的地方,我在工作中也观察到一些现象,比较严重的是在各层级的逻辑代码中对错误的处理有些重复。 比如,有人写代码就会在每一层都判断错误并记录日志,从代码层面看,貌似很严谨,但是如果看日志会发现一堆重复的信息,[详细]
-
IBM 工程师一直在为 GRUB 探寻可能的 Rust 模块
所属栏目:[语言] 日期:2021-11-05 热度:142
IBM 工程师 Daniel Axtens 在本周的 Linux Plumbers Conference 上介绍了,使用 Rust 编程语言为 GRUB2 引导加载程序创建模块的前景。 根据介绍,该提案不是关于在 Rust 中重写 GRUB2 或将其大部分转换为 Rust,而是允许在开发人员需要时用 Rust 创建 GRUB2[详细]
-
Python怎样在字符串中添加变量数据 程序进一步完善
所属栏目:[语言] 日期:2021-11-05 热度:84
前一天一直在研究用python控制微信的功能,用了第三方库,效果很不错,今天无意中想到,我每天在跑的程序会自动统计每个店的产品销售数据。a卖了几个,卖了多少钱,b卖了几个卖了多少钱。但是实际使用上还有很大的路要走。 不过我觉得只要数据有了,后续使用[详细]
-
文科生自学Python/VBA-多条件决断评级
所属栏目:[语言] 日期:2021-11-05 热度:57
Python语言简洁生动,特别适合文科生学习入门IT世界,用几十行代码就能够做一个完整的爬虫脚本,开发效率杠杠的!短时间内即可解决工作和学习中碰到的各种棘手问题。(本人外语专业毕业,机缘巧合爱上编程,自学道路曲曲折折,痛并快乐!)在这里总结一下自学Pyth[详细]
-
C++ 设计模式的基本规则
所属栏目:[语言] 日期:2021-11-05 热度:80
设计模式基本原则 最终目的,高内聚,低耦合 开放封闭原则类的改动是通过增加代码进行的,不是修改源代码 银行类案例代码 #includeiostream using namespace std; class BankWorker { public: void save() { cout 存款 endl; } void moveM() { cout 取款 endl[详细]
-
用 Python 完成股票指数移动平均线
所属栏目:[语言] 日期:2021-11-05 热度:169
移动平均指标用于各种交易策略,以发现价格数据的长期趋势。简单移动平均线策略的一个潜在缺点是它们对所有价格的权重相同,而您可能希望最近的价格占有更大的比重。指数移动平均线 (EMA) 是实现这一目标的一种方法。 下面我们通过代码示例详细介绍 EMA 的实[详细]
-
用 Java 做个塔防游戏
所属栏目:[语言] 日期:2021-11-05 热度:176
本周 GitHub Trending 的主题词是:多语言。本周特推的 C 语言教程是大家都知道的阮一峰编写的,想必和他之前的技术文章类似,能起到科普作用。再来是 Rust 编写而成的数据库管理工具Gobang,Gobang 虽棒,但是 Java 也不赖。Mindustry 是一个可玩性极高的塔[详细]
-
Javaer,常用的 14 个类库,你清楚吗?
所属栏目:[语言] 日期:2021-11-05 热度:72
昨天下载下来Java16尝尝鲜。一看,好家伙,足足有176MB大。即使把jmc和jvisualvm给搞了出去,依然还是这么大,真的是让人震惊不已。 但即使JDK足够庞大,它的功能也已经不够用了。我们需要借助于第三方库,来完成企业级开发。比如,一个常见的SpringBoot服务[详细]
-
在Python里面达成链式调用
所属栏目:[语言] 日期:2021-11-05 热度:99
我们在使用Django的models查询数据库时,可以看到有这种写法: form app.models import XXX query = XXX.objects.all() query = query.filter(name=123, age=456).filter(salary=999) 在这种写法里面,query对象有一个filter方法,这个方法的返回数据还可以继[详细]
-
TIOBE 9月编程语言榜单 Python从未如此接近第一
所属栏目:[语言] 日期:2021-11-05 热度:59
Tiobe 9 月编程排行榜更新,每月保留节目又来了,话不多说我们直接看图。 数据来源: Tiobe 其实我一直很疑惑的一点就是,Tiobe榜单的编程语言排行对比数据,全部是参照去年同月数据变化做出的分析。我如果想和上月对比的话相对不会那么直观。 于是我自己把图[详细]
-
在Ocelot网关中完成IdentityServer4密码模式
所属栏目:[语言] 日期:2021-11-05 热度:123
概述 IdentityServer4 是为ASP.NET Core 2.系列量身打造的一款基于 OpenID Connect 和 OAuth 2.0 认证框架。将identityserver部署在你的应用中,具备如下的特点可以为你的应用(如网站、本地应用、移动端、服务)做集中式的登录逻辑和工作流控制。IdentityServe[详细]
-
Rust 在 Linux 内核的最新进度
所属栏目:[语言] 日期:2021-11-05 热度:73
虽然本周末结束的 Linux 5.15 合并窗口并未支持 Rust 编程语言在内核中的使用,但这项工作仍在进行中。 Linux 内核维护者 Miguel Ojeda 近日在 Linaro Connect 虚拟会议上介绍了 Rust for Linux 的工作进展。Miguel Ojeda 受雇于谷歌,专门负责 Rust for Linu[详细]
-
Go 和 Golang 有什么联系?
所属栏目:[语言] 日期:2021-11-05 热度:126
大家好,我是煎鱼。 最近天气也冷了,掐指一算是招聘季了,无论是校招、社招、HR、面试官们都蠢蠢欲动。这不,我有一个朋友的 HR 朋友都有起名困难了,一看 Go 语言的工作说明(Job Description),发现各有不同。 如下图: 来自某招聘网站 仔细一看,有叫 Go[详细]
-
HarmonyOS练习路之开发篇—Java UI框架
所属栏目:[语言] 日期:2021-11-05 热度:57
接上一篇文章 上两篇文章已经介绍了大部分的Java UI组件 ,因为时间关系把一个内容分为了三个部分,这是最后一篇组件的介绍。分别介绍ListContainer、ScrollView和WebView。 二、分类说明 ListContainer ListContainer是用来呈现连续、多行数据的组件,包含[详细]
-
Go 中的分段栈和连续栈的不同
所属栏目:[语言] 日期:2021-11-05 热度:194
# 分段栈 在 Go 1.3 版本之前 ,使用的栈结构是分段栈,随着goroutine 调用的函数层级的深入或者局部变量需要的越来越多时,运行时会调用 runtime.morestack 和 runtime.newstack创建一个新的栈空间,这些栈空间是不连续的,但是当前 goroutine 的多个栈空间[详细]
-
Golang 语言简化 HTTP 客户端 GoRequest
所属栏目:[语言] 日期:2021-11-05 热度:198
1介绍 GoRequest 是一个极简的 HTTP 客户端,作者灵感来源于 Node.js 库 SuperAgent。相比 Golang 标准库 net/http,GoRequest 使用起来更加简单。GoRequest 官方的口号是 像机枪一样发送请求。 GoRequest 包含以下功能: 支持 HTTP 请求方式:Get/Post/Put/[详细]
-
Go 这样设置版本号 我们的项目也行
所属栏目:[语言] 日期:2021-11-05 热度:114
大家好,我是 polarisxu。 项目中,特别是开源项目,会特别重视项目的版本号。有些项目,会把版本号写入源码中,每次升级都修改源码号。不过这不是特别好的方式。本文通过学习 Go 语言源码的处理方式来掌握它,并应用于自己的项目中。 本文基于 Go1.17,不同[详细]
-
内核级Python调控Python编译器源码
所属栏目:[语言] 日期:2021-11-05 热度:110
python编译器在执行时,给它指定要执行的源码文件,或者说直接输入源码字符串就可以驱动脚本的执行流程,其基本框架如下: input层是python编译器用于获取源码的输入方式,事实上Python能够有多种方式将源码信息传递给编译器,例如: 1,执行python -c 然后[详细]
-
Python抽象基类的定义与应用
所属栏目:[语言] 日期:2021-11-05 热度:175
我们写Python基本不需要自己创建抽象基类,而是通过鸭子类型来解决大部分问题。《流畅的Python》作者使用了15年Python,但只在项目中创建过一个抽象基类。我们更多时候是创建现有抽象基类的子类,或者使用现有的抽象基类注册。本文的意义在于,了解抽象基类[详细]
