• libstdc++ 卸载问题
    今天,同事花了一下午时间,终于查到了 周末我碰到的问题 的根本原因。 是因为,GLU 是用 C++ 实现的,而导致 libstdc++.so 会跟随它卸载,而 libstdc++.so 本身有一个 bug ,导致程序崩溃。 当然,显露这个 bug 还有一个前提,我的程序是纯 C 写的,完全没有用到 libstdc++ 。 有兴趣的同学可以查看这个帖子:http://unix.derkeiler.com/pdf/Mailing-Lists/F...
  • 一份完整的 IPv6 环境下 DNS 相关测试
    董涛,网易游戏高级运维工程师,主要工作方向为网易集团 DNS 的运维与开发。张欣接,网易集团 DNS 团队负责人,负责网易域名系统的架构设计及生态建设。一、IPv6 支持度报告IPv6 简介IPv6(Internet Protocol version 6,互联网通信协议第 6 版)是用于数据包交换互联网络的网络层协议,是 IETF(互联网工程任务小组 Internet Engineering Task Force,简称 IETF)设计的用来替代 IPv4 协议的互联网协议版本。随着电子技术及网络技术的发展,...
  • 深夜生产事故,人工多线程来救场!
    有一个读者问我:你认为一个程序员具备什么样的能力,才算得上是厉害的程序员?我答:拥有解决问题的能力的程序员。这个回答貌似有点抽象,不要紧看下面的文章你会慢慢有所了解。 一、解决问题的能力很多年前,当我还是一个小菜鸟的时候,我的领导经常告诉我,解决问题的时候,不要局限于技术本身,并且形象的给我举了一个例子。有一次两个程序员一直讨论,如何判断两台服务器之间是否网络正常,争争吵吵了很久。旁边的一个测试说,Ping 一下不就知道了吗?就这样他们用 Java 代码实现了 Ping 操作解决了这个问题。多年以后,虽然我...
  • 程序员 12 小时惊魂记:凌晨迁移数据出大事故!
    作者 | 纯洁的微笑本文经授权转载自纯洁的微笑(ID:keeppuresmile)有一个读者问我:你认为一个程序员具备什么样的能力,才算得上是厉害的程序员?我答:拥有解决问题的能力的程序员。这个回答貌似有点抽象,不要紧看下面的文章你会慢慢有所了解。解决问题的能力很多年前,当我还是一个小菜鸟的时候,我的领导经常告诉我,解决问题的时候,不要局限于技术本身,并且形象的给我举了一个例子。有一次两个程序员一直讨论,如何判断两台服务器之间是否网络正常,争争吵吵了很久。旁边的一个测试说,Ping 一下不就知道了吗?就这样...
  • 程序员 12 小时惊魂记:凌晨迁移数据出大事故!
    解决问题的能力很多年前,当我还是一个小菜鸟的时候,我的领导经常告诉我,解决问题的时候,不要局限于技术本身,并且形象的给我举了一个例子。有一次两个程序员一直讨论,如何判断两台服务器之间是否网络正常,争争吵吵了很久。旁边的一个测试说,Ping 一下不就知道了吗?就这样他们用 Java 代码实现了 Ping 操作解决了这个问题。多年以后,虽然我知道有更优雅的方式来解决这个问题,但是我仍然觉得之前的那个测试人员很聪明。后面我们持续打过一年交道,她能力真的很强,在小公司相当于产品经理+测试的职能。需要给大家说明的是:...
  • 【译】移动App的可访问性陷阱和测试方法
    编者按:本文作者:安佳,360 搜索事业部的前端开发工程师,W3C CSS 工作组成员。原文:Mobile App Accessibility Pitfalls, Plus an Intro on Testing for Accessibility.(https://www.microassist.com/digital-accessibility/mobile-application-accessibility-part-2-of-2/)确保残障用户可以访问移动应用程序:给设计师和开发人员的提示和测试指南...
  • 50个必须要会的微服务面试题[每日前端夜话0xAB]
    每日前端夜话0xAB每日前端夜话,陪你聊前端。为了帮你准备面试,我写出了这篇关于微服务面试题的文章。微服务面试题与答案Q1. 说说微服务架构的优势。这意味着对一个小单元的损害不会损害其他的单元,因此,蜜蜂可以在不影响完整蜂巢的情况下重建这些单元。用蜂巢表示微服务请参考上图。此外敏捷团队可以单独处理每个服务组件的问题,而不会对整个应用程序产生影响或使影响最小。SOA是一组相互通信的服务。维护一个集中式的日志和控制面板对调试问题至关重要。组件之间依赖关系强度的度量被称为耦合。
  • 深夜生产事故,人工多线程来救场!
    首先在生产环境迁移一个代理商,看看数据是否正确,执行完毕后相关人员开始核验数据。运维人员核查日志,开发人员确认相关节点正常、数据库工程师核对迁移数据;测试人员在运营平台查询数据核验、测试 Pos 刷卡测试,一切正常!留下几个人监控数据,其他人就散了,等迁移完成后再进行后续工作。如果在上午8:00 之前不搞定这个事情,那就完全是重大事故了。
  • 什么才是厉害的程序员?
    有一个读者问我:你认为一个程序员具备什么样的能力,才算得上是厉害的程序员?需要给大家说明的是:解决问题的能力和技术能力是两个能力区间,我见过很多程序员源码玩得一溜,生产出现问题的时候仍然不知道如何去解决问题。生产出现问题的时候,是考验一个程序员的最高水准,在面对高强度高压力下,动作不变形,能够冷静思考、分析、解决问题,能达到这个水平的程序员,这在古代可以拜为上将军。说一句不厚道的话,好程序员都是在解决问题中锻炼出来的,特别是生产环境出现问题时,能够站出来的程序员。
  • Office 远程溢出漏洞测试与分析
    本文作者:ghostkeeper获得奖励:加入信安之路核心群+免费邀请加入信安之路知识星球+免费获取 90sec 论坛邀请码在 2017 年 11 月,微软发布的 11 月更新布丁中,微软将隐藏许久的 office 远程代码执行漏洞 给修复了,由于该漏洞为一个标准的的栈溢出漏洞,原理与复现都较为简单,且影响从Office 2000-Office 2016几乎所有的户 Office 版本,所以吸引了当时很多人的关注。
  • 人生苦短,我用PyCharm
    PyCharm 安装本文将使用 PyCharm Community Edition 2019.1 版本,该版本免费且可在所有主流平台上使用。推荐使用 JetBrains Toolbox App 安装 PyCharm。从中找到 PyCharm Community,并点击 Install。好啦,现在你的机器上已经安装 PyCharm 了。启动 PyCharm,你将看到导入设置弹窗。PyCharm 会自动检测出这是首次安装,并为你选择「Do not import settings」选项。比如键入 main 并点击 tab 键,PyCharm 会自动补全整个 main 从句。此外,如果你在条件句前忘记键入 if,在该句子最后增添.if 并点击 Tab 键,PyCharm 将修复该 if 条件句。这即是 PyCharm 的 Postfix Completion 功能,它可以帮助用户减少退格键使用次数。在 PyCharm 中运行代码现在你已经编码完成该游戏,可以运行了。
  • 人生苦短,我用PyCharm(附链接)
    PyCharm 是一种 Python IDE,可以帮助程序员节约时间,提高生产效率。只有最后一部分PyCharm Professional 功能使用的是 PyCharm Professional Edition 2019.1 版本。推荐使用 JetBrains Toolbox App 安装 PyCharm。从中找到 PyCharm Community,并点击 Install。好啦,现在你的机器上已经安装 PyCharm 了。启动 PyCharm,你将看到导入设置弹窗。PyCharm 会自动检测出这是首次安装,并为你选择Do not import settings选项。点击 OK,之后 PyCharm 会让你选择键盘映射。比如键入 main 并点击 tab 键,PyCharm 会自动补全整个 main 从句。此外,如果你在条件句前忘记键入 if,在该句子最后增添.if 并点击 Tab 键,PyCharm 将修复该 if 条件句。在 PyCharm 中运行代码现在你已经编码完成该游戏,可以运行了。)在 PyCharm 中进行代码 debug找到神秘数字了吗?
  • 100道经典测试开发面试题,从基础到进阶,你也可以是实力派!
    由于在产品提交到测试部门前,产品开发小组都要进行联合调试,因此在大部分企业中集成测试是由开发人员来完成的。它主要由测试部门进行,是测试部门最大最重要的一个测试,对产品的质量有重大的影响。测试内容为对功能模块的全面测试,尤其要进行文档测试。
  • Python 最强编辑器详细使用指南
    PyCharm 安装本文将使用 PyCharm Community Edition 2019.1 版本,该版本免费且可在所有主流平台上使用。从中找到 PyCharm Community,并点击 Install。PyCharm 会自动检测出这是首次安装,并为你选择「Do not import settings」选项。这些工具可以为不同项目单独创建 Python 环境,从而分别保存不同项目所需的依赖项。选择后,指定环境位置,从 Python 解释器列表中选择要安装在系统中的 base interpreter。现在我们可以开始新的 Python 程序了。这即是 PyCharm 的 Postfix Completion 功能,它可以帮助用户减少退格键使用次数。在 PyCharm 中运行代码现在你已经编码完成该游戏,可以运行了。
  • Python 最强 IDE 详细使用指南!
    读者应该非常了解 JetBrains 开发的 PyCharm 了,它差不多是 Python 最常用的 IDE。该教程将使用 Python 3.6 版本,屏幕截图和 demo 均来自 macOS 系统。PyCharm 安装本文将使用 PyCharm Community Edition 2019.1 版本,该版本免费且可在所有主流平台上使用。从中找到 PyCharm Community,并点击 Install。PyCharm 会自动检测出这是首次安装,并为你选择「Do not import settings」选项。这些工具可以为不同项目单独创建 Python 环境,从而分别保存不同项目所需的依赖项。选择后,指定环境位置,从 Python 解释器列表中选择要安装在系统中的 base interpreter。现在我们可以开始新的 Python 程序了。这即是 PyCharm 的 Postfix Completion 功能,它可以帮助用户减少退格键使用次数。
  • Python 最强 IDE 详细使用指南!
    机器之心的读者应该非常了解 JetBrains 开发的 PyCharm 了,它差不多是 Python 最常用的 IDE。该教程将使用 Python 3.6 版本,屏幕截图和 demo 均来自 macOS 系统。PyCharm 安装本文将使用 PyCharm Community Edition 2019.1 版本,该版本免费且可在所有主流平台上使用。PyCharm 会自动检测出这是首次安装,并为你选择「Do not import settings」选项。选择后,指定环境位置,从 Python 解释器列表中选择要安装在系统中的 base interpreter。现在我们可以开始新的 Python 程序了。这即是 PyCharm 的 Postfix Completion 功能,它可以帮助用户减少退格键使用次数。
  • AFL afl_fuzz.c 详细分析
    d. 阅读AFL afl_fuzz.c的源码实际上需要一定linuxC开发的基础,不过我没有相关基础,然后直接阅读的源码,所以不需要害怕。影响参数cal_cycles、cal_cycles_long检查是否为AFL_PYTHON_ONLY, 设置参数python_only,skip_deterministic用以跳过确定性步骤和不继续havoc/splice。该testcase是否被修剪过 */was_fuzzed, /* historical, but needed for MOpt */passed_det, /* Deterministic stages passed?*/u32 bitmap_size, /* Number of bits set in bitmap bitmap中bit的数量*/fuzz_level, /* Number of fuzzing iterations */exec_cksum; /* Checksum of the execution trace trace_bits的checksum*/u64 exec_us, /* Execution time 执行时间延迟*/handica
  • 设计模式之争:新分配内存还是内存池?(含评测)
    我观察到的网上讨论中,老派C程序员通常避免分配内存,而Java程序员则倾向于分配新内存。从统计上来说,这是正确的,因为Java中程序分配了许多临时对象。总是分配新内存和内存池这两种方法对GC的影响并不相同。对于分配新内存的方案,这意味着频繁且长期运行的GC。通常,获取新对象的地址很快。这种方法在池化和分配新内存之间提供了很好权衡,因此值得测试。如果在此时间段内不为队列提供服务,则源数据包将丢失。几乎没有保存在内存中。
公众号