硬编码

如何简单的理解TDD与DDT

隐身守侯 提交于 2020-04-06 06:19:16
TDD:TEST-DRIVEN Development 测试驱动开发究竟是什么意思?如何理解测试驱动开发? 举个红绿条简单的例子: 1.编写测试代码 2.编译运行测试代码,肯定会失败,因为实现代码还没有写 3.编写实现代码 4.运行测试观察测试结果,可能是红色的。 5.开发修改代码使得测试通过 6.运行测试,观察测试结果,直到变绿 7.可进行重构,进行代码优化,删除冗余,继续运行测试直到变绿 DDT:DATA-DRIVEN TEST 数据驱动测试是什么意思?如何理解数据驱动测试? 数据驱动的自动化测试是针对上述开发与测试之间紧密耦合问题提出的测试方法。通过建立测试与开发定义的软件元数据的关联——元数据映射表,在测试与开发之间建立松耦合关系。不论测试人员修改测试脚本,还是开发人员修改软件,只需要修改元数据映射表,既可以满足测试与开发同步进行。这样,可以减少测试脚本调试的工作量,更好的实现自动化测试 什么是数据驱动的自动化测试框架? 数据驱动的自动化测试框架是这样的一个框架,从某个数据文件(例如ODBC源文件、Excel文件、Csv文件、ADO对象文件等)中读取输入、输出的测试数据,然后通过变量传入事先录制好的或手工编写的测试脚本中。其中,这些变量被用作传递(输入/输出)用来验证应用程序的测试数据。在这个过程中,数据文件的读取、测试状态和所有测试信息都被编写进测试脚本里

软件工程第一次作业:博客初体验

和自甴很熟 提交于 2020-03-12 06:54:39
一、软件工程简介 : 软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。 在现代社会中,软件应用于多个方面。典型的软件有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。同时,各个行业几乎都有计算机软件的应用,如工业、农业、银行、航空、政府部门等。这些应用促进了经济和社会的发展,也提高了工作效率和生活效率 。 二、软件工程是什么 软件工程是把系统的、有序的、可量化的方法应用到软件的开发、运营和维护上的过程。软件工程包括下列领域:软件需求分析、软件设计、软件构建、软件测试和软件维护。 软件工程和下列的学科相关:计算机科学、计算机工程、管理学、数学、项目管理学、质量管理、软件人体工学、系统工程、工业设计和用户体验设计。 人们在开发、运营、维护软件的过程中有很多技术、做法、习惯和思想体系。软件工程把这些相关的技术和过程统一到- 一个体系中,叫“软件开发流程”。软件开发流程的目的是为了提高软件开发、运营、维护的效率,并提高软件的质量、用户满意度、可靠性和软件的可维护性。那么,软件开发流程有哪些呢?请看本书第5章“团队和流程”中的详细介绍。 光有各种流程的思想是不够的,我们还要有一系列的工具来保证这此思想能够在实践中有效率地运作。软件工具有很多:有工程师自行开发的工具

tiled卷积神经网络(tiled CNN)

风流意气都作罢 提交于 2020-03-12 04:27:45
这个结构是10年Quoc V.Le等人提出的,这里的tiled,按照 Lecun的解释是Locally-connect non shared.即是局部连接,而且不是共享的,这是针对于权重来说的。本文翻译如有错误,还望指正,谢谢!!这篇论文是10年的,相比较来说四年的东西,比较旧了,可是这个tcnn在ng的ufldl最后也有提及(只有目录部分,ng没写完),而且也算是个cnn的变化,不过看效果没有获得the state of art。因为在cifar-10数据集上当前的效果都达到了91%,而且NIN结构也很不错(还没看)。 Tiled convolutional neural networks 摘要 :卷积神经网络(cnn)已经成功的应用于许多的任务上,比如数字或者对象识别。使用卷积(tied)权重显然可以大幅度的减少所需要学习的参数的数量,并且可以使得在这个结构中能够硬编码(估计就是结构自身所特有的属性的意思吧)平移不变性。在本文中,我们考虑学习不变性的问题,而不是只依赖于硬编码。我们提出了tiled卷积神经网络,它通过使用一个tied权重的规则‘tiled’模式(个人理解就是在卷积上加个tiled规则),即不需要毗邻的隐藏单元共享同样的权重,而是隐藏单元之间距离k步远的单元有tied权重。通过在邻居单元上进行池化,这个结果能够去学习复杂的不变性(例如缩放和旋转不变性

01.原生态jdbc程序中问题总结

早过忘川 提交于 2020-01-16 23:12:00
1、数据库启动包配置到工程目录中(mysql5.1) mysql-connector-java-5.1.7-bin.jar 2、jdbc原生态操作数据库(程序) 操作mysql数据库 1 package cn.com.mybatis.jdbc; 2 3 import java.sql.Connection; 4 import java.sql.DriverManager; 5 import java.sql.PreparedStatement; 6 import java.sql.ResultSet; 7 import java.sql.SQLException; 8 9 public class JdbcTest { 10 public static void main(String[] args) { 11 //数据库连接 12 Connection connection = null; 13 14 //预编译的statement,使用预编译的Statement可以提高数据库性能 15 PreparedStatement preparedStatement = null; 16 17 //结果集 18 ResultSet resultSet = null; 19 20 try { 21 //加载数据库驱动 22 Class.forName("com.mysql.jdbc

数据库 ----jdbc连接池的弊端

寵の児 提交于 2020-01-16 23:08:11
jdbc连接池的弊端 1、数据库连接,使用时就创建,不使用立即释放,对数据库进行频繁连接开启和关闭,造成数据库资源浪费,影响 数据库性能。 设想:使用数据库连接池管理数据库连接。 2、将sql语句硬编码到java代码中,如果sql 语句修改,需要重新编译java代码,不利于系统维护。 设想:将sql语句配置在xml配置文件中,即使sql变化,不需要对java代码进行重新编译。 3、向preparedStatement中设置参数,对占位符号位置和设置参数值,硬编码在java代码中,不利于系统维护。 设想:将sql语句及占位符号和参数全部配置在xml中。 4、从resutSet中遍历结果集数据时,存在硬编码,将获取表的字段进行硬编码,,不利于系统维护。 设想:将查询的结果集,自动映射成java对象。 来源: https://www.cnblogs.com/JonaLin/p/11572604.html

Android备考01 黑马76期-day02数据存储相关api

对着背影说爱祢 提交于 2019-12-23 13:24:33
目录 案例1:记住用户名密码 写法1:纯IO流方式,硬编码 布局: 主逻辑代码:MainActivity.java 工具类UserInfoUtils.java 写法2:使用上下文获取文件录 MainActivity.this 调用时加个参数MainActivity.this 就是context UserInfoUtils.java 不硬编码,改用context获取目录路径 写法3:彻底告别IO流 UserInfoUtils.java 写法4:写到sdcard UserInfoUtils.java 写法5:写到sdcard,Environment告别硬编码 UserInfoUtils.java 写法6:SharedPreferences存取简单数据★ MainActivity.java 改进:sp直接做一个成员变量 改进2:记住cb_checked选中状态 SharedPreferences详细学习使用 xml序列化:自定义生成xml(备份短信到xml) 小得1: 小结1: 案例1:记住用户名密码 写法1:纯IO流方式,硬编码 布局: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"

简单、高效、易用的全平台(Windows/Linux/ARM/Android/iOS)RTMP直播推送库EasyRTMP视频硬编码的流程解析

让人想犯罪 __ 提交于 2019-12-16 11:39:26
所谓硬编码,我的理解就是硬件加速编码,intel硬编码是使用其集显中的视频编解码模块加速,同理nvidia硬编码使用nvidia显卡中的视频编解码模块进行加速。在命令行中使用 ffmpeg -hwaccels 可以查看ffmpeg支持的硬件加速方法。 因为项目需要,在研发RTMP推流组件的EasyRTMP中很多用户咨询关于音视频硬解码的流程,便于组件的集成,今天大家介绍流程如下。 关于RTMP推流组件 EasyRTMP是一套调用简单、功能完善、运行高效稳定的RTMP推流功能组件,经过多年客户实战和线上运行打造,支持RTMP推送断线重连、环形缓冲、智能丢帧、网络事件回调,支持Windows、Linux、ARM、Android、iOS平台,支持市面上绝大部分的RTMP流媒体服务器,能够完美应用于各种行业的直播需求,手机直播、桌面直播、摄像机直播、课堂直播等方面。结合EasyDSS流媒体服务器,为开发者提供专业、稳定的直播推流、转码、分发服务,全面满足低超低延迟、超高画质、超大并发访问量的要求。 提出问题: EasyRTMP-iOS介绍下视频硬编码的简单流程。 分析问题: H.264 HWEncoder.m文件实现了视频的硬编码功能。 解决问题: iOS处理音频的库是VideoToolbox,视频硬编码的流程如下: 1、-initVideoToolBox中调用

exploit编写学习阶段性总结

我怕爱的太早我们不能终老 提交于 2019-12-06 13:15:57
exploit编写学习阶段性总结 tags: 漏洞利用 tips 0x00 跳至shellcode 现在学习的内容仅涉及利用。 已知:触发崩溃的方式 过程: 1、验证崩溃,观察是否覆盖EIP或异常链节点。 2、确定覆盖EIP或异常链节点在输入中的偏移,并验证。 3、使EIP最终跳转至payload。 跳转至payload的方法: 1、若EIP被修改时,有寄存器指向缓冲区。可使用 call/jmp [reg] , push ret 。 2、若有缓冲区范围内的地址在栈顶上方,则可通过 pop ret (SEH) 3、以上两种都可用 jmp [reg+offset] 代替(虽然这种指令不好找…) 以上方法有一个共同点:崩溃现场能够找到缓冲区内地址。(寄存器或寄存器指向的内存附近) 如果没现成的地址使用,可以自己硬编码一个。该值可能会被读入寄存器中,可能会在栈中。之后使用上面的方法跳转至payload。 某些长度下payload长度有限,而缓冲区覆盖的范围很大。此时可以在payload处写一段跳转代码,将功能代码放在缓冲区其他位置。 常用的方法有: 1、上面跳转至payload的方法。(这时自己编码,所以offset能够控制) 2、 popad + jmp esp ( jmp [esp+offset] 的情况) 3、 jmp [reg+offset] , jmp [addr] (硬编码)

判断不同设计模式可以使用的关键词

匆匆过客 提交于 2019-12-05 14:33:50
目录 时间安排 真理 MVC使用的设计模式 硬编码 简单工厂 工厂方法 抽象工厂 建造者 原型 单例 适配器 桥接 组合 装饰 外观 享元 代理 职责链 命令 中介者 备忘录 策略 观察者 重点 命令 模式撤销 抽象工厂整套???? 对象类适配器??? 明天带粗鄙 最难的两套卷 时间安排 猜20道选择 40 20min 5简答 20 20min 2大题 40 20min一个 最后检查一下 注意审题,默念题干 真理 方法向父类集中,数据向子类集中 MVC使用的设计模式 p4观察者模式 组合模式 策略 工厂方法 装饰 控制器就是一个中介者模式 硬编码 硬编码是将数据直接嵌入到程序或其他可执行对象的 源代码 中的软件开发实践,与从外部获取 数据 或在运行时生成数据不同。 硬编码数据通常只能通过编辑源代码和重新编译可执行文件来修改,尽管可以使用调试器或十六进制编辑器在内存或磁盘上进行更改。 硬编码的数据通常表示不变的信息,例如物理常量,版本号和静态文本元素。 另一方面,软编码数据对用户输入,HTTP 服务器 响应或配置文件等任意信息进行 编码 ,并在运行时确定。 +策略模式的描述 TODO 最后的面向对象关系 再复习1.5遍代码 重点复习 命令模式 中介者模式 观察者模式 享元模式 原型模式 抽象工厂 状态模式 备忘录模式 第二章 违背开闭原则的:简单工厂 原型模式深克隆 外观模式

Backdoors in D-Link’s backyard

匿名 (未验证) 提交于 2019-12-03 00:22:01
D-Link DIR-620路由器存在多个漏洞 By Denis Makrushin 2018/5/23/10:00 “如果你想改变世界,就从自己开始吧。”在安全研究的情况下,这可以改写为:“如果你想让世界变得更加安全,那么就从家中的智能事物开始。”或者, 更具体的说,从您的路由器开始 - 任何家庭网络的核心以及一个有趣的研究对象。 而从互联网服务提供商那里获得的路由器作为您的互联网合同的一部分,在研究方面则更加有趣。 注意:以下有关漏洞的信息已提交给相关利益相关方(D-Link,ISP提供商,Mitre),我们将根据漏洞披露政策发布此信息。 以下建议介绍了D-Link DIR-620固件中的四个漏洞和硬编码帐户。 该固件在俄罗斯最大的ISP之一提供给客户的各种D-Link路由器上运行(此结论基于路由器作为标准客户合同的一部分提供的事实,硬编码凭证包含 ISP在登录字符串中)。 这可能就是为什么这种特定型号的路由器在俄罗斯和独联体国家非常流行(大多数家庭路由器位于ISP的NAT后面,这就是为什么这些路由器没有出现在统计数据中)。 图1.弱势路由器的地理位置 最新版本的固件对默认凭证进行了硬编码,未经身份验证的攻击者可利用该凭证获取对固件的特权访问权限,并提取敏感数据(例如,使用纯文本密码的配置文件)。