-
DDIA 对 Raft 的这种极端场景的描述,要怎样理解?
所属栏目:[语言] 日期:2021-11-06 热度:172
《设计数据密集型应用》(即 DDIA)中提到 Raft 的一个问题,即,Raft 算法存在一种失去活性(liveness)的极端情况:如果有一条网络连接不可靠,Raft 当前领导者会不断被迫下台导致系统实质上毫无进展。 我们先来具体描述一下该问题。 如图所示的 4 节点 Raft[详细]
-
盘点Python中Os模块的那些用途
所属栏目:[语言] 日期:2021-11-06 热度:69
大家好,我是Go进阶者。今天给大家分享Python基础之os模块。 一、os模块概述 Python os模块包含普遍的操作系统功能。 二、os模块的作用 可以处理文件和目录这些我们日常手动需要做的操作。如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的。 三[详细]
-
Go 做的的 Clojure 解释型方言
所属栏目:[语言] 日期:2021-11-06 热度:100
此 Joker 非彼 Joker,本文将要介绍的 Joker 是一门使用 Go 编写的 Clojure 解释型方言,同时也是一个 Clojure(Script) linter。 Joker 代码示例 1. 在 Clojure 中编写脚本 2. 即时检查 Clojure(Script) 代码 特性 拥有快速的启动时间 提高明确的错误消息和[详细]
-
手机摄影软件推荐 10分钟让你拍照技巧逼近大师实例教程
所属栏目:[语言] 日期:2021-06-08 热度:93
在这个摄影软件横行网络的年代,如果你的手机里还没有装一款好用的摄影软件,那摄影的功力就算比别人稍微强一点,拍出来的照片可能也早就被甩几条街啦!想要在10分钟的最短时间内快速提升摄影技巧?那摄影工具、色彩、构图一样都少不了,史上最简单易学的摄[详细]
-
最新版JDK15的JVM类加载器分析
所属栏目:[语言] 日期:2021-06-04 热度:193
需要注意的是,Bootstrap ClassLoader智慧加载特定名称的类库,比如rt.jar.这意味我们自定义的jar扔到jrelib也不会被加载. 负责将/jre/lib或- Xbootclasspath参数指定的路径中的,且是虚拟机识别的类库加载到内存中(按照名字识别,比如rt.jar,对于不能识别[详细]
-
承诺我,别再用Print调试Python了!
所属栏目:[语言] 日期:2021-06-04 热度:109
举个例子,运行下面这个程序。 num1=30 num2=40 print(num1) print(num2) 输出结果。 30 40 这些输出中哪一个是num1?哪一个又是num2呢? 找出两个输出可能不是很困难,但是如果有五个以上的不同输出呢?尝试查找与输出相关的代码可能会很耗时。 当然你可[详细]
-
5分钟学习Python随机爬山算法
所属栏目:[语言] 日期:2021-06-04 热度:108
随机爬山是一种优化算法。它利用随机性作为搜索过程的一部分。这使得该算法适用于非线性目标函数,而其他局部搜索算法不能很好地运行。它也是一种局部搜索算法,这意味着它修改了单个解决方案并搜索搜索空间的相对局部区域,直到找到局部最优值为止。这意[详细]
-
Java的“泛型”特性,你以为自己掌握了?
所属栏目:[语言] 日期:2021-06-04 热度:182
在了解一个事物之前,我们必定要先知道他的定义,所以我们就从定义开始,去一步一步揭开泛型的神秘面纱。 # 泛型(generics) 他是 JDK5 中引入的一个新特性,泛型提供了编译时类型安全监测机制,该机制允许我们在编译时检测到非法的类型数据结构。泛型的本[详细]
-
用Python自动化管理邮件简直太简单了
所属栏目:[语言] 日期:2021-06-04 热度:95
在之前的文章中我们已经了解如何对自己的邮箱做一些代码操作前的基础配置,以及通过 Python 代码收发、读取邮件。本文将简单复习之前的部分重点内容,并通过 3 个小案例进一步分享一个实用技巧:将邮件写入 Excel 中 之前的文章中我们也提到,基础配置需要[详细]
-
适合具备 C 语言基础的 C++ 攻略之一
所属栏目:[语言] 日期:2021-06-04 热度:116
C 语言通常被认为是一种面向过程的语言,因为其本身的特性更容易编写面向过程的代码,当然也不排除使用 C 语言编写面向过程的代码,比如 Linux 的源代码以及现在很火的国产物联网操作系统 RT-Thread,其内核的实现方式都是使用 C 语言实现的面向对象的代码[详细]
-
什么是ABA问题?Java里面的原生解决计划是什么?
所属栏目:[语言] 日期:2021-06-04 热度:187
ABA问题是CAS机制中出现的一个问题,他的描述是这样的。我们直接画一张图来演示, 什么意思呢?就是说一个线程把数据A变为了B,然后又重新变成了A。此时另外一个线程读取的时候,发现A没有变化,就误以为是原来的那个A。这就是有名的ABA问题。ABA问题会带来[详细]
-
喜新厌旧,是我的样子。今天就宠Mapstruct怎么了!
所属栏目:[语言] 日期:2021-06-04 热度:79
这些年写Java写多了,感觉Java是越来越丑。尤其是在玩了TypeScript之后,看到Java代码总有一股想吐的感觉。这种思想的转变,从侧面上证明了,我并不是一个专一的人。 因为我是一条狗。 喜新厌旧,是我的本性,即使我把自己表现的很纯洁。 按理说,牛x的人[详细]
-
2021年Python程序员需要拥有的VS code插件
所属栏目:[语言] 日期:2021-06-04 热度:75
VS Code在没有这个扩展的情况下也会支持Python代码高亮显示。但还是推荐你安装Python这个扩展,Python是由微软自己开发的,与VS Code是同一个创建者。它对提高Python开发人员的效率非常有用,VS Code会自动建议你在打开第一个.py文件后立即安装它。 但为什[详细]
-
C#多线程和异步之Task和async/await分析
所属栏目:[语言] 日期:2021-06-04 热度:184
同步和异步主要用于修饰方法。当一个方法被调用时,调用者需要等待该方法执行完毕并返回才能继续执行,我们称这个方法是同步方法;当一个方法被调用时立即返回,并获取一个线程执行该方法内部的业务,调用者不用等待该方法执行完毕,我们称这个方法为异步方[详细]
-
入门篇Python发送Get请求之如何放请求头
所属栏目:[语言] 日期:2021-06-04 热度:70
3.如何判断发送 get 请求要不要传请求头部? 4.传入请求头 5.权限被拒:403 - Forbidden: Access is denied 三、response 的返回内容还有其它更多信息 一、Python 命名规范 1.是英文字符、下划线__、数字三个组成。 2.项目(工程)名称、文件包名、模块名称等[详细]
-
一文教你用Python实现批量文件的压缩处理
所属栏目:[语言] 日期:2021-06-04 热度:175
副标题#e# 大家好,我是崔艳飞。接到项目求助,需要对上千个文件夹中的文件进行压缩处理,并要删除源文件,只保留压缩后的压缩文件,数据量大,手动完成耗时耗力,用Python处理再合适不过了。 二、项目目标 批量对文件夹的内容进行压缩处理,满足客户要求。[详细]
-
一文掌握 Go 语言解密之上下文 Context
所属栏目:[语言] 日期:2021-06-04 热度:74
Go 语言的独有的功能之一 Context,最常听说开发者说的一句话就是 函数的第一个形参真的要传 ctx 吗?,第二句话可能是 有没有什么办法不传,就能达到传入的效果?,听起来非常魔幻。 在 Go 语言中 context 作为一个 一等公民 的标准库,许多的开源库都一定[详细]
-
一篇文章带你掌握Java中的抽象类和接口知识
所属栏目:[语言] 日期:2021-06-04 热度:120
副标题#e# 凡是使用abstract关键字修饰的类就是抽象类。 2.假设在定义Animal类,定义一个shout()方法表示动物发出的叫声,我们知道不同动物它们的发出的声音是不一样的,在shout()方法不能够准确的描述动物发出的叫声。当在定义一个类,通常会定义一些方法[详细]
-
在后台的Python:众多程序员无法解决的难题
所属栏目:[语言] 日期:2021-06-04 热度:170
先看两个超级简单的代码。 foriinrange(10**7): x=i%5 代码1:简单代码 defmain(): foriinrange(10**7): x=i%5 main() 代码2:定义了一个主函数来运行相同的简单代码。 两个代码都执行一个虚拟任务。取0到1000万之间的数字(通过for循环),并计算其模(余数)[详细]
-
小白篇:Java原子组件和同步组件
所属栏目:[语言] 日期:2021-06-03 热度:184
在使用多线程并发编程的时,经常会遇到对共享变量修改操作。此时我们可以选择ConcurrentHashMap,ConcurrentLinkedQueue来进行安全地存储数据。但如果单单是涉及状态的修改,线程执行顺序问题,使用Atomic开头的原子组件或者ReentrantLock、CyclicBarrier[详细]
-
通过编写一个有趣的游戏学习 C 语言
所属栏目:[语言] 日期:2021-06-03 热度:61
从写一个函数来选择一个随机数字来开始猜数字游戏。在编写函数时,优秀的程序员会尽量使它们具有灵活性,这样他们就可以重用它们来解决略有不同的问题。因此,与其硬编码函数来选择 1 到 100 之间的一个随机数,不如编写函数来选择 1 到某个整数 maxval 之[详细]
-
Python中的函数分析:参数有冒号,声明后有- 箭头
所属栏目:[语言] 日期:2021-06-03 热度:83
我在查看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-03 热度:194
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-03 热度:177
1. 谈谈SpringFramework / 说说你理解的SpringFramework SpringFramework 是一个开源的、松耦合的、分层的、可配置的一站式企业级 Java 开发框架,它的核心是 IOC 与 AOP ,它可以更容易的构建出企业级 Java 应用,并且它可以根据应用开发的组件需要,整合[详细]
-
分析 Java 并发下的乐观锁
所属栏目:[语言] 日期:2021-06-03 热度:186
聊完原子操作了,我们进入正题。 大家都知道,一般而言,由于多线程并发会导致安全问题,针对变量的读和写操作,都会采用锁的机制。锁一般会分为乐观锁和悲观锁两种。 悲观锁 对于悲观锁,开发者认为数据发送时发生并发冲突的概率很大,所以每次进行读操作[详细]