obj文件

javaScript系列 [05]-javaScript和JSON

删除回忆录丶 提交于 2019-12-22 03:46:07
本文输出和JSON有关的以下内容 ❐ JSON和javaScript ❐ JSON的语法介绍 ❐ JSON的数据类型 ❐ JSON和XMLHTTPRequest ❐ JSON的序列化和反序列化处理 1.1 JSON和javaScript JSON是一种数据交换格式。 JSON的全称是JavaScript Object Notation,翻译为JavaScript对象表示法。JSON的这个全称,无疑让很多人既兴奋又困惑,兴奋的人直接认为这就是JavaScript中的对象,困惑的人觉察出JSON数据和JavaScript对象好像有些不一样。接下来我们先谈一谈JSON数据和JavaScript的关系。 诚然,从JSON的全称可以看出JSON和JavaScript语言必定有种某种神秘关联,至少能够确定的是JSON的命名确实来源于JavaScript这门语言。 JSON基于JavaScript对象字面量,但JSON本身是一种数据交换格式,因此它是独立于语言的。JSON全称为JavaScript对象表示法,在理解的时候可以认为JSON ==> JavaScript && 对象 && 表示法 JavaScript我们知道是一门动态脚本语言,那么 对象表示法 是什么? 对象是面向对象编程语言中一种常见的数据类型,表示键值对的集合,那么 表示法 是什么? 表示法

C++使用ffpython嵌入和扩展python

纵然是瞬间 提交于 2019-12-21 06:25:04
摘要: 在服务器编程中,经常会用到python脚本技术。Python是最流行的脚本之一,并且python拥有定义良好的C API接口,同时又有丰富的文档,与C++结合非常的适合。通常情况下使用C++封装机制,而用python脚本实现策略或者是控制。使用python和C++结合的技术拥有如下优势: l 主体系统使用C++实现,保持系统的高效。 l 控制部分使用python,增加开发效率,python的内存垃圾回收,丰富的类库都使C++开发者获益匪浅。 l Python脚本可以运行期重载,可以实现控制部分不停机热更新。 C++与python的编程范式有很大不同,当使用python C API调用python时,python中的一些特有机制会给C++开发者带来很多困惑。常常使用python C API时需要注意如下几点: l Python 使用引用计数管理内存,调用python C API时对于返回值返回的是借用的引用还是新的引用,需要根据文档仔细确认。否则轻则出现内存泄露,重则程序崩溃。 l Python中的数据结构与C++的有很大不同。Python常用的有tuple,list,dict。而c++常用的事vector,list,map,并且c++是强类型的。当c++与python进行交互时,C++层希望操作python数据结构就像操作c++ STL一样方便,而在python脚本层

HTML5本地存储Localstorage

早过忘川 提交于 2019-12-21 04:53:07
什么是localstorage 前几天在老项目中发现有对cookie的操作觉得很奇怪,咨询下来是要缓存一些信息,以避免在URL上面传递参数,但没有考虑过cookie会带来什么问题: ① cookie大小限制在4k左右,不适合存业务数据 ② cookie每次随HTTP事务一起发送,浪费带宽 我们是做移动项目的,所以这里真实适合使用的技术是localstorage,localstorage可以说是对cookie的优化,使用它可以方便在客户端存储数据,并且不会随着HTTP传输,但也不是没有问题: ① localstorage大小限制在500万字符左右,各个浏览器不一致 ② localstorage在隐私模式下不可读取 ③ localstorage本质是在读写文件,数据多的话会比较卡(firefox会一次性将数据导入内存,想想就觉得吓人啊) ④ localstorage不能被爬虫爬取,不要用它完全取代URL传参 瑕不掩瑜,以上问题皆可避免,所以我们的关注点应该放在如何使用localstorage上,并且是如何正确使用。 localstorage的使用 基础知识 localstorage存储对象分为两种: ① sessionStrage: session即会话的意思,在这里的session是指用户浏览某个网站时,从进入网站到关闭网站这个时间段,session对象的有效期就只有这么长。 ②

持续集成工具Jenkins学习总结

别来无恙 提交于 2019-12-20 23:37:34
概述       持续集成(Continuous Integration,简称CI) 是一种软件开发实践,团队开发人员每次都通过自动化的构建(编译、发布、自动化测试)来验证,从而尽早的发现集成错误。持续集成最大的优点是避免了传统模式在集成阶段的除虫会议(bug meeting),其要素包括统一的代码库、自动构建、自动测试、自动部署、频繁提交修改过的代码等。   Jenkins的前身是 Hudson ,是基于Java开发的一种持续集成工具,是一个开源软件项目,主要用于: 持续、自动地构建/测试软件项目,如CruiseControl与DamageControl; 监控一些定时执行的任务;   Jenkins的官网: http://jenkins-ci.org/ ,下面我总结一下Windows下Jenkins的安装和使用。 Jenkins安装 (1)安装素材 JDK(Jenkins运行需要Java 1.6以上的版本) Jenkins安装包(官网下载) (2)安装JDK (3)安装Jenkins   运行Jenkins安装包,按提示安装即可,安装成功之后会自动打开网页 http://localhost:8080/ ,Jenkins主界面如下所示: Jenkins配置 (1)配置http端口号   Jenkins默认端口号是 8080 ,如果该端口号与其他任务的端口号冲突,就需要更改

浅谈模板引擎

家住魔仙堡 提交于 2019-12-20 20:35:16
模板原理 模板的诞生是为了将显示与数据分离,模板技术多种多样,但其本质是将模板文件和数据通过模板引擎生成最终的HTML代码。 模板技术并不是什么神秘技术,干的是拼接字符串的体力活。模板引擎就是利用正则表达式识别模板标识,并利用数据替换其中的标识符。比如: Hello, <%= name%> 数据是 {name: '木的树'} ,那么通过模板引擎解析后,我们希望得到 Hello, 木的树 。模板的前半部分是普通字符串,后半部分是模板标识,我们需要将其中的标识符替换为表达式。模板的渲染过程如下: //字符串替换的思想 function tmpl(str, obj) { if (typeof str === 'string') { return str.replace(/<%=\s*([^%>]+)\s*%>/g, function() { var key = arguments[1]; return obj[key]; }); } } var str = "Hello, <%= name%>"; var obj = {name: "Lzz"}; 模板引擎 引擎核心 上面我们演示是简单的字符串替换,但对于模板引擎来说,要做的事情更复杂些。通常需要以下几个步骤: 利用正则表达式分解出普通字符串和模板标识符, <%=%> 的正则表达式为 /<%=\s*([^%>]+)\s*%>/g .

u-boot 之配置分析 (2)

醉酒当歌 提交于 2019-12-19 07:54:09
Makefile简要分析 所有这些目录的编译连接都是由顶层目录的makefile来确定的。 1. 在makefile中有: unconfig: @rm -f $(obj)include/config.h $(obj)include/config.mk \ $(obj)board/*/config.tmp $(obj)board/*/*/config.tmp %是个通配符,make xxx_config都是这个目标.目标的依赖是unconfig, unconfig 的命令是删除一些文件,而这些文正是从make xxx_config过程中产生的.unconfig就是清理配置的. MKCONFIG := $(SRCTREE)/mkconfig 100ask24x0_config : unconfig @$(MKCONFIG) $(@:_config=) arm arm920t 100ask24x0 NULL s3c24x0           等同为 ./mkconfig 100ask24x0 arm arm920t 100ask24x0 NULL s3c24x0 $@就是指目标 $(@:_config=)是变量的替换引用 格式为“$(VAR:A=B)”(或者“${VAR:A=B}”),意思是:替换变量“VAR”中所有“A”字符结尾的字为“B”结尾的字。 2.

Django——form组件

我的梦境 提交于 2019-12-19 03:05:38
之前我们已经学习了HTML中的基本标签——form表单,我们经常使用它向后台提交数据,常规的form表单是这样的: <form action="" method="post"> <p>用户名:<input type="text" name="user"></p> <p>密码:<input type="text" name="pwd"></p> <P><input type="submit"></P> </form> 但是有许多时候我们这样使用非常不方便,为什么这样说了,上面的form表单中只有两个提交项, 但是实际中肯定不止两个,如果使用上面的方式,那么一旦有哪一个提交项不符合规定,整个form表单都得重写, 这是后用户肯定会抱怨,“凭什么错了一个全部得重写”,所以这样不方便,还有一个就是在对输入的东西值进行校验的时候, 每次都得先从前面取值,再在后台校验,烦不烦,能不能在后台生成得时候就设置好了? 这就是jango中form组件可以非常好的解决得问题。下面会一步一步解开解开它得面纱。 一、在Django中构建一个from表单 下面创建一个最简单的form表单: from django.shortcuts import render #导入forms组件 from django import forms class LoginForm(forms.Form): user =

Linux内核移植初探

南笙酒味 提交于 2019-12-19 02:22:04
内核移植的梯度: 初级:根据芯片公司的参考配置,编译开发板内核并了解执行过程 中极:添加内核驱动的方式方法 高级:修改或添加BSP包 linux内核特性: 可移植性强、支持的硬件平台广泛;超强的网络功能;多任务多用户系统;模块化的设计 五大子系统: 进程管理;内存管理;文件系统;网络协议;设备管理 内核获取路径:芯片厂商、内核源码官方 l inux内核的目录结构层次结构: 平台相关目录树:arch目录下 平台无关目录树:其它 crypto目录:算法、加密涉及的源码目录 Documentation目录:内核官方文档 fs目录:文件系统的信息 ipc目录:进程间通信的机制 mm目录:内存 driver:驱动相关 内核源码开发的头文件命名规范 #include <asm/xxx.h>:与CPU体系结构(arch)相关的头文件 #include <linux/xxx.h>:平台无关的头文件 #include <plat/xxx.h>:与某款芯片公司相关的头文件 #include <mach/xxx.h>:与开发板配套的头文件 配置内核 1.配置哪些目录需要编译 2.配置哪些文件需要编译 配置方法:Makefile 主目录Makefile:  包含体系结构下的Makefile # Use LINUXINCLUDE when you must reference the include/

U-Boot编译过程完全分析

妖精的绣舞 提交于 2019-12-18 10:50:22
本文转载于:http://www.cnblogs.com/heaad/archive/2010/07/17/1779806.html 2.1 U-Boot Makefile分析 2.1.1 U-Boot编译命令 对于mini2440开发板,编译U-Boot需要执行如下的命令: $ make mini2440_config $ make all 使用上面的命令编译U-Boot,编译生成的所有文件都保存在源代码目录中。为了保持源代码目录的干净,可以使用如下命令将编译生成的文件输出到一个外部目录,而不是在源代码目录中,下面的2种方法都将编译生成的文件输出到 /tmp/build目录: $ export BUILD_DIR=/tmp/build $ make mini2440_config $ make all 或 $ make O=/tmp/build mini2440_config (注意是字母O,而不是数字0) $ make all 为了简化分析过程,方便读者理解,这里主要针对第一种编译方式(目标输出到源代码所在目录)进行分析。 2.1.2 U-Boot配置、编译、连接过程 U-Boot开头有一些跟主机软硬件环境相关的代码,在每次执行make命令时这些代码都被执行一次。 1. U-Boot 配置过程 ( 1 )定义主机系统架构 HOSTARCH := $(shell uname -m

序列化组件

帅比萌擦擦* 提交于 2019-12-18 09:41:41
1,序列化 声明序列化器,具体代码如下 from rest_framework import serializers from DrfDemo.models import Book # -----------------------这是第一版get请求的serializers------------------ class PublisherSerializrs(serializers.Serializer): id = serializers.IntegerField() title = serializers.CharField(max_length=32) # 在类中写了字段,书写校验这个字段 class AuthorSerializer(serializers.Serializer): id = serializers.IntegerField() name = serializers.CharField(max_length=32) class BookSerializer(serializers.Serializer): id = serializers.IntegerField() title = serializers.CharField(max_length=32) pub_time = serializers.DateField() category =