首页 文章 精选 留言 我的

精选列表

搜索[质量保障],共10002篇文章
优秀的个人博客,低调大师

长周期爬虫的数据一致性:断点续爬 + 事务回滚保障采集质量

一、重新定义问题:爬虫是一类有状态的流处理任务长周期爬虫(任务跨度数天、采集千万级页面)在工程上不应被当成"脚本",而应被建模为一条有状态的流处理管道:待爬 URL 是输入流,落库记录是副作用(side effect),采集进度是消费位点(offset)。一旦这样抽象,文章标题背后的真问题就浮现了——在「消费输入」与「产生副作用」两个动作之间,如何让进度推进与数据写入保持原子?这正是 Kafka 消费者 exactly-once 语义的经典难题:若先提交 offset 再写库,崩溃会漏采;若先写库再提交 offset,崩溃会重采。长周期爬虫的"脏数据"全部源于这个原子性鸿沟。本文给出一套不依赖特定厂商、可在任意 RDBMS 上落地的解决模型。二、从投递语义看本质消息系统有三类投递语义,映射到爬虫:at-most-once:写库失败不重试 → 漏采,不可接受。at-least-once:重试到底 → 重采,是爬虫的宿命语义,因为网络天然不可靠。exactly-once:理想态,现实中等价于 "at-least-once + 幂等收敛"。结论先行:不要追求真正的 exactly-once(需分布式事务,代价过高),而是接受 at-least-once,用幂等键把重复副作用收敛为有效一次(effectively-once)。这是整套设计的第一性原理。三、不一致的三个来源(精确表述)

优秀的个人博客,低调大师

大模型全链路保障体系:从灰度迭代到降级回滚,覆盖质量、成本、数据安全流程管控23.5

现在大模型已经不再是单纯的Demo演示、学术实验,而是真正落地到智能客服、内容生成、代码辅助、数据分析、AI推理服务等核心业务场景。但很多团队在落地过程中,都会遇到一个共性难题:大模型上线后黑盒化严重,不知道模型效果是否达标、推理链路是否异常、资源成本是否浪费,更无法精准应对数据泄露、服务雪崩、迭代翻车等问题。

优秀的个人博客,低调大师

物联网时代如何保障数据安全

物联网(IoT)将会影响你的数据中心安全的战略。即使企业没有收集消费者的物联网数据,IoT设备仍然有可能会连接到你的企业数据中心,影响企业的数据安全,下面让我们来看看物联网带来安全问题。 加密与安全的数据中心 设备通常处于劣势时,在默认情况下它们不会加密数据。IoT制造商通常会避免添加加密等功能,这对数据中心的安全性带来严重的影响。很多时候,IoT制造商会认为从其设备收集的数据是低价值的数据,从而他们可以避免部署安全控制。 恶意物联网(IOT)用户 内部恶意IoT用户,企业需要书面政策来规定IoT的使用,还要有成熟的程序来保护对IoT设备的物理访问。避免用户有意执行恶意活动的条件,而不能对系统执行任何破坏性操作。 合规性 合规性是很重要的话题,特别是如果你的企业在受监管的行业,例如能源、健康或支付卡处理。企业应该制定专门适用于其特定IoT环境的政策。而不是采用工作人员无法通过收集系统数据验证的做法。 根据有关权威调查,到2020年将有200亿设备连接互联网,这是目前数据的四倍多。现在企业应该开始做好准备以确保数据中心的安全。 作者:陈杰 来源:51CTO

优秀的个人博客,低调大师

没有安全保障 物联网如何起飞?

刚刚结束的CES大会向我们展示了什么叫做“互联生活”,从三星可以直接网购的智能冰箱,再到各式免钥匙的电子锁,物联网为我们勾画的是一个更方便、更智能、更人性化的时代,但是为什么罕有人提及它的安全性呢? 当以隐私至上的美国婚外交友平台Ashley Madison被黑客攻击,3700万用户的个人资料被泄露,是否有人想过,未来的黑客也能如此轻易地打开你的冰箱、你的监控头、甚至你的家门。如果你真的为此忧虑,那么对于这些智能电器厂商来说,这无疑是一个坏消息。 “(担心数据安全)是消费者接受新技术的潜在障碍”,咨询机构Accenture传播媒体及科技实践部门负责人John Curran如是称。 在Accenture近期的一项调查中研究人员发现,在针对全球28个国家的28000名受访者中,近50%的人在回答“为何排斥物联网设备”时,提及次数最多的就属“安全顾虑”以及“隐私风险”,而这里的“物联网设备”概念覆盖范围之广,除了家电还包括了智能手表等常见智能产品。鉴于此,John Curran认为,想要真正打开物联网市场,必须能说服多数消费者相信这些设备可以确保他们的隐私数据安全。 “人们还没有准备好” 对此,黑莓CEO程守宗曾经表示,吸引消费者是科技提供者的“义务”,如果用户存在某种担忧,就应当为之消除顾虑。举例来说,为了解决用户对数据安全的顾虑,黑莓Priv中特意增加了信息分享控制功能。 然而,信任感也是需要一步步搭建的。“如果你不能相信(你的智能设备),那你就无法使用任何东西了”,婴儿智能设备厂商Hatch Baby联合创始人兼CEO Ann Crady Weiss如是认为。至于稍微极端一些的设备,诸如宠物类智能设备,尽管这些看似无害,但事实上它们也的确是在一直追踪并传输数据的。 此外,技术的提升也能大幅提高数据安全性。以车联网为例,相比于最新版,旧款以及老版系统都更容易在公共Wi-Fi系统下遭到黑客攻击。据了解,目前美国多数汽车可与AT&T联网,而此举能进一步降低黑客借助公共网络对用户数据进行攻击。 给用户选择“连入”的机会,这是赢得消费者信任的关键。消费者愿意以“出卖”某些数据为代价,所求的是某种便捷——用自己的汽车定位可以提升整个城市的交通管理吗?提交他们的浏览器崩溃记录能让以后的使用体验升级吗?没有真实的便捷,消费者不会愚蠢地一直选择相信,“只有当他们找到了理由,他们才能会理解”。 但在这场博弈中,消费者不是也不应是那个被动的一方,正如某些业内人士所言:“哪些数据真是我自己的,这是由你来决定的”。 本文转自d1net(转载)

优秀的个人博客,低调大师

改善Java代码质量的

1.命名规范: 包名全小写,类名首字母大写,常量全部大写并用下划线分割,变量采用驼峰命名的方法。注意对于O这个容易混淆要加注释 包名如 com.user 类名如Test 常量如RAND_CONST 变量如 String userPhone public class Test4 { public static void main(String[] args){ long i=1l; System.out.println(i+i); } } 这段代码很好的说明问题 2.在定义常量时,一定要确定的定义一个不变量 publicstaticfinalint RAND_CONST =new Random().nextInt();这个显然是错的,就不是一个确定的常量, publicstaticfinalint RAND_CONST = 5;这是对的。 3.三元操作符的类型要一致 你很少用三元操作符吧,我也很少用,三元操作符是if-else的简化方法,是OneLine表现,它的性能优于if-else, int i=80; Strings = String.valueOf(i<100?90:100)这个是对的,类型一致都是int类型 Strings1=String.valueOf(i<100?90:100.0)这个是错的,100.0是浮点型了和90类型不一致 4.避免带有变长参数的方法重载 publicvoidcalPrice(int price,int... discounts){ float knockdownPrice = price; for(int discount:discounts){ knockdownPrice =knockdownPrice*dicount/100; } } 避免方法名和参数与这个一样 变长参数没用过吧,我也没用过,变长参数是对于可能传入多个值的一种灵活性,那个可变的参数注意要放在参数末尾啊, 并且一个方法只有一个变长参数 5.别让null和空值威胁到变长方法 如果要传个空值到变长方法的那个参数 注意了,空值的类型要给它定义好,因为不传类型的调用者会猜测这个值是什么类型,可能导致内部逻辑乱 如果它是String类型的话,就传个String类型的空值给它 如 String[] strs = null; client.methodA("China",strs); 6.覆盖变长方法也要循规蹈矩,这个我直接没理解,用的不多 7.警惕自增的陷阱,这个就简单了,好好写代码,就不会遇到 count=count++; 如果count初值是0,那么不论条件如何都是0,因为正规的写法是这个count++; 解释一下:count++是个表达式,是有返回值的,它的返回值是自加前的返回值,Java对自加是这样处理的是首先把count拷贝到 一个临时变量区,然后加1,最后返回临时变量区的值。 说了一大堆,注意写代码时规范就行了 8.不要旧语法困扰你,遇到了,就查查别纠结 9.少用静态导入 这个主要是为了阅读代码和维护方便,你引入的太多了,阅读麻烦,不利于维护 10.不要在本类中覆盖静态导入的变量和方法 就是你用的静态类,你在命名时别命名相同了,不然就会错 11.你要序列化的话,那个UID你可千万别随手删了,那个保证是同一个对象的, 12.避免用序列化类在构造方法中为不变量赋值, 如:public Person(){ name="ss"; }这是错的 因为反序列化时,构造函数不会执行 13.避免为final变量复杂赋值,这个是你老老实实用一句话搞定,别玩太多花样没事。 持续更新中。。。。。。

资源下载

更多资源
Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册