-
Golang channel 使用结论
所属栏目:[语言] 日期:2021-11-06 热度:199
不同于传统的多线程并发模型使用共享内存来实现线程间通信的方式,golang 的哲学是通过 channel 进行协程 (goroutine) 之间的通信来实现数据共享: Do not communicate by sharing memory; instead, share memory by communicating. 这种方式的优点是通过提供[详细]
-
相见恨晚的Python内置库itertools
所属栏目:[语言] 日期:2021-11-06 热度:105
前言 最近事情不是很多,想写一些技术文章分享给大家,同时也对自己一段时间来碎片化接受的知识进行一下梳理,所谓写清楚才能说清楚,说清楚才能想清楚,就是这个道理了。 很多人都致力于把Python代码写得更Pythonic,一来更符合规范且容易阅读,二来一般Pyth[详细]
-
LayUI走了,JDK17到了
所属栏目:[语言] 日期:2021-11-06 热度:65
上周五松哥就在 QQ 群里看到了 LayUI 下线的消息: 看到这条消息时充满了感慨,毕竟松哥虽然主业是 Java,但是也一直在关注着前端的发展。 2013 年还在大三的时候就玩过 TypeScript,2014 年的时候当时还买了一本书 NodeJS 的书,后来大学毕业,工作,慢慢的[详细]
-
Go多协程并发环境下的错误解决
所属栏目:[语言] 日期:2021-11-06 热度:170
引言 在Go语言中,我们通常会用到panic和recover来抛出错误和捕获错误,这一对操作在单协程环境下我们正常用就好了,并不会踩到什么坑。但是在多协程并发环境下,我们常常会碰到以下两个问题。假设我们现在有2个协程,我们叫它们协程A和B好了: 如果协程A发生[详细]
-
分析 Go 与 C 的指针
所属栏目:[语言] 日期:2021-11-06 热度:132
运算符 C 和 Go 都相同: 运算符取出变量所在的内存地址 * 运算符取出指针变量所指向的内存地址里面的值,也叫 解引用 C 语言版示例: #include stdio.h int main() { int bar = 1; // 声明一个指向 int 类型的值的指针 int *ptr; // 通过 取出 bar 变量所在[详细]
-
怎样使用Python对Gif进行压缩
所属栏目:[语言] 日期:2021-11-06 热度:200
一、背景 前天在给微信公众号上传文章的时候,文章里面有一个图片是gif的,在上传的过程中报错了,说是图片超大了。搜索之后发现图片需要小于5m。 那么问题就转化为怎么把当前的gif给缩减到5m以内本着有轮子用轮子,没有轮子造轮子的精神,网上搜索一番。 发[详细]
-
人人都能明白的 Python 装饰器入门教程!
所属栏目:[语言] 日期:2021-11-06 热度:139
大家好,我是早起。 之前的文章中提到,很多人认为理解了装饰器的概念和用法后,会觉得自己的 Python 水平有一个明显的提高。 但很多教程在一上来就会给出装饰器的定义以及基本用法,例如你一定会在很多文章中看到例如代码运行时间计时器等相关常用装饰器。[详细]
-
Python单元测试的九个方法
所属栏目:[语言] 日期:2021-11-06 热度:65
pytest是python的单元测试框架,简单易用,在很多知名项目中应用。requests是python知名的http爬虫库,同样简单易用,是python开源项目的TOP10。关于这2个项目,之前都有过介绍,本文主要介绍requests项目如何使用pytest进行单元测试,希望达到下面3个目标:[详细]
-
很全面的Python重点知识总结,建议收藏!
所属栏目:[语言] 日期:2021-11-06 热度:120
这是一份来自于 SegmentFault 上的开发者 @二十一 总结的 Python 重点。由于总结了太多的东西,所以篇幅有点长,这也是作者缝缝补补总结了好久的东西。 Py2 VS Py3 print成为了函数,python2是关键字 不再有unicode对象,默认str就是unicode python3除号返回[详细]
-
关于Go程序错误处理的一些意见
所属栏目:[语言] 日期:2021-11-06 热度:193
Go的错误处理这块是日常被大家吐槽较多的地方,我在工作中也观察到一些现象,比较严重的是在各层级的逻辑代码中对错误的处理有些重复。 比如,有人写代码就会在每一层都判断错误并记录日志,从代码层面看,貌似很严谨,但是如果看日志会发现一堆重复的信息,[详细]
-
IBM 工程师一直在为 GRUB 探寻可能的 Rust 模块
所属栏目:[语言] 日期:2021-11-06 热度:100
IBM 工程师 Daniel Axtens 在本周的 Linux Plumbers Conference 上介绍了,使用 Rust 编程语言为 GRUB2 引导加载程序创建模块的前景。 根据介绍,该提案不是关于在 Rust 中重写 GRUB2 或将其大部分转换为 Rust,而是允许在开发人员需要时用 Rust 创建 GRUB2[详细]
-
手机摄影软件推荐 10分钟让你拍照技巧逼近大师实例教程
所属栏目:[语言] 日期:2021-06-09 热度:114
想要在10分钟的最短时间内快速提升摄影技巧?那摄影工具、色彩、构图一样都少不了,史上最简单易学的摄影教程,还不快围观占座[详细]
-
Python骚操作从列表推导和生成器表达式出发
所属栏目:[语言] 日期:2021-06-04 热度:51
列表推导 Python语言魅力在于简洁,这能从最常见的创建列表体现出来,比如我们想把字符串abc转换成新列表[a, b, c],常规写法: symbols= abc codes=[] for symb[详细]
-
Java比C++慢?看了测试结果,推翻了我的认知,不得不说JIT真的强
所属栏目:[语言] 日期:2021-06-04 热度:56
1. 概述 编程语言根据其抽象级别进行分类。我们区分高级语言(Java,Python,JavaScript,C ++,Go),低级语言(汇编程序),最后是机器代码。 每个高级语言代码(例[详细]
-
利用C语言中的Setjmp和Longjmp,来完善异常捕获和协程
所属栏目:[语言] 日期:2021-06-04 热度:181
一、前言 在 C 标准库中,有两个威力很猛的函数:setjmp 和 longjmp,不知道各位小伙伴在代码中是否使用过?我问了身体的几位同事,一部分人不认识这两个函数,有[详细]
-
一键迈向二次元!用Python将自拍转换为卡通风格
所属栏目:[语言] 日期:2021-06-04 热度:96
1. 载入图像 第一个步骤是载入图片。定义read_file函数,其中包含cv2_imshow,来载入我们在Google Colab中选择的图片。 defread_file(filename): img = cv2 .imr[详细]
-
Rust不应当开发Web API
所属栏目:[语言] 日期:2021-06-04 热度:196
Rust 有大量的 Web 服务框架、数据库连接器和解析器。但搭建身份验证服务方面只有非常低层次的组件。Node.js 有 passport.js,Rails 有 devise,Django 有 开箱[详细]
-
怎样在Java Pojo转Jsoy时忽略掉一些属性
所属栏目:[语言] 日期:2021-06-04 热度:133
1. 前言 在Java开发中有时候某些敏感信息我们需要屏蔽掉,不能被消费这些数据的客户端知道。通常情况下我们会将其设置为null或者空字符,其实还有其它办法,如果[详细]
-
分析Dictionary实现日志数据批量插入
所属栏目:[语言] 日期:2021-06-04 热度:129
最近再做一个需求,就是对站点的一些事件进行埋点,说白了就是记录用户的访问行为。那么这些数据怎么保存呢,人家点一下保存一下?显然不合适,肯定是需要批量保[详细]
-
带着10万字的笔记,C++优化系列来了!
所属栏目:[语言] 日期:2021-06-04 热度:179
不知不觉又到周一了,你是不是还在床上?看到这条推送的时候,如果你已起床,请在评论区扣1,让程序喵看看有多少人和我一样勤奋!最近C++技术交流群发现了很多水平[详细]
-
花了两天,总算把 Python 的 Setup.py 给整明白了
所属栏目:[语言] 日期:2021-06-04 热度:173
1. 为什么需要对项目分发打包? 平常我们习惯了使用 pip 来安装一些第三方模块,这个安装过程之所以简单,是因为模块开发者为我们默默地为我们做了所有繁杂的工作[详细]
-
速度最迟钝的动态编程语言,你应该用过
所属栏目:[语言] 日期:2021-06-04 热度:131
在电子学中,速度和性能转化为一个特定芯片可以拥有的晶体管数量。根据摩尔定律,这个数字每隔两年就会往上翻一番。这就是为什么你的手机比1990年代的房间大小的[详细]
-
给小白讲Java中两大神兽,附带面试题
所属栏目:[语言] 日期:2021-06-04 热度:83
类介绍 Java 程序是由若干个类组成的,类也是面向对象编程思想的具体实现。 以下为类的定义: public class User { //私有属性 privateLonguserId; privateStrin[详细]
-
为什么有些高级开发人员不感冒Python
所属栏目:[语言] 日期:2021-06-04 热度:114
遵循此答案,我决定汇总使高级开发人员避开动态键入语言的主要原因,并在此处列出这些理由以消除误解。 为了更好地解决此问题,由于Python的迅猛发展,我们将以P[详细]
-
即使技术强大,面试时一问这个必挂!!
所属栏目:[语言] 日期:2021-06-03 热度:162
本文我们一起讨论Java类的加载、链接和初始化。Java字节代码的表现形式是字节数组(byte[]),而Java类在JVM中的表现形式是 java.lang.Class类 的对象。一个Java类[详细]
