- 博客(107)
- 资源 (7)
- 收藏
- 关注
原创 Matlab中stateflow中执行顺序
● matlab生成代码,顶层状态机的switch实现中,default块处理的不是初始状态,因为状态机激活逻辑里进行了初始状态的逻辑实现。在内部嵌套的状态switch实现中,default块处理的则是默认状态。● 跳转逻辑判断中,如果满足则会执行exit和下个状态的en(包含子状态的en),不满足则会执行内部循环逻辑。● 第一次进入状态机的时候判断状态机是否激活,没被激活则执行默认路径。● 当状态机激活后,逻辑判断顺序是,1.跳转逻辑。
2024-02-18 22:21:57 476
原创 UML 中的关系
种类继承、实现、组合、聚合、关联、依赖理解继承和实现的关系强度最大。组合代表着实体之间共同构成一个主体内部的组成部分无法单独支撑,聚合则代表层级更高的一种关联涉及的实体都是独立的个体共同组合起来构成一个主体 个体之间是可以单独工作的。 组合和聚合的区分 因素需要看抽象层级的定义。 人由五脏六腑组合,人类由人聚合关联则代表主体之间存在关联性,人和狗依赖则是在关联的基础上增加特定的关系,人吃饭 那么可以理解位人依赖饭思考关联 实体之间存在某种 相互 联系,而依赖则是 描述实体之间的大
2023-10-19 00:26:52 271
原创 ulaucher的翻译插件
不同版本的ulaucher使用的api版本不同,为了支持统一仓库支持不同版本的ulauncher,可以维护不同的分支支持不同版本的ulaucher api 版本,version.json 文件就是用来描述api版本对应的仓库分支。定义扩展使用的api版本,扩展的相关属性:名称、选项、偏好。当事件触发的时候,如果两个事件间隔小于阈值,则时间会被忽略。定义结果列表选中后执行的操作,这里定义的是打开链接(直接打开百度翻译的网页地址)我这里只是定义了一个版本和分支的关系,这是个数组,可以定义多个分支关联关系。
2022-12-14 21:54:57 404 1
原创 rabbitmq之总览全局
rpc是远程过程调用,基于rabbitmq的rpc核心关键点是消息设置的回调队列。工作流程是生产者生产消息,消息设置replyto(回调队列),消费者消费结束,将结果发送到回调队列,生产者消费回调队列。 颗粒度更细的控制消息的消费,通过设置交换机的类型,可以将交换机的消息分配到不同的队列。 发布方的消息确认是保证消息可靠的到达服务器(broker),broker会异步发送ack消息给发送方。先前的两种工作模型之所以没有提到交换机是因为采用的是默认交换机,同时也可以采用自定义的交换机。
2022-12-01 15:21:58 441
原创 我的ubuntu配置之旅1
https://askubuntu.com/questions/1286206/how-to-skip-the-is-ready-notification-and-directly-open-apps-in-ubuntu-20-4
2022-11-03 14:49:06 93
翻译 生成SOAP web服务
生成SOAP web服务 本指南指导你通过下面的过程通过srping 创建一个基于SOAP web 服务的服务端你将构建什么 你将构建一个暴露各个欧洲国家数据通过基于WSDL的SOAP web service的服务端 为了样例的简单,你将会使用关于英国、西班牙、波兰的硬编码数据怎样完成这个指导 像大部分spring开始指南,你可以从头开始完成每一步或者可以绕过已经熟悉的基本设置步骤。不管怎么样,你最终会获得工作代码。 从头开始,移动到spring with spring initia
2022-10-28 10:51:30 453
原创 SOAP接口对接
SOAP (简单对象访问协议)是基于xml格式简易协议,支持绑定http、tcp、udp协议进行网络信息交换。常见的是SOAP结合http构建rpc风格的传输,大致过程是SOAP消息基于xml进行编码,然后映射到http协议语义上,基于http协议进行消息的网络传输。(也可以将SOAP消息映射到tcp\udp上)
2022-10-27 10:29:07 1056
翻译 翻译-C语言板球计分表
这个项目源码非常简单由七个用户自定义函数组成,下面列出它们执行的任务void date():存储当前日期或者比赛日期void print():以特定的格式打印输出void filewrite():在电脑硬盘上写入一个文件用于存储输入的数据,例如跑动、小门、过人等void fileread():从创建的存储的数据中提取或读取数据void fileopen(char):打开一个电脑里的项目文件int limitinput(int):输入一些规则信息。
2022-10-20 22:32:37 143
翻译 翻译-C语言联系人管理系统
微型的C语言联系人管理系统是一个简单的控制台应用没有图形,它与手机里的联系人管理系统类似。在这个项目中,你能新增查看编辑搜索和删除联系记录。所有被编辑的增加的记录会被保存到文件 你能通过姓名手机号地址邮件列出联系人。记录所有数据已经使用文件处理。我使用数据结构体存储用户名邮件和联系人。总的了解这个项目的源码将会教你通过文件怎样增加、编辑、搜索、列出、移除数据。 这个C语言联系人管理系统项目的源码是完整的没有任何错误的。它是短和简单的——仅仅只有200行。你能通过下面的链接下载源码和应用文件。
2022-10-20 11:11:26 73
翻译 翻译-C语言小型日历
这是一个C语言实现的微型日历控制台应用没有图形,为了使日历看起来更好看,项目里使用了大量的窗口属性,除了设置背景颜色,每月的日期使用白色,假期使用红色的前景色在这个项目中,你能得到给定日期的相对日期和查看相对于特定年月的的日子和日期为让你更好的了解这个项目,下面有大量的关于这个项目的评论。这个项目目的是让你掌握如何使用C语言实现日历,点击链接直接下载源码和可执行程序。
2022-10-19 22:50:29 99
翻译 翻译-c语言银行管理系统
函数创建一个新的客户账户,要求客户提供一些个人和银行信息,例如姓名、生日、地址。你能输入存款的金额和选择一个存款账户类型,储蓄、活期、一年定期等等。你能查看客户的银行信息,例如创建账号期间的账号,姓名、地址、手机号。这个函数展示的菜单和欢迎界面用来执行屏幕下不同的银行活动。展示账户号码、个人信息、账户余额、存款日期、相应利息。用来改变某个特定客户账户的地址和手机号。以下为个人修改linux系统适配版。你能在特定的账户中存入和提取资金。
2022-10-19 16:58:58 187
原创 redisearch 简单使用
https://redis.io/commands/ft.create/插入数据测试数据注意事项如果是建立中文索引,需要在创建索引的时候指定语言,不然默认是根据英语的分隔符进行分词中文默认采用的是进行Friso分词,可以自定义词典参考https://redis.com/blog/getting-started-with-redisearch-2-0/
2022-08-21 14:56:29 733
原创 并发基本概念
并发的级别阻塞当一个线程持有临界资源时,其他需要获取该资源的线程将进入阻塞等待的状态,这类线程是阻塞的。无饥饿线程获取资源的优先级高低将会导致优先级别低的线程一直处于无法获取资源的状态即饥饿状态。遵循FIFO则可保证所有线程有序的获取资源无障碍无障碍代表在获取资源的策略上是乐观的,任何线程都可以去获取资源(默认认为不会发生冲突),但一但发生冲突就需要将资源进行还原操作无锁无锁即是无障碍的一种实现,利用一致性标志,通过while循环来检查数据一致性,当检测成功则代表该线程竞争成
2021-12-08 20:40:04 216
原创 jpa的多表关联查询
两种情况利用root.join()实现表关联利用join方法实现表关联查询的是时候是依赖于主表对应的实体中存在需要关联的表的实体。这两者的关系可以是1:1 1:n n:1 n:m相应的实体中需要使用到@OneToMany@ManyToMany@ManyToOne@OneToOne 注释相应的字段。该注解可单独出现在一个实体中,互相关联的实体没有该注解的约束(例如:一个中用例1:n 的注解另一个并不一定需要增加对应的对象同时也就没有n:1注解的事情了)通过join可以设置左相联还是右
2021-12-03 10:17:31 3854
原创 @ExceptionHandler 无法捕获预期异常
问题存在一个多线程方法(基于spring @async),方法内部逻辑异常会throw new 自定义异常,有相应的exceptionhandler,但是每一次都不走这个handler,而是走兜底的Exception.class handler。当删除Exception.class 的Handler能够达到预期。解决通过debug发现当抛出异常的时候抛出的是ExecutionException异常,故查相应资料异步task执行过程中抛出异常的处理情况。jvm的设计原则线程是独立执行的代码片段,代码中的
2021-09-28 09:11:40 3279
原创 rabbitmq实战读后感
历史rabbitMQ 是一个消息队列的中间件主要体现在message queue ,rabbit为兔子来体现速度快。mq的提出,是想在软件层面提出类似于硬件上的bus总线的产品,用于应用间的消息传递。同时amqp (高级消息队列协议)标准的建立,使得rabbitmq在实现amqp协议的特性,能够基于协议本身来对消息队列进行配置。相关概念在消息队列的概念中存在关键的概念,消费者生产者。从现实世界其实可以将很多事务抽象成这两部分。rabbitmq中包含关键几个部分就是:队列、交换机、信道、绑定。信
2021-09-24 17:49:07 131
原创 TDD学习总结
测试驱动的含义敏捷开发在快速迭代的过程中,不断向客户交付产品,产品的质量如何保证就是个问题,往往时间周期短任务量大都会导致代码质量的下降。对于持续交付和维护的项目代码质量更为重要原有开发流程是理解需求——编码——编写测试代码——自行验证——提交测试测试驱动流程单元测试——编写代码——单元测试——编写代码…直到完成功能——最终进行代码重构。其实重构伴随整个编码过程。个人理解:代码的质量依赖于单元测试,而单元测试依赖于需求。将代码的质量保证交由需求去驱动,即通过逐步分析需求产出单元测试编写满
2021-07-23 13:54:32 161
原创 摩尔投票算法
摩尔投票算法从一个元素序列中获取出现频率大于⌊ n/2 ⌋(向下取整)的元素。如果不存在这个数则返回的结果具有任意性假如存在那么只会存在一个这个数,结果具有唯一性初始化第一个元素出现(权重为1),遍历元素序列,如果后面的元素与之相同则计数加1(表示当前的出线元素的权重),不同则需要抵消权重,如果权重为0,则是当前元素元素出线(初始化权重为1),如此遍历元素,会得到权重不为一的元素,该元素就是最终结果。当存在满足要求的元素的时候,从整体上来看这个算法,满足要求的元素的权重是一定大于或者等于1
2021-07-19 11:26:58 79
原创 快速排序java实现
public static void main(String[] args){ Random random = new Random(190); ArrayList<Integer> ints = new ArrayList<>(); int i = 20 ; while(i>0){ ints.add(random.nextInt(200)); i--; ..
2021-07-02 13:56:19 79
原创 helm chart
helm charthelm 命令工具,用来创建发布管理chartchart 是yaml文件的集合release chart被允许后会生成一个release可以通过release来管理yaml版本,也就是对于k8s应用来说就是应用级别的版本管理
2021-06-16 10:54:26 277
原创 k8s学习记录
k8s概念和特性容器集群管理,可以容易高效的管理容器化应用。特性1.自动装箱2.自我修复3.水平扩展4.负载均衡5.滚动跟新6.版本回退7.配置管理8.存储管理k8s组件master节点api server 集群的入口scheduler 节点调度controller manager 处理集群中后台任务,一个资源对应一个控制器etcd 用于保存级群的数据node节点kubelet 管理当前节点kubeproxy 提供网络代理,负载均衡k8s的概念pod最
2021-06-16 10:53:49 110
原创 20210422技术分享
技术分享消息队列的使用业务场景需要实现文件导出功能,由于ribbon的接口时间限制,故采用异步的方式进行文件导出。实现逻辑接口的主流程不执行数据的操作,将数据的查询和封装操作进行异步处理(时间主要消耗在这一部分)。rabbitmq实现方式,将数据导出操作的消息推送到队列,然后等待消息被消费即可。最终消费者异步进行数据导出操作,并将结果以邮件的形式发送给用户。demo生产者配置ConnectFactory RabbitTemplate @Bean public Connec
2021-04-28 19:47:04 153
原创 java中的年和周年
java 中的年和周年的问题y:年 Y:周年再对日期进行字符串转换过程中,即date->String使用Y格式化年的时候,年的值是取的周的所对应的年的值,存在一周跨越两年,但实际对应的年是前一年,最终就会导致解析的结果错误。周对应的第一天(被定义的),对于跨年的时间点,以这一周的第一天在那一年作为这周所对应的年值。String——>date采用Y匹配年的时候,对于这种的YYYY-MM-dd,并不会解析月和日,最终的结果会返回前一年的最后一周的开始天...
2021-04-28 19:45:50 459 1
原创 条件、排序、分组
条件、排序、分组也许你发现如此简单的查询删除、查询、修改的操作并不能满足我们的需求。sql中where、order by 、group by 、having 等一些关键字将会来满足你的需求。where在之前的文章的修改和删除中都涉及了where关键字,where的作用就是用来设置相关条件的。where 的后面可以放上相关的条件作为判断。实例1update `student` set name="小张三" where id = 1 ;此时id=1 就是一个条件,sql语句的含义就是将id=1的所
2020-10-09 09:15:24 303
原创 如此简单的增删查改
增删查改首先我们需要有一张数据库中的表,创建一个student表。create table `student`( `id` int , `name` varchar(255) , `sex` varchar(255));执行上面的代码即可创建一张属于你自己的student表了。增加此时表中没有任何数据,接下来我们进行插入数据。学生信息idnamesex1张三男2李四男3花花女插入数据代码实例insert into `s
2020-10-09 09:15:09 216
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人