-
Go多协程并发环境下的错误治理
所属栏目:[语言] 日期:2021-11-03 热度:86
在Go语言中,我们通常会用到panic和recover来抛出错误和捕获错误,这一对操作在单协程环境下我们正常用就好了,并不会踩到什么坑。但是在多协程并发环境下,我们常常会碰到以下两个问题。假设我们现在有2个协程,我们叫它们协程A和B好了:如果协程A发生了pa[详细]
-
LayUI 走了,JDK17 来临
所属栏目:[语言] 日期:2021-11-03 热度:149
看到这条消息时充满了感慨,毕竟松哥虽然主业是 Java,但是也一直在关注着前端的发展。2013 年还在大三的时候就玩过 TypeScript,2014 年的时候当时还买了一本书 NodeJS 的书,后来大学毕业,工作,慢慢的兴趣就集中在后端了,前端虽然也一直在关注,但是只[详细]
-
相见恨晚后的 Python 内置库:itertools
所属栏目:[语言] 日期:2021-11-03 热度:89
最近事情不是很多,想写一些技术文章分享给大家,同时也对自己一段时间来碎片化接受的知识进行一下梳理,所谓写清楚才能说清楚,说清楚才能想清楚,就是这个道理了。很多人都致力于把Python代码写得更Pythonic,一来更符合规范且容易阅读,二来一般Pythonic[详细]
-
应该学习练手的五个Python迷你程序附代码
所属栏目:[语言] 日期:2021-11-03 热度:58
在使用Python的过程中,我最喜欢的就是Python的各种第三方库,能够完成很多操作。下面就给大家介绍5个通过Python构建的项目,以此来学习Python编程。一、石头剪刀布游戏目标:创建一个命令行游戏,游戏者可以在石头、剪刀和布之间进行选择,与计算机PK。如[详细]
-
从Java 9 至 Java 17之 Java 11
所属栏目:[语言] 日期:2021-11-03 热度:123
ava 11是自Java 8以来的又一个LTS版本,是目前全球使用最多的LTS版本之一。今天我们接着在Java 9 到 Java 17系列文章中来认识针对普通开发者的Java 11。字符串API增强在Java 11中,针对String的操作进一步得到加强。避免我们在很常见的场景中引入额外的、复[详细]
-
Go 里的超时控制也很轻松
所属栏目:[语言] 日期:2021-11-02 热度:58
日常开发中我们大概率会遇到超时控制的场景,比如一个批量耗时任务、网络请求等;一个良好的超时控制可以有效的避免一些问题(比如 goroutine 泄露、资源不释放等)。Timer在 go 中实现超时控制的方法非常简单,首先第一种方案是 Time.After(d Duration):func[详细]
-
Golang 中不要犯这 5 个错误啦
所属栏目:[语言] 日期:2021-11-02 热度:149
Go 给人的印象是容易入门,因为语法简单。不过新手还是比较容易犯一些错误的。本文总结了 5 个常见的错误,你检验下自己犯过没有?!这些是我写 Go 时所犯的错误,希望对你有帮助!1、循环内部在循环中,有几种情况可能会导致混乱,你需要弄清楚。1.1、循环迭[详细]
-
Java 从零开启手写 RPC-timeout 超时处理
所属栏目:[语言] 日期:2021-11-02 热度:63
前面我们实现了通用的 rpc,但是存在一个问题,同步获取响应的时候没有超时处理。如果 server 挂掉了,或者处理太慢,客户端也不可能一直傻傻的等。当外部的调用超过指定的时间后,就直接报错,避免无意义的资源消耗。思路调用的时候,将开始时间保留。获取[详细]
-
写 Python 脚本时,一定要带上这个
所属栏目:[语言] 日期:2021-11-02 热度:109
我发现有不少朋友写 Python 脚本非常随意,要么不用函数,要么函数随处定义,反正第一眼看不出要执行的第一行代码位于何处,这样的脚本可读性很差,而且容易隐藏 bug,解决这个问题很简单,当我们写 Python 脚本时,一定要加上这个:def main(): # do somet[详细]
-
代码生成器使用起来,是真的爽
所属栏目:[语言] 日期:2021-11-02 热度:67
代码生成器使Saltcorn 是一个无代码数据库管理器 Web 应用程序。它配备了一个引人注目的仪表板、丰富的生态系统和视图构建器以及可主题化的界面。 几乎没有编码经验的用户可以在几分钟内构建一个丰富的交互式数据库应用程序。公司也可以使用它来创建日常使[详细]
-
一行代码完成的事还用个锤子的 PS 啊
所属栏目:[语言] 日期:2021-11-02 热度:135
一行代码搞定的事还用个锤子的 PS 啊Python 届处理图片最强的库是 PIL(Python Image Library),但由于该库只支持 2.x 版本,于是有一批乐于助人的程序员在此基础上做了扩展,出了一个兼容 3.x 的版本也就是 Pillow,因此,我们今天要用的库就是 Pillow。在[详细]
-
怎样用Python代码发一个炫酷的朋友圈
所属栏目:[语言] 日期:2021-11-02 热度:110
相信很多朋友在发朋友圈的时候,都会发一些话语,有些还会配一张图,但是普通的配图怎么符合我们程序员的身份呢?发出去都觉得没牌面,应该整点技术性的活 今天给大家带来一个项目,这个小项目只用50行代码就能实现,它的名字叫做PIL(Python Image Library[详细]
-
Python 3.10 正式发布了!我察觉了一个可怕的功能
所属栏目:[语言] 日期:2021-11-02 热度:102
边是最简单的一个 match-case 的例子,看起来是不是非常的直观简洁?def http_error(status): match status: case 400: print(Bad request) case 404: print(Not found) case 418: print(Im a teapot) case _: print(Somethings wrong with the internet)[详细]
-
Python 标准库中很有用的装饰器
所属栏目:[语言] 日期:2021-11-02 热度:148
众所周知,Python 语言灵活、简洁,对程序员友好,但在性能上有点不太令人满意,这一点通过一个递归的求斐波那契额函数就可以说明:def fib(n): if n = 1: return n return fib(n - 1) + fib(n - 2)在我的 MBP 上计算 fib(40) 花费了 33 秒:import timedef[详细]
-
Python 制作 Gif 生成工具,斗图再也不可能输啦
所属栏目:[语言] 日期:2021-11-02 热度:127
在当前无表情包不会聊天的时代,怎么也不能输在表情包数量不足上啊,今天咱们就来制作一个 gif 生成工具,用来制作表情包也太好用啦先来看看整体效果页面设计本文工具的页面,是通过 Qt Designer 来设计的,我们可以直接在安装了 PyQt5-tools 的目录下找到[详细]
-
手机摄影软件推荐 10分钟让你拍照技巧逼近大师实例教程
所属栏目:[语言] 日期:2021-07-13 热度:149
在这个摄影软件横行网络的年代,如果你的手机里还没有装一款好用的摄影软件,那摄影的功力就算比别人稍微强一点,拍出来的照片可能也早就被甩几条街啦!想要在10分钟的最短时间内快速提升摄影技巧?那摄影工具、色彩、构图一样都少不了,史上最简单易学的摄[详细]
-
在后台的Python:众多程序员无法解决的难题
所属栏目:[语言] 日期:2021-07-13 热度:63
先看两个超级简单的代码。 foriinrange(10**7): x=i%5 代码1:简单代码 defmain(): foriinrange(10**7): x=i%5 main() 代码2:定义了一个主函数来运行相同的简单代码。 两个代码都执行一个虚拟任务。取0到1000万之间的数字(通过for循环),并计算其模(余数)[详细]
-
一文教你用Python实现批量文件的压缩处理
所属栏目:[语言] 日期:2021-07-13 热度:184
大家好,我是崔艳飞。接到项目求助,需要对上千个文件夹中的文件进行压缩处理,并要删除源文件,只保留压缩后的压缩文件,数据量大,手动完成耗时耗力,用Python处理再合适不过了。 二、项目目标 批量对文件夹的内容进行压缩处理,满足客户要求。 三、项目[详细]
-
入门篇Python发送Get请求之如何放请求头
所属栏目:[语言] 日期:2021-07-13 热度:182
3.如何判断发送 get 请求要不要传请求头部? 4.传入请求头 5.权限被拒:403 - Forbidden: Access is denied 三、response 的返回内容还有其它更多信息 一、Python 命名规范 1.是英文字符、下划线__、数字三个组成。 2.项目(工程)名称、文件包名、模块名称等[详细]
-
什么是ABA问题?Java里面的原生解决计划是什么?
所属栏目:[语言] 日期:2021-07-13 热度:102
ABA问题是CAS机制中出现的一个问题,他的描述是这样的。我们直接画一张图来演示, 什么意思呢?就是说一个线程把数据A变为了B,然后又重新变成了A。此时另外一个线程读取的时候,发现A没有变化,就误以为是原来的那个A。这就是有名的ABA问题。ABA问题会带来[详细]
-
通过编写一个有趣的游戏学习 C 语言
所属栏目:[语言] 日期:2021-07-12 热度:74
从写一个函数来选择一个随机数字来开始猜数字游戏。在编写函数时,优秀的程序员会尽量使它们具有灵活性,这样他们就可以重用它们来解决略有不同的问题。因此,与其硬编码函数来选择 1 到 100 之间的一个随机数,不如编写函数来选择 1 到某个整数 maxval 之[详细]
-
Python中的函数分析:参数有冒号,声明后有- 箭头
所属栏目:[语言] 日期:2021-07-12 热度:189
我在查看python的fixture源码时发现 fixture的方法定义形式如下: deffixture( fixture_function:Optional[_FixtureFunction]=None, *, scope:Union[_Scope,Callable[[str,Config],_Scope]]=function, params:Optional[Iterable[object]]=None, autouse:bo[详细]
-
分析 Java 并发下的乐观锁
所属栏目:[语言] 日期:2021-07-12 热度:162
聊完原子操作了,我们进入正题。 大家都知道,一般而言,由于多线程并发会导致安全问题,针对变量的读和写操作,都会采用锁的机制。锁一般会分为乐观锁和悲观锁两种。 悲观锁 对于悲观锁,开发者认为数据发送时发生并发冲突的概率很大,所以每次进行读操作[详细]
-
利用C语言中的Setjmp和Longjmp,来完善异常捕获和协程
所属栏目:[语言] 日期:2021-07-12 热度:172
在 C 标准库中,有两个威力很猛的函数:setjmp 和 longjmp,不知道各位小伙伴在代码中是否使用过?我问了身体的几位同事,一部分人不认识这两个函数,有一部分人知道这个函数,但从来没有使用过。 从知识点范围来看,这两个函数的功能比较单纯,一个简单的[详细]
-
Rust不应当开发Web API
所属栏目:[语言] 日期:2021-07-12 热度:93
Rust 有大量的 Web 服务框架、数据库连接器和解析器。但搭建身份验证服务方面只有非常低层次的组件。Node.js 有 passport.js,Rails 有 devise,Django 有 开箱即用的身份验证模型,在 Rust 中,你需要学习如何将共享 Vec 转换到底层加密库才能构建这个系[详细]
