-
一文讲清C/C++ Const/Const_Cast/Constexpr
所属栏目:[语言] 日期:2021-11-06 热度:61
很多人搞不清const、const_cast、constexpr的用法,稀里糊涂地用。一般而言,即使乱用,问题也不大,因为错大发了会崩,崩了自然会被修正,不崩自然也就没事。但作为一个有追求的专业程序员,自当闻过则喜,搞清楚弄明白。 一、const C语言的const用法 先讲[详细]
-
详解Python集合Set,建议珍藏!!
所属栏目:[语言] 日期:2021-11-06 热度:62
大家好,我是Peter~ 在前面的几篇Python的文章中,我们介绍了Python的多种不同类型的对象:字符串、列表、元组、字典。它们有各自的特点: 字符串str:存在索引,字符串中的元素是可以重复的,元素是不可变,不能修改的 列表list:也能够进行索引和切片操作[详细]
-
用了Stream后,代码反而越写越丑?
所属栏目:[语言] 日期:2021-11-06 热度:134
Java8的stream流,加上lambda表达式,可以让代码变短变美,已经得到了广泛的应用。我们在写一些复杂代码的时候,也有了更多的选择。 代码首先是给人看的,其次才是给机器执行的。代码写的是否简洁明了,是否写的漂亮,对后续的bug修复和功能扩展,意义重大[详细]
-
C#基础 理解装箱与拆箱
所属栏目:[语言] 日期:2021-11-06 热度:124
前面我们讲到 .NET 平台支持的两大数据类型:值类型和引用类型。值类型比引用类型更高效,因为它没有指针引用,不用分配在托管堆中,也不用被 GC 回收。但有时候你可能偶尔需要将一种类型的变量表示为另一种类型的变量。为此,C# 提供了装箱和拆箱的机制。[详细]
-
Golang channel 使用结论
所属栏目:[语言] 日期:2021-11-06 热度:58
不同于传统的多线程并发模型使用共享内存来实现线程间通信的方式,golang 的哲学是通过 channel 进行协程 (goroutine) 之间的通信来实现数据共享: Do not communicate by sharing memory; instead, share memory by communicating. 这种方式的优点是通过提[详细]
-
相见恨晚的Python内置库itertools
所属栏目:[语言] 日期:2021-11-06 热度:98
前言 最近事情不是很多,想写一些技术文章分享给大家,同时也对自己一段时间来碎片化接受的知识进行一下梳理,所谓写清楚才能说清楚,说清楚才能想清楚,就是这个道理了。 很多人都致力于把Python代码写得更Pythonic,一来更符合规范且容易阅读,二来一般Py[详细]
-
LayUI走了,JDK17到了
所属栏目:[语言] 日期:2021-11-06 热度:155
上周五松哥就在 QQ 群里看到了 LayUI 下线的消息: 看到这条消息时充满了感慨,毕竟松哥虽然主业是 Java,但是也一直在关注着前端的发展。 2013 年还在大三的时候就玩过 TypeScript,2014 年的时候当时还买了一本书 NodeJS 的书,后来大学毕业,工作,慢慢[详细]
-
Go多协程并发环境下的错误解决
所属栏目:[语言] 日期:2021-11-06 热度:200
引言 在Go语言中,我们通常会用到panic和recover来抛出错误和捕获错误,这一对操作在单协程环境下我们正常用就好了,并不会踩到什么坑。但是在多协程并发环境下,我们常常会碰到以下两个问题。假设我们现在有2个协程,我们叫它们协程A和B好了: 如果协程A发[详细]
-
分析 Go 与 C 的指针
所属栏目:[语言] 日期:2021-11-06 热度:140
运算符 C 和 Go 都相同: 运算符取出变量所在的内存地址 * 运算符取出指针变量所指向的内存地址里面的值,也叫 解引用 C 语言版示例: #include stdio.h int main() { int bar = 1; // 声明一个指向 int 类型的值的指针 int *ptr; // 通过 取出 bar 变量所[详细]
-
怎样使用Python对Gif进行压缩
所属栏目:[语言] 日期:2021-11-06 热度:102
一、背景 前天在给微信公众号上传文章的时候,文章里面有一个图片是gif的,在上传的过程中报错了,说是图片超大了。搜索之后发现图片需要小于5m。 那么问题就转化为怎么把当前的gif给缩减到5m以内本着有轮子用轮子,没有轮子造轮子的精神,网上搜索一番。[详细]
-
人人都能明白的 Python 装饰器入门教程!
所属栏目:[语言] 日期:2021-11-06 热度:81
大家好,我是早起。 之前的文章中提到,很多人认为理解了装饰器的概念和用法后,会觉得自己的 Python 水平有一个明显的提高。 但很多教程在一上来就会给出装饰器的定义以及基本用法,例如你一定会在很多文章中看到例如代码运行时间计时器等相关常用装饰器。[详细]
-
Python单元测试的九个方法
所属栏目:[语言] 日期:2021-11-06 热度:125
pytest是python的单元测试框架,简单易用,在很多知名项目中应用。requests是python知名的http爬虫库,同样简单易用,是python开源项目的TOP10。关于这2个项目,之前都有过介绍,本文主要介绍requests项目如何使用pytest进行单元测试,希望达到下面3个目标[详细]
-
很全面的Python重点知识总结,建议收藏!
所属栏目:[语言] 日期:2021-11-06 热度:128
这是一份来自于 SegmentFault 上的开发者 @二十一 总结的 Python 重点。由于总结了太多的东西,所以篇幅有点长,这也是作者缝缝补补总结了好久的东西。 Py2 VS Py3 print成为了函数,python2是关键字 不再有unicode对象,默认str就是unicode python3除号返[详细]
-
关于Go程序错误处理的一些意见
所属栏目:[语言] 日期:2021-11-06 热度:174
Go的错误处理这块是日常被大家吐槽较多的地方,我在工作中也观察到一些现象,比较严重的是在各层级的逻辑代码中对错误的处理有些重复。 比如,有人写代码就会在每一层都判断错误并记录日志,从代码层面看,貌似很严谨,但是如果看日志会发现一堆重复的信息[详细]
-
IBM 工程师一直在为 GRUB 探寻可能的 Rust 模块
所属栏目:[语言] 日期:2021-11-06 热度:108
IBM 工程师 Daniel Axtens 在本周的 Linux Plumbers Conference 上介绍了,使用 Rust 编程语言为 GRUB2 引导加载程序创建模块的前景。 根据介绍,该提案不是关于在 Rust 中重写 GRUB2 或将其大部分转换为 Rust,而是允许在开发人员需要时用 Rust 创建 GRUB2[详细]
-
手机摄影软件推荐 10分钟让你拍照技巧逼近大师实例教程
所属栏目:[语言] 日期:2021-06-08 热度:136
在这个摄影软件横行网络的年代,如果你的手机里还没有装一款好用的摄影软件,那摄影的功力就算比别人稍微强一点,拍出来的照片可能也早就被甩几条街啦!想要在10分钟的最短时间内快速提升摄影技巧?那摄影工具、色彩、构图一样都少不了,史上最简单易学的摄[详细]
-
通过编写一个有趣的游戏学习 C 语言
所属栏目:[语言] 日期:2021-06-08 热度:140
从写一个函数来选择一个随机数字来开始猜数字游戏。在编写函数时,优秀的程序员会尽量使它们具有灵活性,这样他们就可以重用它们来解决略有不同的问题。因此,与其硬编码函数来选择 1 到 100 之间的一个随机数,不如编写函数来选择 1 到某个整数 maxval 之[详细]
-
Python中的函数分析:参数有冒号,声明后有- 箭头
所属栏目:[语言] 日期:2021-06-08 热度:121
我在查看python的fixture源码时发现 fixture的方法定义形式如下: deffixture( fixture_function:Optional[_FixtureFunction]=None, *, scope:Union[_Scope,Callable[[str,Config],_Scope]]=function, params:Optional[Iterable[object]]=None, autouse:bo[详细]
-
Python爬虫定时计划任务的几种常见技巧
所属栏目:[语言] 日期:2021-06-08 热度:179
1.方法一、while True 首先最容易的是while true死循环挂起,不废话,直接上代码: importos importtime importsys fromdatetimeimportdatetime,timedelta defOne_Plan(): #设置启动周期 Second_update_time=24*60*60 #当前时间 now_Time=datetime.now() #[详细]
-
分析SpringFramework与IOC依赖查找
所属栏目:[语言] 日期:2021-06-08 热度:106
1. 谈谈SpringFramework / 说说你理解的SpringFramework SpringFramework 是一个开源的、松耦合的、分层的、可配置的一站式企业级 Java 开发框架,它的核心是 IOC 与 AOP ,它可以更容易的构建出企业级 Java 应用,并且它可以根据应用开发的组件需要,整合[详细]
-
分析 Java 并发下的乐观锁
所属栏目:[语言] 日期:2021-06-08 热度:70
聊完原子操作了,我们进入正题。 大家都知道,一般而言,由于多线程并发会导致安全问题,针对变量的读和写操作,都会采用锁的机制。锁一般会分为乐观锁和悲观锁两种。 悲观锁 对于悲观锁,开发者认为数据发送时发生并发冲突的概率很大,所以每次进行读操作[详细]
-
魔法方法走进Python进阶学习大门
所属栏目:[语言] 日期:2021-06-08 热度:127
collection.len()是面向对象语言的写法,len(collection)是Python语言的写法,这种风格叫做Pythonic。从前者到后者,就像变魔术一样,一瞬间让人眼前一亮。这个魔术就是Python魔法方法,或者叫双下方法,它是用双下划线开头和双下划线结尾的特殊方法,比如[详细]
-
小白篇:JDK8的日期处理API-必知必备
所属栏目:[语言] 日期:2021-06-08 热度:148
副标题#e# publicstaticInstantnow() publicstaticInstantnow(Clockclock) //根据毫秒生成Instant publicstaticInstantofEpochMilli(longepochMilli) //根据秒生成Instant,外附加纳秒单位的数值 publicstaticInstantofEpochSecond(longepochSecond,longnan[详细]
-
Python骚操作从列表推导和生成器表达式出发
所属栏目:[语言] 日期:2021-06-08 热度:198
列表推导 Python语言魅力在于简洁,这能从最常见的创建列表体现出来,比如我们想把字符串abc转换成新列表[a, b, c],常规写法: symbols=abc codes=[] forsymbolinsymbols: codes.append(symbol) print(codes)#[a,b,c] 用到了for循环和列表append方法。实[详细]
-
Java比C++慢?看了测试结果,推翻了我的认知,不得不说JIT真的强
所属栏目:[语言] 日期:2021-06-08 热度:200
编程语言根据其抽象级别进行分类。我们区分高级语言(Java,Python,JavaScript,C ++,Go),低级语言(汇编程序),最后是机器代码。 每个高级语言代码(例如Java)都需要转换为机器本地代码才能执行。该翻译过程可以是编译或解释。但是,还有第三种选择。试图[详细]