-
Java 从零开始手写 RPC-timeout 超时处理
所属栏目:[语言] 日期:2021-11-03 热度:164
必要性 前面我们实现了通用的 rpc,但是存在一个问题,同步获取响应的时候没有超时处理。 如果 server 挂掉了,或者处理太慢,客户端也不可能一直傻傻的等。 当外部的调用超过指定的时间后,就直接报错,避免无意义的资源消耗。 思路 调用的时候,将开始时间[详细]
-
手把手教你使用Python获取B站视频并在本地实现弹幕播放功能
所属栏目:[语言] 日期:2021-11-03 热度:63
前言 前几天在看B站上的爬虫视频,虽说是免费的,但是要时刻联网,而且快进和后退还需要等待响应,想到这里,小编就觉得有点麻烦,于是乎就想着给它下载下来,这里整理成一篇小文章,分享给大家学习。 一、B站视频下载 一提到B站,第一印象就是视频,相信很[详细]
-
写 Python 脚本时,一定要加上这个
所属栏目:[语言] 日期:2021-11-03 热度:86
我发现有不少朋友写 Python 脚本非常随意,要么不用函数,要么函数随处定义,反正第一眼看不出要执行的第一行代码位于何处,这样的脚本可读性很差,而且容易隐藏 bug,解决这个问题很简单,当我们写 Python 脚本时,一定要加上这个: def main(): # do somet[详细]
-
使用 Python 创建一个简单的基于规则的聊天机器人
所属栏目:[语言] 日期:2021-11-03 热度:76
还记得这个价值一个亿的AI核心代码? 使用 Python 创建一个简单的基于规则的聊天机器人 while True: AI = input(我:) print(AI.replace(吗, ).replace(?,!).replace(?,!)) 以上这段代码就是我们今天的主题,基于规则的聊天机器人 聊天机器人 聊天机器人本[详细]
-
Go 里的超时控制也很简单
所属栏目:[语言] 日期:2021-11-03 热度:50
前言 日常开发中我们大概率会遇到超时控制的场景,比如一个批量耗时任务、网络请求等;一个良好的超时控制可以有效的避免一些问题(比如 goroutine 泄露、资源不释放等)。 Timer 在 go 中实现超时控制的方法非常简单,首先第一种方案是 Time.After(d Duration)[详细]
-
EasyC++16,指针初探之二
所属栏目:[语言] 日期:2021-11-03 热度:187
大家好,我是梁唐。 想要追求更好阅读体验的同学,可以点击文末的「阅读原文」,访问github仓库。 危险的case 指针由于能够操作内存,所以如果使用的时候不够仔细,很容易引发一些意想不到的错误。 C++ Primer当中给了这样一个例子: int *ptr; *ptr = 2333;[详细]
-
Python 一行代码的神奇之处!!!
所属栏目:[语言] 日期:2021-11-03 热度:154
你们知道今天聊聊关于 Python 一行代码的神奇之处!!! 十六进制转十进制 decimal = int(1010, 5) print(decimal) #130 输出: 130 转换大小写字母 转换大写字母 # 转换大小写字母 str = hi Python.upper() print(str) #HI PYTHON 输出: HI PYTHON 转换小写字[详细]
-
盘点一下结构体标签在 Go 中的应用
所属栏目:[语言] 日期:2021-11-03 热度:126
掌握了Go语言的朋友们应该都知道,在Go的结构体类型声明里面,字段声明后可以跟一个可选的字符串标签。 type User struct { Name string `json:name` } 上面是一个标准的例子,Name字段声明中指定了标签json:name xml:name ,这个标签值看着有点类似Java程序[详细]
-
Go 结构体函数调用底层实现
所属栏目:[语言] 日期:2021-11-03 热度:188
《Go 语言嵌入和多态机制对比》一文中我们了解了 Go 语言的类型系统。下面,我们就来了解一下 Go 语言是如何实现类型系统特性,我们将会深入到 Go 语言运行时和最终机器码层面对 Go 语言的结构体、函数调用进行了解。 上文已经提及,Go 语言结构体并非 Java[详细]
-
如何组织 Go 代码?Go 作者的回答惊呆了
所属栏目:[语言] 日期:2021-11-03 热度:143
这是最常见的问题之一。你可以通过互联网寻找这个问题的答案。不过,我不确认我的设计是否 100% 正确,但希望给你一些参考。 前段时间,我有幸见到了 Robert Griesemer[1](Go 的作者之一)。我们问了他这个问题:如何组织 Go 代码?。他说:我不知道。 - 这很[详细]
-
基础篇 Java集合,面试专用
所属栏目:[语言] 日期:2021-11-03 热度:151
没啥好说的,在座的各位都是靓仔 List 数组 Vector 向量 Stack 栈 Map 映射字典 Set 集合 Queue 队列 Deque 双向队列 一般队列的通用方法 操作方法 抛出异常 阻塞线程 返回特殊值 超时退出 插入元素 add(e) put(e) offer(e) offer(e, timeout, unit) 移除元[详细]
-
10月份 Github 上 Java 开源项目排行
所属栏目:[语言] 日期:2021-11-03 热度:188
10月份GitHub上最热门的开源项目排行已经出炉啦,一起来看看上榜详情吧: 1gop https://github.com/goplus/gop Star 7510 2miaosha https://github.com/qiurunze123/miaosha Star 22763 秒杀系统设计与实现,互联网工程师进阶与分析,创建者对高并发大流量如[详细]
-
阿里高频面试题 如何快速判断元素是不是在集合里?
所属栏目:[语言] 日期:2021-11-03 热度:186
何快速判断一个元素是不是在一个集合里?这个题目是我最近面试的时候常问的一个问题,这个问题不同人都有很多不同的回答。 今天想介绍一个很少有人会提及到的方案,那就是借助布隆过滤器。 什么叫布隆过滤器 布隆过滤器(Bloom Filter)是一个叫做 Bloom 的[详细]
-
三个提升Python运行速度的方法,都很实用!
所属栏目:[语言] 日期:2021-11-03 热度:60
今天总结三个提升Python运行速度的方法,只从代码本身考虑,提升运行速度并不会从编写C 扩展的代码、基于JIT的编译器技术考虑。 关于代码执行效率的第一个方法是减少频繁的方法访问,尤其是在多层循环内层、且循环次数较多的操作,差距尤为明显。 # 真是模块[详细]
-
一篇文章带你了解Go语言基础之函数
所属栏目:[语言] 日期:2021-11-03 热度:91
前言 Hey,大家好呀,我是星期八,上篇文章学了些基础:一篇文章带你了解Go语言基础之函数(上篇),这次咱们继续学习Go基础之函数进阶叭。 Go函数内存分配图 Go的函数内存分配,有点像堆分配,有点像,但是本质不是。 可以理解像堆内存一样,栈中保存的是堆的[详细]
-
C++如何调用写好的C接口?
所属栏目:[语言] 日期:2021-11-03 热度:59
前言 如何在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 热度:135
系统上运行着诸多进程,通过 jps 命令能够快速有效识别 Java 进程。 在 Linux 中,有一些用于查看系统上运行进程的命令。进程是指由内核管理的正在进行的事件。每启动一个应用程序时,就会产生一个进程,但也有许多在计算机后台运行的进程,如保持系统时间准[详细]
-
方向盘版本历史代码示例之:JavaMail、JDBC
所属栏目:[语言] 日期:2021-11-03 热度:175
若你还不太清楚Java EE是什么,可先移步这里:什么是Java EE? 发邮件是企业级应用开发的刚性需求,如:每晚定时任务跑完后自动将结果数据发封邮件到领导邮箱供以查阅。邮件虽然古老,但相较于IM消息具有很多不可替代的优势: 更为正式:相对重要的场合/数据[详细]
-
Python异常还能写得如此优雅!
所属栏目:[语言] 日期:2021-11-03 热度:174
在写程序时,我们会经常碰到程序出现异常,这时候我们就不得不处理这些异常,以保证程序的健壮性。 处理异常的版本有以下几种,你通常的做法是哪种? 不负责任版本 这种情况下,不作任何处理,任由程序报错,从而导致程序中断。 针对简单的程序,这样做没什么[详细]
-
采用Python可视化图表分析行程数据
所属栏目:[语言] 日期:2021-11-03 热度:194
最近一直在想怎么分析一下个人的行程数据,看看能够从行程数据里面分析出点什么来。最开始我的期望还是蛮高的,有如下的一些预期: 根据出行时间范围,可以基本确定他的生活节奏,工作强度 能够通过行程时间范围来猜测汽车尾号 根据出行的耗时历史来建议出行[详细]
-
Golang 语言怎么编写检测代码?
所属栏目:[语言] 日期:2021-11-03 热度:128
介绍 我们使用 Golang 语言开发的项目,怎么保证逻辑正确和性能要求呢?也就是说我们如何测试我们的 Golang 代码呢?在 Golang 语言中,可以使用标准库 testing 包编写单元测试和基准测试,使用 go test 命令执行单元测试和基准测试的代码。本文我们介绍在 Gol[详细]
-
Go:对象选择器自动解引用是什么?
所属栏目:[语言] 日期:2021-11-03 热度:171
从一个结构体实例对象中获取字段的值,通常都是使用 . 这个操作符,该操作符叫做 选择器。 选择器有一个妙用,可能大多数人都不清楚。 当你对象是结构体对象的指针时,你想要获取字段属性时,按照常规理解应该这么做 type Profile struct { Name string } fu[详细]
-
如何在 Linux 上手动安装 Java
所属栏目:[语言] 日期:2021-11-03 热度:181
手动安装可以让用户更好的控制 Java 运行时环境。 使用 Linux 发行版的软件包管理工具来安装 Java 软件包 是很容易的。然而,有时你需要手动安装 Java。这对基于 Java 的应用服务器(如 Tomcat 或 JBoss)的管理员特别重要。许多开源和专有软件产品都依赖于[详细]
-
Go之奇闻 · Go源码里面隐藏着这么大的瓜
所属栏目:[语言] 日期:2021-11-03 热度:193
今天无意间发现Github上的go[1]代码仓库有一个很有意思的# issue 48886[2],这不知道是不是吃了Golang的一个瓜? 这么重量级的项目,肯定有人会紧急修复,尝试提交PR的,看看PR中记录貌似已经有人尝试修复了。动作很快啊!! 像这种古老级别的代码,估计当时也[详细]
-
Go之奇闻 · Go源码里面私藏着这么大的瓜!
所属栏目:[语言] 日期:2021-11-03 热度:69
今天无意间发现Github上的go[1]代码仓库有一个很有意思的# issue 48886[2],这不知道是不是吃了Golang的一个瓜? 这么重量级的项目,肯定有人会紧急修复,尝试提交PR的,看看PR中记录貌似已经有人尝试修复了。动作很快啊!! 像这种古老级别的代码,估计当时也[详细]
