- 博客(18)
- 收藏
- 关注
原创 完美解决:博图连不上plc但是可以搜索到plc的问题
我们用博图连接plc的时候,准备下载程序出现下面的错误。不兼容、连接失败、呼叫伙伴无应答之类的,这种情况一般有两种原因。第一种:就是设备选错了。西门子的plc型号特别多,所以要看好你的设备型号,确认无误后再添加。第二种:设备的ip问题。以我的遇到的问题为案例。我的plc默认的ip地址是192.168.0.1,这个地址和我路由器lan口的地址是一样的。我尝试着把我路由器的地址改成192.168.0.2之后,就神奇的可以连接上了。最后总结了一下就是,plc的地址千万不要和你路由器和路由器下的任何设备
2020-05-24 00:04:41 79115 11
原创 tomcat处理微信扫码登录等第三方应用回调的过程
最近在写一个整合微信扫码登陆、微信扫码支付的项目。当微信扫码登录成功或者扫码支付成功后,微信会执行回调过程,通知我们的后端应用,然后我们的后端应用根据回调的请求进行相应的业务处理,选择性的向前端(前后的分离项目)传递数据或进行重定向。于是我有了这样的问题:微信发出的回调请求,request是微信发出的,按道理来说我们的response也应该是返回给微信的,而实际情况是response是给了我们前端。于是我做了以下试验:通过debug,查看调用微信二维码的request和微信回调的request是否一致。
2022-06-16 23:51:02 676 1
原创 怎么使用BigDecimal保证小数运算的精度
问题:在计算机二进制存储小数中,存在精度丢失的现象对小数进行运算时,结果会失真原因:小数在计算机中存储的方式造成的。其存储方式是对小数点后的数乘2,大于1的记录为1,小于1记录为零,知道小数点后的数都为零,如下所示,0.1按照这种方式是乘不尽的。0.1 * 2 = 0.2 -----00.2 * 2 = 0.4 -----00.4 * 2 = 0.8 -----00.8 * 2 = 1.6 -----10.6 * 2 = 1.2 -----10
2021-07-12 16:09:43 910 3
原创 java数组赋值运算时自增自减的问题——a[t] = tmp[t++]和a[t++] = tmp[t]的区别
问题的发现:在手写归并排序中,写到对原数组进行更新赋值的时候,把t++放在了被赋值数组里面。如图。结果发现程序报数组下标越界了,当把t++放在赋值数组里时,程序就正常运行。分析我们都知道,t++中,++放在后面,表示先执行表达式,再执行自增操作。按道理讲a[t] = tmp[t++]和a[t++] = tmp[t]应该都是先执行:a[t] = tmp[t];再执行:t++;结果应该是一致的才对,但是上面问题告诉我们,他们并不一样,于是抱着探究到底的精神,我用javap -c xxx.
2021-07-08 11:45:30 941 2
原创 分布式系统中的CAP到底是个啥?
C:consistency 一致性A:Availability 可用性P:Partition Tolerance 分区容忍度一个分布式系统里面,节点组成的网络本来应该是连通的。然而可能因为一些故障,使得有些节点之间不连通了,整个网络就分成了几块区域。数据就散布在了这些不连通的区域中。这就叫分区。当你一个数据项只在一个节点中保存,那么分区出现后,和这个节点不连通的部分就访问不到这个数据了。这时分区就是无法容忍的。提高分区容忍性的办法就是一个数据项复制到多个节点上,那么出现分区之后,这一数据项就可能分布到
2021-05-21 19:16:03 235
原创 小黄做的算法题
树的深度题目描述:输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。题解:给出一颗二叉树,求树的最大深度,也就是从根节点到所有叶子节点中的最大值方法一:分治法简介:求一个规模为n的问题,先求左边规模大约为n/2的问题,再求右边规模大约为n/2的问题,然后合并左边,右边的解,从而求得最终解。具体可参考归并排序。步骤: 1. 求 pro(left, rigth) -> int 2. 先求pro(left, (left+
2021-04-17 21:49:46 3686
原创 各线程安全容器都是怎么实现线程安全的?
首先什么是线程安全?原子性这一点,跟数据库事务的原子性概念差不多,即一个操作(有可能包含有多个子操作)要么全部执行(生效),要么全部都不执行(都不生效)。一致性(可见性)可见性是指,当多个线程并发访问共享变量时,一个线程对共享变量的修改,其它线程能够立即看到。可见性问题是好多人忽略或者理解错误的一点。顺序性顺序性指的是,程序执行的顺序按照代码的先后顺序执行。ConcurrentXXX系列用ConcurrentHashMap作为例子来讲。1.8之后,ConcurrentHashMap的数据结
2021-04-16 20:32:41 172 1
原创 奇技淫巧——判断哪些服务器端口号被占用
具体操作创建ServerSocket时指定某端口号,如果创建成功,说明该端口号没有被占用,如果失败,说明被占用了。举例,以下java代码用于扫描1~65535之间的端口号for(int port=1;port<=65535;port++){ try{ServerSocket serverSocket=new ServerSocket(port);serverSocket.close(); //及时关闭ServerSocket }catch(IOException e){ S
2021-04-13 17:33:10 223
原创 java集合面试笔记
1.说说List,Set,Map三者的区别?List(对付顺序的好帮⼿): List接⼝存储⼀组不唯⼀(可以有多个元素引⽤相同的对象),有序的对象Set(注重独⼀⽆⼆的性质): 不允许重复的集合。不会有多个元素引⽤相同的对象。Map(⽤Key来搜索的专家): 使⽤键值对存储。 Map会维护与Key有关联的值。两个Key可以引⽤相同的对象,但Key不能重复,典型的Key是String类型,但也可以是任何对象。2.Arraylist 与 LinkedList 区别?是否保证线程安全:ArrayL
2020-11-19 09:15:41 272
原创 计算机基础
二进制中什么是源码、反码、补码?原码:一个正数,按照绝对值大小转换成的二进制数就是正数的原码一个负数,按照绝对值大小转换成的二进制数,然后最高位补1,就是负数的原码比如00000000 00000000 00000000 00000101 是5的原码。10000000 00000000 00000000 00000101 是-5的原码。反码:正数的反码与原码相同负数的反码为对该数的原码除符号位外各位取反正数00000000 00000000 00000000 00000101 的反码还是
2020-11-18 20:04:40 1137
原创 JAVA基础面试笔记
1.重载和重写的区别 重载就是同一个类中多个同名方法根据不同的传参来执行不同的逻辑处理。 重写是子类对父类方法的重新改造,外部样子不变,内部逻辑可以改变2. java面向对象编程三大特性:封装 继承 多态封装 把一个对象的属性私有化,同时提供一些可以被外界访问属性的方法,如果属性不想被外界访问,也可以不提供方法。继承 使用已存在的类作为基础建立新的类。java只能继承一个父类,但是可以继承多个接口。多态 所谓多态就是指程序中定义的引⽤变量所指向的具体类型
2020-11-17 14:36:30 413
原创 天池比赛:资金流入流出预测
赛题解读赛题介绍:https://tianchi.aliyun.com/competition/entrance/231573/introduction数据集介绍及下载:https://tianchi.aliyun.com/competition/entrance/231573/information阅读完赛题介绍后,总结了一下这个赛题的目的就是预测未来一个月,每天余额宝总的的转入金额和转出金额。是一个回归问题。下载解压数据集后有五个表格。提供了很多的信息,一开始看到这么多信息让我无从下手啊!目前这
2020-08-20 22:53:54 3259
原创 Mysql取数中遇到的问题
问题一:想要获取特定时间段的数据一开始我使用下面的语句来获取过去一小时内发生的数据,注意这里由于列名中有中文,所以要打上反引号(键盘左上角)。SELECT `时间戳`,`列名1`,`列名2` FROM table_name WHEREDATE(`时间戳`)<=NOW() AND DATE(`时间戳`)>=SUBDATE(NOW(),INTERVAL 1 HOUR);运行上述sql语句后没有返回任何结果,当我把时间跨度调到12小时,即:SELECT `时间戳`,`列名1`,`
2020-08-10 12:13:09 202
原创 时间序列建模流程
时间序列建模流程时间序列的建模分析流程时间序列可视化序列平稳严平稳、平稳的区别差分法处理非平稳数据模型自回归模型(AR)移动平均模型(MA)自回归平均模型(ARMA)差分自回归移动平均模型(ARIMA)通过ACF/PACF找最优参数自相关函数ACF(autocorrelation function)偏自相关函数PACF(partial autocorrelation function)ARIMA(p,d,q)阶数确定拖尾和截尾的概念BIC的定义模型建立和评价时间序列的建模分析流程时间序列可视化直接画
2020-07-18 17:31:08 6346
原创 读 精益数据分析 笔记
文章目录第一周第一部分 别再欺骗自己了第一章 我们都在说谎什么是专人接待式最小可行化产品第二章 创业的记分牌什么是好的数据指标?——能带来所期望的变化数据指标之间的耦合现象找出正确的数据指标HighScore House对‘活跃用户’的定义市场细分、同期群分析、A/B测试和多变量分析为什么?市场细分同期群分析(纵向)A/B测试和多变量测试精益数据分析周期第三章 你把生命献给谁——精益创业画布第四章 以数据为导向与通过数据获取信息数据科学家的思维方式(模式)精益创业与大愿景第二部分 找到单签的正确指标第五章
2020-06-11 21:11:00 624
原创 python通过snap7与plc进行读写操作
基本语句import snap7import structplc = snap7.client.Client()plc.connect('192.168.0.1', 0, 1)if plc.get_connected(): print('success')else: print('fail')通过返回值,得到是否连接成功。connect函数里的ip和你Plc的ip一致,0,1位一般为默认参数,是指代plc的网口插槽位置的。下面介绍两个最最重要的函数:也就基本上只使用到这些:
2020-05-24 14:19:08 6465 11
原创 完美解决python-snap7的报错问题:can't find snap7 library;[WinError 193] %1 不是有效的 Win32 应用程序
困扰了我两天的问题在各种尝试后终于解决了。本人的设备信息系统:win10python版本:3.6版本64位在安装python-snap7时,一般都会报错can’t find snap7 library查了各种博客各种百度,绝大多数都是添加dll和lib到python的安装目录下。我照着做了而且还设置了环境变量任然还是报can’t find snap7 library的错误。最后我发现了一篇博客,按照他的做法成功解决了这个问题。解决方法:1:首先在这里下载snap7的library相关文件下载地
2020-05-13 12:23:09 3986 2
原创 数值分析——第二章函数逼近:插值法
2.1常用的插值法若p(x)=a0+a1x+⋯+anxn,p(x) = a_{0}+a_{1} x+ \cdots +a_{n}x^{n},p(x)=a0+a1x+⋯+anxn,其中aia_{i}ai为实数,则称p(x)p(x)p(x)为插值多项式,相应的插值法称为多项式插值若p(x)p(x)p(x)为分段的多项式,则称之为分段多项式插值若p(x)p(x)p(x)为三角多项式,则称...
2020-03-01 11:34:28 1676
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人