自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(897)
  • 收藏
  • 关注

原创 MQTT-保留消息和遗嘱消息

我们可以在发送PUBLISH的时候把Retain设置为1或者True,表示当前消息是保留消息,保留消息进入服务端,会像普通消息一样转发给当前的订阅者,还会被保留在MQTT的服务端中,每当有新的订阅建立,MQTT服务端都会检索是否存在与这个订阅匹配的保留消息,然后把匹配的保留消息下发给订阅者,由于订阅的时候可以使用主题通配符,所以可能匹配到多个保留消息,这些消息将依次下发给订阅者。

2023-08-24 22:38:09 79 7

原创 MySQL 中读写分离数据延迟

MySQL 中读写分离是经常用到了的架构了,通过读写分离实现横向扩展的能力,写入和更新操作在源服务器上进行,从服务器中进行数据的读取操作,通过增大从服务器的个数,能够极大的增强数据库的读取能力。MySQL 中的高可用架构越已经呈现出越来越复杂的趋势,但是都是才能够最基本的一主一从演化而来的,所以这里来弄明白主从的基本原理。首先来弄明白主从和主备,以及双主模式之间的区别双主有两个主库,每个主库都能进行读写,并且两个主库之间都能进行数据的同步操作。主从。

2023-08-24 22:37:12 36

原创 近源渗透学习

下面将介绍破解WPA/WPA2无线网络的方法。​ BadUSB是利用了USB协议上的漏洞,通过更改USB的内部固件,在正常的USB接口接入后,模拟外置鼠标、键盘的功能,以此来使目标主机执行已经精心构造好的命令。想象一下,你可以走到一台计算机上,插入看似无害的USB驱动器,然后安装后门,窃听文档,窃取密码...(用法很多,全靠想象)。​ BadUSB也是社会工程学的一个典型示例,它极大地利用了人们的好奇心,在路边捡到的USB,估计九成以上的人们都想看看里面有什么东西,而当你插入U盘,攻击就很难再停止下来了。

2023-08-24 22:35:27 43

原创 Java设计模式-原型模式

原型模式是一种创建型设计模式,它允许在运行时通过复制现有对象来创建新对象,而不是通过构造函数创建。这个模式的核心思想是基于一个现有的对象克隆一个新的对象,这个过程对外部世界是透明的,就像对象从未被克隆过一样。原型模式的一个关键优点是可以避免在创建对象时重复性地执行复杂的初始化操作,从而提高了程序的性能和可维护性。与其他创建型模式相比,原型模式的一个显著特点是允许使用原型对象来生成多个具有不同状态的克隆对象。

2023-08-24 22:34:06 18

原创 boot-admin整合Liquibase实现数据库版本管理

Liquibase 开源版使用 Apache 2.0 协议。

2023-08-24 22:33:09 13

原创 1分钟了解C语言正确使用字节对齐及#pragma pack的方法

1、数据成员对齐规则:结构(struct)(或联合(union))的数据成员,第一个数据成员放在offset为0的地方,以后每个数据成员的对齐按照#pragma pack指定的数值和这个数据成员自身长度中,比较小的那个进行。2、结构(或联合)的整体对齐规则:在数据成员完成各自对齐之后,结构(或联合)本身也要进行对齐,对齐将按照#pragma pack指定的数值和结构(或联合)最大数据成员长度中,比较小的那个进行。编译器缺省的结构整体的自然对界条件为:该结构所有成员中要求的最大自然对界条件。

2023-08-24 22:32:22 14

原创 基于Net开发的数据库导入导出的开源项目

这些基于.Net Core开发的、导入导出的通用库,支持格式:Html、PDF、Word、Excel,可以让我们只需编写少量代码,就能快速实现导入导出的需求。比如导入的Excel格式问题、Excetl中图片导入问题,导出的需求为了方便客户查看,会面临更多个性化的需求,为了满足这些需求,开发还是比较繁琐的。2、数据格式:数据的校验、数据处理、类型映射、数据筛选、数据拆分等;1、支持格式:Html、PDF、Word、Excel;3、自定义:自定义表头、单元格的格式;

2023-08-24 22:31:17 14

原创 Apache hudi 核心功能点分析

初始的需求是Uber公司会有很多记录级别的更新场景,Hudi 在Uber 内部主要的一个场景,就是乘客打车下单和司机接单的匹配,乘客和司机分别是两条数据流,通过 Hudi 的 Upsert 能力和增量读取功能,可以分钟级地将这两条数据流进行拼接,得到乘客-司机的匹配数据。我认为事务支持是hudi中最核心的部分,因为数据的更新删除都强依赖事务的能力,传统数仓中只提供insert语义并且文件只能追加,对事务保障的需求会弱很多,最多就是读到了不完整的数据(写入分区数据后还发生append)。

2023-08-24 22:30:30 20

原创 StringBuilder类用法解析

(5)它是一个线程不安全的,但是速度上有:StringBuilder(可变,线程不安全) > StringBuffer(可变,线程安全) > String(不可变,安全)。public StringBuilder append(boolean b) { // 这里的入参还可以替换为char,int,float,long,double。(6)具有天然的增删改查方法如append(),insert(),deletecharAt(),delete(),reverse(),replace()等。

2023-08-24 22:29:36 24

原创 模板方法中的线程安全问题

业务数据和excel 逻辑 解耦让data 可以 在service 层之间set进来这样excel的相关类不用添加到 spring 容器中/*** 写入数据*//*** 获取当前类的sheet对象* @return sheet对象*//*** 设置sheet对象* @param sheet sheet对象*//*** 获取所属的excel对象* @return excel对象*//*** 设置excel对象。

2023-08-24 22:28:58 12

原创 背包问题基础模型全解

我们发现两个式子很像,不过,f[i][j−v[i]] 多了一项 f[i−1][j−(s[i]+1)w[i]]+s[i]×w[i]) ,我们不可以通过前 n 个数的最大值和最后一个数,求出前 n−1 个数的最大值,所以这样的方法是不可行的。于是我们就可以将 f[i][j−v[i]] 加上 w[i] 转化成 f[i−1][j−v[i]]+w[i],f[i−1][j−2×v[i]]+2×w[i],...由于下标不能是负数,所以上述转移方程要求 j≥w[i]当 j

2023-08-16 19:17:46 31 1

原创 背包问题变式总结

我们可以发现可以同时解决两个问题,那么想要这个特性运用的最划算,那么肯定是需要左脑和右脑处理的时间的差值最小,那么这个问题就转换成了平分子集问题,不过需要注意的是,这里求的是总时间,因为左脑和右脑只能处理同一科,所以如果左脑处理完了,左脑还得等右脑,所以需要取一个最大值,最后将每次取得的结果累加就行了。而在负数中,j

2023-08-16 19:17:02 18

原创 从Element日期组件源码中学到的两个工具方法

最近翻到 ElementUI 的日期组件源码,看到一些处理日期的工具方法,挺有意思,平常没有注意到,特此记录下来。

2023-08-16 19:16:07 19

原创 go语言vscode集成开发环境搭建

在go语言1.13时代之后官方语言服务器gopls已经逐步替代了许多其他的go语言工具,另外我觉得Visual Studio Code是目前免费go语言集成开发工具做的最好的,由于它对官方语言服务器的支持,为此Visual Studio Code在go语言编程时支持go mod依赖,代码补全,语义检查等等方面支持都很好。搭建go语言环境,除了要搭建go语言的编译环境,还要搭建go语言的集成开发环境,为此需要选择go语言的集成开发环境的工具,这就是“工于善其事,必先利其器”,可以大大加快自己的开发进度。

2023-08-16 19:13:47 22

原创 Redis 持久化及集群架构

Redis 持久化及集群架构是构建可靠高效的数据存储解决方案的重要组成部分。通过持久化机制,我们可以将内存中的数据写入磁盘,实现数据的长期存储和恢复。而通过集群架构,我们可以搭建高可用性、故障自动转移的系统,提高系统的稳定性和扩展能力。在应用中,根据实际需求选择合适的持久化方式和集群架构非常重要。同时,我们也要注意性能优化和安全方面的考虑,避免单点故障和数据丢失等问题。以 Redis 为基础,利用持久化和集群架构,我们能够构建出高效、可靠的数据存储解决方案。

2023-08-16 19:12:24 7

原创 Luckysheet:一个纯前端的excel在线表格

最近因为项目要求,需要在页面上添加一个在线编辑excel的功能,因此只能在网上找有没有直接用的插件,最后很幸运的是幸好找到了一个 ----luckysheet.这个是从luckysheet官网上找的图片,先看下能用插件做那些效果。官方文档很详细,具体使用很简单,差不多跟Echarts 一样,配置数据结构,然后插件初始化即可。

2023-08-16 19:11:42 240

原创 形象谈JVM-第二章-认识编译器

一个高级的翻译将英文作品翻译成中文作品时,绝不会逐字死板的去翻译,而是会在不影响原意的前提下加以文采的修饰,以达到读者更好更快的理解,编译器的优化类似,在编译期,在不影响代码逻辑的前提下,会将复杂优化成简洁的,将缓慢的优化成快速的等等,为了程序更好更快(非绝对)的执行。JDK 5之后,Java语言提供了对注解的支持,注解在设计上原本是与普通的Java代码一样,都只会在程序运行期间发挥作用的,因此在这个阶段会对注解进行分析,根据注解的作用将其还原成具体的指令集。(在后面的章节中我们会讲解更多的优化策略)

2023-08-16 19:10:07 7

原创 形象谈JVM-第一章-认识JVM

比如在linux系统,java文件被javac编译器翻译成字节码文件(class文件),jvm将字节码文件翻译成linux能够识别并执行的机器码文件,这样java程序便能够被运行起来了。若是在windows系统,JRuby代码被jrubyc编译器翻译成字节码文件,jvm将字节码文件翻译成windows能够识别并执行的机器码文件,这样JRuby程序便能够被运行起来了。虚拟机的职责是将字节码翻译成对应系统能够识别并执行的机器码,对jvm的历史不做过多介绍,感兴趣的同学可以去自行搜索。

2023-08-16 19:09:28 8

原创 Java基础实现加油站圈存机系统

​ 已经了解了圈存业务大致内容。现在使用Java基础课程所学习的知识,模拟开发一下这个圈存系统的功能。因为是模拟开发,所以有些细节会相应的做些调整。

2023-08-16 19:08:44 18

原创 page tables 以及 Lab3 心得

页表PTE的内容才是内存的。

2023-08-16 19:06:57 13

原创 python 单例模式

无论是创建了新的实例还是直接返回已存在的实例,都会将实例返回。self在实例方法中使用,用于引用实例的属性或调用实例的方法。cls 在类方法中使用,用于引用类的属性或调用类的方法。它通常用于在类方法内部访问类级别的属性或创建新的类实例。方法的作用是创建并返回一个类的实例。单例模式是一种设计模式,目的是确保一个类只有一个实例,并提供一个全局访问点来获取该实例。是一个类变量,所以它在类的所有实例之间是共享的,保证了只有一个实例被创建和返回。静态实例变量:在类中定义一个静态变量,用来保存类的唯一实例。

2023-08-15 11:18:27 23

原创 从内置功能中获取最高性能

有很多工具和库可以帮助我们编写更高效的Python。但是,在我们深入研究提高性能的所有外部选项之前,让我们先仔细看看如何编写在计算和IO性能方面都更高效的纯 Python代码。事实上,许多Python性能问题(当然不是全部)都可以通过更加注意Python的限制和能力来解决。为了展示Python自身用于提高性能的工具,让我们将它们用于一个假设但现实的问题。假设您是一名数据工程师,负责准备对全球气候数据进行分析。这些数据将基于美国国家海洋和大气管理局的综合地表数据库。

2023-08-15 09:38:36 19 1

原创 python多进程编程常用到的方法

def run(self): #start()时,run自动调用,而且此处只能定义为run。print("%s曾经是好人"%self.name)p.start() #将Process当作父类,并且自定义一个函数。

2023-08-15 09:35:04 18

原创 简单的用Python获取一下视频弹幕,新手练手实战项目,非常简单!

昨天看到个视频,弹幕挺有意思的,于是想着用Python给他全部扒下来。代码非常简单,接下来我们看看 具体操作。

2023-08-15 09:33:17 20

原创 python带参数装饰器的两种写法

装饰器是 Python 中非常有用的语法特性,可以用于包装或者修改函数的行为。有时候我们希望给装饰器添加参数,以便于在装饰器内部使用,那么这时候就需要使用带参数的装饰器。

2023-08-15 09:31:07 9

原创 使用PEfile分析PE文件

PeFile模块是Python中一个强大的便携式第三方PE格式分析工具,用于解析和处理Windows可执行文件。该模块提供了一系列的API接口,使得用户可以通过Python脚本来读取和分析PE文件的结构,包括文件头、节表、导入表、导出表、资源表、重定位表等等。此外,PEfile模块还可以帮助用户进行一些恶意代码分析,比如提取样本中的字符串、获取函数列表、重构导入表、反混淆等等。PEfile模块是Python中处理PE文件的重要工具之一,广泛应用于二进制分析、安全研究和软件逆向工程等领域。

2023-08-15 09:28:36 57

原创 在Python中使用LooseVersion进行软件版本号比对

在软件版本快速迭代的过程中,经常会遇到一些接口变化问题。而如果需要兼容旧版本的话,就需要使用到版本判断的方法。判断清楚版本号属于哪一个区间,再对不同的版本号区间采取不同的算法或者执行策略。Python中预先内置的LooseVersion就是一个很好的版本号比对工具,不仅仅可以对相同位数或者相同类型的版本号进行比对,还可以进行错位的版本号比对。

2023-08-15 09:24:47 20

原创 3.0 Python 迭代器与生成器

当我们需要处理一个大量的数据集合时,一次性将其全部读入内存并处理可能会导致内存溢出。此时,我们可以采用迭代器Iterator和生成器Generator的方法,逐个地处理数据,从而避免内存溢出的问题。迭代器是一个可以逐个访问元素的对象,它实现了python的迭代协议,即实现了__iter__()和__next__()方法。通过调用__next__()方法,我们可以逐个访问迭代器中的元素,直到所有元素都被访问完毕,此时再次调用__next__()方法会引发异常。

2023-08-15 09:22:01 11

原创 Python模块学习:subprocess模块详解

args: 要执行的shell命令,默认应该是一个字符串序列,如[‘df’, ‘-Th’]或(‘df’, ‘-Th’),也可以是一个字符串,如’df -Th’,但是此时需要把shell参数的值置为True。shell: 如果shell为True,那么指定的命令将通过shell执行。如果我们需要访问某些shell的特性,如管道、文件名通配符、环境变量扩展功能,这将是非常有用的。

2023-08-15 09:17:17 32

原创 2.0 Python 数据结构与类型

使用collections.deque保存有限的列表数据,deque用来创建一个固定长度的队列.

2023-08-12 14:10:50 40

原创 「学习笔记」随机数据

虽然比较慢,但已经足够用了,它会随机生成一个范围在 [0,231−1][0,231−1] 中的一个数。其优点是随机数质量高(一个表现为,出现循环的周期更长;其他方面也都至少不逊于。来设置、更改随机种子,当然,不初始化也是可以的,只是同一个程序用相同的。、相同的机器、相同的编译器下,随机的结果将会是一样的。是一个随机数生成器类,效用同。我们日常用的随机函数为。

2023-08-12 14:07:02 26 1

原创 .NET对象的内存布局

在.NET中,理解对象的内存布局是非常重要的,这将帮助我们更好地理解.NET的运行机制和优化代码,本文将介绍.NET中的对象内存布局。.NET中的数据类型主要分为两类,值类型和引用类型。值类型包括了基本类型(如int、bool、double、char等)、枚举类型(enum)、结构体类型(struct),它们直接存储值。引用类型则包括了类(class)、接口(interface)、委托(delegate)、数组(array)等,它们存储的是值的引用(数据在内存中的地址)。

2023-08-12 14:06:25 19

原创 pentaho(keetle)数据同步实践

pentaho是一款开源ETL工具,纯java编写的C/S模式的工具,可绿色免安装,开箱即用。支持Windows、macOS、Linux平台。pentaho有2个核心设计,即转换和作业。转换是一个包含输入、逻辑处理、输出的完整过程,即ETL。作业是一个提供定时执行转换的机制,即定时服务调度。pentahopentaho由主要四部分组成。

2023-08-12 14:05:17 33

原创 在Python中使用LooseVersion进行软件版本号比对

在软件版本快速迭代的过程中,经常会遇到一些接口变化问题。而如果需要兼容旧版本的话,就需要使用到版本判断的方法。判断清楚版本号属于哪一个区间,再对不同的版本号区间采取不同的算法或者执行策略。Python中预先内置的LooseVersion就是一个很好的版本号比对工具,不仅仅可以对相同位数或者相同类型的版本号进行比对,还可以进行错位的版本号比对。

2023-08-12 13:29:46 28

原创 从源码角度了解Vue生命周期

挂载的意思是指Vue.js将其实例挂载到DOM元素上,也就是用编译后的模板代码替换指定DOM元素的内部内容,实现模板内容的渲染。new Vue()到created的阶段是初始化阶段,该阶段会初始化属性props、事件events和响应式数据data,还有computed、watch、provide和inject。data选项的值是对象类型,它的property会被Vue实例所代理,成为响应式数据,拥有双向改变的特性。//合并构造函数的选项和用户传入的选项并挂载到Vue实例vm的$options选项上。

2023-08-12 13:28:32 3

原创 OpenCVSharp图像入门_给绿幕图片视频加背景

现在网上关于openCV的教程基本都是c++和python,如果是C#方向,可以跟着这两个语言的步骤自己写demo。if (max == p.Item1 && p.Item1 > 30) //BGR,当G最大时且大于30时,可以根据实际调节这个阈值。效果展示:(我是跟着杨神的思路写的这个程序,素材就直接用杨神了,这篇是入门级别,可以看完我这篇再去观摩杨神的)1)识别绿幕函数(一般操作图片是使用指针的,为了更好理解,我们这里先At执行,后面会讲使用指针改进)效果展示:(这是视频的一张截图)

2023-08-12 13:27:47 27

原创 SpringBoot3进阶用法

在这篇内容中再来看看进阶功能的用法;调度任务:在应用中提供一定的轻量级的调度能力,比如方法按指定的定时规则执行,或者异步执行,从而完成相应的代码逻辑;邮件发送:邮件作为消息体系中的渠道,是常用的功能;应用监控:实时或定期监控应用的健康状态,以及各种关键的指标信息;切面编程:通过预编译方式和运行期动态代理实现程序中部分功能统一维护的技术,可以将业务流程中的部分逻辑解耦处理,提升可复用性;定义一个方法级的注解;/*** 模块描述*//*** 其他信息*/

2023-08-11 22:01:19 21

原创 微服务项目使用RabbitMQ

很久未用RabbitMQ了,根据网上的Demo,大多数是一个服务包含所有的生产者和消费者和配置,当自己去搭建服务的时候,还需要一些思考各种包的划分.无法无脑CV大法,所以,下文,我根据实际项目抽离出一个比较完整的小Demo演示微服务项目使用RabbitMQ.注意:这个小Demo并没有做消息的可靠性相关操作!

2023-08-11 21:54:03 22

原创 银河麒麟等 Linux系统 安装 .net 5,net 6及更高版本的方法

第二步下载对应的SDK, .net sdk 下载地址 https://dotnet.microsoft.com/zh-cn/download/dotnet。可以编辑 shell 配置文件来永久添加命令。存在多个不同的 shell 可用于 Linux,并且每个 shell 都有不同的配置文件。进入下载页面,这里版本一定要选对。我第一次选了32 位的安装后报错。第三步:下载完成后,再linux 服务器 上进入到文件所在目录,建议全英文路径。编辑 shell 的相应源文件,并将。然后依次输入以下命令。

2023-08-11 21:53:16 338

原创 编织人工智能:机器学习发展历史与关键技术全解析

机器学习是一门研究计算机如何利用经验改善性能的科学。它的主要目的是通过从数据中学习模式并作出预测或决策。在技术层面上,机器学习可以分为监督学习、无监督学习、半监督学习和强化学习等。机器学习作为人工智能的关键部分,在过去的几十年中取得了显著的进展。从最初的简单算法,到复杂的深度学习模型,再到当前的跨学科整合和伦理考虑,机器学习不断推动科技的前沿,影响着我们的生活方式和工作方式。

2023-08-11 21:52:38 14

用于存放整体大模型业务所有的共享材料.rar

“大模型时代,数据决定AI智能的高度。作为数据的载体,数据存储成为AI大模型的关键基础设施。”7月14日,华为数据存储产品线总裁周跃峰在发布会上说道。 当天,华为发布大模型时代AI存储新品,为基础模型训练、行业模型训练,细分场景模型训练推理提供存储最优解,释放AI新动能。 周跃峰告诉观察者网等媒体,现在AI大模型非常热门,但企业实施AI大模型的过程是一个复杂的系统过程,会面临很多挑战。具体来讲,企业在开发及实施大模型应用过程中,面临四大挑战: 首先,数据准备时间长,数据来源分散,归集慢,预处理百TB数据需10天左右;其次,多模态大模型以海量文本、图片为训练集,当前海量小文件的加载速度不足100MB/s,训练集加载效率低;第三,大模型参数频繁调优,训练平台不稳定,平均约2天出现一次训练中断,需要Checkpoint机制恢复训练,故障恢复耗时超过一天;最后,大模型实施门槛高,系统搭建繁杂,资源调度难,GPU资源利用率通常不到40%。

2023-09-02

一份有态度的AI学习资料.rar

在我学习人工智能的过程中,主要有以下两个途径: 首先是B站。我将所有知识点所推荐的视频链接直接贴设为了超链接,点击可直达教程。 第二是书籍。视频的讲解难免会不全面,很多时候我们需要翻阅书籍对知识进行查漏补缺、透彻理解。本文提及所有书籍在文末可免费获取电子版。 AI知识大纲 AI知识大体可以分为5个模块,接下来我会依次介绍每个模块的学习路径,最后给大家推荐几个我入门时做过的项目,帮助大家快速入门人工智能。 一、Python编程基础 在AI领域,目前大部分程序员都使用Python作为第一语言。 学会上述操作后就入门了,但一定要将基础部分的内容掌握扎实。进阶操作在前期不着急学习,可以在日后使用过程中逐渐精通,比如函数式编程、多线程使用、异常处理与日志管理等等。 网络资源推荐 黑马Python教程 将Python基础讲的非常详细,可以轻松入门,建议新手从P116开始学习。 书籍推荐 这里给大家推荐两本学习Python必备书籍。《Python编程》中每个知识点下都有对应示例,非常直观。

2023-09-02

关注AI模型上线、模型部署.rar

三方模型管理平台 三方模型是基于开源项目OpenFaas,为数据科学家构建的一套模型的在线开发、统一管理、部署和运维的管理平台,可以让AI模型的工程化部署应用更加简单、便捷和高效。平台采用Serverless的服务模式构建,具备高扩展、高可用和高性能等特点,用户无需再关注底层服务构建和资源分配等细节问题,可以更聚焦于业务模型代码的开发。 三方模型功能架构图 异构AI模型统一管理,运维更省心 对于不同AI模型的框架(Tensorflow、PMML、Keras、PyTorch等)构建一个Docker基础镜像,在三方模型平台上进行统一的上传和管理;在模型开发时,平台提供了统一的模板,进行在线开发和在线调试,同时支持模型的版本管理,确保每个模型具有可追溯性。 模型上线部署可通过界面式参数进行配置,配置好模型的相关参数后,即可一键发布模型,还能生成标准API,供后续服务调用,降低部署难度和复杂度。另外,平台还支持多种函数触发器创建同步服务、异步服务、Kafka服务和调度任务等,满足工程化的部署应用需求。

2023-09-02

大模型系统论文与教程.rar

1. 理解架构和任务 从头开始,对于transformer/大型语言模型来说,从哪里读起呢? (1) Neural Machine Translation by Jointly Learning to Align and Translate (2014) by Bahdanau, Cho, and Bengio, https://arxiv.org/abs/1409.0473 建议从上面的论文开始阅读。它介绍了一种注意力机制,用于改进循环神经网络(RNN)的长序列建模能力。这使得RNN能够更准确地翻译更长的句子——这也是后来开发原始Transformer架构的动机。 (2) Attention Is All You Need (2017) by Vaswani, Shazeer, Parmar, Uszkoreit, Jones, Gomez, Kaiser, and Polosukhin, https://arxiv.org/abs/1706.03762 这一篇是引用最为广泛的经典论文,介绍了最初的Transformer架构,包括后来成为单独模块的编码器和解码器部分。此外

2023-09-02

大模型基础技术资料集合.rar

大模型训练的目标公式 超大模型训练的总体目标就是提升总的训练速度,减少大模型的训练时间,你知道啦,毕竟训练一个大模型基本上从按下回车的那一刻开始要1到2个月,是很蛋疼的。下面主要看一下在大模型训练中的总训练速度的公式: 总训练速度 ∝ 单卡速度 * 加速芯片数量 * 多卡加速比 上面公式当中,单卡速度主要由单块AI加速芯片的运算速度、数据IO来决定;而加速芯片数量这个很清楚,数量越多增加训练速度;而多卡加速比则是有计算和通讯效率决定。 我们再把使用到技术跟这个公式关联在一起: 1、单卡速度:单卡速度既然是运算速度和数据IO的快慢来决定,那么就需要对单卡训练进行优化,于是主要的技术手段有精度训练、算子融合、梯度累加来加快单卡的训练性能。 2、加速芯片数量:理论上,AI芯片数量越多,模型训练越快。但是,随着训练数据集规模的进一步增长,加速比的增长并不明显。如数据并行就会出现局限性,当训练资源扩大到一定规模时,由于通信瓶颈的存在,增加计算资源的边际效应并明显,甚至增加资源也没办法进行加速。这时候需要通讯拓扑进行优化,例如通过ring-all-reduce的通讯方式来优化训练模式。

2023-09-02

大模型安全研究进展,包括调研数据集、论文、算法、 每日进展等等.rar

大模型训练的集群架构 这里的集群架构是为了机器学习模型的分布式训练问题。深度学习的大模型目前主要是在集群中才能训练出来啦,而集群的架构也需要根据分布式并行、深度学习、大模型训练的技术来进行合理安排。 在2012年左右Spark采取了简单直观的数据并行的方法解决模型并行训练的问题,但由于Spark的并行梯度下降方法是同步阻断式的,且模型参数需通过全局广播的形式发送到各节点,因此Spark的并行梯度下降是相对低效的。 2014年李沐提出了分布式可扩展的Parameter Server架构,很好地解决了机器学习模型的分布式训练问题。Parameter Server不仅被直接应用在各大公司的机器学习平台上,而且也被集成在TensorFlow,Pytroch、MindSpore、PaddlePaddle等主流的深度框架中,作为机器学习分布式训练最重要的解决方案之一。

2023-09-02

AI大语言模型架构图.rar

什么是大型语言模型? 当我们谈论大型语言模型时,我们指的是一种能够以类似人类语言的方式“说话”的软件。这些模型非常惊人——它们能够获取上下文并生成不仅连贯而且感觉像是来自真实人类的回复。 这些语言模型通过分析大量的文本数据并学习语言使用的模式来工作。它们利用这些模式生成的文本几乎无法与人类所说或写的内容区分开来。 如果您曾与虚拟助手进行聊天或与人工智能客户服务代理进行互动,您可能会在不知不觉中与大型语言模型互动过!这些模型有广泛的应用,从聊天机器人到语言翻译到内容创作等。 一些最令人印象深刻的大型语言模型由OpenAI开发。例如,它们的GPT-3模型拥有超过1750亿个参数,能够执行摘要生成、问答甚至创作等任务!如果您仍然不确定这样的模型有多好,我建议您自己尝试一下Chat GPT。 第一个大型语言模型是什么? 正如我们前面提到的,当谈论大型语言模型时,我们基本上是在谈论擅长生成类似人类语言的软件。真正引起人们关注的第一个模型是OpenAI于2018年开发的GPT(Generative Pre-trained Transformer)模型。

2023-09-02

ai大模型学习和实践.rar

AI大模型是“人工智能预训练大模型”的简称,是指具有大量参数和复杂结构的机器学习模型。这些模型可以应用于处理大规模的数据和复杂的问题。包含了“预训练”和“大模型”两层含义,二者结合产生了一种新的人工智能模式,即模型在大规模数据集上完成了预训练后无需微调,或仅需要少量数据的微调,就能直接支撑各类应用。 大模型的优势如下: 1、精确度更高,表现更好。大样本由于其参数多、结构复杂等特点,可以更精确地表示出样本的空间分布,并从中学习出更多的复杂属性,进而提升其预测精度与效果。 2、能够很好的应对大量的资料。大规模样本能够有效地应对大量的样本,因此能够有效地提升模型的精确度和推广性能。 3、能够很好的解决问题。大尺度的建模方法不仅计算复杂性高,而且灵活多变,能够解决更为复杂的问题。

2023-09-02

这是为2023年电赛信号题所做的一些准备.rar

今年的大赛已临近落幕,笔者打算陆续对几个熟悉领域的题目作一番分析与讨论,今天首先分析H题。 网上有一些关于H题的分析,许多都是针对盲信号分析的。然而本题具有明确的信号频率范围,明确的信号可能频率,明确的信号波形,明确的信号幅度比,以及明确的信号数量,因此完全不需要采用盲信号分析。况且竞赛参与对象是大学三年级的本科生,要他们进行盲信号分析实在是有些勉为其难了。 其实,除了个别地方的表述不够严谨外,这个题目设计得很有水平。从基本要求到发挥部分,设计难度层层递进,既可以简单完成最基本的部分,也需要深思熟虑才能完成发挥部分。 下面笔者以适合大学本科生的层次,对H题进行分析。抛砖引玉,欢迎大家指正。 一、任务 设计并制作信号分离装置,如图所示。一台双路输出信号源输出2路周期信号A和B(频率范围:20kHz~100kHz,且fA<fB;峰峰值均为1V),经增益为1的加法器产生混合信号C,信号C通过分离电路分离出信号A’和B’。要求信号A’和B’相比信号A和B波形无失真,A’和A、B’和B的波形在示波器上能连续稳定同频显示。

2023-08-24

电赛做题记录大全.rar

自己在做之前的电赛题目时,也苦苦没有思路,不知道该怎么去下手,面对题目的要求和限制,应该如何去分析和实现 由于我们主要是准备小车相关的,大部分时间都用来刷电赛期间出现的小车题目了 其中包括21年F题——智能送药小车、22年C题——小车跟随系统、22年B题——自动泊车系统等 可是今年电赛题目并没有小车,小车和无人机一起 可以看出电赛题目更贴近于综合,对个人能力的要求更高了 好了,废话不多说,我会在这段时间,将学习到的知识和做电赛题目的代码一步一步写出文章分享和教学,希望以后的同学可以参考学习,而不是盲目无从下手 1、车型选择 在做这道题目的时候,采用过好几种车型,并且采用过不同的方案,其中一种是 四轮小车,前轮为舵机转向,后两轮为驱动轮 三轮小车,前轮为万向轮或牛眼轮,后两轮为驱动轮 在实践的过程中,因为题目要求是转向90°,这种情况下三轮小车前轮为从动轮的更占优势,转向更为方便,而舵机前轮后轮驱动的车型转向就无法像三轮一般丝滑,略显笨重,但是也可以实现 2、巡线 巡线有两种方案 OpenMv巡线 灰度循迹 这两种循迹方案都是差不多的,都是检测当前小车行进的位置的偏差

2023-08-24

电赛资料分享,20年21年题目和电源板,rt1064主控板.rar

和往年相比有一些共同点,20年的F题是无接触式人脸识别与测温装置,重点在于测温和人脸识别,G题是远距离识别带颜色三角,正方形,圆形纸板;21年的控制F题是智能送药小车,重点在于红线识别,数字识别与双车控制,D题是无接触测量摆线激光笔长度角度。两年的f题都与疫情相关。可以看出近两年都有向神经网络,图像识别靠拢的趋势,而22年的清单中再次出现了摄像头器件,可以大胆猜测今年还会有一道神经网络图像处理相关的题目,会有一道疫情防控相关的题目,可能是两道题,也可能并为一道题。所以,图像处理相关器件,OV7725,OpenMV,OpenART,K210,树莓派,Jetson nano等等有条件的都可以准备一下了。今年的清单中有一个有意思的器件——呼啦圈,想必和去年的亚克力板和亚克力球一样备受关注,但一个一米多的呼啦圈,没有给出材料纹路,当轨道有点多余,平衡托举难以实现,摄像头也不一定能拍全,可能仅仅是作为一个普通器材,在飞行器题里配合无人机完成一些特定动作,当然也不一定,有可能是用摄像头去拍呼啦圈,分析它的姿态角,毕竟仪器清单中也出现了量角器。

2023-08-24

电赛资料保姆级别.rar

一、 系统方案 本设计采用 K210 为主控,整体系统主要由主控与舵机组成。 1.1. 主控模块的论证与选择 方案一:选择 K210 芯片,搭载了双核 64 位 RISC-V 处理器和专门的 AI 加速器,具有高性能的计算能力;支持常见的图像处理任务,并且有多个 GPIO 接口、 UART、 I2C、 SPI 等常用接口,方便与其他外设进行连接和扩展,满足不同应用场景的需求。 方案二:选用OpenMV 芯片。OpenMV芯片使用MicroPython作为开发语言,提供了简洁的 API 和丰富的示例代码;支持多种图像处理算法;采用了优质的图像传感器,可以在低光条件下工作,并能够实时采集高质量的图像数据。 方案三:选用树莓派,树莓派搭载了 ARM 架构的处理器,性能较强,能够处理多种复杂的算法和任务;具有多个 GPIO 接口、 USB 接口、 HDMI 接口等常见接口;拥有庞大的开源社区支持,有大量的资源、文档和示例代码可供参考和使用。 最终选择:综合考虑上述各项方案,我们选择方案一,因为 K210 芯片具备强大的图像处理和控制接口功能,可开发性强,成本低,适合该系统的需求。

2023-08-24

电赛视觉识别相关代码.rar

一、 系统方案 本设计采用 K210 为主控,整体系统主要由主控与舵机组成。 1.1. 主控模块的论证与选择 方案一:选择 K210 芯片,搭载了双核 64 位 RISC-V 处理器和专门的 AI 加速器,具有高性能的计算能力;支持常见的图像处理任务,并且有多个 GPIO 接口、 UART、 I2C、 SPI 等常用接口,方便与其他外设进行连接和扩展,满足不同应用场景的需求。 方案二:选用OpenMV 芯片。OpenMV芯片使用MicroPython作为开发语言,提供了简洁的 API 和丰富的示例代码;支持多种图像处理算法;采用了优质的图像传感器,可以在低光条件下工作,并能够实时采集高质量的图像数据。 方案三:选用树莓派,树莓派搭载了 ARM 架构的处理器,性能较强,能够处理多种复杂的算法和任务;具有多个 GPIO 接口、 USB 接口、 HDMI 接口等常见接口;拥有庞大的开源社区支持,有大量的资源、文档和示例代码可供参考和使用。 最终选择:综合考虑上述各项方案,我们选择方案一,因为 K210 芯片具备强大的图像处理和控制接口功能,可开发性强,成本低,适合该系统的需求。

2023-08-24

2023电赛红色激光e题只用了一天写的比较粗糙.rar

参赛的第二年是省赛年,赛前我们刚从参加完ROBOCON中紧张刺激的环境回过神,又只身继续投入进电赛,同队友商量,在声源题和小车题之间徘徊不定,下午提交选题前我们最终还是选择了小车题C题跟随小车。小车题要求使用的芯片必需为TI的芯片,在此之前我们使用最多的是32芯片,包括准备电赛也是32的芯片,TI的根本没有接触过,似乎一切又要从零开始,然而这也只是第二年遗憾的开始。第二年的题目对小车速度要求很高,我们事先准备的电机减速比过高,基础速度都无法满足。在发现问题之前我们已经画了太久的时间在底层上,CCS的编译环境真×,没有办法我们只能硬着头皮做下去。最后一晚准备测试第四问时,我们发现小车在完成第三问时总会莫名其妙的停在停止线前,我们马上查找问题,检查线路,甚至把前几天的测试代码从回收站移出来下载测试,问题依旧解决不了,此时距离封箱已不足5个小时,我蹲在门口,回想起上一年的遗憾

2023-08-24

2022年电赛WIFI及蓝牙准备.rar

K210芯片是一款基于RISC-V架构的嵌入式人工智能芯片,具备低功耗、高性能的特点。它拥有强大的图像处理和机器学习能力,适用于边缘计算设备和物联网应用。为了方便开发者,K210芯片提供了丰富的外设接口,包括摄像头接口、显示接口、WiFi、蓝牙等,同时支持多种编程语言和开发环境,如MicroPython和C语言。在计算机视觉领域,K210芯片被广泛应用于对象检测、人脸识别、图像分类等任务,能够实现快速的图像处理和分析。 第二章:矩形识别的基本原理 矩形识别是计算机视觉领域中常见的任务之一,它主要涉及图像处理和机器学习算法。 1.对于图像的预处理,可以根据具体需求选择合适的方法进行降噪、分辨率调整和对比度增强等操作。例如,可以使用滤波器进行降噪,使用插值算法进行分辨率调整,使用直方图均衡化进行对比度增强。 2.特征提取阶段需要根据具体的矩形特征进行选择合适的方法。边缘检测算法可以帮助找到图像中的边界信息,常用的算法包括Sobel算子和Canny边缘检测算法。rr

2023-08-24

2019年Ti杯电赛D题.rar

电子设计竞赛使我领略了学习与科研的乐趣。学习电子设计的过程,付出的是辛苦,收获的是快乐。电子设计竞赛也赋予了我更多的自信与坚强。让我充分地了解了自己,认识到自己的实力和不足。我们不仅要学习牢靠的基础知识,学会实践操作,也要善于实验、记录和表达。”大连理工大学学生张泽之说。 12月14日,TI杯2019年全国大学生电子设计竞赛颁奖典礼在北京国家会议中心落幕。张泽之作为队长,和队友李论、郭竞文获得2019年全国大学生电子设计竞赛最高荣誉“TI杯”。这也是大连理工大学第二次获得全国大学生电子设计竞赛最高荣誉。指导老师、大连理工大学创新创业学院创新中心主任李胜铭介绍,学校的创新创业学院是一个二级学院,具有多层次创新创业教育体系,为全校的学生提供多元化创新创业指导,注重培养学生的创新能力和实际运用能力。 据悉,全国大学生电子设计竞赛是面向大学生的科技活动,目的在于推动高等学校促进信息与电子类学科课程体系和课程内容的改革。经过20多年的发展,全国大学生电子设计竞赛已成为中国规模大、参赛范围广、极具影响力的针对在校本专科大学生的电子设计竞赛,每年有超过4万名大学生报名参与。

2023-08-24

专业选修课(人工智能)作业.rar

决策树莺尾花构建一个决策树分类模型,实现对鸢尾花的分类 1.lris数据集介绍: 鸢尾花数据集是机器学习领域中非常经典的一个分类数据集。数据集全名为:Iris Data Set,总共包含150行数据。 每一行由4个特征值及一个目标值(类别变量)组成。 其中4个特征值分别是:萼片长度、萼片宽度、花瓣长度、花瓣宽度 目标值为3种不同类别的鸢尾花:山鸢尾、变色鸢尾、维吉尼亚鸢尾 2.读取数据 Iris数据集里是一个矩阵,每一列代表了萼片或花瓣的长宽,一共4列,每一列代表某个被测量的鸢尾植物,一共采样了150条记录。

2023-08-08

互联网Java面试训练营.rar

Java 1. 面试现场】为什么MySQL数据库要用B+树存储索引? 2. 【漫画】以后在有面试官问你AVL树,你就把这篇文章扔给他。 3. 记一道字节跳动的算法面试题 4. 关于三次握手与四次挥手面试官想考我们什么?--- 不看后悔系列 5. 腾讯面试题:有了二叉查找树、平衡树为啥还需要红黑树? 6. 你真的了解 i++, ++i 和 i+++++i 以及 i+++i++ 吗? 7. 面试准备-《算法第4版》Java算法笔记、理解整理 8. Java基础知识面试题(总结最全面的面试题) 9. Java集合总结【面试题+脑图】,将知识点一网打尽! 10. 2万字Java并发编程面试题合集(含答案,建议收藏) 11. Java并发面试,幸亏有点道行,不然又被忽悠了 12. Java面试- JVM 内存模型讲解 13. 推荐收藏系列:一文理解JVM虚拟机(内存、垃圾回收、性能优化)解决面试中遇到问题 14. 2020年大厂Java面试前复习的正确姿势(800+面试题附答案解析) 15. 大白话聊聊Java并发面试问题之Java 8如何优化CAS性能?

2023-08-07

这是一个使用 java 实现俄罗斯方块的小项目.rar

1、JAVA俄罗斯方块?这让我想到了初学JAVA的时候,我就是做的俄罗斯方块。完成最简单的俄罗斯的方块 只需要 监听、线程、SWING就行了。让我想想,好像没了。最主要的地方就是,你要写好几个形状,其实就是坐标啦。 2、我和你一样 ,学完java后写的第一个游戏就是俄罗斯方块,我当时是看视频教程写的。java提倡的就是面向对象的思想。你最好能用面向对象的思想来设计这个游戏。 3、500行吧。这个不一定,关键看实现的思想。不用比行的多少。 4、c语言写俄罗斯方块高水平。根据查询相关资料信息显示,俄罗斯方块是一种简单的游戏,要想使用C语言来写这个游戏,需要具备一定的编程能力,从入门到熟练水平大概需要1~2个月的时间。 java版的俄罗斯方块问题。定义方块的形状那个数组和生成新方块的方法没... 从上面两个你应该就可以看出这个数组存储各种方块的方式了。 可以设想长条横着和竖着的情况,一个块可以由4*4的二维数组组成。其中由0表示空白,1表示有块。另外网上还有“88行俄罗斯方块”的大牛写的示例,是又把这个二进制数组转换成了一个相应的整数,空间效率很高。

2023-08-07

用于存放java源码和Thinking of Java的资源.rar

线程池的简介 线程池就是首先创建一些线程,它们的集合称为线程池。使用线程池可以很好地提高性能,线程池在系统启动时即创建大量空闲的线程,程序将一个任务传给线程池,线程池就会启动一条线程来执行这个任务,执行结束以后,该线程并不会死亡,而是再次返回线程池中成为空闲状态,等待执行下一个任务。 为什么要使用线程池 如果不使用线程池,每一个任务都会新开一个线程处理。 为了减少创建和销毁线程的次数,让每个线程可以多次使用,可根据系统情况调整执行的线程数量,防止消耗过多内存,所以我们可以使用线程池。 线程池的好处 加快响应速度 合理利用 CPU 和内存 统一管理 线程池的工作机制 线程池刚创建的时候没有任何线程,当来了新的请求的时候才会创建核心线程去处理对应的请求。 当处理完成之后,核心线程并不会回收。 在核心线程达到指定的数量之前,每一个请求都会在线程池中创建一个新的核心线程。 当核心线程全都被占用的时候,新来的请求会放入工作队列中。工作队列本质上是一个阻塞队列。 当工作队列被占满,再来的新请求会交给临时线程来处理。 临时线程在使用完成之后会继续存活一段时间,直到没有请求处理才会被销毁

2023-08-07

一个小的java Demo , 非常适合Java初学者阅读.rar

.定义在开发中,幂等是指保证多次请求的一个接口返回的结果需要相同,比如支付失败的时候,重试机制,这里为了避免重复支付又要保证支付成功;又或者订单超卖2.幂等方案接口的幂等性实际上就是接口可重复调用,在调用方多次调用的情况下,接口最终得到的结果是一致的。有些接口可以天然的实现幂等性,比如查询接口,对于查询来说,你查询一次和两次,对于系统来说,没有任何影响,查出的结果也是一样。那么查询、更新、删除接口如何保证呢一致呢?2.1 保证幂等性幂等可以通过唯一的流水号来保证,即相同的流水请求是为一次请求,确保本次请求可以继续上一次请求未完成的操作,如在支付的场景中,如果不考虑并发的情况,幂等可以这样做:首先查询此流水的订单是否已支付 - 若已经支付就返回支付成功;若没有支付过,那就进行支付流程,成功后把数据状态更新成为已支付。2.2 防止重复提交2.1中如果是在并发的情况下,在支付成功但是并未开始修改为已成功的状态的时候,再有请求过来,这时候可能会造成重复支付的可能性,所以为了解决这个问题,可以把查询和变更状态操作进行加锁,将并行操作改为穿行操作。

2023-08-07

学习Java基本语法的仓库 存放学习Java的md文件和Java代码.rar

java运行机制 java核心机制 java虚拟机 jvm java virtual machine 1. jvm是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行管理数据、内存、寄存器,包含在JDK中 2. 不同平台,不同虚拟机 3. java虚拟机屏蔽了底层运行平台的差别,实现一次编译,到处运行 JDK JDK的全称(java Development Kit java开发工具包) JDK=JRE+java的开发工具(java,javac,javadoc,javap等) JDK给java开发人员使用包含JRE,所以不用单独安装 JRE JRE(java Runtime environment java运行环境) JRE=JVM + java核心类库 包括java虚拟机和核心类库,想运行一个开发好的程序,只需要JRE即可 JDK=JRE+java开发工具=JVM+java核心库+java开发工具 环境配置 下载JDK 现在Oracle下载JDK需要登录用户,大家可以使用这个网站提供的用户名和密码 http://bugmenot.com/view/oracle.com

2023-08-07

新一代Java开发工具 可视化编辑 测试运维自动化.rar

VisualVM 是Netbeans的profile子项目,已在JDK6.0 update 7 中自带,能够监控线程,内存情况,查看方法的CPU时间和内存中的对 象,已被GC的对象,反向查看分配的堆栈(如100个String对象分别由哪几个对象分配出来的)。在JDK_HOME/bin(默认是C:\Program Files\Java\jdk1.6.0_13\bin)目录下面,有一个jvisualvm.exe文件,双击打开,从UI上来看,这个软件是基于NetBeans开发的了。 VisualVM 提供了一个可视界面,用于查看 Java 虚拟机上运行的基于 Java 技术的应用程序的详细信息。VisualVM 对 Java Development Kit (JDK) 工具所检索的 JVM 软件相关数据进行组织,并通过一种使您可以快速查看有关多个 Java 应用程序的数据的方式提供该信息。 您可以查看本地应用程序或远程主机上运行的应用程序的相关数据。此外,还可以捕获有关 JVM 软件实例的数据,并将该数据保存到本地系统,以供后期查看或与其他用户共享。

2023-08-07

小而全的Java工具类库.rar

Hutool 是什么 Hutool 是一个 Java 工具包类库,它可以对文件、流、加密解密、转码、正则、线程、XML等JDK方法进行封装,组成各种 Utils 工具类。 Hutool 即是 Hu(谐音“糊涂”) + tool,前者致敬作者 “前任公司”,后者为工具之意,谐音“糊涂”,寓意追求“万事都作糊涂观,无所谓失,无所谓得”的境界。 Hutool如何改变我们的coding方式 Hutool的目标是使用一个工具方法代替一段复杂代码,从而最大限度的避免“复制粘贴”代码的问题,彻底改变我们写代码的方式。像这样的项目,咱们公众号还推荐过很多,可以关注公众号 Java后端,回复 666 下载。 功能 一个Java基础工具类,对文件、流、加密解密、转码、正则、线程、XML等JDK方法进行封装,组成各种Util工具类,同时提供以下组件: hutool-aop JDK动态代理封装,提供非IOC下的切面支持 hutool-bloomFilter 布隆过滤,提供一些Hash算法的布隆过滤 hutool-cache 缓存 hutool-core 核心,包括Bean操作、日期、各种Util等

2023-08-07

小白学习Java,记录Java基础.rar

Java 是一门面向对象编程语言,不仅吸收了 C++ 语言的各种优点,还摒弃了 C++ 里难以理解的多继承、指针等概念。Java 不但可以用来开发网站后台、PC 客户端和 Android APP,还在数据分析、网络爬虫、云计算领域大显身手。 从学术的角度讲,Java初学者需要花费不少时间来熟悉面向对象的概念、语法和编程思想。那如何正确入门Java呢? 这套教程适用于没有任何Java基础,或者基础薄弱的学员!它通俗易懂,并且非常全面,不仅包含基础入门到高级视频教程,还有项目实战、面试攻略等,一站式解决你的学习难题! 一、Java学习需要掌握的知识与技能 零基础入门Java,肯定需要一张Java学习路线图。这张Java学习路线,你一定要收藏好!

2023-08-07

微软翻译api的java实现.rar

之前软件做国际化,配置文件英文版需要翻译成中文版,总共快两万行了,但是翻译软件总会有字符限制,例如百度翻译5000个字符限制,bing翻译,最多的是google翻译,但是还是有字符限制,所以想到调用Translator API来自动翻译,使用的是微软翻译的API,因为google都上不了。 调用微软的API,首先要注册开发者账号。 这里有详细的图文教程:http://5icat.cn/thread-7180-1-1.html。 需要注意的是开发者账号不太管用,需要注册应用程序的客户端ID和密钥,最后可以发现微软每个月最多免费给你翻译2000000个字符。 然后,下载相关jar,一个是Microsoft-translator-java,另一个是jason-simple,我官网没下到,直接搜索5cto上面的下载。 代码如下,一个文件一行一行读出来,翻译,写进另一个文件里。

2023-08-07

通过学习Java系列的技术完成应用软件的开发,.rar

1.1什么才是软件开发的葵花宝典?   让我们先从一些现象出发。我们的前提是,软件开发是一项智力密集型劳动。对于智力密集型劳动,我们观察到的现象是,个体的表现差异很大,团队的表现差异很大,组织的表现差异很大,国家的表现差异很大。这不象体力占主要的劳动,象百米王跑百米的速度也仅比我快50%。但在棋类运动中,一个高手可以车轮战数位低手,而且毫无例外地将他们一一击败!   这些智力运动员表现出的特点是,计算精确而且速度快。其行为很象东方不败。虽然关于葵花宝典的传说很多,但最准确的描述只有一个字“快”。东方不败已经快到了吓人的地步。就象卡斯帕罗夫已快到了深蓝的地步。   在软件开发中,我们同样注意到这样一种高手,他们可以每天写出一千行左右的高品质代码。他们可以运用已有的一些软件包,迅速完成一个新的产品。他们可以在很短的时间内,学会一项新的程序语言或是新技术。他们表现出一种神奇的速度。   在武侠小说中,所有的高手都有一些凡人不能企及的表现。象张无忌学太极,用龙爪手击败龙爪手名家;乔峰用太祖长拳击败天下英雄;姑苏慕容以其人之道还治其人之身,令狐冲一剑剌瞎十几双眼睛等等。

2023-08-07

神州数码认证客户端java版本 基于libpcap jpcap 基于吉首大学校园网认证.rar

本学期学习了《计算机网络》专业课程,老师布置了课程设计大作业,作业要求如下: 使用 JPCAP或 wireshark等抓包,可以使用JAVA、PYTHON或C++写代码对数据进行分析,最后可视化显示; 本文只实现了使用 Java语言的jpcap接口 在 IDEA环境下抓取数据包的功能 一、Java搭建 winpcap开发环境 在抓包开始前,需要在Java中搭建winpcap开发环境; 1. 名词解释 1.1 winpcap winpcap就是一个更加底层的系统, 通过这个软件可以在window平台下实现直接的网络编程; 但是要注意的是winpcap的实现是使用C/C++实现的, 所以我们就需要一个中间件来实现从C到Java的转化; 1.2 jpcap jpcap简单来说就是对于winpcap一层封装 作为一个中间件,调用winpcap,提供一个接口,使Java实现对数据链路层的控制; 这样现实了平台的无关性;

2023-08-07

全能第三方支付对接Java开发工具包.rar

PayPal是什么 PayPal是目前全球最大的在线支付工具,就像国内的支付宝一样,是一个基于买卖双方的第三方平台。买家只需知道你的PayPal账号,即可在线直接把钱汇入你的账户,即时到账,简单方便快捷。 对接前言 在对接PayPal的时候,发现网上好多对接文章已经是两年前的文章了,PayPal官网页面也发生了一些变化,导致浪费了许多时间在官网上找东西。实际上2020年对接变得更加简单了。 注册PayPal正式账号 首先去官网https://www.paypal.com注册一个自己的PayPal账号,由于一开始只是为了测试,所以我们只能先注册一个个人账户。不过个人的开发者账户中也可以创建沙箱测试环境和账号。所以不用担心后续无法操作。

2023-08-07

强力 Java 爬虫,列表分页、详细页分页、ajax、微内核高扩展、配置灵活.rar

网络爬虫基本技术处理 网络爬虫是数据采集的一种方法,实际项目开发中,通过爬虫做数据采集一般有以下几种情况: 1)搜索引擎 2)竞品调研 3)舆情监控 4)市场分析 网络爬虫的整体执行流程 1)确定一个(多个)种子网页 2)进行数据的内容提取 3)将网页中的关联网页连接提取出来 4)将尚未爬取的关联网页内容放到一个队列中 5)从队列中取出一个待爬取的页面,判断之前是否爬过 6)把没有爬过的进行爬取,并进行之前的重复操作 7)直到队列中没有新的内容,爬虫执行结束 这样完成爬虫时,会有一些概念必须知道的: 深度:一般来说,表示从种子页面到当前页的打开连接数,一般建议不超过五层。 广度(宽度)优先和深度优先:表示爬取时的优先级。建议使用广度优先,按深度的层级来顺序爬取。

2023-08-07

励志做Java届最好用的文档工具.rar

以下是Java程序员在日常生活中最常用的10种工具。如果你正在使用Java,本文介绍将会对你有所帮助,如果你还不熟悉这些工具,在这里你可以对它们进行更加系统的了解。 1) IDE:Eclipse和NetBeans IDE是Java开发人员最为重要的工具。IDE不仅提供了集成的开发环境,还能够帮助导航、调试和记录代码。Eclipse作为行业领导者,有一半的Java开发人员都在使用它。而在编写测试程序、测试和调试Java web开发的新事物方面,我更推崇Netbeans,这是因为在web开发方面Netbeans更加容易使用,它附带了tomcat已经其它的一些应用服务器,方便于项目的创建、运行与调试。 2) 文本编辑器:Edit Plus, Notepad++和Sublime Edit plus和Notepad++是两个不同用法的文本编辑器——记录随机想法,查看部分日志文件或者文档创建。Edit Plus最优秀的地方是它非常快速、流畅,并支持所有正则表达式的查找和替换任务。Notepad++可以打开任何类型的Java文件,甚至包含了未在IDE配置的文件,

2023-08-07

快速、简洁、解决大文件内存溢出的java处理Excel工具 .rar

. EasyExcel特点 Java领域解析、生成Excel比较有名的框架有Apache poi、jxl等。但他们都存在一个严重的问题就是非常的耗内存。如果你的系统并发量不大的话可能还行,但是一旦并发上来后一定会OOM或者JVM频繁的full gc。 EasyExcel是阿里巴巴开源的一个excel处理框架,以使用简单、节省内存著称。EasyExcel能大大减少占用内存的主要原因是在解析Excel时没有将文件数据一次性全部加载到内存中,而是从磁盘上一行行读取数据,逐个解析。 EasyExcel采用一行一行的解析模式,并将一行的解析结果以观察者的模式通知处理(AnalysisEventListener)

2023-08-07

记录所有有关java的学习笔记.rar

JAVA是一种面向对象的程序设计语言,面向对象就是在计算机设计程序过程中,参照现实中事物,将事物的属性特征、行为特征抽象出来,描述成计算机事件的设计思想。 1.1 面向对象 面向对象编程的本质就是:以类的方式组织代码,以对象的组织(封装)数据 类:类是一种相关属性和行为的集合,是抽象的 对象:对象是一类事物的具体体现,是类的一个实例 面向对象的特征:封装、继承、多态 1.1.1 封装 将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问private成员变量,提供对应的getXxx()/setXxx()方法 public class Student { //封装 public int age; public String name; public void setName(String name) { this.name = name; } public void setAge(int age) { this.age = age; } String getName() {

2023-08-07

基于Spring Boot 和 WxJava 实现的Java后端.rar

作者:毕设程序媛 链接:https://www.zhihu.com/question/355530118/answer/3081804830 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 1、技术介绍1.1、Java语言Java是一种跨平台的编程语言,它可以在不同的系统上运行,它是一个纯粹的面向对象的编程语言,java 的语言风格与 C++非常相近,它在 C++的基础上进行了创新,同时它遗弃了 C++里面比较难理解的指针和多继承等问题。1.2、微信小程序开发工具开发工具提供了代码编辑器、试试器、模拟器、性能分析工具等多个功能模块,可以让开发者更快地创建并调试微信小程序,提高开发效率和代码质量。开发者可以在微信开发者工具中进行代码编写、实时预览和调试,同时还能够模拟不同的设备和网络环境,进行真实的测试和调试。1.3、Spring boot框架Spring Boot能帮助您简化 Spring的构建,并能迅速地创建 spring应用。常规Spring框架在开启某些特性或引入第三方依赖时,需要配置大量的XML文件,这使得它变得更加复杂,并且更容易出错.

2023-08-07

基于Java实现的Dijkstra最短路径寻径的实现.rar

引用】迪杰斯特拉(Dijkstra)算法是典型最短路径算法,用于计算一个节点到其他节点的最短路径。 它的主要特点是以起始点为中心向外层层扩展(广度优先搜索思想),直到扩展到终点为止。 基本思想网址:yii666.com 通过Dijkstra计算图G中的最短路径时,需要指定起点s(即从顶点s开始计算)。 此外,引进两个集合S和U。S的作用是记录已求出最短路径的顶点(以及相应的最短路径长度),而U则是记录还未求出最短路径的顶点(以及该顶点到起点s的距离)。 初始时,S中只有起点s;U中是除s之外的顶点,并且U中顶点的路径是"起点s到该顶点的路径"。然后,从U中找出路径最短的顶点,并将其加入到S中;接着,更新U中的顶点和顶点对应的路径。 然后,再从U中找出路径最短的顶点,并将其加入到S中;接着,更新U中的顶点和顶点对应的路径。 ... 重复该操作,直到遍历完所有顶点。 操作步骤

2023-08-07

基础的java学习,学习过程的蜗牛,不断前行.rar

Java 是一门面向对象编程语言,不仅吸收了 C++ 语言的各种优点,还摒弃了 C++ 里难以理解的多继承、指针等概念。Java 不但可以用来开发网站后台、PC 客户端和 Android APP,还在数据分析、网络爬虫、云计算领域大显身手。 从学术的角度讲,初学者需要花费不少时间来熟悉面向对象的概念、语法和编程思想。学习过程中有不理解的地方大家一定要坚持,多花时间编写代码自然会豁然开朗。只有一步一个脚印,踏踏实实学习,才能从零基础到入门,再到精通。 这套教程适用于没有任何 Java 基础,或者基础薄弱的学员,它通俗易懂,并且非常全面,30-50 天从入门到精通不是神话。 第1章 Java入门基础及环境搭建 1.Java是什么 2.Java JDK下载与安装教程 3.Java JDK环境变量配置 4.使用记事本编写运行Java程序 5.Java编程规范 6.Java程序的运行过程 7.Java是如何实现跨平台的,原理是什么? 8.Java中JVM、JRE和JDK三者有什么区别和联系? 9.Java开发工具 10.Java Eclipse下载安装教程

2023-08-07

互联网 Java 工程师进阶知识完全扫盲.rar

众所周知,Java开发人员的生存环境可谓是与以前大相径庭,以IT行业发展来说,在十几年前的时候,IT行业的技术人才是稀缺的,程序员最初的招聘行情,只要你会敲“holle world”、会点技术,能做出点东西,就能入职月薪过万的大厂岗位。 近几年来初级人才已经不稀缺了。“IT初级人才招聘市场上”除了每年新入行的人,还有几年内、大几年内入行后技术没有进步的人,这些人被辞退、或跳槽找工作,找的也是“IT初级程序员”岗位…… 以互联网巨头阿里的招聘信息来看,首先对于工作经验有一定的要求,在我看来工作年限主要取决于你的技术。如果你的技术牛X的话,那么你可以包装自己;其次对于Java程序员来说技术才是最实用的,即使你的工作经验与招聘要求不相匹配,但如果技术掌握情况与之相匹配,阿里是不会“放过”你的,下面是小编在阿里招聘官网看到的招聘信息,可供大家参考。

2023-08-07

该仓库为Java进阶部分课堂同步代码.rar

对于synchronized语句当Java源代码被javac编译成bytecode的时候,会在同步代码块的入口位置和退出位置分别插入monitorenter和monitorexit(2个)字节码指令。而synchronized方法则会被翻译成普通的方法调用和返回指令,在VM字节码层面并没有任何特别的指令来实现被synchronized修饰的方法,而是在Class文件的方法表中将该方法的access_flags字段中的synchronized标志位置1,表示该方法是同步方法并使用调用该方法的对象或该方法所属的Class在JVM的内部对象表示Class做为锁对象 执行monitorenter指令时,线程会为锁对象关联一个ObjectMonitor对象(c++)。线程遇到synchronized同步时,先会进入ObjectMonitor对象的EntryList队列中,然后尝试把ObjectMonitor对象的owner变量设置为当前线程,同时ObjectMonitor对象的monitor中的计数器count加1,即获得对象锁。否则通过尝试自旋一定次数加锁,失败则进入ObjectMonito

2023-08-07

深度学习人脸识别引擎JAVA.rar

想自己搞一个人脸识别玩玩,随着开始查找资料来研究这方面的信息,还好有好几家公司都有提供这方 面的免费API,也是省下来很多功夫。一开始采用的是face++,但是在执行到最后一步人脸搜索时出现 问题,一直提示INVALID_OUTER_ID,跟着官方文档,一步步抽离再封装,最终还是以失败告终,无奈 只能选择放弃。 接着辗转第二家 百度AI ,这次还是比较顺利的,中间只出现过一次错误 ,而且官方大大还给出了 解决方案,很是贴心,最终还是实现了开始的预想:成功使用人脸来实现注册和登录功能。 由于使用的是百度云AI/face++这两个平台的现有的Api接口,所以分别对二者的难度进行分析介绍: face++ 旷视face++的难度在于需要自己对官方提供的代码段进行独立封装,这就比较考验开发者的代码抽取 能力和 自我独立封装的技能,如果不能很好地进行抽取封装,就会造成代码的冗余以及内存的浪费,这 样封装的效 果并不能达到最佳。比较耗费时间,在抽取face++平台的代码段时需要对IO流有着比较好 的理解,从而读取 读取配置文件中的内容,这里就不多做介绍。 百度云AI

2023-08-06

存放一些收集的 Java 面试八股文.rar

八股文就是指文章的八个部分,文体有固定格式:由破题、承题、起讲、入题、起股、中股、后股、束股八部分组成,题目一律出自四书五经中的原文。后四个部分每部分有两股排比对偶的文字,合起来共八股。 旧时科举,八股文要用孔子、孟子的口气说话,四副对子平仄对仗,不能用风花雪月的典故亵渎圣人,每篇文章包括从起股到束股四个部分。 注意重点:内容需取自四书五经;有固定格式要求;对句子长短、繁简、声调要相对成文,字数有限制;需用古人语气、不允许自由发挥。 相信通过上面的介绍,我们会对八股文有一个基础的概念性理解。 那么,为什么在计算机技术相关岗位面试中,存在“八股文”内容的测评呢? 国内的互联网面试,恐怕是现存的、最接近科举考试的制度。 我国的八股文确实是独树一帜。以美国为例,北美工程师面试比较重视算法(Coding),近几年也会加入Design轮(系统设计和面向对象设计OOD)和BQ轮(Behavioral question,作为面试问题)。 所以大多数北美工程师的面试准备是这样的: 刷题:我见过刷300题左右进Google的,也见过刷1000+题还拿不到offer的.但总的来说,只要面试中遇到

2023-08-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除