鱼儿塘


  • 首页

  • 归档

  • 分类

  • 标签

  • 搜索

iOS:https/ATS改造过程

发表于 2016-06-21 | 分类于 ios | | 阅读次数

一、 背景

苹果官方宣称今年底将全面强制启动https的支持
1、不安全的HTTP链接将会遭到拦截

2、而且系统 Foundation 框架下的相关网络请求,将不再默认使用 HTTP等不安全的网络协议,而默认采用 TLS 1.

二、 服务端改造

1、服务器需要改造的地方:

  • ATS要求TLS1.2或者更高,TLS 是 SSL 新的别称。
  • 通讯中的加密套件配置要求支持列出的正向保密。
  • 数字证书必须使用sha256或者更高级的签名哈希算法,并且保证密钥是2048位及以上的RSA密钥或者256位及以上的ECC密钥。

2、服务器ATS在线检查: https://www.qcloud.com/product/ssl#userDefined10

阅读全文 »

calabash-android原理分析

发表于 2016-06-20 | 分类于 android | | 阅读次数

在前面已经简单的介绍了calabash-ios的原理,这里将继续分析calabash-Android端的原理

一、 原理解析

calabash-android架构其实与IOS是相同的

1、内部使用核心为cucumber的calabash的脚本在运行测试的时候会在虚拟机/真机上预装一个web服务器,这个web服务器就是解释calabash的脚本,

2、因为calabash-Android是基于robotium框架的,所以在机器上预装的web-server会将下发下来的calabash脚本解释为robotium的脚本,然后向测试app发送robotium的脚本,

阅读全文 »

docker自定义daemon选项

发表于 2016-06-15 | 分类于 docker | | 阅读次数

一、 前提

可以定义的选项为如下列出来的

1
docker-current daemon --help

二、 方案一

1、 分别定义各环境文件

1
2
eg:/etc/sysconfig/docker-storage
/etc/sysconfig/docker-network

该文件中可以自定义环境变量

阅读全文 »

详解JVM原理及其内部构件

发表于 2016-06-11 | 分类于 java | | 阅读次数

节选自:http://www.cubrid.org/blog/dev-platform/understanding-jvm-internals/

一、 JVM特性

1、 简介

1、虚拟机栈:最流行的计算机架构比如intel x86架构和arm架构都是基于寄存器运行的,然而,jvm是基于栈运行的

2、符号引用:所有的类型(类和接口)除了原始类型(即基本类型)都是被符号引用所引用的,代替显示的通过内存地址引用
译者注:符号引用即变量

3、GC垃圾回收:一个类实例通过用户代码显示的创建,而通过GC自动回收,不用手动干预。

4、基本数据类型平台独立:传统的编程语言比如c++根据不同的平台有不同的int类型内存大小,而jvm显示的定义了基本数据类型的内存大小,跟平台是无关的。

阅读全文 »

基于docker的moa服务

发表于 2016-06-02 | 分类于 docker | | 阅读次数

一、 简介

该文章主要讲解将公司的server服务docker化的具体过程,从中可以看到很多docker相关知识的使用以及网络配置等操作
文中还设计到自己实现的关于docker自动化配置的两个脚本,供大家学习参考

二、 docker化步骤

1、 将初始安装包拷贝到容器主机上

阅读全文 »

谈谈linux下Bash中的函数返回值

发表于 2016-05-25 | 分类于 linux | | 阅读次数

Bash函数与大多数编程语言中的函数不同,不允许你向调用者返回值。当bash函数结束时,返回值为其状态:成功为零,失败为非零。要返回值,可以使用结果设置一个全局变量,或者使用命令替换,也可以传入一个变量的名称作为结果变量。下面的例子描述了这些不同的机制。

一、 全局变量法

从bash函数返回值的最简单的方法是将全局变量设置为结果。由于bash中的所有变量默认为全局变量(不管是在哪个块中定义的)
示例如下:

阅读全文 »

iOS下使用UI-Testing进行发包前Checklist检查

发表于 2016-05-19 | 分类于 ios | | 阅读次数

一、 UI Testing简介

1、UI Testing 是基于 XCTest 测试框架的。XCTest 作为 OCUnit 的替代者,目前是 iOS 单元测试框架不二之选,很多其他测试框架也基于 XCTest 封装。XCTest 有如下特点:

  • 测试用例需要继承 XCTestCase
  • 有类似 Junit 的 setup 或者 teardown方法
  • 还算不错的 Assertions
  • 和 Xcode 深度集成
  • 可以使用 Xcode server 的持续集成。支持 Swift 和 Objective-C

2、那 UI Testing 在 XCTest 的基础上实际上是扩展了几个类,协议
所以本质上 UI Testing 还是 XCTest,所以写用例的时候,还是需要遵从 XCTest 的规则

阅读全文 »

Java:ArrayList和LinkedList的对比

发表于 2016-05-13 | 分类于 java | | 阅读次数

ArrayList 和 LinkedList 都实现了 list 接口,它们的方法和返回结果都几乎是一样的。然而它们还是有一些差异,不同的场合它们各自有不同的优势。

一、 不同点

1、 Search搜索

ArrayList 的搜索操作比 LinkedList 快很多。get(int index) 在 ArrayList 的时间复杂度为 O(1),而在 LinkedList 中是 O(n).

原因:ArrayList 是基于索引的元素,因为它内部是使用的array数据结构。而 LinkedList 是基于双向链表的实现,需要遍历元素来找到需要的元素。

阅读全文 »

iOS:UIWebView与WKWebView注意事项

发表于 2016-04-28 | 分类于 ios | | 阅读次数

一、 基本介绍

1、UIWebView 使用的 JavaScriptCore 框架,交互时为 JavaScript 运行的上下文环境 JSContext 注入对象 Bridge;

2、WKWebView 使用的 WebKit 框架,交互时为 webkit.messageHandlers 注入对象

二、 测试注意事项

1、加载速度

2、占用内存

阅读全文 »

selenium远程启动浏览器

发表于 2016-04-14 | 分类于 selenium | | 阅读次数

一、 方案一

通过selenium-server

1、 相关下载

  • 下载server:http://seleniumhq.org/download/
  • 下载chrome-driver:
    https://sites.google.com/a/chromium.org/chromedriver/downloads

2、 开启selenium-server

在浏览器主机的终端上执行命令:

1
java -Dwebdriver.chrome.driver="D:\chromedriver.exe" -jar selenium-server.jar

阅读全文 »
1…3456
tunsuy

tunsuy

一切只为变得更好

52 日志
14 分类
33 标签
GitHub Email
© 2015 - 2017 tunsuy