
获得徽章 0
- Dubbo源码Debug-Filter链解析
1、调用链路:过滤器串联实例:ProtocolFilterWrapper->buildInvokerChain->ExtensionLoader.getExtensionLoader(Filter.class).getActivateExtension(url, key, group)
2、Dubbo的默认过滤器是8个EchoFilter、ClassLoaderFilter、GenericFilter、ContextFilter、TraceFilter、TimeoutFilter、MonitorFilter、ExceptionFilter。
3、通过遍历循环Filter数组,new Invoker{....}将filter的bean注入Invoker实例中。展开评论点赞 - 支付宝安全实验室发现3款恶意库,提醒开发者擦亮眼
近日,支付宝天宸实验室发现在Python官方的第三方库下载网站上有三款第三方恶意库。当开发者安装使用时,可能被安装恶意程序。
roels:pypi.org(不要下载)
req-tools:pypi.org(不要下载)
dark-magic:pypi.org (不要下载)
可导致服务器被控制,泄漏数据、资金损失
作为目前最主流的计算机编程语言,Python被广泛地应用于社区、游戏等各大网站、甚至Google、NASA也将Python作为开发语言。
这次发现的恶意库,取名与几个常用正常库的名字非常相近,导致开发者可能误输入下载安装恶意库。一旦受害者主机安装上这三个Python第三方恶意库,同时攻击者激活命令和控制服务器和恶意程序下载链接,就可以完全控制受害者的电脑及服务器。可能带来开发者服务器上的数据隐私泄露,也可能进一步造成用户资金损失。
目前,Python官方的第三方库下载网站 (pypi.org )尚未清除这三个恶意库。
展开评论点赞 - PHP7.0 的新特性
1. 新增了标量类型声明和函数的返回值类型声明
2. 太空船运算符(组合比较符):<=>
3. NULL合并运算:??
4. 定义常量数组:define("ARR",[1,2,3])
5. 新增抽象语法树AST(高度解耦)
6. 命名空间引用优化
7. 反序列化函数Unserialize()提供更安全的过滤特性
8. 新增整除函数intdiv()
9. 错误处理更友好
10. 新增匿名类展开评论点赞 - 慢查询分析调优工具~mysqldumpslow
在日常的业务开发中,MySQL出现慢查询是很常见的,要么说明你家产品的增长性很好,要么就是你的SQL写的太烂了。所以对慢查询SQL进行分析和优化很重要,其中mysqldumpslow是MySQL服务自带的一款很好的分析调优工具。展开评论点赞 - Mysql主从搭建
进入主库服务器
>cd /usr/local/mysql/bin
注意:执行以下命令后,输入上步已经设置好的root密码
>mysql -uroot -h 127.0.0.1 -p
或者
>mysql -u root -p
创建用户:mysql
> CREATE USER 'mysql'@'host' IDENTIFIED BY '123456';
设置mysql用户的登录密码:
>UPDATE user SET password=PASSWORD('123456') WHERE user='mysql';
生效设置(这步别忘记喽,否则无效)
>flush privileges;
开启远程访问权限:
>mysql -uroot -h 127.0.0.1 -p
> use mysql;
> grant all privileges on *.* to root@'%' identified by "123456";
> flush privileges;
另外一台从机器远程连接测试下:
>cd /usr/local/mysql/bin
>mysql -h 121.175.107.11 -P 3306 -u mysql -p展开评论点赞 - 什么是链表? | 算法必看
链表是物理存储单元上非连续的、非顺序的存储结构,它是由一个个结点,通过指针来联系起来的,其中每个结点包括数据和指针。数组的每个元素都是连续紧邻分配的,这叫连续性,同时由于数组的元素占用的大小是一样的,在 Java 中 int 型大小固定为 4 个字节,所以如果数组的起始地址是 100, 由于这些元素在内存中都是连续紧邻分配的,大小也一样,可以很容易地找出数组中任意一个元素的位置,比如数组中的第三个元素起始地址为 100 + 2 * 4 = 108,这就叫顺序性。查找的时间复杂度是O(1),效率很高!展开评论点赞 - MySQL的索引失效原因
1、违反最左前缀法则
如果索引有多列,要遵守最左前缀法则
即查询从索引的最左前列开始并且不跳过索引中的列
explain select * from user where age = 20 and phone = '18730658760' and pos = 'cxy';
2、在索引列上做任何操作
如计算、函数、(自动or手动)类型转换等操作,会导致索引失效从而全表扫描
explain select * from user where left(name,5) = 'zhangsan' and age = 20 and phone = '187306587展开赞过评论2 - 史上最全的MySQL常用函数
1、数学函数
ABS(x) --返回x的绝对值
BIN(x) --返回x的二进制(OCT返回八进制,HEX返回十六进制)
CEILING(x) --返回大于x的最小整数值
EXP(x) --返回值e(自然对数的底)的x次方
FLOOR(x) --返回小于x的最大整数值
GREATEST(x1,x2,...,xn)
--返回集合中最大的值
LEAST(x1,x2,...,xn)
--返回集合中最小的值
LN(x) --返回x的自然对数
LOG(x,y) --返回x的以y为底的对数
MOD(x,y) --返回x/y的模(余数)
PI() --返回pi的值(圆周率)
RAND() --返回0到1内的随机值,可以通过提供一个参数(种子)使RAND()随机数生成器生成一个指定的值。
ROUND(x,y) --返回参数x的四舍五入的有y位小数的值
SIGN(x) --返回代表数字x的符号的值
SQRT(x) --返回一个数的平方根
TRUNCATE(x,y) --返回数字x截短为y位小数的结果展开评论点赞 - 没学好数据库的程序员,真的混不到饭吃么?
业内有句俗语:
只会写代码的是码农;学好数据库,基本能混口饭吃;在此基础上再学好操作系统和计算机网络,就能当一个不错的程序员。
如果能再把离散数学、数字电路、体系结构、数据结构/算法、编译原理学通透,再加上丰富的实践经验与领域特定知识,就能算是一个优秀的工程师了。
这么说其实是有一些道理的,因为计算说穿了就是两个东西:数据与算法。
目前市面上常见的软件应用,大部分都属于数据密集型应用。通俗的话来讲,就是这些应用干的事儿就是把数据收集起来,需要的时候再拿出来。而这些操作都需要数据库来进行承载。
所以说,数据库离我们很近,也是一项开发者们非常需要掌握的技能。展开评论点赞 - 如何在 7 分钟内黑掉 40 家网站?
我的一个朋友告诉我,他的网站上发现了一个 XSS 漏洞,他想让我深入看看。
XSS,又称跨站脚本攻击 Cross-site scripting,它是一种安全漏洞。XSS 攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。
我向他申请了正式的许可,这样我能在这个网站和服务器上做完整的渗透测试。
(注:这一步非常重要,注意法律风险)
为了保护隐私,我用这个地址来代替我朋友的网站展开评论点赞