obj文件

AFNetworking二次封装的那些事

ぐ巨炮叔叔 提交于 2020-01-30 10:00:00
AFNetworking可是iOS网络开发的神器,大大简便了操作.不过网络可是重中之重,不能只会用AFNetworking.我觉得网络开发首先要懂基本的理论,例如tcp/ip,http协议,之后要了解web的请求和响应,会使用苹果自带的NSURLSession,最后是把AFNetworking的源码啃掉. 前言 一直以来网络开发用的都是前面同事基于AFNetworking二次封装好的框架,一直都没什么问题,也就没往深处去了解.然后公司开始新项目了,iOS端由我负责,这可是我的第一次啊,从零开始,构建整个项目.这是个挑战,内心还是有点小激动的. 轮子肯定是不用重复造的,网络框架就拿的老项目的,结果出现了两个问题. 上传多张图片,服务端解析不了 无文件上传, Content-Type还是multipart/form-data 为了解决这个问题,从就没用过的NSURLSession到http协议,追本溯源,终于解决了. http协议 关于http协议的理论就不多讲了,主要就讲使用POST方法传递数据时,发送的请求头和请求体. Content-Type 我们提交的数据是什么编码方式服务端是不知道的,其实我们完全可以自定义格式,只要服务端取到数据后能解析就可以了. 一般服务端语言如 php、python 等,以及它们的 framework,都内置了自动解析常见数据格式的功能

python学习

会有一股神秘感。 提交于 2020-01-29 03:31:12
文章目录 pickle pickle 使用pickle可以储存各种各样的数据,储存和读取的命令如下: import pickle fw = open ( 'dataFile.txt' , 'wb' ) pickle . dump ( obj , fw ) fw . close ( ) fw = open ( 'dataFile.txt' , 'rb' ) obj = pickle . load ( fw ) fw . close ( ) 关键在于,obj中可以包含自己定义的类,例如: import pickle import myClass obj = { 'key1' : myClass ( ) } fw = open ( 'dataFile.txt' , 'wb' ) pickle . dump ( obj , fw ) fw . close ( ) 那么在读取的时候,文件也必须import自己定义的类,如果不import会报错。 来源: CSDN 作者: 麒麒哈尔 链接: https://blog.csdn.net/wqwqqwqw1231/article/details/103592165

Django之Form组件

和自甴很熟 提交于 2020-01-18 02:46:36
一. Django的Form组件的基本使用 1. Form组件的主要功能  <1>生成HTML标签  <2>验证用户数据(显示错误信息)  <3>HTML Form提交保留上次提交数据  <4>初始化页面显示内容 2. Form组件基本流程  创建Form类->views函数处理,验证用户输入->生成HTML并保留提交内容  2.1 Form表单提交方式  <1>创建Form类 #-*-coding=utf-8-*- from django.core.exceptions import ValidationError from django.forms import Form from django.forms import widgets from django.forms import fields class MyForm(Form): user = fields.CharField( required=True, min_length=3, max_length=12, label='用户名', error_messages={'required':'用户名不能为空','min_length':'用户名长度为3-12之间','max_length':'用户名长度为3-12之间'}, #自定制HTML标签和属性 widget=widgets.TextInput(attrs={

Python开发【Django】:Form组件

半城伤御伤魂 提交于 2020-01-17 14:16:44
Form组件 Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 创建Form类时,主要涉及到 【字段】 和 【插件】,字段用于对用户请求数据的验证,插件用于自动生成HTML; 1、内置字段 Field required=True, 是否允许为空 widget=None, HTML插件 label=None, 用于生成Label标签或显示内容 initial=None, 初始值 help_text='', 帮助信息(在标签旁边显示) error_messages=None, *错误信息 {'required': '不能为空', 'invalid': '格式错误'} show_hidden_initial=False, 是否在当前插件后面再加一个隐藏的且具有默认值的插件(可用于检验两次输入是否一直) validators=[], *自定义验证规则 下面有介绍具体用法 localize=False, 是否支持本地化 disabled=False, 是否可以编辑 label_suffix=None Label内容后缀 *注:继承field的字段 field里面的参数都可以用 CharField(Field) max_length=None, 最大长度 min_length=None,

pickle库的使用详解

ε祈祈猫儿з 提交于 2020-01-14 15:04:43
在“通过简单示例来理解什么是机器学习”这篇文章里提到了pickle库的使用,本文来做进一步的阐述。 那么为什么需要序列化和反序列化这一操作呢? 便于存储。序列化过程将文本信息转变为二进制数据流。这样就信息就容易存储在硬盘之中,当需要读取文件的时候,从硬盘中读取数据,然后再将其反序列化便可以得到原始的数据。在Python程序运行中得到了一些字符串、列表、字典等数据,想要长久的保存下来,方便以后使用,而不是简单的放入内存中关机断电就丢失数据。python模块大全中的Pickle模块就派上用场了,它可以将对象转换为一种可以传输或存储的格式。 loads()函数执行和load() 函数一样的反序列化。取代接受一个流对象并去文件读取序列化后的数据,它接受包含序列化后的数据的str对象, 直接返回的对象。 代码示例: [python] view plain copy #!/usr/bin/env python # -*- coding: UTF-8 -*- import cPickle as pickle obj = 123, "abcdedf", ["ac", 123], {"key": "value", "key1": "value1"} print obj# 输出:(123, 'abcdedf', ['ac', 123], {'key1': 'value1', 'key': 'value

python基础学习 第十八天 (一)

巧了我就是萌 提交于 2020-01-14 09:01:19
python基础学习 第十八天 (一) 一.反射 反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力(自省)。这一概念的提出很快引发了计算机科学领域关于应用反射性的研究。它首先被程序语言的设计领域所采用,并在Lisp和面向对象方面取得了成绩。 python面向对象中的反射:通过字符串的形式操作对象相关的属性。python中的一切事物都是对象(都可以使用反射) 四个可以实现自省的函数 下列方法适用于类和对象(一切皆对象,类本身也是一个对象) 1.1 对象的反射 class Foo : f = '类的静态变量' def __init__ ( self , name , age ) : self . name = name self . age = age def say_hi ( self ) : print ( 'hi,%s' % self . name ) obj = Foo ( 'egon' , 73 ) #检测是否含有某属性 print ( hasattr ( obj , 'name' ) ) print ( hasattr ( obj , 'say_hi' ) ) #获取属性 n = getattr ( obj , 'name' ) print ( n ) func = getattr ( obj , 'say_hi'

django之forms组件和cookie与session操作

不问归期 提交于 2020-01-14 00:43:40
目录 django之forms组件和cookie与session操作 forms组件 forms主要功能 普通方式手写注册功能 views.py login.html forms组件 先定义一个类和导入: 如何校验数据 如何渲染页面的三种方法 如何渲染错误信息 label 将英文修改成中文 校验:邮箱格式是否正确 forms的常用参数 钩子函数: 全局钩子 局部钩子 正则简单用法: 基于使用form组件实现注册功能 views.py login2.html cookie与session操作 Cookie的介绍 什么是Cookie Cookie的原理 查看Cookie Django中操作Cookie Cookie 获取Cookie Session 保存在服务端上的键值对 设置会话Session和Cookie的超时时间 删除当前会话的所有Session数 验证以上cookie和session的代码 装饰器模板 views.py 登录功能 views.py urls.py html django之forms组件和cookie与session操作 forms组件 forms主要功能 生成页面可用的HTML标签 对用户提交的数据进行校验 保留上次输入内容 注意点: 注册页面: 用户点击注册发送到后端做用户名密码的校验。 用户不能含敏感词,不符合社会主义核心价值观。 密码不能为空。 需求:

django之forms组件

微笑、不失礼 提交于 2020-01-13 21:27:43
django为我们提供了forms组件,可以让我们非常方便的渲染前端页面、接收及验证前端发送到后端的数据。、 forms组件不会将用户的输入清空 1.forms组件基本使用 后端代码 views.py --------------------------------------- from django import forms class MyRegForm(forms.Form): username = forms.CharField(max_length=8, min_length=3) password = forms.CharField(max_length=8, min_length=3) email = forms.EmailField() def register(request): # 生成一个自定义的form组件对象 form_obj = MyRegForm() if request.method == 'GET': return render(request, 'register.html', locals()) form_obj = MyRegForm(request.POST) return render(request, 'register.html', locals()) 前端代码 <form action="" method="post"

三十二、JavaSE之反射(这个部分很重要)

北城余情 提交于 2020-01-10 03:27:45
1.类加载器 1.1类加载【理解】 类加载的描述 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过类的加载,类的连接,类的初始化这三个步骤来对类进行初始化。如果不出现意外情况,JVM将会连续完成这三个步骤,所以有时也把这三个步骤统称为类加载或者类初始化 类的加载 就是指将class文件读入内存,并为之创建一个 java.lang.Class 对象 任何类被使用时,系统都会为之建立一个 java.lang.Class 对象 类的连接 验证阶段:用于检验被加载的类是否有正确的内部结构,并和其他类协调一致 准备阶段:负责为类的类变量分配内存,并设置默认初始化值 解析阶段:将类的二进制数据中的符号引用替换为直接引用 类的初始化 在该阶段,主要就是对类变量进行初始化 类的初始化步骤 假如类还未被加载和连接,则程序先加载并连接该类 假如该类的直接父类还未被初始化,则先初始化其直接父类 假如类中有初始化语句,则系统依次执行这些初始化语句 注意:在执行第2个步骤的时候,系统对直接父类的初始化步骤也遵循初始化步骤1-3 类的初始化时机 创建类的实例 调用类的类方法 访问类或者接口的类变量,或者为该类变量赋值 使用反射方式来强制创建某个类或接口对应的java.lang.Class对象 初始化某个类的子类 直接使用java.exe命令来运行某个主类 1.2类加载器【理解】 1.2

用来获取豆瓣网上电影信息的简介

廉价感情. 提交于 2020-01-09 18:49:12
<?php //搜索链接 function search_link($moviename) { //构造url,其中max-results可根据需要更改 $urlString = 'http://api.douban.com/movie/subjects?q='.$moviename.'&start-index=1&max-results=1&alt=json'; //print_r($urlString); $urlString=mb_convert_encoding($urlString, "UTF-8", "GBK");//将Url转换为utf-8编码 $r = new HttpRequest($urlString,HttpRequest::METH_GET);//请求 $response = $r->send(); $result = $r->getResponseBody(); $obj = json_decode($result);//解析成json格式 if($entry = @$obj->{'entry'}){ //搜索链接并存在数组中返回 for($i = 0;$i<sizeof($entry);$i++){ $link=$entry[$i]->{'link'}; for($j = 0;$j<sizeof($link);$j++){ $arr = (array)