- 博客(15)
- 收藏
- 关注
原创 如何使用Python将语音转换为文本
语音识别是计算机软件识别口语中的单词和短语,并将其转换为可读文本的能力。那么如何在 Python 中将语音转换为文本?如何使用 SpeechRecognition 库在 Python 中将语音转换为文本?我们不需要从头开始构建任何机器学习模型,该库为我们提供了各种著名的公共语音识别 API 的便捷包装。使用 pip 安装库:pip3 install SpeechRecognitionOkey,打开一个新的 Python 文件并导入它:import speech_recognition as sr从
2020-08-01 12:25:05
22947
1
原创 为什么使用Python? 优势有哪些?
Python 是一种面向对象的高级语言,因此类对于 Python 非常重要。类是一个空间,在该空间中变量 (属性 / 方法) 分别存储。运算符’ . ‘用于调用类的属性和方法。类是事务类的抽象,它不是真的存在,它描述了事务的共性。在搜索类属性时,python 首先找到实例,然后在实例中找到属性,当找不到时,它将在类内部进行搜索。那么如何使用 Python 的类?优势有哪些?下面让我们一起来详细了解一下吧。如何使用 Python 的类?1. 在 Python 中,定义类是通过 class 关键字来实现的:
2020-08-01 12:23:21
18660
2
原创 Python算法- 剪绳子
#问题剑指 offer 有这样一道编程题给你一根长度为 n 的绳子,请把绳子剪成整数长的 m 段(m、n 都是整数,n>1 并且 m>1,m<=n),每段绳子的长度记为 k [1],…,k [m]。请问 k [1] x…xk [m] 可能的最大乘积是多少?例如,当绳子的长度是 8 时,我们把它剪成长度分别为 2、3、3 的三段,此时得到的最大乘积是 18。(2 <= n <= 60)分析全排列形式,比较取积之大也能得到结果,但计算显然非最优解假定各因数之和确定为 n
2020-08-01 12:21:33
13526
原创 Java 的历史和版本
Java 是 James Gosling 在 1990 年代初开发的一种面向对象的编程语言。 团队发起了这个项目,以开发用于数字设备(例如机顶盒,电视等)的语言。最初,该项目中考虑使用 C++,但由于多种原因(例如 C++ 需要更多内存),该想法被拒绝了。 戈斯林努力改变和扩展 C++,但不久之后就放弃了,以进行另一个名为 Green 的阶段。 詹姆斯・高斯林(James Gosling)及其团队将他们的项目称为 「Greentalk」 ,文件扩展名为 .gt ,后来被称为 「OAK」 。为什么是「Oak
2020-07-28 22:55:40
14911
原创 这样写的代码不用担心代码评审
判空操作//优化之前if (obj != null){}//优化之后if (Optional.ofNullable(obj).isPresent()){}判空异常操作//优化之前if (obj == null){throw new …}//优化之后Optional.ofNullable(obj).isPresent().orElseThrow(() ->new RuntimeException(""));返回非空值//优化之前if list == null{retur
2020-07-28 22:53:58
26022
4
原创 JAVA - Thymeleaf
spring 集成了 Thymeleaf 模板引擎,本文对此作些许介绍方言Thymeleaf 提供了灵活接口,允许使用方定制自己的方言。因此在自定义方言之前,有必要先了解标准方言。标准表达式${…} : 变量表达式.*{…} : 区域选择表达式.#{…} : 消息国际化表达式.@{…} : 链接表达式.~{…} : 代码段表达式.Variable变量表达式通常是 OGNL${session.user.name}Thymeleaf等价 SpringEL 或 OGNL((Book)
2020-07-27 22:24:30
14206
原创 Java NIO - 简单群聊
public class NIOServer {private ServerSocketChannel serverSocketChannel;private Selector selector;private static final int PORT = 1212;public NIOServer() throws IOException {// 先用open方法创建一个对象serverSocketChannel = ServerSocketChannel.open();// 绑定端口s
2020-07-27 22:22:04
13347
原创 GoLang - Go中Mocking(3)
仍然还有一些问题还有一个重要的特性,我们还没有测试过。Countdown 应该在第一个打印之前 sleep,然后是直到最后一个前的每一个,例如:SleepPrint NSleepPrint N-1Sleepetc我们最新的修改只断言它已经 sleep 了 4 次,但是那些 sleeps 可能没按顺序发生。当你在写测试的时候,如果你没有信心,你的测试将给你足够的信心,尽管推翻它!(不过首先要确定你已经将你的更改提交给了源代码控制)。将代码更改为以下内容。func Countdown(ou
2020-07-22 23:14:46
14640
原创 GoLang - Go中Mocking(2)
尝试并运行测试countdown_test.go:21: got ‘3’ want ‘321Go!’写足够的代码令测试通过func Countdown(out io.Writer) {for i := 3; i > 0; i-- {fmt.Fprintln(out, i)}fmt.Fprint(out, “Go!”)}使用 for 循环与 i-- 反向计数,并且用 fmt.println 打印我们的数字到 out,后面跟着一个换行符。最后用 fmt.Fprint 发送 「Go!
2020-07-22 23:13:56
176779
原创 GoLang - Go中Mocking(1)
Mocking你可以在这里找到本章的所有代码现在需要你写一个程序,从 3 开始依次向下,当到 0 时打印 「GO!」 并退出,要求每次打印从新的一行开始且打印间隔一秒的停顿。321Go!我们将通过编写一个 Countdown 函数来处理这个问题,然后放入 main 程序,所以它看起来这样:package mainfunc main() {Countdown()}虽然这是一个非常简单的程序,但要完全测试它,我们需要像往常一样采用迭代的、测试驱动的方法。所谓迭代是指:确保我们采取最
2020-07-22 23:12:37
20943
原创 GoLang - Go中闭包用法
当我们不希望给函数起名字的时候,可以使用匿名函数,例如:func(x, y int) int { return x + y }。这样的一个函数不能够独立存在(编译器会返回错误:non-declaration statement outside function body),但可以被赋值于某个变量,即保存函数的地址到变量中:fplus := func(x, y int) int { return x + y },然后通过变量名对函数进行调用:fplus(3,4)。当然,您也可以直接对匿名函数进行调用:fu
2020-07-22 23:05:19
21876
原创 GoLang - Go中接口的用法
Go-接口接口是定义了合约但并没有实现的类型。举个例子:type Logger interface {Log(message string)}那这样做有什么作用呢?其实,接口有助于将代码与特定的实现进行分离。例如,我们可能有各种类型的日志记录器:type SqlLogger struct { … }type ConsoleLogger struct { … }type FileLogger struct { … }针对接口而不是具体实现的编程会使我们很轻松的修改(或者测试)任何代码都不会产
2020-07-22 22:51:29
18314
原创 JAVA-什么是 Java?
Java 是一种 编程语言 和 平台.Java 是一种高级、健壮、面向对象且安全的编程语言。平台:任何程序所运行的硬件或软件环境,都可被理解为一种平台。因为 Java 在运行时会基于它的运行环境(JRE)和各类 API,因此我们称它为平台。Java 示例让我们来看一个简单的 Java Hello Java 程序示例。class Simple{public static void main(String args[]){System.out.println(“Hello Java”);}}
2020-07-22 22:43:46
15730
原创 Mac 如何安装 JDK进行开发
下载一个 JDK(.dmg)。双击打开安装向导,一直下一步,安装完毕之后:$ subl ~/.bash_profile~/.bash_profile添加 JDK 的环境变量export JAVA_8_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home其中 jdk1.8.0_261.jdk 是安装好版本所对应的目录/Library/Java/JavaVirtualMachines/ 是 JDK 默认的安装路径
2020-07-22 22:40:45
11243
转载 Log - Log日志入参
选优化代码的方向,方法入参和返回结果日志首当其冲,每个方法都会有这两个日志,一大堆冗余的代码,而且什么样的打印格式都有,非常的杂乱。`public OrderDTO getOrder(OrderVO orderVO, String name) {log.info("订单详情入参:orderVO={},name={}", JSON.toJSONString(orderVO), name);OrderDTO orderInfo = orderService.getOrderInfo(orderVO);
2020-07-22 22:38:59
12956
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人