鱼儿塘


  • 首页

  • 归档

  • 分类

  • 标签

  • 搜索

谈谈Android下App的安全性问题

发表于 2016-08-25 | 分类于 安全 | | 阅读次数

下面从Android的几大组件详细的谈谈一些注意事项和安全编码建议,以及一些测试方法

一、 Android-activity

1、 注意事项

1.1、app内使用的私有Activity不应配置 intent-filter,如果配置了 intent-filter 需设置 exported 属性为false。
1.2、使用默认 taskAffinity
1.3、使用默认 launchMode
1.4、启动Activity时不设置 intent 的 FLAG_ACTIVITY_NEW_TASK 标签
1.5、谨慎处理接收的intent以及其携带的信息

阅读全文 »

谈谈iOS下App的安全性问题

发表于 2016-08-20 | 分类于 安全 | | 阅读次数

下面从几个方面谈谈App的安全性问题,也有一些解决方案建议。

一、 URL Scheme

在iOS官方说明中:“在多个应用程序注册了同一种URL Scheme 的时候,iOS 系统程序的优先级高于第三方开发程序。但是如果一种URL Scheme 的注册应用程序都是第三方开发的,那么这些程序的优先级关系是不确定的

针对第三方应用。这里至少有两种方法可以检测自己应用的URL Scheme是否被Hijack:
1、应用本身可以发送一条URL Scheme请求给自己,如果自己可以接收到的话,说明URL Scheme没有被劫持,如果不能收到的话,就说明被劫持了,这时候可以提醒用户卸载有冲突的app。代码如下:

阅读全文 »

Python:iterator pattern—迭代器模式

发表于 2016-08-18 | 分类于 python | | 阅读次数

翻译于https://davidcorne.com/2013/02/22/iterator-pattern/

注:不是原文翻译,有些自己的理解改动

该文章主要从python语言的角度去讲解

一、 目的

这个模式背后的意思是:有一个对象,你能够循环它而不需要知道这个对象数据的内部表现。在Python这门语言中,没有什么是私有的(译者注:python中的访问控制是约定),你能够找到一个类的内部构成,这个迭代器模式给了你一个标准的接口。

我认为在python中一个iterator最好的例子就是使用list,因此这里我确定你已经知道怎么使用这个list了

阅读全文 »

iOS:性能之卡顿检测

发表于 2016-08-11 | 分类于 ios | | 阅读次数

一、 项目简介

项目地址:
https://github.com/tunsuy/iOSMonitorLag

该项目主要是针对ios项目的卡顿监控的探索,结合ios的运行机制和业界的实践,将其应用于公司项目中进行试运行,查看相关效果

二、 方案一 基于RunLoop

1、 背景

  • 因为UIKit本身的特性,需要将所有的UI操作都放在主线程执行,所以也造成不少程序员都习惯将一些线程安全性不确定的逻辑,以及其它线程结束后的汇总工作等等放到了主线,所以主线程中包含的这些大量计算、IO、绘制都有可能造成卡顿.

  • 在Xcode中已经集成了非常方便的调试工具Instruments,它可以帮助我们在开发测试阶段分析软件运行的性能消耗

阅读全文 »

Python:builder pattern—建造者模式

发表于 2016-08-11 | 分类于 python | | 阅读次数

翻译于https://davidcorne.com/2013/01/21/builder-pattern/

注:不是原文翻译,有些自己的理解改动

一、 目的

builder设计模式(以下均称建造者模式)的意思是指一个对象的构造是抽象的,以便于许多的实现能够使用相同的builder,实际的类构造逻辑跟它的表现是分开的。

二、 模式

下面是一般的UML类图

阅读全文 »

redmine系统二次开发之search功能

发表于 2016-07-18 | 分类于 redmine | | 阅读次数

项目地址:
https://github.com/tunsuy/redmine_select_search

一、 项目简介

该项目主要是对redmine进行简单的二次开发,满足以下需求:
在redmine的select选择框中,如果选项特别多,那么选择是非常考验眼力的,可能眼睛看花了都找不到
那么就考虑对所有的select框增加搜索功能

二、 方案一

1、 下载插件

使用了chosen插件:https://harvesthq.github.io/chosen/

阅读全文 »

appium-ios自动化入门

发表于 2016-07-10 | 分类于 ios | | 阅读次数

一、 简介

为了更好的理解业内app自动化测试框架的原理机制,以便看是否有很好的办法在解决目前项目自动化测试存在的一些问题

这次先介绍appium的使用过程,后续有时间会看下其源码实现机制。

在mac下配置appium的自动化测试环境在这里就不说了,网上很多

因为查了下appium针对ios的自动化测试,网上的资料比较少,且说得不是很清楚,故这篇文章主要介绍怎样使用appium自动化测试自己的项目。

这些操作步骤均是自己亲自操作并实践通过的

阅读全文 »

深入详解Java迭代器

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

java中的迭代器有三种

一、 Enumeration

它是用于获取早期遗留集合(Vector,Hashtable)元素的接口。Enumeration 是JDK 1.0中的第一个迭代器,其余的包含在JDK 1.2中,具有更多的功能。Enumeration 也用于指定 SequenceInputStream 的输入流。
我们可以通过在任何 Vector 对象上调用 elements() 方法来创建 Enumeration 对象

1
Enumeration e = v.elements();

阅读全文 »

calabash-ios安装详解

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

一、 简介

为了更好的理解业内app自动化测试框架的原理机制,以便看是否有很好的办法在解决目前项目自动化测试存在的一些问题

这次先介绍calabash的使用过程,后续有时间会看下其源码实现机制。

阅读全文 »

浅尝Python代码执行过程

发表于 2016-06-25 | 分类于 python | | 阅读次数

这篇文章将简单的从解释器和字节码的角度去看下python代码的执行过程

一、 简介

在解释器接手之前,Python会执行其他3个步骤:词法分析,语法解析和编译。这三步合起来把源代码转换成code object,它包含着解释器可以理解的指令。而解释器的工作就是解释code object中的指令。

你可能很奇怪执行Python代码会有编译这一步。Python通常被称为解释型语言,就像Ruby,Perl一样,它们和编译型语言相对,比如C,Rust。然而,这里的术语并不是它看起来的那样精确。大多数解释型语言包括Python,确实会有编译这一步。而Python被称为解释型的原因是相对于编译型语言,它在编译这一步的工作相对较少(解释器做相对多的工作)。在这章后面你会看到,Python的编译器比C语言编译器需要更少的关于程序行为的信息。

阅读全文 »
1234…6
tunsuy

tunsuy

一切只为变得更好

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