首页 文章 精选 留言 我的

精选列表

搜索[测试人员],共10015篇文章
优秀的个人博客,低调大师

优秀的Java开发人员只能待在底层吗?

很多人做Java开发2,3年后,都会感觉自己遇到瓶颈。什么都会又什么都不会,如何改变困境,为什么很多人写了7,8年还是一个码农,工作中太多被动是因为不懂底层原理。公司的工作节奏又比较快,难有机会学习架构原理,也没人教,所以这个时候,学习架构原理,扩展思维,对自己以后职业生涯尤为重要。 同样公司的两个新人,一个新人一点就通,学东西很快,有的人,学东西很慢,也很痛苦,处处都是新技术。 同样进公司三年,别人月薪从8K涨到了28K 为什么? 因为那个人懂原理,万物都有规律,掌握了规律学其他东西原理相通,一触就会,不懂原理就会处处碰壁,学习很慢还很折磨。 很多程序员会有一个苦恼,工作了很久,在公司一味的增删改查,得不到技术的提高,无缘底层代码,只会用不知其原理! 下面推荐大家这套架构的内容脑图,涵盖了当下主流技术... 架构筑基篇 深入内核,直击故障,拒绝蒙圈 开源框架解析篇 站在巨人肩膀,收获不一样的视野 高性能架构篇 成为互联网架构师,你要的都在这里 微服务架构篇 你还不知道微服务?那怎么加(zhuang)薪(bi) 团队协作开发篇 让你的团队开发效率提高十倍 B2C商城项目实战 撸起袖子干实事,项目经验那点事 最后给大家一个惊喜,现在对本公众号粉丝开放资源免费领取(300名),需要高清架构脑图,架构资源,想要提升技术的朋友~ 欢迎加入Java填坑之路:860113481获取免费架构资源!

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

研究人员成功从地面入侵飞行中的飞机

4年前,Ruben Santamarta 携其卫星设备重要漏洞发现震惊安全世界。飞机、轮船、军事行动和工业设施的卫星通信可被劫持或中断的事实令人背后发寒。如今,Santamarta通过从地面黑进飞行中飞机的WiFi网络及卫星通信设备,证明了这些漏洞,并将自己的研究带到了令人恐惧的程度。 “据我所知,我应该是第一个证明有可能从地面黑进飞行中飞机的通信设备的人。” 他进入了机上WiFi网络,访问到了包括乘客互联网活动在内的通信内容,还取得了机上卫星通信设备的权限——所有这些都是他之前的研究中总结但未证明可行的。另外,新研究还触及了机上重要通信设施。 以上就是Santamarta在黑客大会演讲前愿意透露的相关内容。黑客大会时,他将演示自己是怎么获取到飞机及机上卫星通信设备权限的,将向人们展示卫星通信装置是怎么被武器化成无线电工具的,而这些最终都会对飞机构成安全威胁。 Santamarta之前的飞机网络黑客研究工作遭遇了一些质疑。“每个人都告诉我们这是不可能的。但事实上,这是可行的。我们现在就手握证明,也会将证明摆到大众眼前。” 他说自己用类似的卫星通信黑客技术锁定了暴露在互联网上的冲突地区多个北约军事设施,并用同样的方法黑进了海面上的舰艇。相关细节在黑客大会的演讲中都有包含。 毫不令人意外,与该研究相关的漏洞披露过程是极端敏感的。Santamarta联系了受影响的各方,确保自己的黑客活动不会让任何人处于切实危险之中。他认为,自己的研究促进了安全。 安全漏洞 2014年的研究中,Santamarta提交的报告阐述了利用流行卫星地面终端设备固件漏洞发起攻击的几个可能场景。 Ruben Santamarta 他最近的研究分析的是其他卫星通信系统和基础设施,并发现了工业物联网缺陷的常见怀疑对象:后门、不安全协议、硬编码凭证、缓冲区溢出、代码注入和暴露在网上的服务。 他表示,这些漏洞让我们得以控制这些设备,让任何人都能访问卫星服务。 我们可以利用卫星通信设备执行网络-物理攻击。 但与Santamarta之前的研究类似,受影响厂商和服务提供商并非都有现成的安全漏洞补丁。“关键的东西大体上都被修复了,但还有其他严重漏洞存在,这依然是个问题。” 当前的卫星通信环境就是一团糟。这也是我们将演讲定名为“卫星通信安全最终呼吁”的原因之一。我在这一领域看到的一切真的很是令我担忧。 Santamarta拒绝谈论利用自己的飞机黑客方法可以造成多大的破坏,称:“这需要谨慎地加以解释,我们已经有了足以支持我们论点的所有技术细节。不是什么世界末日,但确实有些场景是可能发生的。” 2014年的研究中,Santamarta发现某飞行中飞机的WiFi网络可以通过该WiFi网络上的脆弱 Cobham AVIATOR 700 卫星终端进行攻击。攻击者能利用该终端的弱口令重置功能、硬编码凭证或不安全协议取得卫星数据单元(Satellite Data Unit)或迅捷宽带单元(SwiftBroadband Unit)接口的控制权。 2014年的研究论文中写道:“更具体讲,一次成功的攻击可侵害未来导航系统(FANS)、管制员及飞行员数据链通信(CPDLC)或飞机通信寻址与报告系统(ACARS)所用的卫星连接信道。这些子系统发生故障就会给整个飞机带来安全威胁。” Santamarta的新研究阐述了攻击者滥用卫星通信和其他设备漏洞的方法。他说自己发现了多家航空公司“暴露”出来的飞机,但研究视线只集中在了其中一些上。 这些都是真实案例,不再是理论上的场景。我们利用这些卫星通信设备中的漏洞将设备变成了武器,可以触发网络-物理后果的那种。 已知飞机黑客研究项目还有另外2个,但这两个都不能像Santamarta一样从地面黑进飞行中的飞机。一个是2015年5月的一个争议性事件,安全研究员 Chris Roberts 被FBI起诉在飞机上通过WiFi网络黑进了飞机的控制系统,导致飞机短时爬升、横移和倾斜。当时Roberts称FBI对其实验的评估太过严重,后来也有报道称对他的指控被撤销了。 2017年美国国土安全部一名官员在卫星会议上透露,他的团队用无线电通信远程黑进了一架停放于新泽西州大西洋城机场的波音757飞机。 原文发布时间为:2018-06-8 本文来自云栖社区合作伙伴“安全牛”,了解相关信息可以关注“安全牛”。

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

运维人员使用wireshark抓包详细图文教程

wireshark是非常流行的网络封包分析软件,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。使用wireshark的人必须了解网络协议,否则就看不懂wireshark了。 为了安全考虑,wireshark只能查看封包,而不能修改封包的内容,或者发送封包。 wireshark能获取HTTP,也能获取HTTPS,但是不能解密HTTPS,所以wireshark看不懂HTTPS中的内容,总结,如果是处理HTTP,HTTPS 还是用Fiddler,其他协议比如TCP,UDP 就用wireshark. Wireshark(网络嗅探抓包工具) v1.4.9 中文版(包含中文手册+主界面的操作菜单)评分: 2.7 类别: 远程监控 大小:22M 语言: 中文 查看详细信息 >> wireshark 开始抓包 开始界面 wireshark是捕获机器上的某一块网卡的网络包,当你的机器上有多块网卡的时候,你需要选择一个网卡。 点击Caputre->Interfaces.. 出现下面对话框,选择正确的网卡。然后点击"Start"按钮, 开始抓包 Wireshark 窗口介绍 WireShark 主要分为这几个界面 1. Display Filter(显示过滤器), 用于过滤 2. Packet List Pane(封包列表), 显示捕获到的封包, 有源地址和目标地址,端口号。 颜色不同,代表 3. Packet Details Pane(封包详细信息), 显示封包中的字段 4. Dissector Pane(16进制数据) 5. Miscellanous(地址栏,杂项) 第2页 Wireshark 显示过滤 使用过滤是非常重要的, 初学者使用wireshark时,将会得到大量的冗余信息,在几千甚至几万条记录中,以至于很难找到自己需要的部分。搞得晕头转向。 过滤器会帮助我们在大量的数据中迅速找到我们需要的信息。 过滤器有两种, 一种是显示过滤器,就是主界面上那个,用来在捕获的记录中找到所需要的记录 一种是捕获过滤器,用来过滤捕获的封包,以免捕获太多的记录。 在Capture -> Capture Filters 中设置 保存过滤 在Filter栏上,填好Filter的表达式后,点击Save按钮, 取个名字。比如"Filter 102", Filter栏上就多了个"Filter 102" 的按钮。 过滤表达式的规则 表达式规则 1. 协议过滤 比如TCP,只显示TCP协议。 2. IP 过滤 比如 ip.src ==192.168.1.102 显示源地址为192.168.1.102, ip.dst==192.168.1.102, 目标地址为192.168.1.102 3. 端口过滤 tcp.port ==80, 端口为80的 tcp.srcport == 80, 只显示TCP协议的愿端口为80的。 4. Http模式过滤 http.request.method=="GET", 只显示HTTP GET方法的。 5. 逻辑运算符为 AND/ OR 常用的过滤表达式 过滤表达式 用途 http 只查看HTTP协议的记录 ip.src ==192.168.1.102 or ip.dst==192.168.1.102 源地址或者目标地址是192.168.1.102 封包列表(Packet List Pane) 封包列表的面板中显示,编号,时间戳,源地址,目标地址,协议,长度,以及封包信息。 你可以看到不同的协议用了不同的颜色显示。 你也可以修改这些显示颜色的规则, View ->Coloring Rules. 封包详细信息 (Packet Details Pane) 这个面板是我们最重要的,用来查看协议中的每一个字段。 各行信息分别为 Frame:物理层的数据帧概况 EthernetII:数据链路层以太网帧头部信息 Internet Protocol Version 4:互联网层IP包头部信息 Transmission Control Protocol:传输层T的数据段头部信息,此处是TCP Hypertext Transfer Protocol:应用层的信息,此处是HTTP协议 第3页 wireshark与对应的OSI七层模型 TCP包的具体内容 从下图可以看到wireshark捕获到的TCP包中的每个字段。 第4页 实例分析TCP三次握手过程 看到这, 基本上对wireshak有了初步了解, 现在我们看一个TCP三次握手的实例 三次握手过程为 这图我都看过很多遍了, 这次我们用wireshark实际分析下三次握手的过程。 打开wireshark, 打开浏览器输入http://www.cr173.com 在wireshark中输入http过滤, 然后选中GET /tankxiao HTTP/1.1的那条记录,右键然后点击"Follow TCP Stream", 这样做的目的是为了得到与浏览器打开网站相关的数据包,将得到如下图 图中可以看到wireshark截获到了三次握手的三个数据包。第四个包才是HTTP的, 这说明HTTP的确是使用TCP建立连接的。 第一次握手数据包 客户端发送一个TCP,标志位为SYN,序列号为0, 代表客户端请求建立连接。 如下图 第二次握手的数据包 服务器发回确认包, 标志位为 SYN,ACK. 将确认序号(Acknowledgement Number)设置为客户的I S N加1以.即0+1=1, 如下图 第三次握手的数据包 客户端再次发送确认包(ACK) SYN标志位为0,ACK标志位为1.并且把服务器发来ACK的序号字段+1,放在确定字段中发送给对方.并且在数据段放写ISN的+1, 如下图: 就这样通过了TCP三次握手,建立了连接

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

.NET Framework 开发人员指南——如何:提高性能

MSDN仍然是最全面的知识库。 今天编写一个.NET CF 下的程序,为了尽可能的提高程序的性能,又搜索了到下面这篇文档,其实,微软告诉了我们很多有效的技巧。 温故而知新啊! 如何:提高性能 以下编程做法可以节省内存和改善设备应用程序的性能。 使用 Windows 窗体和图形节省内存 对提供BeginUpdate和EndUpdate方法的控件使用这两种方法,提供这两种方法的控件包括ComboBox、ListBox、ListView、ToolStripComboBox和TreeView。 重新定位控件时,使用SuspendLayout和ResumeLayout方法。 在后台加载其他窗体,使用数据来填充控件,然后再使用Show方法。 将事件处理代码限制为仅执行重要任务,以便挂起过程可以继续。 使用脱屏位图。有关示例,请参见如何:绘制后台图像。 重写控件上的OnKeyDown、OnKeyPress和OnKeyUp方法,而不是添加按键事件处理程序。 使用数据和字符串节省内存 在for循环中使用整数变量(Int32或Int64),而不使用对象变量。 避免使用枚举的ToString方法,因为它会搜索元数据表,从而影响性能。 避免OutOfMemoryException错误。如果没有足够的内存分配给内部使用或分配给新对象实例,公共语言运行库可能会引发此异常。要避免此异常,应避免编写占用 64K 或更多内存的大方法。 移除 System.SR.dll,它包含异常对话框的错误信息字符串。部署应用程序时可以不使用此文件,从而节省内存。如果存在System.SR.dll,则 .NET Compact Framework 将动态加载 System.SR.dll 中包含的错误字符串。 如果设备中不存在此 .dll 文件,则所有异常都包含消息“无法加载资源程序集”。不过,在开发期间将 System.SR.dll 引用添加到 Microsoft Visual Studio 2005 项目中总是有用的,因为这样您将看到有意义的异常。 字符串是不可变的,因此,每次修改该字符串时都会创建新的String对象。构造需经常修改的字符串时,请考虑使用StringBuilder。 如果您知道用于DateTime序列化的确切格式,请为DateTime使用ParseExact方法。否则,DateTime分析器将按顺序尝试应用多个特定于区域性的格式。 限制打开SqlCeCommand对象的数量,并在完成后释放它们。 与本机代码进行交互时节省内存 在平台调用操作中,使用可直接复制到本机结构中的类型,这样的类型在托管和非托管内存中有一种通用表示形式,如Int32或IntPtr。对于大于 32 位的可直接复制到本机结构中的值类型来说,通过引用传递比通过值传递更快。有关可直接复制到本机结构中的类型的更多信息,请参见.NET Compact Framework 中可直接复制到本机结构中的类型。 为函数签名中的参数使用InAttribute和OutAttribute属性可以减少不必要的封送处理。 使用Marshal类中的方法手动在IntPtr和托管对象之间转换,如PtrToStructure、PtrToStringBSTR、GetObjectForNativeVariant和GetObjectForIUnknown。 使用Prelink和PrelinkAll方法来引发支持本机到托管调用的存根 (stub) 的 JIT 编译。 如果期望您的本机 COM 对象通常情况下返回 S_FALSE,或其他非 S_OK HRESULT 值,则应将PreserveSig字段设置为true,并使托管签名与本机签名匹配。这就避免了运行库将 HRESULT 值转换为 COM 调用上的异常时必需的try/catch块的系统开销。 尽量使用一个平台调用多做工作,尽量少用多个调用。 在集合中节省内存 如果集合基于数组,请使用索引器。 一旦有机会,就指定集合的大小,因为动态调整大小可以大大增加额外的存储。 使用泛型集合以避免值类型的装箱和取消装箱产生的系统开销。定义您自己的优化集合可实现最佳性能。 在 XML 中节省内存 使用XmlTextReader和XmlTextWriter代替XmlDocument(因为它占用的内存较多)。 指定XmlReaderSettings和XmlWriterSettings的设置以改善性能。如果IgnoreWhitespace和IgnoreComments两个属性值适用,它们可以显著改善性能。 使用 UTF-8、ASCII 和 UTF-16 字符编码,它们比 ANSI 和 Windows 代码页编码更快。 避免使用用于分析的架构,因为这种架构需要更多的验证工作。 当从 XML 源填充DataSet窗体时,应将列映射为属性并使用类型化DataSet。 填充DataSet时,应避免填充以下各项: 架构推理。 嵌套表。 多个DateTime列。为了获得更好的性能,请使用Ticks属性值。 使用 XML 反序列化时,遵循以下准则可改善性能: 使元素和属性名尽量保持简短,因为每个字符都必须经过验证。 基于属性数据的 XML 比基于元素数据的 XML 要快。 如果适用,使用System.Xml.XmlNodeReader.Skip方法。 如果性能很重要,应考虑二进制序列化。 为 XML 序列化的每一种类型分别使用一个XmlSerializer实例,以减少用于搜索元数据的时间。 由于序列化大量 XML 可能会耗尽内存,应考虑通过使用BinaryReader和BinaryWriter生成自定义二进制序列化机制。 使用 Web 服务时节省内存 读取和编写DataSet时,应使用 DiffGram。有关更多信息,请参见DiffGram。 以 XML 格式将远程DataSet及其架构保存到设备。 初始屏幕期间创建一个简单的 Web 服务方法调用,因为第一个调用比后面的调用要慢。 小心处理网络和数据错误。 某些情况下,可以手动将DataSet序列化为 XML 字符串,然后执行一个 Web 服务调用,这样可以提高性能。 在高级编程中节省内存 异步处理大操作。 避免虚拟调用。.NET Compact Framework 运行库虚拟调用比静态调用或实例调用大约慢 30%。由于资源受约束,.NET Compact Framework 不使用 vtable,因此必须通过转换类和接口层次结构来调用方法,但这是一种代价很高的操作。.NET Compact Framework 维护已解析的虚拟调用的缓存,因此在大多数情况下,无须重新解释调用。 尽可能使用字段而不使用属性。 定义值类型时,重写GetHashCode和Equals方法。如果未重写它们,则运行库会在基ValueType类中使用这些方法的普通版本。 谨慎使用映射。出于调研目的将映射与非实例化类一起使用会影响应用程序中的实例化对象的性能。 确保 RESX 文件中的托管资源具有完全限定名,并且这些资源准确无误。它们必须具有正确的版本和 PublicKeyToken 字段。为未正确指定的类型查找最合适的替代类型会影响性能。 请注意,在某些情况下,直接从文件读取应用程序数据就足够了,这比使用ResourceManager效率更高。ResourceManager可以在定位您的二进制资源之前在文件系统中探测多个位置来查找最匹配的附属程序集。为作业使用适当的工具。 http://msdn2.microsoft.com/zh-cn/library/1766918e(VS.80).aspx 本文转自斯克迪亚博客园博客,原文链接:http://www.cnblogs.com/sgsoft/archive/2007/07/05/807685.html,如需转载请自行联系原作者

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

【代友发布】赶集网招聘开发人员

岗位描述: 负责产品的设计、开发和优化; 任职要求: 1.计算机相关专业大学本科以上学历,具有扎实的计算机基础理论知识 2.具备强烈的进取心、求知欲及团队合作精神,有较强的沟通及协调能力 3.熟悉MVC体系结构,对架构的设计有一定了解 4.精通PHP语言,熟练掌握Perl或C/C++或Java或.NET开发 5.熟悉CGI标准和HTTP等互联网协议 6.熟悉Unix/Linux操作系统和开发环境,能够熟练配置Apache服务器 7.三年以上业界工作经验,有完整PHP项目开发经验,具有大型互联网应用开发经验者优先 8.熟悉HTML、DHTML、JavaScript脚本语言 9.熟练掌握C/C++/Perl/Java/C#语言者优先 10.熟悉SQL语言,对mysql/MS SQL/Oracle其中一种数据库管理系统熟练掌握,对mysql数据库精通者优先 公司介绍: 为加快发展和研发新型的互联网应用,赶集网(www.ganji.com),作为中国第一大分类信息互联网服务提供商和google战略合作伙伴,我们资金实力雄厚,发展空间广泛。我们正在招贤纳士,诚邀优秀的人才加盟。在这里,你能找到你的定位,你能发挥你的才能,你更能够获得与你价值对等的收益! 简历发至:luojian(at)staff.ganji.com 友情提示:简历请详细写项目经验,你在项目中扮演什么角色,完成哪部分,能用数字佐证你的贡献和实力就最好了。 本文转自马宁博客园博客,原文链接:http://www.cnblogs.com/aawolf/archive/2008/07/16/1244513.html,如需转载请自行联系原作者

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

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

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部分的功能。

用户登录
用户注册