android10以后的版本才完全支持深色模式,测试下面两种方法判断系统是否深色模式都是有效的。publicstaticbooleanisDarkMode1(){if(Build.VERSION.SDK_INT
RocketMQ 核心特性实战详解
愤怒的代码
RocketMQ实战rocketmq
RocketMQ核心特性实战详解本文基于RocketMQ4.x+rocketmq-spring-boot-starter2.3.1,从零搭建,逐步讲解RocketMQ11大核心特性,每一段代码都能直接跑。0.项目环境准备依赖引入在pom.xml文件添加:org.apache.rocketmqrocketmq-spring-boot-starter2.3.1配置文件application.ymlse
数字孪生技术为UI前端注入新活力:实现产品设计的沉浸式体验
ui设计前端开发老司机
ui
hello宝子们...我们是艾斯视觉擅长ui设计、前端开发、数字孪生、大数据、三维建模、三维动画10年+经验!希望我的分享能帮助到您!如需帮助可以评论关注私信我们一起探讨!致敬感谢感恩!一、引言:从“平面交互”到“沉浸体验”的UI革命当用户在电商APP中翻看3D家具模型却无法感知其与自家客厅的匹配度,当设计师在2D屏幕上绘制汽车内饰却难以预判实际乘坐体验——传统UI设计的“平面化、静态化、割裂感”
Topview Avatar 2深度实测:AI数字人带货的新高度,还是又一个营销噱头?
神码小Z
AI工具人工智能
在AI数字人赛道越来越卷的今天,各家产品都在宣传自己的"独门秘技"。最近,TopviewAI推出的Avatar2引起了我的注意——号称突破了产品尺寸限制,实现了"万物皆可带"。作为一个经常需要制作营销视频的内容创作者,我决定亲自上手测试一番,看看这款工具是否真的像宣传的那样强大。TopviewAvatar2是什么?革命性升级还是渐进式改良?TopviewAvatar2是TopviewAI推出的第二
Android 15.0 根据app包名授予app监听系统通知权限
安卓兼职framework应用工程师
android15.0Rom定制化系列讲解androidromframework监听系统通知权限
1.概述在15.0的系统rom产品定制化开发中,在一些产品rom定制化开发中,系统内置的第三方app需要开启系统通知权限,然后可以在app中,监听系统所有通知,来做个通知中心的功能,所以需要授权获取系统通知的权限,然后来顺利的监听系统通知。来做系统通知的功能,接下来来实现这个功能2.根据app包名授予app监听系统通知权限的核心类packages/apps/Settings/src/com/and
JVM与Spring Boot核心解析
AIHacksCash
Java场景面试宝典JavaJVMSpringBoot
我是廖志伟,一名Java开发工程师、《Java项目实战——深入理解大型互联网企业通用技术》(基础篇)、(进阶篇)、(架构篇)清华大学出版社签约作家、Java领域优质创作者、CSDN博客专家、阿里云专家博主、51CTO专家博主、产品软文专业写手、技术文章评审老师、技术类问卷调查设计师、幕后大佬社区创始人、开源项目贡献者。拥有多年一线研发和团队管理经验,研究过主流框架的底层源码(Spring、Spri
数据分析常用指标名词解释及计算公式
走过冬季
学习笔记数据分析大数据
数据分析中有大量常用指标,它们帮助我们量化业务表现、用户行为、产品健康度等。下面是一些核心指标的名词解释及计算方式,按常见类别分类:一、流量与用户规模指标页面浏览量名词解释:用户访问网站或应用时,每次加载或刷新一个页面就算一次PV。它衡量的是页面被打开的总次数。计算方式:PV=∑(所有页面被加载的次数)(通常由埋点或日志直接统计)独立访客数名词解释:在特定时间范围内(如一天、一周、一月),访问网站
解码服务细节,以专业暗访驱动汽车门店市场突围
湖南群狼调研
汽车市场调查神秘顾客汽车暗访调查问卷调查公司汽车神秘顾客长沙市场调研
汽车消费市场的竞争,(湖南消费者调查公司)(汽车神秘顾客调查)(长沙市场调查)早已从“产品力”延伸至“服务力”。一次流畅的试驾引导、一句真诚的价格说明、一项贴心的售后承诺,都可能成为客户选择品牌的关键。湖南群狼市场调查深耕行业17年,以专业暗访为笔,为汽车门店绘制服务升级蓝图,让每一份服务细节都经得起市场检验。一、17年行业积淀,铸就服务洞察利器从燃油车主导市场到新能源全面崛起,群狼始终紧跟行业脉
目标检测(object detection)
加油吧zkf
目标检测目标检测人工智能计算机视觉
目标检测作为计算机视觉的核心技术,在自动驾驶、安防监控、医疗影像等领域发挥着不可替代的作用。本文将系统讲解目标检测的概念、原理、主流模型、常见数据集及应用场景,帮助读者构建对这一技术的完整认知。一、目标检测的核心概念目标检测(ObjectDetection)是指在图像或视频中自动定位并识别出所有感兴趣的目标的技术。它需要解决两个核心问题:分类(Classification):确定图像中每个目标的类
12 个强大的 DeepSeek AI 提示将彻底改变您的日常生活
知识大胖
NVIDIAGPU和大语言模型开发教程人工智能deepseek
内容写作的最佳提示让我们从写作开始吧。无论您是博主、学生还是社交媒体创作者,这些提示都将帮助您创作出精彩的内容。提示1:“扮演专业文案撰稿人,为[产品/服务]撰写引人注目的广告文案。文案应引人入胜、具有说服力,且字数不得超过100个字。”这使得ChatGPT的响应结构就像真实的广告文案一样。提示2:“以更具吸引力和说服力的方式重写此段落,同时保持含义不变:[插入文本]。”推荐文章《Neo4j上使用
在 Linux(openEuler 24.03 LTS-SP1)上安装 Kubernetes + KubeSphere 的防火墙放行全攻略
目录在Linux(openEuler24.03LTS-SP1)上安装Kubernetes+KubeSphere的防火墙放行全攻略一、为什么要先搞定防火墙?二、目标环境三、需放行的端口和协议列表四、核心工具说明1.修正后的exec.sh脚本(支持管道/重定向)2.批量放行脚本:open_firewall.sh五、使用示例1.批量放行端口2.查看当前防火墙规则3.仅开放单一端口(临时需求)4.检查特定
什么是站群8C? 应该能获得多少个IP?
简述站群服务器有1C、2C、4C、8C或更多的种类,IP数量都不同,究竟不同C段数目的分别是什么?不同C段应获得多少IP数量才算合理吗?是如何换算出来?内文会为大家解答什么是C段C段是指IP段的第三个节点,例如142.250.66.110,当中的第三个节点的66便是C段内容。C段的数目越多,不同C段的产品IP便越多,但相对可用IP越少IP组合:aaa.bbb.ccc.dddIP范围:0-255.0
中国银联豪掷1亿采购海光C86架构服务器
信创新态势
海光芯片C86国产芯片海光信息
近日,中国银联国产服务器采购大单正式敲定,基于海光C86架构的服务器产品中标,项目金额超过1亿元。接下来,C86服务器将用于支撑中国银联的虚拟化、大数据、人工智能、研发测试等技术场景,进一步提升其业务处理能力、用户服务效率和信息安全水平。作为我国重要的银行卡组织和金融基础设施,中国银联在全球183个国家和地区设有银联受理网络,境内外成员机构超过2600家,是世界三大银行卡品牌之一。此次中国银联发力
Spring Boot基础
小李是个程序
springboot后端java
5.SpringBoot配置解析5.1.基础服务端口:server.port=8080(应用启动后监听8080端口)应用名称:spring.application.name=Chat64(注册到服务发现等场景时的标识)5.2.数据库连接(MySQL)URL:jdbc:mysql://localhost:3306/ai-chat(连接本地3306端口的ai-chat数据库,含时区、编码等参数)驱动:
2025年网络安全人员薪酬趋势
程序员肉肉
web安全安全网络安全计算机信息安全程序员
2025年网络安全人员薪酬趋势一、网络安全行业为何成“香饽饽”?最近和几个朋友聊起职业规划,发现一个有趣的现象:不管原来是程序员、运维还是产品经理,都想往网络安全领域跳槽。问原因,答案出奇一致——“听说这行工资高”。确实,从2025年的数据来看,网络安全行业的薪资水平不仅跑赢了大多数IT岗位,甚至成了“技术岗里的天花板”。但高薪背后到底有哪些门道?哪些职位最赚钱?城市和经验如何影响收入?今天我们就
第三章:网络安全基础——构建企业数字防线
阿贾克斯的黎明
网络安全web安全安全
目录第三章:网络安全基础——构建企业数字防线3.1网络协议安全深度解析3.1.1TCP/IP协议栈安全漏洞图谱3.1.2关键安全协议剖析3.2网络攻击全景防御3.2.1OWASPTop102023最新威胁3.2.2高级持续性威胁(APT)防御3.3网络安全设备部署指南3.3.1下一代防火墙(NGFW)配置要点3.3.2IDS/IPS系统部署方案3.4企业网络架构安全设计3.4.1安全分区最佳实践3
在拉卡拉分账功能中实现实时更新,需结合异步回调通知和数据库事务来确保数据一致性。以下是具体实现方案
肥仔全栈开发
拉卡拉支付php拉卡拉支付三方支付
一、实时更新的核心逻辑依赖拉卡拉分账回调拉卡拉分账完成后会主动推送回调通知(类似支付回调),需监听该回调并更新订单分账状态。数据库事务保障分账金额更新、状态变更等操作需放在事务中,避免部分失败导致数据不一致。二、代码实现1.分账回调处理接口(监听拉卡拉分账结果推送,实时更新数据库)//文件:application/api/controller/Notify.phppublicfunctionlak
AI人工智能浪潮中文心一言的独特优势
AI人工智能浪潮中文心一言的独特优势:为什么它是中国市场的“AI主力军”?关键词:文心一言,AI大模型,中文处理,多模态融合,产业落地,安全可控,百度ERNIE摘要:在全球AI大模型浪潮中,百度文心一言(ERNIEBot)凭借“懂中文、会多模态、能落地、守规矩”的四大核心优势,成为中国市场最具竞争力的AI产品之一。本文将用“超级大脑”的比喻,从中文理解、多模态能力、产业生态融合、安全可控性四个维度
Matlab裁剪降水数据:1km掩膜制作实战
咋(za)说
matlab降水数据处理裁剪掩膜制作降水数据裁剪China_Pre
1km降水数据处理-制作数据裁剪掩膜1.数据概述2掩膜文件制作示例2.1数据准备2.2matlab掩膜制作示例代码3结语 中国1km分辨率逐月降水量数据集(1901-2024)是高精度、长时间序列的气候数据产品,广泛应用于水文、生态、农业等领域的研究。本篇基于应用需要,以该数据集为输入,结合研究区shp边界文件,制作用于数据提取/裁剪的掩膜文件。下面为具体内容。1.数据概述 中国1km分辨率逐
Apache Dubbo实战:JavaSDK使用
秃了也弱了。
Dubboapachedubbo
文章目录一、写在前面二、基于zookeeper:快速创建dubbo应用1、maven包(客户端+服务端)(注意spring版本)2、application.yml配置文件(客户端+服务端)3、定义公共接口4、启动类添加注解@EnableDubbo5、服务端6、客户端7、启动试试吧8、拓展:使用JavaConfig代替注解三、拓展配置1、注册中心2、版本与分组3、传递调用参数4、泛化调用5、泛化实现
网安学习NO.12
下一代防火墙(Next-GenerationFirewall,简称NGFW)是在传统防火墙基础上发展而来的新一代网络安全防护设备,其核心目标是解决传统防火墙在复杂网络环境(如云计算、移动办公、加密流量激增等)中“防护维度不足、威胁识别滞后、功能单一”等痛点,通过融合多元安全能力,实现对网络流量更精准、更智能、更全面的管控与防御。一、下一代防火墙与传统防火墙的核心差异传统防火墙主要依赖“端口-协议”
20k软件测试工程师必会——Jenkins+Git+Appium 持续集成策略
测试小姐姐哟
软件测试jenkins运维
持续集成(Continuousintegration,简称CI)持续集成是一种开发实践,它倡导团队成员需要频繁的集成他们的工作,每次集成都通过自动化构建(包括编译、构建、自动化测试)来验证,从而尽快地发现集成中的错误。让正在开发的软件始终处于可工作状态,让产品可以快速迭代,同时还能保持高质量。Jenkins是基于Java开发的持续集成工具,开源免费,官网:https://jenkins.io/Ap
mysql主从数据同步
林鹤霄
mysql主从数据同步
配置mysql5.5主从服务器(转)
教程开始:一、安装MySQL
说明:在两台MySQL服务器192.168.21.169和192.168.21.168上分别进行如下操作,安装MySQL 5.5.22
二、配置MySQL主服务器(192.168.21.169)mysql -uroot -p &nb
oracle学习笔记
caoyong
oracle
1、ORACLE的安装
a>、ORACLE的版本
8i,9i : i是internet
10g,11g : grid (网格)
12c : cloud (云计算)
b>、10g不支持win7
&
数据库,SQL零基础入门
天子之骄
sql数据库入门基本术语
数据库,SQL零基础入门
做网站肯定离不开数据库,本人之前没怎么具体接触SQL,这几天起早贪黑得各种入门,恶补脑洞。一些具体的知识点,可以让小白不再迷茫的术语,拿来与大家分享。
数据库,永久数据的一个或多个大型结构化集合,通常与更新和查询数据的软件相关
pom.xml
一炮送你回车库
pom.xml
1、一级元素dependencies是可以被子项目继承的
2、一级元素dependencyManagement是定义该项目群里jar包版本号的,通常和一级元素properties一起使用,既然有继承,也肯定有一级元素modules来定义子元素
3、父项目里的一级元素<modules>
<module>lcas-admin-war</module>
<
sql查地区省市县
3213213333332132
sqlmysql
-- db_yhm_city
SELECT * FROM db_yhm_city WHERE class_parent_id = 1 -- 海南 class_id = 9 港、奥、台 class_id = 33、34、35
SELECT * FROM db_yhm_city WHERE class_parent_id =169
SELECT d1.cla
关于监听器那些让人头疼的事
宝剑锋梅花香
画图板监听器鼠标监听器
本人初学JAVA,对于界面开发我只能说有点蛋疼,用JAVA来做界面的话确实需要一定的耐心(不使用插件,就算使用插件的话也没好多少)既然Java提供了界面开发,老师又要求做,只能硬着头皮上啦。但是监听器还真是个难懂的地方,我是上了几次课才略微搞懂了些。
JAVA的遍历MAP
darkranger
map
Java Map遍历方式的选择
1. 阐述
对于Java中Map的遍历方式,很多文章都推荐使用entrySet,认为其比keySet的效率高很多。理由是:entrySet方法一次拿到所有key和value的集合;而keySet拿到的只是key的集合,针对每个key,都要去Map中额外查找一次value,从而降低了总体效率。那么实际情况如何呢?
为了解遍历性能的真实差距,包括在遍历ke
POJ 2312 Battle City 优先多列+bfs
aijuans
搜索
来源:http://poj.org/problem?id=2312
题意:题目背景就是小时候玩的坦克大战,求从起点到终点最少需要多少步。已知S和R是不能走得,E是空的,可以走,B是砖,只有打掉后才可以通过。
思路:很容易看出来这是一道广搜的题目,但是因为走E和走B所需要的时间不一样,因此不能用普通的队列存点。因为对于走B来说,要先打掉砖才能通过,所以我们可以理解为走B需要两步,而走E是指需要1
Hibernate与Jpa的关系,终于弄懂
avords
javaHibernate数据库jpa
我知道Jpa是一种规范,而Hibernate是它的一种实现。除了Hibernate,还有EclipseLink(曾经的toplink),OpenJPA等可供选择,所以使用Jpa的一个好处是,可以更换实现而不必改动太多代码。
在play中定义Model时,使用的是jpa的annotations,比如javax.persistence.Entity, Table, Column, OneToMany
酸爽的console.log
bee1314
console
在前端的开发中,console.log那是开发必备啊,简直直观。通过写小函数,组合大功能。更容易测试。但是在打版本时,就要删除console.log,打完版本进入开发状态又要添加,真不够爽。重复劳动太多。所以可以做些简单地封装,方便开发和上线。
/**
* log.js hufeng
* The safe wrapper for `console.xxx` functions
*
哈佛教授:穷人和过于忙碌的人有一个共同思维特质
bijian1013
时间管理励志人生穷人过于忙碌
一个跨学科团队今年完成了一项对资源稀缺状况下人的思维方式的研究,结论是:穷人和过于忙碌的人有一个共同思维特质,即注意力被稀缺资源过分占据,引起认知和判断力的全面下降。这项研究是心理学、行为经济学和政策研究学者协作的典范。
这个研究源于穆来纳森对自己拖延症的憎恨。他7岁从印度移民美国,很快就如鱼得水,哈佛毕业
other operate
征客丶
OSosx
一、Mac Finder 设置排序方式,预览栏 在显示-》查看显示选项中
二、有时预览显示时,卡死在那,有可能是一些临时文件夹被删除了,如:/private/tmp[有待验证]
--------------------------------------------------------------------
若有其他凝问或文中有错误,请及时向我指出,
我好及时改正,同时也让我们一
【Scala五】分析Spark源代码总结的Scala语法三
bit1129
scala
1. If语句作为表达式
val properties = if (jobIdToActiveJob.contains(jobId)) {
jobIdToActiveJob(stage.jobId).properties
} else {
// this stage will be assigned to "default" po
ZooKeeper 入门
BlueSkator
中间件zk
ZooKeeper是一个高可用的分布式数据管理与系统协调框架。基于对Paxos算法的实现,使该框架保证了分布式环境中数据的强一致性,也正是基于这样的特性,使得ZooKeeper解决很多分布式问题。网上对ZK的应用场景也有不少介绍,本文将结合作者身边的项目例子,系统地对ZK的应用场景进行一个分门归类的介绍。
值得注意的是,ZK并非天生就是为这些应用场景设计的,都是后来众多开发者根据其框架的特性,利
MySQL取得当前时间的函数是什么 格式化日期的函数是什么
BreakingBad
mysqlDate
取得当前时间用 now() 就行。
在数据库中格式化时间 用DATE_FORMA T(date, format) .
根据格式串format 格式化日期或日期和时间值date,返回结果串。
可用DATE_FORMAT( ) 来格式化DATE 或DATETIME 值,以便得到所希望的格式。根据format字符串格式化date值:
%S, %s 两位数字形式的秒( 00,01,
读《研磨设计模式》-代码笔记-组合模式
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
import java.util.ArrayList;
import java.util.List;
abstract class Component {
public abstract void printStruct(Str
4_JAVA+Oracle面试题(有答案)
chenke
oracle
基础测试题
卷面上不能出现任何的涂写文字,所有的答案要求写在答题纸上,考卷不得带走。
选择题
1、 What will happen when you attempt to compile and run the following code? (3)
public class Static {
static {
int x = 5; // 在static内有效
}
st
新一代工作流系统设计目标
comsci
工作算法脚本
用户只需要给工作流系统制定若干个需求,流程系统根据需求,并结合事先输入的组织机构和权限结构,调用若干算法,在流程展示版面上面显示出系统自动生成的流程图,然后由用户根据实际情况对该流程图进行微调,直到满意为止,流程在运行过程中,系统和用户可以根据情况对流程进行实时的调整,包括拓扑结构的调整,权限的调整,内置脚本的调整。。。。。
在这个设计中,最难的地方是系统根据什么来生成流
oracle 行链接与行迁移
daizj
oracle行迁移
表里的一行对于一个数据块太大的情况有二种(一行在一个数据块里放不下)
第一种情况:
INSERT的时候,INSERT时候行的大小就超一个块的大小。Oracle把这行的数据存储在一连串的数据块里(Oracle Stores the data for the row in a chain of data blocks),这种情况称为行链接(Row Chain),一般不可避免(除非使用更大的数据
[JShop]开源电子商务系统jshop的系统缓存实现
dinguangx
jshop电子商务
前言
jeeshop中通过SystemManager管理了大量的缓存数据,来提升系统的性能,但这些缓存数据全部都是存放于内存中的,无法满足特定场景的数据更新(如集群环境)。JShop对jeeshop的缓存机制进行了扩展,提供CacheProvider来辅助SystemManager管理这些缓存数据,通过CacheProvider,可以把缓存存放在内存,ehcache,redis,memcache
初三全学年难记忆单词
dcj3sjt126com
englishword
several 儿子;若干
shelf 架子
knowledge 知识;学问
librarian 图书管理员
abroad 到国外,在国外
surf 冲浪
wave 浪;波浪
twice 两次;两倍
describe 描写;叙述
especially 特别;尤其
attract 吸引
prize 奖品;奖赏
competition 比赛;竞争
event 大事;事件
O
sphinx实践
dcj3sjt126com
sphinx
安装参考地址:http://briansnelson.com/How_to_install_Sphinx_on_Centos_Server
yum install sphinx
如果失败的话使用下面的方式安装
wget http://sphinxsearch.com/files/sphinx-2.2.9-1.rhel6.x86_64.rpm
yum loca
JPA之JPQL(三)
frank1234
ormjpaJPQL
1 什么是JPQL
JPQL是Java Persistence Query Language的简称,可以看成是JPA中的HQL, JPQL支持各种复杂查询。
2 检索单个对象
@Test
public void querySingleObject1() {
Query query = em.createQuery("sele
Remove Duplicates from Sorted Array II
hcx2013
remove
Follow up for "Remove Duplicates":What if duplicates are allowed at most twice?
For example,Given sorted array nums = [1,1,1,2,2,3],
Your function should return length
Spring4新特性——Groovy Bean定义DSL
jinnianshilongnian
spring 4
Spring4新特性——泛型限定式依赖注入
Spring4新特性——核心容器的其他改进
Spring4新特性——Web开发的增强
Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC
Spring4新特性——Groovy Bean定义DSL
Spring4新特性——更好的Java泛型操作API
Spring4新
CentOS安装Mysql5.5
liuxingguome
centos
CentOS下以RPM方式安装MySQL5.5
首先卸载系统自带Mysql:
yum remove mysql mysql-server mysql-libs compat-mysql51
rm -rf /var/lib/mysql
rm /etc/my.cnf
查看是否还有mysql软件:
rpm -qa|grep mysql
去http://dev.mysql.c
第14章 工具函数(下)
onestopweb
函数
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
POJ 1050
SaraWon
二维数组子矩阵最大和
POJ ACM第1050题的详细描述,请参照
http://acm.pku.edu.cn/JudgeOnline/problem?id=1050
题目意思:
给定包含有正负整型的二维数组,找出所有子矩阵的和的最大值。
如二维数组
0 -2 -7 0
9 2 -6 2
-4 1 -4 1
-1 8 0 -2
中和最大的子矩阵是
9 2
-4 1
-1 8
且最大和是15
[5]设计模式——单例模式
tsface
java单例设计模式虚拟机
单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点
安全的单例模式:
/*
* @(#)Singleton.java 2014-8-1
*
* Copyright 2014 XXXX, Inc. All rights reserved.
*/
package com.fiberhome.singleton;
Java8全新打造,英语学习supertool
yangshangchuan
javasuperword闭包java8函数式编程
superword是一个Java实现的英文单词分析软件,主要研究英语单词音近形似转化规律、前缀后缀规律、词之间的相似性规律等等。Clean code、Fluent style、Java8 feature: Lambdas, Streams and Functional-style Programming。
升学考试、工作求职、充电提高,都少不了英语的身影,英语对我们来说实在太重要
PAN的大founder(因为后面有一堆小founder),Nir,犹太人。聪明and 很能忽悠。。。但最近做了一件让我很难理解的事情:找了一个大家都觉得如释重负的女朋友。。。我们这些朋友是打心里为那个女孩的父母高兴(庆幸)。。。。。。
一看见GFW三个字,菊花一紧。。。有升级了?
下一代防火墙而已,不是GFW。
PAN我们已经开始使用了,具体怎么用的我不太清楚,network team的事情。但是,我知道的是也划分了好几个zone,然后好像可以按照user id来进行控制,控制你存取哪些resource。
我也有些疑问:
1、这些控制手段其实其他的厂家也在用。没发现新意在何处?
2、kernelchina提到了细粒度检查的必要性问题,我感觉,能做细粒度当然好,但性能能否保证是关键。就好像所谓的match多少次的问题,理想的状态下所有的开发者当然都只想match一次,但现实的诸多环境限制(我不是开发,具体哪些限制我说不上来),导致没见到谁家是真正做到只match一次就可以的。
速度–跑多快
深度–看多细
容量–记多久
可用–多好用
还是用户需求决定努力方向,PAN能在几年前开始如此规划产品,已经非常了不起,估计再过几年很多安全网关要变成它的样子。
DPI还是很必要的,不是所有应用都可以通过DNS来是别的,比如很多P2P应用,基于80的TCP连接不一定是HTTP,也可能是MSN,也可能是QQ,也可能是WEB迅雷。如果只限定端口,则无法区分限制MSN和普通网页应用,此时DPI产生价值。
“对应用识别的粒度倒底有多细?从DNS或者domain name(http协议里面)应该能区分出qq, facebook, twitter等,为什么还需要DPI? 是不是APP-ID可以深入到QQ里面的某一个服务(比如blog,qmail之类的),假如是这样,如此细的控制粒度,管理起来是不是不太方便, app-id的库是不是太大了?如果不是深入到某个服务,那么需要DPI这么复杂的技术吗?
为什么需要细粒度的控制,比如GFW这么粗放的服务(一扫一大片)不也在用吗,也没见有多大的抱怨:)”
DPI不复杂。做细致了,市场可能更宽。
“速度–跑多快
深度–看多细”
这是两个最大的难点,犹如XY两轴。想通吃也可以就看实现的成本是否被市场接受了。
大概就这么理解PAN吧,首席(User-ID)可以用迅雷(App-ID)下载空空(Content-ID)。
楼主点评的里面的app控制粒度上,我了解的,目前基本是控制到app的action,msg/file/video/audio之类。最近的热点是sns的控制,控制其中很多的扩展应用。
如果说content-ID定位到DLP上,国内必然水土不服。考虑实际情况,国内要真的保密,必须从终端软硬件下手,类似的产品和解决方案已经很多。
app-id还是要从application这个角度去理解,什么是application?ftp, http算不算application?显然不是,这只是协议,在这之上才有应用。那么app-id和url filtering又有什么区别?显然url-filtering并没有包含应用的意思,一个app-id可能对应一组url。但问题在于,应用厂商并不告诉你哪些url是一个application。感觉这个和web service api有那么相似的地方,因为一组web service api就对应一组应用,而且是比较固定的。如果只是block qq或者facebook,从ip地址上解决就足够了,就算qq,facebook有N多个地址,但这个N总有个限度,而且不可能经常变化。
还有几个问题
1)是第一个包match policy,还是得到app-id, resource-id, user-id之后再match policy?
如果不是第一个包,那么就意味着要把tcp stream缓存一段,等得到这些id之后,在匹配,可问题是,要缓存多少?http header长度?缓存的包越多,需要的内存就越多,能够支持的最大session数量就越少。在得到app-id, resource-id之前,攻击系统,很可能会导致系统资源耗尽。如果是match第一个包,显然是没法实现PAN描述的功能,有懂行的给解释一下。
2)在得到app-id, user-id, resource-id之前,packet是让通过,还是不通过。如果是不通过,资源是个问题;如果是通过,而后来又block,用户能接受这样的方式吗?(一个reset把网页给断了,不过也可以理解)
3)DPI技术感觉更适合做内容路由,带宽管理之类的应用,做访问控制,从应用角度来看,并不是很好。在网关上做content security,有点别扭。
1)一般厂家都给自己画个标准,要在一个流的Top N个包内解决问题,理论上N越小当然越好。再者,匹配当然不是缓存tcp数据,是缓存一个匹配状态或者一个结尾片段即可,看起来楼主需要研读一下多模式匹配类的算法(AC WM之类),或者是我没看懂你的问题? 到是乱序重组会出现你说的问题,不过那个一般都设定了容忍度,超过多少就释放了。
2) 这个问题看应用场合,如果是类似ips之类的功能,还是要hold一部分包,不然攻击闪避都会成功,如果是traffic shaping之类的目的,应该就不需要了。
3)强烈赞成做应用路由!!!在网关上做全content的重组和检查,例如AV,的确会严重伤害性能,而且也确实不容易做到功能全面,条件限制太多。
NGFW? 深信服类似产品卖好几年了. 性能上应该不如PAN, 但按照国内厂商的进步速度, 赶超是早晚的事.
就是一个简化版本的行为控制
to 13,深信服的“NGFW”还没推出,不过也快了。
这种产品和目前市场上的上网行为管理有什么区别呢?从文章的描述来看,功能重叠很大
看了讨论感觉:
网关是个好地方,只要把数据包抓过来,无论是做ACL、DPI、AV、URL、流控什么都可以。
由此产生的所谓WAF、DDos等新产品类型,其实与防火墙没有本质上的差别。
UTM的发展可以预见两个路线:
一是越来越集成,什么功能都堆在一个设备上;
二是从中细分单一功能,主要强调一个防护特性。
前者针对安全威胁不大,预算有限的用户;后者适合安全等级要求高,预算充足的用户。
to:song
上网行为管理产品还是偏向于管理的,确实如兄台所说,从功能上看是有所重复,但是目的不一样,形成的结果也不一样,按个人的理解,NGFW这种下一代防火墙是为了纯网络安全的需要进行构架和使用的,而上网行为管理说到底还是为了实现管理和上网资源合理利用,不过技术上到是有通用的地方感觉,国内貌似现在还没人做吧?
NGFW这个概念也出来有两年了,没有多大反响。不像当年Fortinet出UTM概念时的阵势。防火墙需要发展,需要下一代,到底什么是下一代? 我感觉PAN这个概念还没有Fortinet往FW上多加功能更切合实际。不过,到底加什么功能是值得商榷的。
NGFW定义中有些概念提的比较超前,不像当时UTM那么平民化又有需求基础,提出来马上就有燎原之势。不过听说今年国内安全媒体貌似都有NGFW的选题,不知出于什么目的。
而且匹配一次也不一定就比匹配多次好,匹配多次可以制定出更灵活的安全策略。一条策略解决所有事情反而比较笨拙。
能讲讲一次匹配怎么回事,多次匹配又怎么回事?一次匹配的问题在于匹配的时机,如果各个条件都准备好了,再匹配,很可能被攻击,所以前端需要一个防攻击的模块;如果是多次匹配,应该会有浪费,因为各个条件是与的关系,逐步缩小匹配的范围是很直观的,但是具体实现的时候怎么做?
PAN的Content-ID主要应该只是用来做IPS、Virus-scan和URL-filtering。内容是如此庞杂,不可能什么都搞。说到底这些也不是啥新鲜玩艺儿。
感觉同学们对DPI的观念不对。
DPI这个东西太重要了,甚至是压倒一切的重要。
其实所有的网络数据都经过了运营商,
不管你是google.还是tencent.
但是运营商为啥没google值钱?因为运营商不能根据数据运营业务。
如果用dpi检测到用户在做某个搜索,上某个网站,做某个业务。
运营商完全可以把住入口,开放平台做业务。
哪运营商就变成网络世界的入口点了,这个价值大去了。
利用DPI做的NGFW,俺觉得就是瞎扯淡。。
理论上是可以做到很精细的控制,
问题是搞这么复杂,只做做用户控制,这不高射炮打蚊子嘛。。
如果不搞那么复杂,又无非是url控制,ips控制,得,又掉utm的坑里面去了。
25楼,你掉到技术思维的坑里了,ngfw啥啥主要还是宣传概念,技术原理大多基本相通,不同概念指导下慢慢发展就有差距了。
运营商通过深入拓展DPI赚钱并不容易,除了技术问题,还有法律问题:是否不经过用户同意和政府法定部门授权,就能查看和利用客户收发的信息?这个基本上是违法的。能否不经过ICP的同意,就在用户访问ICP时,主动insert广告?这个基本也是违法的。客户访问ICP,是客户自愿,ICP提供免费内容,同时也植入广告,无需客户同意。运营商要吃内容这块蛋糕,确实带刺的,看着美味,却不易入口
25楼,你掉到技术思维的坑里了,ngfw啥啥主要还是宣传概念
————————————-
嘿嘿。你这是掉到市场宣传的坑里了。。。
概念炒作是水。核心干货是人参,
都要有点才能煲汤。
莫非你认为放个铁钉+炒作就煲汤了?
同意17楼willchen的看法,用户大概划分两类:1高端:要求功能单一强大和高性能,2中低端:整合的东西越多越好
to 22#
一次匹配看起来简单明了,对什么数据做什么动作。实际上用户的需求并不是这么直接,比如说对一个C类网段做URL防护,只对其中一个地址做流量限制。
PAN是两条安全规则。
普通安全网关是一条URL防护规则,一条流控规则。
无论是PAN还是现在市面流行的防火墙都需要两条规则。NGFW匹配虽然少了一次,但是匹配时规则多了。
我反而觉得把一大堆动作写到一条规则上挺笨的。
很长时间分不清楚NGFW和UTM的区别,因为我一直是在功能上找两者的区别,还是老韩告诉我两者的区别实际上是在实现上。
在我的角度看,NGFW纯粹是圈内人自己和自己玩的概念,很难和客户讲清楚其与UTM的区别。就算讲清楚了,客户也可能说一句,就是性能稍微好一点的UTM是吧,你就直接无语了。
UTM=FW+IPS+AV
NGFW=FW+DPI+ID?
to:理客
事实上运营商早就已经通过DPI技术赚钱了。目前我知道的就包括广告推送、欠费提醒、用户行为分析、流量控制等。三大运营商无一例外。
to willchen:
大体怎样做广告和流控?这决定着否有法律风险,当然,国内是可以暂时不管这个风险的,但是一旦做大,及时在国内,也可能会有麻烦,毕竟知道法律的人越来越多
具体的不是我部门负责。但我知道我们产品的这些功能都是应这几个用户需要提供的。
这决定着否有法律风险
——————-
英国BT做过DPI,后来因为法律原因停掉了。
DPI的数据分析不只是做广告这么简单。
百度就无耻的根据搜索结果推出业务,
这种业务反应太及时,对用户把握太准确了。
大体怎样做广告和流控
——————-
比如对运营商痛恨的bt和voip,
检测到包之后,
设定一定的丢包比例和随机扰乱,
使用这种业务的用户马上大比例下降。
这个是违法的,在发达国家基本上不允许。当然发达国家法律也有运营商的好处,比如北欧法律上直接禁止了bt,也就不需要再费劲做bt流量的DPI了
防火墙的作用:
1,网络连接,VPN访问
2, NAT资源分配
3,接口带宽分配
4,限制内外非法访问
5,限制敏感内容进出,记录用户行为活动
6,保护内网用户机器安全,不中木马病毒
7,防DoS类和服务类攻击
8,防泄漏
9,其它
P一提出NGFW,F就笑了,不是一脱就灵的。
不过说句公道话,之所以有些人接受这个概念,也是因为UTM太不中用了,CHANGE ,CHANGE,CHANGE !
但借CHANGE之名登上舞台的NGFW又开始让人失望了
创新在哪儿?
企业级防火墙的最终服务对象是内网众多员工机器和企业资产,不是网络管理员
NGFW这个模糊概念带来的价值对内部员工机器和企业资产的安全都称不上创新
很简单,创新的价值在于,
1,产品使用成本显著下降
2,最终客户使用方式的简便化
3,客户需要的功能与效用,别人做不到,我能提供
4,老的技术,运用到了新地方
5,其它
P的产品在安全防范方面目前实在是没有找到可称许的创新之处。
现在很多防火墙公司的产品实在跟安全的关系不大,起作用的是安全接入和有限资源分配的功能,可能有一大堆安全控制扫描的装置,但菜鸟级hacker都能绕过。
antic 把防火墙的功能放的太大了,按照这个有几个能叫防火墙的?
firewall的基本功能是访问控制,以前是基于四层的信息,现在是基于七层的信息,不过基于七层,如果漏网了,就是大问题,说明这个系统不是100%可用,这个是没法接受的。
其实基于七层的东东早都有,也就是ALG,但过去是只能基于Port识别协议,其控制也是基于标准协议的。
而现在是通过协议解析引擎来深度识别,深度的内容控制。
这个其实也早都有,“所谓的NGFW”无非就是把这些自然的整合起来,而不是集成起来。
我的一些猜测:PAN强的是Mgt Platform。至于AppID的实现是用一个Session,还是N个session。其实不重要。重要的是:要让IT的人感觉有一App ID的policy。。。
就像电影Matrix。让人感觉自己是个人。但其实是被营养液养着的:-)。
所以,网络安全的本质不是安全,而是让人(IT Department)觉得安全。。。。。。
首席的思路在销售、市场的产品需求引导思路里面倒是很常见哈,个人的安全、部门的安全乃至公司信息化的安全。
从流量控制角度看,paloalto识别正常应用屏蔽不正常的,目前ips则是识别和屏蔽不正常的应用而让其他应用通过,两者处理方法不一样,paloalto会很不轻松啊。
刚才没事儿又看了一下paloalto的彩页。号称防病毒、IPS、URL过滤并行处理?而后面的指标又没有防病毒的性能指标和具体病毒库大小。是否也为了与UTM竞争而不得不提也能防病毒?如果能做防病毒,按照现在的架构怎么做到的?很疑惑。。。
UTM中基于流的病毒检测,哪位能帮忙解释一下proxy模式的检测原理。另外基于包的检测能介绍一下吗,找不到相关资料,谢谢
顶楼上。每次研发说到这儿的时候都是糊弄,就没给我整明白过。前两天看了一下飞塔的网页,那高指标真是把我震撼了。但网页上也没整明白为啥这么高指标。
基于流。基于包做病毒检测。。
整个不可行,吹吹而已。
基于流做病毒检测,我记得好像是采用特征匹配,速度虽然快点,但远不如proxy效果好
基于流的监测当然可以做了,但就是有可能误判.
难点就在要做好基于统计的数学模型
大家散了吧,NGFW上最好还是别放AV,否则自己找不痛快。
mark
这篇文章对PAN的理解太浅了
不是非要Chassis-Based的硬件才是好的硬件,企业级市场对成本压力是很大的,产品线要长而密。
PAN的硬件还是有领先性的,控制平面、模式匹配、数据平面都有不同的硬件主体,而且还形成了小到桌面级、大到大企业级的产品线。
不过PAN的软件能力不是他吹的那么神。做为安全网关功能方面,那是有很多能力不足的,相比Checkpoint、SonicWall还有差距。
但是做为创业型公司,瞄准的NGFW是正确的方向,发力也很有效,营销是成功的!
控制平面、数据平面有不同的硬件主体?用ASIC或FPGA了么?
模式匹配是自己的芯片?否则何谈硬件领先性?买块芯片不就OK了?
SonicWall?一直做低端的,够份拿出来说事么?
PAN的做法是:x86跑控制平面、Cavium跑数据平面、NP跑路由计算、FPGA跑模式匹配(AV/IPS)
就现在看UTM厂商,FPGA能跑AV/IPS模式匹配的厂商还是不多的,至少国内,寥寥无几。国内厂商用FPGA主要是跑FW的快速转发,例如Topsec的猎豹
SonicWall的高端已经很出众了,他的SuperMassive E10800能实现4U高度中支持8块MIPS业务板(Cavium 12核),这个硬件在IT和CT融合领域中,已经是最高端产品了。
为什么单独有x86跑MP?MP的业务量多么?如果多的话,那么必然和DP的通信量大啊?这样性能依然发挥不出来啊?难道他们把IPS或者AV交给x86处理?
你说的那个跑路由计算的NP是神马东东?
那个模式匹配芯片是有第三方做的,并不不需要自己设计,它的通用性很高,类似于加密芯片,不需要自己设计。IPS,AV,只要用正则表达式,都可以用这个加速芯片,没啥技术含量。
真糟糕……我的NGFW专题框架已经修改7次了,好不容易感觉稳定下来可以写了,把弯曲上关于NGFW的文章评论打开看了一遍就又动摇了
做技术媒体要做好真的很难,和八卦新闻要舍得脸皮明暗黑白死缠的辛苦完全不同,你和大荣做得不易
做研发的最郁闷就是,好容易做出来的性能,实际项目中不能控标。前端叫嚣着:给我更多的证书,给我更多的端口,我就能控制一切!(玩笑)
能否控标,更多是销售的水平
企业级的,白菜一样的价格;有啥价值拿出来讨论。
还是多关注运营商的需求!
什么下一代防火墙,现在大多防火墙都不这样 吗?
天外有天,方便的话能否留一下联系方式
现在的防火墙哪里不好?下一代防火墙基本上就是扯淡
我错了,也许不是扯淡
Each vendor has its own approach to building application awareness into a firewall. SearchNetworking.com asked each of the leading firewall vendors to explain how their next-generation firewalls differ from the competition. Here is what we learned.
• Astaro uses an application signature database from its partner Vineyard Networks to deliver application awareness to its Astaro Security Gateway. Through this partnership, Astaro’s firewall can distinguish different applications running from the same website and apply Quality of Service options to prioritize and allocate bandwidth to these applications. The latest version of Astaro Security Gateway enhances the presentation of this information to the firewall administrator. It offers a network-wide view that allows administrators to quickly define security polices based on the real-time situations. The key, according to Astaro, is to enable IT to react to new threats by seeing what is happening and fine tuning the firewall quickly and easily.
Astaro is also focused on identifying new, unknown application types as soon as new applications start hitting customer networks. Planned for an upcoming release, the system would allow administrators to opt-in and anonymously submit unknown packet types for review by Astaro engineers. The company will use the compiled data to identify these applications and add them to the signature database.
• Check Point Software has developed the AppWiki application library, which the company claims can identify over 5,000 applications and 100,000 social networking widgets. These application signatures are pulled into the company’s Check Point Application Control and Identity Awareness Software Blades. The software also integrates with Active Directory to identity the user and endpoint, allowing administrators to customize granular security policies. Check Point also offers the ability to educate users in real time. Agent software on the user’s PC, UserCheck, will pop up a window when the user violates security policy. The window explains the violation and guides users through remediation. This software also lets users provide feedback to administrators, streamlining the process of customizing security policies in response to user needs.
• Cisco Systems has announced plans to add new levels of application visibility into its Adaptive Security Appliance (ASA), as part of its new SecureX security architecture. Cisco claims that this new architecture will not only address application awareness, but also user and device identification, as it rolls out features throughout 2011. Details on how Cisco acquires that application visibility remain sketchy for now.
• The application control functions of Fortinet’s FortiGate devices use protocol decoders and decryption of network traffic to identify applications. The company’s FortiGuard Labs team maintains an application signature database, adding signatures for new applications as well as updating signatures for new versions of existing applications. The application database enables Fortinet’s products to separate disparate applications from a single site, such as Facebook or Google, and allows separate policies for each. Fortinet claims that its products have a performance and integration advantage over its competitors because all of its technologies are developed in-house.
• Juniper Networks uses a suite of software products, known as AppSecure, to deliver next-generation firewall capabilities to its SRX Services Gateway. The application-aware component, known as AppTrack, provides visibility into the network based on Juniper’s signature database as well as custom application signatures created by enterprise administrators. With AppTrack providing visibility, the AppFirewall and AppQoS components of the suite provide the policy enforcement and traffic control of the applications. Juniper also claims a high level of scalability in its platform, with the ability to deliver application protection at up to 100 Gbps speeds.
• McAfee, recently acquired by Intel, uses its McAfee AppPrism technology for application discovery and awareness in McAfee Firewall Enterprise. AppPrism identifies thousands of applications, regardless of port or protocol, backed by application signatures developed in-house by McAfee’s own Global Threat Intelligence team, the company claims. AppPrism also provides a high level of application control, allowing administrators to disable just the riskier portions of an application. For example, administrators can use the technology to block the file sharing capabilities of an instant messaging application without blocking a user’s ability to chat. McAfee claims its next-generation firewall has an edge because its application-awareness technology is a core part of its firewall architecture and all components, including application signatures, all of which are internally developed.
• Palo Alto Networks says it was the first vendor to deliver next-generation firewalls and the first to replace port-based traffic classification with application awareness. The company’s products are based on a classification engine known as App-ID. App-ID identifies applications using several techniques, including decryption, detection, decoding, signatures and heuristics. Individual App-IDs for a given application can rely on any combination of these techniques in a single bundle, allowing the engine to identify all versions of an application, as well as all of the platforms the application runs on. App-ID, as the core of Palo Alto’s firewalls, is always running, so it can identify when an application performs a function, such as a file transfer, and it can apply policy to that specific function. The company also notes that App-ID is extensible, so that as new techniques become available, they can be incorporated into the classification engine.
看这份介绍,除了Cisco、PaloAlto,其他确实是扯谈。
另外:Cisco对“new SecureX security architecture”,提到了“Cisco claims that this new architecture will not only address application awareness”
谁能仔细讲讲SecureX还能感知什么?怎么应用的?
43楼,首席评价的太到位了吧,哈哈!
我提个议题,用lua来做DPI,大家说怎么样?正则表达式毕竟太过粗糙啊。
有gfw的存在,运营商去做内容控制也不是不可以有啊,上面的事说不清的,传统防火墙的意义是什么?够用吗?别说有多少企业用防火墙了,就规则能配对的有多少?ngfw早晚的事。03年左右国内搞防火墙的就搞过一次,结果都搞失败了。看了上面评论多数人理解是错误的,内容控制验证不是为了对付那些懂技术的,毕竟不懂技术的人占得比例才是大头。这个盘子大的很,如果运营商来搞,比手机市场的油水也不多让。我家里有小孩,为他上网开得adsl,我只希望他访问xxxx,我自己再买个防火墙划算还是我多掏点钱从运营商那里买服务划算?PaloAlto只是不了解国情,运营商没想着赚这个钱罢了。
to:playmud
你说的对小孩的上网行为管理,国内运营商已经在做了。比如北京联通。你可以搜一下“北京联通 绿色上网”。但是推广的不好。
to:playmud
你说的对小孩的上网行为管理,国内运营商已经在做了。比如北京联通的绿色上网。但是推广的不好。
PA-500光硬件就要5万RMB,还不包含license(也就是ips,av,web filer等业务午饭实用),小包性能500M,UTM性能250Mbps。
PA-4000/5000估计要四五十万。
to 72:据说俄罗斯也在推绿色上网,我觉得这东西集成到360里面比较好。DPI引擎每次查询都要到远程服务器请求(当然本地有cache)。
to 74,DPI引擎每次查询到远程服务器请求是指什么,那DPI到底是在运营商做还是在本地电脑做,怎么做。。搞不懂
to:freshfruit
这东西360是不会做的。如果做了,就好像绿坝,孩子总会想办法删除或者屏蔽。对于360来说不值得。
to:dat
DPI引擎每次查询远程服务器,74楼的意思可能是指远程要有一个规则库,如URL分类库等。这个库随时更新,DPI引擎每次接到新的连接请求就要和库匹配。
一般来说,这个库都比较大,而且更新频率高。所以无论是放在运营商还是在本地电脑,都不会在本地放这个库。都是有个链接去实时查询的。
willchen,多谢,不过如果真是这样做的话DPI引擎需要放到接入层还是核心网一层,相对应的要在metro switch还是core router上(或之前)加个防火墙么,而且这么大带宽的检测对于目前的防火墙来说是否处理的过来,另外每个用户对规则库的需要可能是不同的,不能一刀切,这样管理起来又很困难,所以个人觉得技术上实现比较困难,运营商估计也不会花这样的代价投资。
to:dat
一般的做法是在接入层做,先引流再做分析。运营商层面,这么大流量都不是用防火墙做了。这种产品能做到的确实很少,我知道单台设备可以处理的最大流量是40G。至于品牌和怎么做到的,限于商业秘密,和广告之嫌,就不说了。
深信服的NGFW就是新一带的fw,可以基于应用进行控制,相对于传统的上网行为管理更是添加了waf+ips这样的强大功能。
to 79:深信服有NGFW么。。。深信服的行为管理就是UTM做了一半,改造的,新出的AF依然是UTM,而且性能不咋地。深信服可取之处在于思路“针对应用”,至于产品本身,确实都不怎么样。
深信服为何把waf放在这产品,网关和服务器前端市场通吃?