luogu P1199 【三国游戏】 首先很明显这是一道贪心题。贪心方法很多dalao已经写出来了,找每个武将次大值最大的武将。呢么我们定义一个数组\(f[N][2]\) , 其中\(f[i][0]\)用来储存第\(i\)个武将的次大值、\(f[i][1]\)来存储第\(i\)个武将的最大值。呢么对于第\(i\)行第\(j\)列我们读进来的武力值\(x\)既是第\(i\)个武将的武力值,又是第\(i+j\)个武将的武力...
0x20 搜索 0x21 树与图的遍历树与图的深度优先遍历深度优先遍历,就是在每个点\(x\)上面的的多条分支时,任意选择一条边走下去,执行递归,直到回溯到点x后再走其他的边int head[N];bool v[N];struct edge{ int v , next;}e[N];inline void dfs( int x ){ v[x] = 1; for(...
0x10基本数据结构 0x11 栈栈是一种后进先出的线性数据结构AcWing 41.包含min函数的栈维护两个栈,一个记录栈的值,另一个单调栈,记录下当前的最小值即可codingAcWing 128. 编辑器开两个栈维护,类似对顶堆的操作,我们把他叫做对顶栈好了令\(P\)为光标位置,分别开两个栈\(a,b\)栈\(a\)存\(P\)之前的数,栈\(b存\)P$之后的数\(sum\)是前缀和...
逃亡的准备(大数据版) 题目来自JZYZOJ。找了很多地方都没有找到题,还是一道非常优秀的二进制优化多重背包的问题描述 Description在《Harry Potter and the Deathly Hallows》中,Harry Potter他们一起逃亡,现在有许多的东西要放到赫敏的包里面,但是包的大小有限,所以我们只能够在里面放入非常重要的物品,现在给出该种物品的数量、体积、价值的数值,希望你能够...
luogu P1037 【产生数】 貌似都是用佛洛依德写的,我就来个\(DFS\)搜索的方法吧。首先通过字符串读入来读入这个数字。然后对每一位数字进行\(DFS\),每搜索到一个数字计数器加一。最后根据分步计算原理,将每位数可扩展的数进行相乘输出即可。另外第四、第五组数据较大好久没有写高精度写挂了好几次滑稽。Coding:#include<bits/stdc++.h>using namespace...
luogu P3378 【模板】堆 题目大意如题,初始小根堆为空,我们需要支持以下3种操作:操作1: 1 x 表示将x插入到堆中操作2: 2 输出该小根堆内的最小数操作3: 3 删除该小根堆内的最小数输入格式第一行包含一个整数N,表示操作的个数接下来N行,每行包含1个或2个正整数,表示三种操作,格式如下:操作1: 1 x操作2: 2操作3: 3输出格式:包含若干行正整数,每行依次对应一个操作2的结果...
记录 protected override void OnHandleCreated(EventArgs e){InitializeStyles(); base.OnHandleCreated(e);haveHandle = true;}private void InitializeStyles(){SetStyle(ControlStyles.AllPai...
JVM 常用参数一览表(转) 参数默认值或限制说明参数默认值功能-XX:-AllowUserSignalHandlers限于Linux和Solaris,默认不启用允许为java进程安装信号处理器,信号处理参见类:sun.misc.Signal, sun.misc.SignalHandler-XX:+DisableExplicitGC默...
liunx 安装 zookeeper(转) 转自:https://www.cnblogs.com/expiator/p/9853378.htmllinux安装zookeeper及使用一、安装条件想要安装zookeeper,必须先在linux中安装好jdk。安装步骤见:https://www.cnblogs.com/expiator/p/9987351.html二、下载并解压zoo...
JVM 参数及各部分含义(转) 转自:https://www.jianshu.com/p/1c6b5c2e95f9JVM参数分类JVM参数分为标准参数和非标准参数:标准参数: "-"开头的参数,如-client, -server等非标准参数: "-X"和"-XX"开头的参数,如-Xmx, -XX:+DisableExplicitGC或者简单分为三类:"-"开头的参数"-X"开...
JVM 参数(转) Herry灬凌夜转自:https://www.cnblogs.com/wuyx/p/9627542.html常用的JVM配置参数一、Trace 跟踪参数 在Eclipse中,如何打开GC的监控日志 选择菜单栏Run -> Run Configurations -> Java Application ->...
IOS文本框readonly时焦点事件 在ios的h5页面中,使用表单时经常会用到文本框只读,点击时出现弹出层的场景。但是ios的文本框只读属性,在弹出时,页面下方还是会出现文本框光标存在时的元素,我们通常是不希望除了弹出层之外的任何东西出现的。所以我们需要清除文本框的焦点事件<input type="number" readonly unselectable="on" onfocus="this.bl...
.dll与.lib的关系总结 环境:Win10 Vs2015 Debug+x64 新建一个C++的空项目 项目属性里首先配置好目标类型(.dll),再配置输出.lib和.dll的文件夹.dll文件需要有一个函数入口,DllMain(),只需要build即可得到需要.lib和.dll文件//Function.h#pragma onceextern "C" _declspec(d...
Spring Cloud Gateway 之请求坑位[微服务IP不同请求会失败] 问题产生背景在使用Spring Cloud Gateway过程中,希望配置多Routes映射不同的微服务,因为Gateway 和Zuul的访问路径不同(zuul 会带有服务service Id),造成错误。现象表现问题定位认为是配置Predicate问题。 routes: - id: after_route uri: lb:/...
大龄开发人员如何破局 本人性格已经很外向了,也是一个相对乐观派,可是依然陷入深深的焦虑中。为什么有这个想法说实话,在此次公司业务变动裁员(传送门)之前,从来没有想过情况会发展到这一步,一直以来都知道开发界有隐形的年龄歧视,从来没有想过这种问题会发生在自己身上,也许是工作的前10年一直都太顺利了,安逸的生活让自己产生了错觉。虽然在找工作的第一天就拿到了offer,可是与此而来的担忧反而更加严重了,躺在床上就...
[Spring cloud 一步步实现广告系统] 22. 广告系统回顾总结 到目前为止,我们整个初级广告检索系统就初步开发完成了,我们来整体回顾一下我们的广告系统。整个广告系统编码结构如下:1.mscx-ad 父模块主要是为了方便我们项目的统一管理2.mscx-ad-db这个模块主要有2个作用,本身只应该作为数据库脚本管理package来使用,但是我们在生成索引文件的过程中,为了方便,我就直接将导出全量索引的json文件生成也写在了该项目中。 ...
[Spring cloud 一步步实现广告系统] 20. 系统运行测试 系统运行经过长时间的编码实现,我们的主体模块已经大致完成,因为之前我们都是零散的对各个微服务自行测试,接下来,我们需要将所有的服务模块进行联调测试,Let's do it.清除测试数据&测试文件我们在实现各个服务的过程中,添加了不少的测试文件和测试数据,为了不影响我们最终的展示效果,我们先将之前的历史数据清理掉。drop database advertisement;依...
被辞退员工的一天 很抱歉各位看官,答应大家的Spring Cloud Alibaba系列文章要推迟了。。。给大家添堵了。昨天晚上,临下班之前,被老大叫进了会议室,然后,嗯。。。谈下一话题。关于辞退看法其实,公司在发展的过程中,总会遇到各种各样的问题,无论是管理方面,还是运营方面,如果一旦某一环节出现了问题,当然受伤的肯定是弱小的员工,特别是我们技术小伙伴是最容易被拿来开刀垫背。当遇到这样问题的时候...
[Spring cloud 一步步实现广告系统] 21. 系统错误汇总 广告系统学习过程中问题答疑博客园Eureka集群启动报错Answer因为Eureka在集群启动过程中,会连接集群中其他的机器进行数据同步,在这个过程中,如果别的服务还没有启动完成,就会出现Connection refused: connecterror,当其他节点启动完成之后,报错就会消失。AdSearch 服务启动报错2019-08-16 10:27:57.038 ERRO...
[Spring cloud 一步步实现广告系统] 19. 监控Hystrix Dashboard 在之前的18次文章中,我们实现了广告系统的广告投放,广告检索业务功能,中间使用到了 服务发现Eureka,服务调用Feign,网关路由Zuul以及错误熔断Hystrix等Spring Cloud组件。简单调用关系:但是系统往往都会报错,我们之前定义了一些容错类和方法,但是只是在控制台可以看到错误信息,我们想要统计一些数据,怎么才能更直观的看到我们的服务调用情况呢,接下来,和大家讨论...
Docker部署网站之后映射域名 Docker中部署tomcat相信大家也都知道,不知道的可以google 或者bing 一下。这里主要是为了记录在我们启动容器之后,tomcat需要直接定位到网站信息,而不是打开域名之后,还得加个blog后缀才能访问到我们的网站首页。Docker exec -it [容器id] bash进到/usr/local/tomcat/conf/ 修改 server.xml。在我们安装完do...
[Spring cloud 一步步实现广告系统] 18. 查询返回广告创意 根据三个维度继续过滤在上一节中我们实现了根据流量信息过滤的代码,但是我们的条件有可能是多条件一起传给我们的检索服务的,本节我们继续实现根据推广单元的三个维度条件的过滤。在SearchImpl类中添加过滤方法public class SearchImpl implements ISearch { @Override public SearchResponse fe...
[Spring cloud 一步步实现广告系统] 17. 根据流量类型查询广告 广告检索服务功能介绍媒体方(手机APP打开的展示广告,走在路上看到的大屏幕广告等等)请求数据对象实现从上图我们可以看出,在媒体方向我们的广告检索系统发起请求的时候,请求中会有很多的请求参数信息,他们分为了三个部分,我们来编码封装这几个参数对象信息以及我们请求本身的信息。Let's code.创建广告检索请求接口/** * ISearch for 请求接口, *...
[Spring cloud 一步步实现广告系统] 15. 使用开源组件监听Binlog 实现增量索引准备... MySQL Binlog简介什么是binlog?一个二进制日志,用来记录对数据发生或潜在发生更改的SQL语句,并以而进行的形式保存在磁盘中。binlog 的作用?最主要有3个用途:数据复制(主从同步)Mysql 的Master-Slave协议,让Slave可以通过监听binlog实现数据复制,达到数据一致性目的数据恢复通过mysqlbinlog工具恢复数据...
[Spring cloud 一步步实现广告系统] 16. 增量索引实现以及投送数据到MQ(kafka) 实现增量数据索引上一节中,我们为实现增量索引的加载做了充足的准备,使用到mysql-binlog-connector-java 开源组件来实现MySQL 的binlog监听,关于binlog的相关知识,大家可以自行网络查阅。或者可以mailto:magicianisaac@gmail.com本节我们将根据binlog 的数据对象,来实现增量数据的处理,我们构建广告的增量数据,其实说白...
[Spring cloud 一步步实现广告系统] 12. 广告索引介绍 索引设计介绍在我们广告系统中,为了我们能更快的拿到我们想要的广告数据,我们需要对广告数据添加类似于数据库index一样的索引结构,分两大类:正向索引和倒排索引。正向索引通过唯一键/主键生成与对象的映射关系。比如,我们从数据库中查询数据的时候,根据数据主键ID查询当前记录,其实就是一个正向索引的过程。根据这个描述,很明显,我们的正向索引适用于推广计划,推广单元 和 创意这几张...
[Spring cloud 一步步实现广告系统] 13. 索引服务编码实现 上一节我们分析了广告索引的维护有2种,全量索引加载和增量索引维护。因为广告检索是广告系统中最为重要的环节,大家一定要认真理解我们索引设计的思路,接下来我们来编码实现索引维护功能。我们来定义一个接口,来接收所有index的增删改查操作,接口定义一个范型,来接收2个参数,K代表我们索引的健值,V代表返回值。/** * IIndexAware for 实现广告索引的增删改查 * * ...
[Spring cloud 一步步实现广告系统] 14. 全量索引代码实现 上一节我们实现了索引基本操作的类以及索引缓存工具类,本小节我们开始实现加载全量索引数据,在加载全量索引数据之前,我们需要先将数据库中的表数据导出到一份文件中。Let's code.1.首先定义一个常量类,用来存储导出文件存储的目录和文件名称因为我们导出的文件需要在搜索服务中使用到,因此,我们将文件名 & 目录以及导出对象的信息编写在mscx-ad-commom项目中。p...
[JVM 相关] Java 新型垃圾回收器(Garbage First,G1) 回顾传统垃圾回收器HotSpot 垃圾收集器实现Serial Collector(串型收集器)使用场景,大多数服务器是单核CPU。适用收集场景:1. 新生代收集(Young Generation Collection)2. 老年代收集(Old Generation Collection)Parallel Collector(并行收集器)又叫吞吐量收集器(throug...
[Spring cloud 一步步实现广告系统] 9. 主类和配置文件 搜索系统启动主类/** * AdSearchApplication for 广告搜索服务启动类 * * @author <a href="mailto:magicianisaac@gmail.com">Isaac.Zhang | 若初</a> */@EnableFeignClients //启动Feign 客户端,为了访问其他微服务@EnableD...
[Spring cloud 一步步实现广告系统] 10. 使用Ribbon 实现微服务调用 在使用Ribbon调用广告投放系统API之前,我们需要先创建2个VO对象,AdPlanVO,AdPlanGetRequestVO.//数据请求对象@Data@NoArgsConstructor@AllArgsConstructorpublic class AdPlanGetRequestVO { private Long userId; private List...
[Spring cloud 一步步实现广告系统] 11. 使用Feign实现微服务调用 上一节我们使用了Ribbon(基于Http/Tcp)进行微服务的调用,Ribbon的调用比较简单,通过Ribbon组件对请求的服务进行拦截,通过Eureka Server 获取到服务实例的IP:Port,然后再去调用API。本节课我们使用更简单的方式来实现,使用声明式的Web服务客户端Feign,我们只需要使用Feign来声明接口,利用注解来进行配置就可以使用了,是不是很简单?实际工作中...
[Spring cloud 一步步实现广告系统] 8. 检索系统配置&依赖 工作流程项目依赖<dependencies> <!-- hystrix 监控面板 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>s...
Codeforces 1188 A.解寻找是否有度数为2的点。B.解推式子等式两边同乘以 \(a_i-a_j\) :\[(a_i^2-a_j^2)(a_i^2+a_j^2)≡k(a_i-a_j) \pmod p\]\[a_i^4-ka_i≡a_j^4-ka_j \pmod p\]用map扫一遍。转载于:https://www.cnblogs.com/BlogOfchc1234567890/p/1...
Codeforces 1215 A.解分类讨论。Code#include<bits/stdc++.h>using namespace std;const int maxn=100003;int main(){ int a1,a2,k1,k2,n; cin>>a1>>a2>>k1>>k2>>n; if(k1>...
Codeforces 1201 C.解对数组排序后后缀加。注意中位数的值不一定等于数组中的某个元素。Code#include<bits/stdc++.h>using namespace std;typedef long long D;const int maxn=200003;const D INF=1000000000000ll;int n;D k,a[maxn];int main(...
20190729 A.黑大帅统治古古怪界后,一直在玩一种很奇葩的游戏。在一个二维平面上,他先复制了n个小A,把他们放在不同的位置,然后射出一条ax+by+c=0的基因光线,宽度为d,即离这条直线的距离不大于d的小A会被射中。当然,某些悲剧的小A就会被射中,并变成黑小A。当然,这不是重点。玩了很久后,黑大帅猛然发现,自己竟然一次都没有射中小A。黑大帅怒了,于是他开启了作弊模式,将c改成自己想要的任意数值。...
Codeforces 1103 A.解水题Code#include<bits/stdc++.h>using namespace std;int main(){ string s; cin>>s; int cnt0=0,cnt1=0; for(char i:s){ if(i=='0')cout<<(cnt0?"1 1":"...
Codeforces 1206 B.解把所有正数变为1,负数变为-1。然后如果-1有偶数个,那么把所有的0变为1;如果-1有奇数个,如果数列中存在0,把其中一个0变为-1,其余全变为1,否则把其中一个负数变为1。Code#include<bits/stdc++.h>using namespace std;int main(){ int n,mo=0,cnt0=0; long lo...
20190805 A.山xyz现在站在一个斜坡面前这个斜坡上依次排布这n座山峰,xyz打算爬上其中的一座因为xyz体力不好,所以他只能爬上最矮的一座山又因为xyz不擅长分类讨论,因此即使山的海拔为负,他也只打算爬海拔最低的那座,而不是海拔的绝对值最小的那座然而xyz智商拙计,只带了一张相对海拔高度地图,于是要来求助你现在他知道这个斜坡有m种可能的斜率,请你对于每种斜率输出海拔最低的山峰的高度...
20190803 A.解注意,每种颜色仅出现一次。因此树状数组维护所有操作的左右端点, \(答案=目前已完成的操作数-[1,当前操作左端点-1]中的右端点个数-[当前操作右端点+1,n]中的左端点个数\) 。Code#include<bits/stdc++.h>using namespace std;const int maxn=100003;int n,Q,tot;stru...
20190802 题面题解A.解对于一个节点 \(x\) ,如果 \(x\) 的 \(2^k\) 级祖先存在,那么把 \(fa[x][k]\) 的答案-1。Code#include<bits/stdc++.h>using namespace std;const int maxn=100003,maxlog=19;vector<int> g[maxn];int n...
Codeforces 1198 & 1199 1198 D你需要维护一个序列,支持两种操作:对于 \(1\le i\le n\) , \(a[i] \leftarrow \max(a[i],x)\) ;对于给定的 \(p\) , \(a[p] \leftarrow x\) 。\((1\le n,Q\le 2*10^5)\)Examplesinput41 2 3 432 31 2 22 1output3...
python3.6+RF连接mysql 接口自动化中会遇到有操作数据库的动作目录1、安装第三方库2、安装pymysql3、数据库操作1、安装第三方库使用在线安装:pip install robotframework_databaselibrary -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.t...
zabbix服务器性能监控工具的安装二 上一篇完成了lnmp的安装,本篇则可以继续完成zabbix的安装目录1、下载2、安装1、下载下载链接:http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.6/zabbix-2.2.6.tar.gz上传zabbix-2.2.6.tar.gz到服务器/usr...
nmon服务器监控工具的使用安装 nmon是一个监控服务器性能的工具目录1、安装nmon2、数据采集1、安装nmonnmon是一种linux服务器性能监控工具,他还提供了很好的图表结果展示功能。本篇以centos6.5系统为例描述安装过程1.1下载nmon下载链接:https://sourceforge.net/projects/nmon/files/本篇下载这个包放到/opt...
python3.6+RF环境搭建 现在大家都在用python3了,利用这个机会正好把自己的练习重新整理一遍,本篇记录用python3.6重新搭建关键字驱动环境目录1、安装python3.62、安装wxPython3、安装robotframework4、安装robotframework-ride5、安装robotframework-selenium2library6、启动ride...
spotlight监控linux性能 linux性能监控有很多工具,spotlight只是其中一种目录1、安装spotlight2、参数认识1、安装spotlightspotlight不仅仅只是监控linux,还可以完成数据库以及其他操作系统等的监控。本篇介绍的是监控linux性能,因此安装监控linux的那一部分就可以了1.1下载spotlight链接: https://pa...
zabbix服务器性能监控工具的安装一 Linux下安装zabbix需要有LNMP运行环境,本篇记录安装LNMP的过程目录1、准备工作2、安装mysql3、安装nginx4、安装php1、准备工作1.1准备一台centos6.5服务器1.2配置服务器第一步:防火墙入站规则开发端口vi /etc/sysconfig/iptables #编辑防火墙配置文件,添加以下2行-A...
树莓派设置音频输出音量 首先查看声卡amixer scontrols我是在手机上用JuiceSSH敲的命令,这里就不展示截图了上述命令显示如下:Simple mixer control 'PCM', 0然后在输入:amixer set PCM 80%即可设置音量转载于:https://www.cnblogs.com/yuan-zhou/p/11438462...
linux下如何查询jdk的安装路径 首先这个问题困扰了我很久,由于是新装的系统还不熟悉,配置java环境变量时很头疼,找不到JDK位置,还好google一波,发现了这个方法。首先确保安装了JDKjava -versionjava version "1.8.0_65"Java(TM) SE Runtime Environment (build 1.8.0_65-b17)Java HotSpot(T...
树莓派更新源集合 直接切换至root用户下执行操作su - root输入密码进入root用户,然后修改软件更新源sudo nano /etc/apt/sources.list 将原来的源用 # 注掉,添加这个阿里源deb http://mirrors.aliyun.com/raspbian/raspbian/ stretch main contrib non-fre...
树莓派wifi环境下初始化及环境配置 在此放一下我的系统链接:https://pan.baidu.com/s/192cL6qSsMd-wqxHeDWfIug 提取码:0lrq 1.准备一张内存卡,最好是32G class10 16G的话也够用。然后用SDFormatter格式化一下2.用Win32DiskImager读取img包,并选择需要写入的SD卡,然后点击下方Write写入,根据img包的大小和内存卡写...
JVM内存区域划分总结 发现网上有两个版本的JVM内存划分,一个是按照《深入理解JVM虚拟机》上的版本,包含程序计数器等,按照是否线程共享划分。另一个我觉得更好记一些,也更适合我自己,在这里记录一下。首先上思维导图:一个个来说道吧。堆内存 heap堆内存主要被划分为新生代和老年代(叫法不一,差不多的意思)。JVM默认Yong和Old分配比例为1:2,即新生代的内存大小为堆内存的1/3。...
使用Mybatis Generator自动生成代码 MyBatis Generator(MBG)是MyBatis MyBatis 和iBATIS的代码生成器。它将为所有版本的MyBatis以及版本2.2.0之后的iBATIS版本生成代码。它将内省数据库表(或许多表),并将生成可用于访问表的工件。这减少了设置对象和配置文件以与数据库表交互的初始麻烦。MBG寻求对简单CRUD(创建,检索,更新,删除)的大部分数据库操作产生重大影响。您仍然需要...
Python单例设计模式 (1)为什么使用设计模式? 使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。(2)单例设计模式概念 让类创建的对象只有唯一的一个实例,即每次执行 类名() 返回的对象,内存地址都是相同的。(3)__new__与__init__方法的作用: 使用 类名() 创建对象时,python解释器首先会调用 __new__ 方法为对象分配内存空间,该...
python 内置函数__name__的作用 (1)背景:在python中每个独立的python文件,都是一个模块。在导入文件时,文件中没有任何缩进的代码(即主方法)都会被执行一遍。(2)在实际开发中,开发人员会在主方法中增加一些测试代码,比如测试一下函数是否正常执行,打印一些日志等。在不作处理的情况下,如果在其它文件中导入该模块,将会自动执行这些测试代码,一般这是不允许的。1 # 文件12 # 文件名:测试模块1....
CentOS系统如何搭建离线yum源 前言由于笔者公司的服务器无法连接外网且没有yum源安装相关依赖,使用源码包或rpm包部署服务出现诸多错误,为此笔者决定搭建一个离线yum源,方便接下来工作中安装各种服务。安装步骤系统:CentOS 7.21、下载yum源镜像文件CentOS官网:https://www.centos.org/download/点击DVD ISO,选择其中一个版本2、将下载好...
转 推荐 33 个 IDEA 最牛配置,写代码太爽了! 本文由 简悦 SimpRead 转码, 原文地址 https://mp.weixin.qq.com/s/neyvJouuG1Rmxn3BwfRXVg作者:琦彦blog.csdn.net/fly910905/article/details/778683001. 设置 maven1.在File->settings->搜索maven2.Mavanhome dire...
Java 银联云闪付对接记录 一开始盲目找资料走了弯路:还是从银联给的官方文档入手最高效:附件3:云闪付业务商户入网服务指引.pdfhttp://tomas.test.upcdn.net/pay/%E9%99%84%E4%BB%B63%EF%BC%9A%E4%BA%91%E9%97%AA%E4%BB%98%E4%B8%9A%E5%8A%A1%E5%95%86%E6%88%B7%E5%85%A5%E7%BD%9...
排序算法 动图讲解 本文由 简悦 SimpRead 转码, 原文地址 https://www.toutiao.com/i6732720817001464327/作者:郭耀华来源:https://www.cnblogs.com/guoyaohua/p/8600214.html最近几天在研究排序算法,看了很多博客,发现网上有的文章中对排序算法解释的并不是很透彻,而且有很多代码都是错误的,例如有的文...
Srinath总结 架构师们遵循的 30 条设计原则 作者:Srinath 翻译:贺卓凡,来源:公众号 ImportSourceSrinath 通过不懈的努力最终总结出了 30 条架构原则,他主张架构师的角色应该由开发团队本身去扮演,而不是专门有个架构师团队或部门。Srinath 认为架构师应该扮演的角色是一个引导者,讨论发起者,花草修建者,而不是定义者和构建者。Srinath 为了解决团队内部的架构纷争和抉择,制定了以下 30 条原则...
Spring @CrossOrigin 通配符 解决跨域问题 @CrossOrigin 通配符 解决跨域问题痛点:对很多api接口需要 开放H5 Ajax跨域请求支持 由于环境多套域名不同,而CrossOrigin 原生只支持* 或者具体域名的跨域支持 所以想让CrossOrigin 支持下通配 *.abc.com 支持所有origin 为 abc.com域(包括各种子域名)名来的Ajax 请求支持跨域.解决思路:支持通配@CrossOr...
区分 JVM 内存结构、 Java 内存模型 以及 Java 对象模型 三个概念 本文由 简悦 SimpRead 转码, 原文地址 https://www.toutiao.com/i6732361325244056072/作者:Hollis 来源:公众号Hollis Java 作为一种面向对象的,跨平台语言,其对象、内存等一直是比较难的知识点。而且很多概念的名称看起来又那么相似,很多人会傻傻分不清楚。比如本文我们要讨论的 JVM 内存结构、Java 内存...
七层网络模型 比喻 本文由 简悦 SimpRead 转码,原文地址 https://www.zhihu.com/question/24002080/answer/150830722 车小胖OSI 参考模型OSI,是英文 Open System Interconnect 的缩写,中文翻译开放系统互联,一个抽象七层模型,但其核心思想一点也不抽象,非常具体,其核心思想:1) 通信两端的主机能够理解...
服务 TCP 断线错误分析 分析背景在数据驱动架构升级这一主题下, 更好地统计异常断线率统计结果准备服务是学生老师一对一连线, 多数情况下为学生的网络条件较差, 因此此处假定老师的网络为正常.老师设备为 IPAD, 系统为 IOS 9.3.5, 网络 wifi: iyunxiao学生 Android 设备为 一加6, 系统为 Android 9, IOS 设备为 IPAD mini, 系统为...
使用expvar进行监控 前言:包expvar为公共变量提供了一个标准化的接口。如服务器中的操作计数器。它以 JSON 格式通过 /debug/vars 接口以 HTTP 的方式公开这些公共变量。设置或修改这些公共变量的操作是原子的。除了程序使用的公共变量,还注册了cmdline:这个变量就是启动命令memstats: 这个变量里面存放着内存的使用情况,e...
Ticker 未释放导致的 CPU 占用过高 问题描述2018-12-15, 辅导服务一台服务器的 TCP 连接数忽上忽下(如下图), 上下浮动在400~500的数量. 而此时 CPU 一直在满负载,内存占用很高(如下图). 导致用户无法正常上课.问题缘由1. TCP 连接中, 存在全球各地的 IP, 并且数量占比很高, 存在恶意攻击的可能.2. 辅导服务会为每个 TCP 连接都会创建一个 ticker, 并且...
MySQL 搜索指定时间范围数据, 时间字段有索引但是还是很费时 问题分析所遇情况:数据库版本:5.6.38查询时使用时间类型,在status、closed、playback_state字段上都有索引几种查询语句explain (select count(*) from session where status = 2 and playback_...
MySQL 报 Can't create more than max_prepared_stmt_count statements 前言最近压测完毕以后, MySQL 报 Can't create more than max_prepared_stmt_count statements. 正常情况下是程序没有关闭 stmt 导致. 也不排除并发量很大, MySQL 没机会去关闭. 这种情况我们系统来说出现概率较少, 并发量还没有那么大. 以下为定位问题的过程.操作...
Linux 下 top 命令的使用详解 前言:top 指令用于查看当前CPU负载, 内存占用. 或让其一直打印到固定文件内, 用于以后查看版本:本次 top 的版本为version 3.3.10, 系统版本为centos 7.4使用:只显示某一进程的信息: top -p 进程ID每两次屏幕刷新的时间间隔: -d 秒刷新多少次退出显示:-...
Swagger 入门使用 概述使用 Swagger 解决什么问题, 怎么使用 Swagger, 如何规范 go-swagger 的使用.背景介绍为了解决与后端对数据的的强耦合, 使用 HTTP 接口进行解耦.而 Swagger 一方面可以非常友好的对外展示接口, 文档即接口, 另一方面可以使用 go-swagger 自动生成部分 server 端代码, 快速实现接口开发. 方便以后可以快速开...
Linux 下 ps 命令的使用详解 前言正常情况下使用 ps 来显示某个进程的的占用系统资源情况使用:ps -aux: 去看在这台服务器上的每一个正在进程, 然后管道去查询具体进程列的含义:USER //用户名%CPU //进程占用的CPU百分比%MEM //占用内存的百分比VSZ //该进程使用的虚拟內存量(...
Functional Options 问题点当一个函数有很多参数,为了方便函数的使用,我们会给一些参数设定默认值,调用时只需要传与默认值不同的参数即可问题分析需求:上传文件到金山云的 KS3, 上传的时候有很多选择, 如: 文件的 ACL 权限是否公开, 文件的存储类型是否为低频存储或正常存储, 文件的格式是普通文本还是二进制文件等等.实现方法1: 每一个选项均作为参数折叠...
Linux 下 pmap 命令的使用 前言Pmap 提供了进程的内存映射,pmap命令用于显示一个或多个进程的内存状态。其报告进程的地址空间和内存状态信息用法pmap [options] PID选项:-x显示扩展格式, 使用的时候建议加上用例:内容:Address: 内存开始地址Kbytes: 占用内存的字节数(KB)RSS: 保留...
在 mac OS 中安装 xgboost python 包 在已经安装gcc和cmake的前提下。git clone --recursive https://github.com/dmlc/xgboost进入xgboost根目录。cd make/vim config.mk做如下修改:# USE_OPENMP = 1保存退出。mv ./config.mk ../cd ..makecd python-packagesudo...
pandas模块学习 1. pandas的一些核心或基础知识点及函数:pandas的核心结构是DataFrame,它是由多个series组合而成(Series类型由一组数据及与之相关的数据索引组成),而实际值的核心结果是ndarray,故pandas是基于numpy的一种工具。2. 基本简单操作:3. 一些函数的操作示例:转载于:https://www.cnblogs.com/manyuemei/...
评分卡建模 评分卡建模的基本流程:IV值的区分度情况:模型效果评估:PSI稳定性的评估,>0.2已经很不稳定了转载于:https://www.cnblogs.com/manyuemei/articles/11492198.html...
关联规则 关联规则挖掘的目的是在数据项目中找出所有的并发关系,除了基本Aprioris算法,还有一些常用的改进算法,例如多最小支持度的关联规则挖掘,分类关联规则挖掘。支持度:规则前项LHS和规则后项RHS所包括的商品都同时出现的概率,LHS和RHS商品的交易次数/总交易次数。置信度:在所有的购买了左边商品的交易中,同时又购买了右边商品的交易机率,包含规则两边商品的交易次数/包括规则左边商品的交...
聚类分析 聚类分析:是研究样本或指标进行分类的一种多元统计方法。聚类分析按根据分类对象的不同分为R型和Q型,R型对变量进行分类,Q型对样品进行分类。常用的聚类方法:系统聚类法、模糊聚类法(多为定性变量的分类)、K-均值法(动态聚类法)、有序样品的聚类(最优分割法)、分解法、加入法等定量数据在进行聚类分析前都要进行数据变换,变换的方法有:均值:;标准差:;极差;1. 中心化变换:2. 标...
阿拉丁工作 报表相关:1、借款报表:按照时间维度(日、月、累计借款,客单价、笔单价、平均期数),分期数、品类、用户类型(普通用户、白名单用户、黑名单用户)、新老用户(定义?)2、风控报表:强风控、弱风控(整体通过率[转化率]、细化各个规则通过率、规则不交叉命中率、规则缺失率)3、额度报表:每日获得额度情况(用户、总额度、平均额度)、每天额度分布情况、累计额度情况4、用户构成报表:主要看用户的一...
逻辑回归 Logistic回归模型是一种概率模型,它是以疾病,死亡等结果发生的概率为因变量,影响疾病发生的因素为自变量建立回归模型。它特别适用于因变量为二项,多项分类的资料。1)logistic回归的作用:预测预报:通过模型可以预测发病、死亡等的概因素分析:寻找对发病、死亡等影响有显著性的因素2)Logistic分析的具体任务:采用极大似然估计确定方程中系数采用卡方检验对回归方程进行...
numpy模块学习 1. numpy的一些核心或基础知识点及函数:使用numpy.array()构造数组时,传入的参数的元素类型必须的相同的import numpy as npa=np.array([[1,2],[3,4]])anumpy里面的核心结构是ndarray,可通过type()函数看数据的结构矩阵a里面的元素结构,可通过dtype查看关于复制的各种操作:2. 各种函数的使用...
DonkeyID---php扩展-64位自增ID生成器 ##原理参考Twitter-Snowflake 算法,扩展了其中的细节。具体组成如下图:如图所示,64bits 咱们分成了4个部分。毫秒级的时间戳,有42个bit.能够使用139年,从1970年开始计算,能使用到2109年,当然这些是可以扩展的,可以通知指定起始时间来延长这个日期长度。自定义节点id,防止多进程运行产生重复id,占位12个bit,能够支持4...
MySQL查询日志介绍 MySQL查询日志介绍 MySQL的查询日志记录了所有MySQL数据库请求的信息。无论这些请求是否得到了正确的执行。默认文件名为hostname.log。默认情况下MySQL查询日志是关闭的。生产环境,如果开启MySQL查询日志,对性能还是有蛮大的影响的。另外很多时候,MySQL慢查询日志基本可以定位那些出现性能问题的SQL,所以MySQL查询日志应用的场景其实不多,有点鸡肋的感觉...
vim 中文乱码解决 问题如下: 在vim中编辑一个中文文本时 出现中文乱码情况问题解决: 修改vimrc的脚本配置编辑~/.vimrc文件,加上如下几行即可:set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936set termencoding=utf-8set encoding=utf-8...
php 日志处理工具 SeasLog 的使用 首先附上seasloggithub地址: https://github.com/Neeke/SeasLog/blob/master/README_zh.mdphp官方文档地址: https://www.php.net/manual/zh/class.seaslog.phpSeasLog是一个C语言编写的PHP扩展,提供一组规范标准的功能函数,在PHP项目中方便...
php 二维数组排序详解: array_multisort 定义和用法array_multisort() 函数返回一个排序数组。您可以输入一个或多个数组。函数先对第一个数组进行排序,接着是其他数组,如果两个或多个值相同,它将对下一个数组进行排序。注释:字符串键名将被保留,但是数字键名将被重新索引,从 0 开始,并以 1 递增。注释:您可以在每个数组后设置排序顺序和排序类型参数。如果没有设置,每个数组参数会使用默认值。...
php 数学函数bc的使用(浮点数计算) 简介:对于任意精度的数学,PHP提供了支持用字符串表示的任意大小和精度的数字的二进制计算,最多为2147483647-1(或0x7FFFFFFF-1)。bcadd— 2个任意精度数字的加法计算bccomp— 比较两个任意精度的数字bcdiv— 2个任意精度的数字除法计算bcmod— 对一个任意精度数字取模bcmul— 2个任意精度数字乘法计算...
PHP手机号中间四位用星号*代替显示 三种实现方式<?php$tel = '12345678910';//1.字符串截取法$new_tel1 = substr($tel, 0, 3).'****'.substr($tel, 7);var_dump($new_tel1);//2.替换字符串的子串$new_tel2 = substr_replace($tel, '****', 3, 4);...
php 操作 redis 常用命令 原文地址: https://www.cnblogs.com/zhanghanwen16/p/9510481.html1、redis连接与认证//连接参数:ip、端口、连接超时时间,连接成功返回true,否则返回false$ret = $redis->connect('127.0.0.1', 6379, 30);//密码认证:成功返回true,否则返回f...
PHP性能调优---PHP-FPM配置及使用总结 转载至:https://www.cnblogs.com/kenshinobiy/p/7470635.htmlPHP-FPM配置及使用总结:php-FPM是一个PHP FastCGI的管理器,它实际上就是PHP源代码的补丁,旨在将FastCGI进程管理引进到PHP软件包中,我们必须将其patch到PHP源代码中,然后再行编译才能使用。而现在我们可以在PHP 5.3.2及更新...
php中static和self的区别 在阅读一些框架的源码时发现了new static(),和new self(),甚是不解,后来查阅资料,才知道static采用了延迟绑定,能准确知道是父类还是子类的调用。这就是说static是个聪明的小孩,家里的亲戚的辈分他都能准确的叫出;而不是像他的兄弟self,只知道自己的亲爹妈。例子如下:<?phpclass Father{ protected ...
Mysql 8.0安装 1. 下载安装包至/usr/local目录下 下载地址:https://cdn.mysql.com/Downloads/MySQL-8.0/mysql-8.0.16-el7-x86_64.tar.gz2.下载后解压直接初始化数据库即可 mkdir-p /usr/local/mysql/data/ cd mysql bin/mysqld --initializ...
git 避免重复输入用户名密码问题解决 “store” 模式会将凭证用明文的形式存放在磁盘中,并且永不过期。 这意味着除非你修改了你在 Git 服务器上的密码,否则你永远不需要再次输入你的凭证信息。 这种方式的缺点是你的密码是用明文的方式存放在你的 home 目录下。执行命令:git config --global credential.helper storegit pull输入你的用户名和密码s...
进程比较基础的内容 目录 1.创建多进程的两种方式 1.1 方式一(函数) 1.2 方式二(类) 2.孤儿进程和僵尸进程 3.pid,一个进程的身份证 4.Process的join方法 5.Process的name和is_alive方法 ...
事件,条件 事件其实就是开两条线程,一条进行数据传输另外一条,查看网络是否安全,如果不行就会clear(),也就是给数据传输的那条线程一个信号,主要原理就是wait()方法,只有当事件为True的时候才可以继续运行,不然就会被wait()方法阻塞住,默认是False , is_set()方法是查看事件状态的# 模拟拿数据断网了的操作from threading import Thre...