-
Go多协程并发环境下的错误治理
所属栏目:[语言] 日期:2021-11-03 热度:188
在Go语言中,我们通常会用到panic和recover来抛出错误和捕获错误,这一对操作在单协程环境下我们正常用就好了,并不会踩到什么坑。但是在多协程并发环境下,我们常常会碰到以下两个问题。假设我们现在有2个协程,我们叫它们协程A和B好了: 如果协程A发生了pa[详细]
-
浅析 Go 与 C 的指南
所属栏目:[语言] 日期:2021-11-03 热度:152
C 和 Go 都相同: 运算符取出变量所在的内存地址 * 运算符取出指针变量所指向的内存地址里面的值,也叫 解引用 C 语言版示例: #include stdio.h int main() { int bar = 1; // 声明一个指向 int 类型的值的指针 int *ptr; // 通过 取出 bar 变量所在的内存[详细]
-
如何引用Python对Gif进行压缩
所属栏目:[语言] 日期:2021-11-03 热度:110
前天在给微信公众号上传文章的时候,文章里面有一个图片是gif的,在上传的过程中报错了,说是图片超大了。搜索之后发现图片需要小于5m。 那么问题就转化为怎么把当前的gif给缩减到5m以内本着有轮子用轮子,没有轮子造轮子的精神,网上搜索一番。 发现一些现[详细]
-
Python 第三方库大全,看这一篇文章就可以了!
所属栏目:[语言] 日期:2021-11-03 热度:126
管理 Python 版本和环境的工具 p:非常简单的交互式 python 版本管理工具。 pyenv:简单的 Python 版本管理工具。 Vex:可以在虚拟环境中执行命令。 virtualenv:创建独立 Python 环境的工具。 virtualenvwrapper:virtualenv 的一组扩展。 buildout:在隔离[详细]
-
人人都能看明白的Python装饰器入门教程!
所属栏目:[语言] 日期:2021-11-03 热度:129
之前的文章中提到,很多人认为理解了装饰器的概念和用法后,会觉得自己的 Python 水平有一个明显的提高。 但很多教程在一上来就会给出装饰器的定义以及基本用法,例如你一定会在很多文章中看到例如代码运行时间计时器等相关常用装饰器。 直接从应用入手这样[详细]
-
关于Go程序错误处理的一些提议
所属栏目:[语言] 日期:2021-11-03 热度:123
Go的错误处理这块是日常被大家吐槽较多的地方,我在工作中也观察到一些现象,比较严重的是在各层级的逻辑代码中对错误的处理有些重复。 比如,有人写代码就会在每一层都判断错误并记录日志,从代码层面看,貌似很严谨,但是如果看日志会发现一堆重复的信息,[详细]
-
C++如何调用写好的C接口?
所属栏目:[语言] 日期:2021-11-03 热度:57
前言 如何在C++代码中调用写好的C接口?你可能会奇怪,C++不是兼容C吗?直接调用不就可以了,那么我们来测试一下,先看看C++如何调用C代码接口的。 C++调用C文件 一个C语言文件test.c #include stdio.h void print(int a,int b) { printf(这里调用的是C语言的[详细]
-
在 Linux 上使用 jps 命令检查 Java 进程
所属栏目:[语言] 日期:2021-11-03 热度:83
系统上运行着诸多进程,通过 jps 命令能够快速有效识别 Java 进程。 在 Linux 中,有一些用于查看系统上运行进程的命令。进程是指由内核管理的正在进行的事件。每启动一个应用程序时,就会产生一个进程,但也有许多在计算机后台运行的进程,如保持系统时间准[详细]
-
方向盘版本历史代码示例之:JavaMail、JDBC
所属栏目:[语言] 日期:2021-11-03 热度:158
若你还不太清楚Java EE是什么,可先移步这里:什么是Java EE? 发邮件是企业级应用开发的刚性需求,如:每晚定时任务跑完后自动将结果数据发封邮件到领导邮箱供以查阅。邮件虽然古老,但相较于IM消息具有很多不可替代的优势: 更为正式:相对重要的场合/数据[详细]
-
Python异常还能写得如此优雅!
所属栏目:[语言] 日期:2021-11-03 热度:181
在写程序时,我们会经常碰到程序出现异常,这时候我们就不得不处理这些异常,以保证程序的健壮性。 处理异常的版本有以下几种,你通常的做法是哪种? 不负责任版本 这种情况下,不作任何处理,任由程序报错,从而导致程序中断。 针对简单的程序,这样做没什么[详细]
-
采用Python可视化图表分析行程数据
所属栏目:[语言] 日期:2021-11-03 热度:63
最近一直在想怎么分析一下个人的行程数据,看看能够从行程数据里面分析出点什么来。最开始我的期望还是蛮高的,有如下的一些预期: 根据出行时间范围,可以基本确定他的生活节奏,工作强度 能够通过行程时间范围来猜测汽车尾号 根据出行的耗时历史来建议出行[详细]
-
Golang 语言怎么编写检测代码?
所属栏目:[语言] 日期:2021-11-03 热度:178
介绍 我们使用 Golang 语言开发的项目,怎么保证逻辑正确和性能要求呢?也就是说我们如何测试我们的 Golang 代码呢?在 Golang 语言中,可以使用标准库 testing 包编写单元测试和基准测试,使用 go test 命令执行单元测试和基准测试的代码。本文我们介绍在 Gol[详细]
-
Go:对象选择器自动解引用是什么?
所属栏目:[语言] 日期:2021-11-03 热度:53
从一个结构体实例对象中获取字段的值,通常都是使用 . 这个操作符,该操作符叫做 选择器。 选择器有一个妙用,可能大多数人都不清楚。 当你对象是结构体对象的指针时,你想要获取字段属性时,按照常规理解应该这么做 type Profile struct { Name string } fu[详细]
-
如何在 Linux 上手动安装 Java
所属栏目:[语言] 日期:2021-11-03 热度:197
手动安装可以让用户更好的控制 Java 运行时环境。 使用 Linux 发行版的软件包管理工具来安装 Java 软件包 是很容易的。然而,有时你需要手动安装 Java。这对基于 Java 的应用服务器(如 Tomcat 或 JBoss)的管理员特别重要。许多开源和专有软件产品都依赖于[详细]
-
Go之奇闻 · Go源码里面隐藏着这么大的瓜
所属栏目:[语言] 日期:2021-11-03 热度:56
今天无意间发现Github上的go[1]代码仓库有一个很有意思的# issue 48886[2],这不知道是不是吃了Golang的一个瓜? 这么重量级的项目,肯定有人会紧急修复,尝试提交PR的,看看PR中记录貌似已经有人尝试修复了。动作很快啊!! 像这种古老级别的代码,估计当时也[详细]
-
Go之奇闻 · Go源码里面私藏着这么大的瓜!
所属栏目:[语言] 日期:2021-11-03 热度:135
今天无意间发现Github上的go[1]代码仓库有一个很有意思的# issue 48886[2],这不知道是不是吃了Golang的一个瓜? 这么重量级的项目,肯定有人会紧急修复,尝试提交PR的,看看PR中记录貌似已经有人尝试修复了。动作很快啊!! 像这种古老级别的代码,估计当时也[详细]
-
Java进阶之深入理解负载平均的五种算法实现原理
所属栏目:[语言] 日期:2021-11-03 热度:137
前言 什么是负载均衡: 指由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助。通过某种 负载分担技术,将外部发送来的请求均匀分配到对称结构中的某一台服务器上,而接收到请求的服务[详细]
-
ArrayList 重拳出招,把 LinkedList 干翻在地
所属栏目:[语言] 日期:2021-11-03 热度:104
如果再有人给你说 ArrayList 底层是数组,查询快、增删慢;LinkedList 底层是链表,查询慢、增删快,你可以让他滚了! 这是一个极其不负责任的总结,关键是你会在很多地方看到这样的结论。 害,我一开始学 Java 的时候,也问过一个大佬,ArrayList 和 LinkedLi[详细]
-
完全搞懂Channel原理之一
所属栏目:[语言] 日期:2021-11-03 热度:148
躺的太久,该起床了。 宁可我卷死别人,不能让别人卷我。 之前断断续续看过Go几个模块的源码,可从未下笔,导致有些细节记不起来了。打算写一系列文章重新记录。 channel源码解析的文章太多了。一篇文章的长篇大论大部分人没耐心看完,所以我打算分开写,最[详细]
-
Python中令人疑惑的操作符
所属栏目:[语言] 日期:2021-11-03 热度:61
操作符对于现代编程来说绝对是一个至关重要的组成部分。它们通常用于数学运算。Python编程语言有一系列不同的操作符,并且不断添加新的操作符。 有一个运算符具有一些相当有趣的功能和特点,那就是加等运算符。乍一看,这似乎只是加法和等于操作符的基本组合[详细]
-
手把手带你学C++,Set是个啥,有何用?
所属栏目:[语言] 日期:2021-11-03 热度:156
今天我们继续来聊C++的STL,今天来聊聊set。为了写这篇文章,老梁花了一早上的时间把网上大部分关于set的博文都看了一遍。 看完之后发现不出所料的千篇一律,上来就是说怎么创建set,set里有哪些函数,标准的技术文档。 这些东西对于老鸟来说当然没问题,瞬[详细]
-
记一次 .NET 某电商定向爬虫的内存碎片化解析
所属栏目:[语言] 日期:2021-11-03 热度:67
背景 1. 讲故事 上个月有位朋友wx找到我,说他的程序存在内存泄漏问题,寻求如何解决? 如下图所示: 从截图中可以看出,这位朋友对 windbg 的操作还是有些熟悉的,可能缺乏一定的实操经验,所以用了几个命令之后就不知道怎么排查下去了。 既然找到我,那就以[详细]
-
Go语言其程序符号重命名
所属栏目:[语言] 日期:2021-11-03 热度:51
Go程序源代码中,关键字、接口、类型、常量、变量、方法、函数、字段、标签(label)等等的名称都可以称为符号。 Go可执行程序中,符号表主要包含两种类型的符号: 数据对象(Data object) 函数(Function) 一般情况下(不是绝对的),在源代码编译为可执行程序的[详细]
-
C++入口不是main?知乎上掐起来了!
所属栏目:[语言] 日期:2021-11-03 热度:199
你说main函数是入口,那main是被谁调用的呢? 他说mainCRTStartup是入口,那mainCRTStartup又是被谁调用的呢? 从进程创建说起 一切的一切,让我们从创建进程开始说起。 进程创建完成后,接着会创建主线程,这是进程中第一个开始执行代码的线程。 主线程创建后[详细]
-
Python 3.10的几个好用的全新特性
所属栏目:[语言] 日期:2021-11-03 热度:102
Python 3.10已经在10月4日发布了,要不要更新呢? 3.10版没有添加新的模块,但是引入了很多新的并且有用的特性。让我们来一起看看吧。 更详细语法错误提示信息 在调试代码时,能够提供更多的错误新信息和提示了,报告可以指出错误的语法,而不仅仅是提供Synta[详细]