框架

Android 通用流行框架

人盡茶涼 提交于 2020-03-02 18:21:46
原文出处: http://android.jobbole.com/83028/ 1. 缓存 名称 描述 DiskLruCache Java实现基于LRU的磁盘缓存 2.图片加载 名称 描述 Android Universal Image Loader 一个强大的加载,缓存,展示图片的库 Picasso 一个强大的图片下载与缓存的库 Fresco 一个用于管理图像和他们使用的内存的库 Glide 一个图片加载和缓存的库 3. 图片处理 名称 描述 Picasso-transformations 一个为Picasso提供多种图片变换的库 Glide-transformations 一个为Glide提供多种图片变换的库 Android-gpuimage 基于OpenGL的Android过滤器 4. 网络请求 名称 描述 Android Async HTTP Android异步HTTP库 AndroidAsync 异步Socket,HTTP(客户端+服务器),WebSocket,和socket.io库。基于NIO而不是线程。 OkHttp 一个Http与Http/2的客户端 Retrofit 类型安全的Http客户端 Volley Google推出的Android异步网络请求框架和图片加载框架 5. 网络解析 名称 描述 Gson 一个Java序列化/反序列化库

Django框架导读

血红的双手。 提交于 2020-03-02 12:28:36
一:Django框架应用 1:web应用: 运行在浏览器上的应用 2:c/s,b/s架构   client/server:客户端服务器架构,c++   browser/server:浏览器服务器架构,java,Python   底层均是基于socket 3:Python web框架   a:socket b:页面路由 c:模板渲染   Django a用到wsgiref b自己写的 c 自己写的 功能全面   Flask a用的第三方 b自己写的 c自己写的 小而轻   Tornado a自己写的 b自己写的 c自己写的 支持高并发 二:原生socket服务 目录结构:   part1     -- index.html     -- server.py 基础socket服务: import socket # 利用socket建立服务器对象 server = socket.socket() # 设置ip和端口 server.bind(('127.0.0.1', 8001)) # 设置监听 server.listen(5) print('服务器设置成功') print('浏览器访问:http://127.0.0.1:8001') while True: # 阻塞等待客户端数据 client, address = server.accept() # 接收数据 data = client

ORM框架 之 Entity Framework

∥☆過路亽.° 提交于 2020-03-02 11:43:30
Entity Framework 1.ADO.NET Entity Framework是以ADO.NET为基础所发展出来的对象关系对应(O/R Mapping)解决方案,早起被称为ObjectSpace,最新版本是EF6.0[CodeOnly功能得到了更好的支持] 2.实体 框架Entity Framework是ADO.NET中一组支持开发面向数据的软件应用程序技术,是微软的一个ORM框架 什么是O/R Mapping框架 1.广义上:ORM 指的是面向对象模型和关系型数据库的数据结构之间的相互转换 2.狭义上:ORM基于关系型数据库的数据存储,实现一个虚拟的面向对象的数据访问接口。基于这样一个面向对象的接口,持久化一个oo对象应该不需要了解任何关系型数据库存储数据的实现细节 3.在原来的ado,net时,用到dataAdrapt 或者read()时,得到的实际是弱类型,因为他们都是不知道字段的实际类型,只能通过名称来得到,而ORM框架则是把数据库中的表能在模型中实际体现出来也就是强类型 4.ORM思想:表实体和表的相互转化。 5.实际上(1)把表实体的变化转化到数据库里面去。(2)把表数据转成表实体 来源: https://www.cnblogs.com/zmztya/p/7324948.html

EF框架学习

℡╲_俬逩灬. 提交于 2020-03-02 11:41:32
1. EF基于一种思想——O/R Mapping,我们先了解ORM的相关概念: 广义上,ORM指的是面向对象的 对象模型 和关系型数据库的 数据结构 之间的相互转换。 狭义上,ORM可以被认为是,基于关系型数据库的数据存储,实现一个虚拟的面向对象的数据访问接口。理想情况下,基于这样一个面向对象的接口,持久化一个OO对象应该不需要要了解任何关系型数据库存储数据的实现细节。 2. EF概念:实体框架(Entity Framework)是ADO.NET中的一组支持面向数据的软件应用程序的技术,是微软的一个ORM框架。ORM的核心思想就是把实体的变化映射成表的变化,这样我们在开发的时候不再关心数据库中的表的东西,而是直接面向实体开发。 从下面这张图中我们可以从宏观上看出EF的核心流程这样的,我们的增、删、改、查操作不再是之间面向数据库中的表来操作,而是面向中间的一个上下文(objectContext)来实现,直接操作实体,这些操作经过OR映射完成对相应数据库的操作。 Entity Framework 利用了抽象化数据结构的方式,将每个数据库对象都转换成应用程序对象(entity),而数据字段都转换为属性(property),关系则转换为结合属性(association),让数据库的E/R 模型完全的转成对象模型,如此让程序设计师能用最熟悉的编程语言来调用访问。 而在抽象化的结构之下

UI自动化测试框架之Selenium关键字驱动

北城以北 提交于 2020-03-02 11:24:03
一、原理及特点 1. 关键字驱动测试是数据驱动测试的一种改进类型 2. 主要关键字包括三类:被操作对象(Item)、操作(Operation)和值(value),用面向对象形式可将其表现为Item.Operation(Value) 3. 将测试逻辑按照这些关键字进行分解,形成数据文件。 4. 用关键字的形式将测试逻辑封装在数据文件中,测试工具只要能够解释这些关键字即可对其应用自动化 二、准备 使用工具:eclipse 用到的第三方jar包:poi.jar(操作excel);selenium.jar 理解难点:java反射机制;逐步分层 三、 框架构思 1、编写脚本 首先我们来写一个登陆开源中国的脚本 public class Login_Script { public static WebDriver driver=null; public static void main(String []agrs) throws InterruptedException{ // 启动火狐浏览器 driver= new FirefoxDriver(); // 最大化 driver.manage().window().maximize(); // 打开开源中国网址 driver.get("http://www.oschina.net/"); // 点击登录 driver.findElement

Python数据分析三大框架之numpy (五)合并

喜欢而已 提交于 2020-03-02 07:26:12
numpy数组的合并 按行合并 import numpy as np A = np.array([1, 1, 1]) B = np.array([2, 2, 2]) print(np.vstack((A, B))) # 按行合并 C = np.vstack((A, B)) print(A.shape, B.shape, C.shape) #result [[1 1 1] [2 2 2]] (3,) (3,) (2, 3) 首尾合并 # 首尾合并 D = np.hstack((A, B)) print(A.shape, B.shape, D.shape) print(A[np.newaxis, :]) print(np.concatenate((A, B, B, A))) #result (3,) (3,) (6,) [[1 1 1]] [1 1 1 2 2 2 2 2 2 1 1 1] 来源: CSDN 作者: ZhengJohn 链接: https://blog.csdn.net/qq_38336343/article/details/104600740

在php ci框架中使用swiftmailer

半城伤御伤魂 提交于 2020-03-02 07:08:45
<?php require_once 'SwiftMailer/swift_required.php'; class M_mailer extends CI_Model { /* *@send mail *@package 邮件信息 * *@package['mail_myname'] *@package['mail_username'] *@package['mail_password'] *@package['mail_smtp'] *@pagkage['mail_port'] *@package['to_list'] => array( $email => $name , $email2 => $name2); *@package['title'] *@package['content'] */ public function send_mail( $package) { $transport = Swift_SmtpTransport::newInstance( $package['mail_smtp'], $package['mail_port']); $transport->setUsername( $package['mail_username']); $transport->setPassword( $package['mail_password']);

异常:InvocationTargetException && NoSuchMethodError

泪湿孤枕 提交于 2020-03-02 06:51:39
使用框架代码经常会发生反射异常,而且不好定位。多次遇到过InvocationTargetException和NoSuchMethodError错误,恰巧今天同事遇到这个问题,决定记录一下。此次遇到这两个异常同时发生,其实两者没有关联,只是后面的是根本原因,而前面的是大的包装异常。 ##InvocationTargetException## 先看jdk1.6中的描述: public class InvocationTargetException extends Exception “InvocationTargetException is a checked exception that wraps an exception thrown by an invoked method or constructor.” InvocationTargetException 是一种包装由调用方法或构造方法所抛出异常的受检查异常。 从版本 1.4 开始,此异常已经更新,符合通用异常链机制。“目标异常”是在构造的时候提供的,可以通过 getTargetException() 方法访问,这类对象目前被认为是导致异常的原因,可以通过 Throwable.getCause() 方法访问它。 通常发生在采用反射的方式调用方法的时候,比如显式的反射或使用框架。 此异常会吞掉其他所有异常

RPC序列化

Deadly 提交于 2020-03-02 02:20:21
序列化:将 对象 状态 转换 为可保持或传输的二进制。 反序列化:将二进制数据转换为对象的过程。 常见的序列化方式: 后续代码示例会加上。 1.JDK原生序列化: 安全性较差。 2.JSON: JSON 是典型的 Key-Value 方式,没有数据类型,是一种文本型序列化框架 JSON 进行序列化的额外空间开销比较大,对于大数据量服务这意味着需要巨大的内存和磁盘开销;JSON 没有类型,但像 Java 这种强类型语言,需要通过反射统一解决,所以性能不会太好。所以如果 RPC 框架选用 JSON 序列化,服务提供者与服务调用者之间传输的数据量要相对较小,否则将严重影响性能。 3.XML: 文本类序列化方式 序列化的额外空间开销比较大 4.Hessian: Hessian 是动态类型、二进制、紧凑的,并且可跨语言移植的一种序列化框架。Hessian 协议要比 JDK、JSON 更加紧凑,性能上要比 JDK、JSON 序列化高效很多,而且生成的字节数也更小。 相对于 JDK、JSON,由于 Hessian 更加高效,生成的字节数更小,有非常好的兼容性和稳定性,所以 Hessian 更加适合作为 RPC 框架远程通信的序列化协议。 5.Protobuf: Protobuf 是 Google 公司内部的混合语言数据标准,是一种轻便、高效的结构化数据存储格式,可以用于结构化数据序列化,支持