1. 需求 有一个需求job定时5秒一次,job[消费者]调用dsc[提供者]提供的dubbo完成:先清空redis的某个key,然后再往redis中放入新的数据,这是一个定时任务,需要每隔5秒执行一次: 2. 问题场景 某次上线发布之后,发现再写入redis中添加了多一点数据的写入,然后发布之后发现一个奇怪的情况,就是redis中数据一下子有,隔几秒又没有的问题,查找了一个早上,盯着日志看了很久都没发现问题: 3. 解决过程 最后询问一个同事, 他问:是走dubbo接口的吗? 回:是 他问:那…
记录下项目中常用到的JavaScript/JQuery代码一(大量实例) 1.input输入框监听变化 <input type="text" style="width: 154px" class="text ml5" id="stockSearch"/> $('#stockSearch').bind('input oninput', function () { //onpropertychange var stoc…
  在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供 有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值.其原因是 distinct只能返回它的目标字段,而无法返回其它字段,这个问题让我困扰了很久,用distinct不能解决的话,我只有用二重循环查询来解决,而 这样对于一个数据量非常大的站来说,无疑是会直接影响到效率的.所以我花了很多时间来研究这个问题,网上也查不到解决方案,期间把容容拉来帮…
昨天已经搭建好了SpringBoot基于Maven的基础父子级项目,今天开始进入项目分模块及分布式实现.首先我们基于昨天的项目,在父级工程下建lyn-sys,lyn-customer,lyn-goods,lyn-order四个西模块. 这四个模块将作为Dubbo服务的提供者,里面主要写对应模块的Service接口及实现及Mapper等.把这四个模块作为提供者,那可能大家得问了,消费者是谁呢?这里的消费者就是昨天写的接口服务lyn-web. 现在,我们以商品服务模块lyn-goods为例创建并实现…
力扣:超过经理收入的员工 Employee 表包含所有员工,他们的经理也属于员工.每个员工都有一个 Id,此外还有一列对应员工的经理的 Id. +----+-------+--------+-----------+ | Id | Name | Salary | ManagerId | +----+-------+--------+-----------+ | 1 | Joe | 70000 | 3 | | 2 | Henry | 80000 | 4 | | 3 | Sam | 60000 | N…
1.服务器多网卡绑定,导致服务起来后程序自己选择的ip不对. 2.提供服务的机器开启了vpn. 3.dubbo配置文件中写死了host. 以下为转载:转自http://www.ithao123.cn/content-7471097.html 使用了VPN,启动了dubbo服务提供者应用,又连了正式环境的注册中心: 一旦dubbo获取的ip错误后(拨了vpn 本机IP就会有多个), 这种情况即使提供者服务停掉,目前dubbo没有能力清除这类错误的提供者: (需要修改源码测试,需要客户端重新更细包,…
3.两个线程并发执行以下代码,假设a是全局变量,那么以下输出______是不可能的? void foo(){    ++a;    printf("%d ",a);}A.3 2    B.2 3    C.3 3    D.2 2  1.读a            5.读a2.a+1            6.a+13.写a            7.写a4.打印a          8.打印a B:12345678C:12356784(或48)D:15234678…
 Android代码混淆及项目发布步骤记录 本来整理了一份Android项目混淆与发布的文档,突然想到何不写篇博客,分享一下呢,如是便有了本文. Android代码混淆及项目发布步骤记录 一.清理代码中的调试信息,如Log.System.out 二.在清单文件中修改版本为当前版本,如果需要更新数据库,则需要在配置类或配置文件中修改程序数据库版本. 三.在清单文件中将项目的debugable设置为false 四.创建签名证书keystore文件 五.在项目中的project.properite…
1.已知json串构成的情况下判断 先构造一下场景,假设已经把各个数据都移除掉不对比的字段 图1 预期.实际结果,复杂接口返回多层嵌套json时,同下 图2 预期.实际结果值为:{child_json1:list1,child_json2:list2} 其中list1.list2为child_json,值为:[dict1,dict2] 其中dict1.dict2为child_child_json,最底层json,无嵌套,值为:{key1:value1,key2:value2} 如果一开始就直接判…
背景:  A表.B表两表关联,关联出来的结果里B表有不止一条,需求是只要B表结果中的某一条(按某字段排序) 经过百度,发现 row_number() over(partition by a order by b desc)函数可用(需要说明下,order by 必须有缺少会报错),以下是数据环境及结果. 创建数据环境 create table A(ANAME varchar(20)); insert into A values('alan'); insert into A values('Ale…
当前项目需要记录变更记录,即用户在进行编辑后,将变更操作记录下来.但是数据没有发生变化,则不记录. 代码1:(仅仅返回是否变化的标识) /// <summary> /// 反射对比实体属性变更 /// </summary> /// <typeparam name="T"></typeparam> public class CompareEntry<T> { /// <summary> /// 编辑之前的对象和编辑后…
方法1:使用函数EM_GET_NUMBER_OF_ENTRIES 这个函数使用起来很简单,只需要将想查询的数据库表名称维护进输入参数IT_TABLES: 上图说明这个函数支持批量操作,我查询的两张表名为TADIR和PROGDIR. 执行函数,得到表的条目数: 方法2:使用ADBC 方法1的实现其实没有什么神奇之处,就是用Open SQL SELECT COUNT(*)来取得一张表的数据个数. 如果我们使用的ABAP Netweaver底层数据库用的是SAP HANA,那么有一张元数据表M_TAB…
在mysql,数据如下:#查询某一用户该日抽奖时间 select draw_time from user_draw_log where user_id = 1 and draw_date='2016-03-09' order by id; +---------------------+ | draw_time | +---------------------+ | 2016-03-09 13:52:46 | | 2016-03-09 13:52:53 | | 2016-03-09 13:53:0…
1.函数总结 BigDecimal.setScale()方法用于格式化小数点 setScale(1)表示保留一位小数,默认用四舍五入方式 setScale(1,BigDecimal.ROUND_DOWN)直接删除多余的小数位,如2.35会变成2.3 setScale(1,BigDecimal.ROUND_UP)进位处理,2.35变成2.4 setScale(1,BigDecimal.ROUND_HALF_UP)四舍五入,2.35变成2.4 setScaler(1,BigDecimal.ROUND…
select * from (select xm,je from table) a , (select xm01,je01 from table) bwhere a.xm = b.xm01and a.je <> b.je01<> 或 !=…
SELECT * FROM t_yymp_user_info where user_id = (select b.user_id from t_yymp_auth_role as a,t_yymp_auth_user_ref_role as b where a.role_id = b.role_id and a.role_id = 304)…
1.Foreach文件枚举提示变量为空的解决办法:把foreach属性窗口中的DelayValidation设置为True就可以了 2.csv导入数据库提示:无法在 unicode 和非 unicode 字符串数据类型之间转换: 设置一下平面文件源相应的列属性(可一次性选多个需要设置的列再设置DataType)…
发现一个别人推荐的代码库用来学习源码, star星还不少,别人推荐从第一次commit开始阅读,于是试着去找commits的第一次 问题来了,这个代码库commits7855次,点击进入commits发现翻页只有两个按钮不能直接点击翻页到最后一页,那如何查看第一条记录呢? 原来 github为每个commit版本都生成了一个SHA hash值,我们可以通过SHA值来直接搜索到第N次的提交 点击一次older发现url格式为: https://github.com/lodash/lodash/co…
一直没有系统学习Javascript和Jquery,每次都是用到的时候去搜索引擎查,感觉效率挺低的.这边把我项目中用的的记录下,想到哪写哪,有时间再仔细整理. 当然,由于我主要是写后端java开发,而前端这几年风起云涌,发展很快,新的技术框架层出不穷,我也就没把心思放这块,目前公司只有前端,没有交互开发工程师,所以我们只能硬顶. 写出来的前端代码很可能没有什么模块意识,也比较混乱,有错误特别正常,希望你看到了在留言中指出来,以免误导他人,谢谢. 0.点击事件的事件函数一般要加return fal…
一.is == id 用法 在Python中,id是内存地址, 你只要创建一个数据(对象)那么就会在内存中开辟一个空间,将这个数据临时加载到内存中,这个空间有一个唯一标识,就好比是身份证号,标识这个空间的叫做内存地址,也就是这个数据(对象)的id,那么你可以利用id()去获取这个数据的内存地址: name = 'Dylan' print(id(name)) # 4319709032 ​ == 是比较两边的数值是否相等,其反回的结果是 True 或 False. ​ is 是比较两边的内存地址是否…
描述 SaltStack是一套C/S架构的运维工具,服务端口默认为4505/4506,两个端口如果对外网开放危害非常大,黑客利用SaltStack的远程命令执行漏洞CVE-2020-11651可以直接绕过Salt-Master的认证机制,调用相关函数向Salt-Minion下发指令执行系统命令,最终导致挖矿. 现象 受害Salt-Minion机器上存在挖矿进程salt-minions. tmp目录下存在可疑二进制文件: salt-store salt-minions 排查 确定所有salt-ma…
简介 ​ 开周会的时候一位同事分享了一个踩坑经验,说在go里面还好好的int64类型,到前端就变得奇奇怪怪了,和原来不一样了.正好我对前端javascript有一点点了解,然后连夜写了点代码探索了一下这个问题.这个问题的本质是javascript number类型能表示的数据范围不能完整包括go中int64的范围导致的.下面看笔者娓娓道来. 踩坑分析 ​ 话不多说,我们使用以下代码构建一下go http后端实验场景.下面代码提供了go原生的http api和http框架gin两种方式启动http…
function checkpasswd(){ var passwd = document.getElementByIdx_x_x_xx_x('passwd').value; var repasswd = document.getElementByIdx_x_x_xx_x('repasswd').value; if(passwd == repasswd){ return true; }else{ window.alert('两次输入密码不一致'); return false; } } 触发:<i…
CSS3随着浏览器的升级已经被越来越广泛的运用,合理的运用CSS3可以使你的网站更加美观,并且之前只能用js才能实现的效果也已经可以直接用 CSS3来实现.但是虽然如此,很多浏览器对CSS3的支持还都是通过其私有属性来达到支持的,鲜有直接对W3C的标准来实现的.诸如firefox的 -moz-和webkit的-webkit-属性前缀. 不过CSS3本身W3C也并未有正式版发布,现在还只是草案.下面我推荐两个很直观的,可视化的,自动生成CSS3样式代码的工具网站给大家. 1.CSS3 Genera…
通过代码来创建配置文件,优点看起来更为简洁,不过还得看需求吧,之前我博客也写了一篇通过读取不同的配置文件还实现配置不同日志类型. //记录异常日志数据库连接字符串 private const string _ConnectionString = @"Data Source=.;Initial Catalog=Test;User ID=sa;Password=123456"; 使用SQLSERVER记录异常日志 + LoadADONetAppender() #region 使用SQLSE…
1.将Linux的localhost 改为公网IP: 改完以后重启网卡,并刷新Hosts: 2.将提供者和消息者的Dubbo 都改为公网IP: 3.开放端口:…
前两天零零碎碎看完了golang的基础,想着找个小项目练练手,可是出现了一个十分棘手的问题 我要做的东西是网站路径爆破 所以我会从文本字典中把一行行路径读取然后与域名拼接,但是我在跑起程序后出现了问题 下面是一个小片段 400 Bad Request-----http://www.xxx.com/channel.asp 400 Bad Request-----http://www.xxx.com/index.asp 404 Not Found-----http://www.xxx.com/adm…
1.首行缩进两个字符 txt.text=“\u3000\u3000” + str: 2.首行缩进两个字符 将输入法换成全角的,在Text属性面板中添加空格即可. 3.换行    “\n” 补充 Unity3D从数据库中读取带有换行符的文本 使用下面的语句从数据库中读出的字符串格式进行转换,使Unity能够正确处理转义字符. content = System.Text.RegularExpressions.Regex.Unescape(param); 参考资料:http://answers.uni…
业务背景: 需要通过redis判断当前用户是否是新用户.当出现新用户后,会将该用户放入到redis中,以标明该用户已不是新用户啦. 出现问题: 发现入库时,并没有新用户入库,但我看了数据了,确实应该是有新数据 问题原因: 因为在判断新用户这一步是在flatmap这一步做的. 而flatmap后的RDD,后边会被两个action使用. 问题是,因为是执行两次action时,flatmap也会执行两次. 而最终入库的代码是在第二个RDD中.结果就是永远不会存在最新用户啦 解决方案: 在flatmap…
重启salt-minion导致由salt启动的进程kill问题排查 作者:耀耀 blog:https://www.liuyao.me 环境 服务器系统为centos6及centos7 服务器服务进程都是由salt-master操作salt-minion启动 一.起因 服务器从salt-2015.5.11升级到2018.03.03版本 在升级的过程中导致在centos7上的一些进程被kill了 二.升级脚本(salt.sh) # cat salt.sh #!/bin/bash cd /root &…