自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

昊羲的博客

技术人员肩上担负着的,是别人的人生!

  • 博客(41)
  • 资源 (4)
  • 收藏
  • 关注

原创 Django 用散列隐藏数据库中主键ID

最近看到了一篇讲Django性能测试和优化的文章, 文中除了提到了很多有用的优化方法, 演示程序的数据库模型写法我觉得也很值得参考, 在这单独记录下.原文的演示代码有些问题, 我改进了下, 这里可以查看: https://github.com/wanghaoxi3000/development/tree/master/Python/Django/optimize_django在实际项目中,

2018-01-23 00:59:03 754

原创 Python模块之virtualenvwrapper

Python的virtualenv工具可以创建隔离的Python环境, virtualenvwrapper是virtualenv的进一步封装工具,可以让它更好用。安装Linux 系统下: pip install virtualenvwrapperWindows 系统下: pip install virtualenvwrapper-win配置环境变量

2018-01-04 22:55:25 208

原创 在Docker中运行crontab

在把自己的项目通过Docker进行打包时,由于项目中用到了crontab,不过使用到的基础镜像python:3.6-slim并没有安装这项服务,记录下在镜像中安装和配置crontab的过程。Dockerfile由于基础镜像中没有crontab服务,需要在打包自己镜像的Dockerfile中加入安装cron服务的步骤。FROM python:3.6-slimMAINTAINER

2018-01-04 22:26:49 4776

原创 shell编辑crontab任务

crontab是Linux下执行定时任务的工具,之前偶尔需要用到时都是通过执行crontab -e命令或者通过root身份直接编辑/etc/cron.*/下的文件来添加定时任务。这段时间遇到了需要通过shell来自动添加或删除crontab的需求。在shell中无法通过crontab -e来与crontab编辑器交互,同时执行命令的人不一定有root身份,也无法直接编辑/etc/cron.*/下的文

2017-12-29 00:05:24 9121 4

原创 ES6作用域和解构赋值

ES6 强制开启严格模式作用域var 声明局部变量,for/if花括号中定义的变量在花括号外也可访问let 声明的变量为块作用域,变量不可重复定义const 声明常量,块作用域,声明时必须赋值,不可修改// const声明的k指向一个对象,k本身不可变,但对象可变function test() { const k={ a:1 } k.b=3; c

2017-11-03 00:01:00 191

原创 C++11 新知识点

翻了下新版的C++ Primer,新的C++ 11真是变化很大,新增了很多语法特性。虽然已经很久没在写C++了,但一直对这门经典语言很感兴趣的,大致看了看前几章基础部分,总结下新特性备个忘,总结下新特性备个忘吧。估计也很难有机会用上了… ╮(─▽─)╭基本语法类型别名C++11新规定了一种使用using的别名声明的方法typedef double wages;using wages = doubl

2017-09-25 23:53:25 281

原创 JavaScript闭包基本概念

闭包的概念维基百科中是这么解释闭包的: - 计算机科学中,闭包(也称为词法闭包或函数闭包)是指一个函数或函数的引用,与一个引用环境绑定在一起。这个函数环境是一个存储该函数每个非局部变量(也叫自由变量)的表。闭包,不同意一般函数,它允许一个函数在立即词法作用域外调用时,认可访问非本地变量。闭包的例子使用闭包function outer() { var localVal = 30;

2017-06-24 18:28:29 292

原创 JavaScript函数

函数的调用直接调用 foo();对象方法 o.method();构造器 new Function();call/apply/bind func.call(o);函数声明和表达式函数声明会被前置,函数表达式变量声明会被前置,但是值为undefined。函数声明function func(a, b) { //do sth}函数表达式将函数赋值给一个变量var func = fun

2017-06-24 18:17:35 267

原创 JavaScript类型比较

JavaScript的类型原始类型:numberstringbooleannullundefined对象类型:Object functionArrayDate…隐式转换+/- 运算“37” + 7 = “377”“37” - 7 = 30== 运算以下为true: - “1.23” == 1.23 - 0 == false - null == undefined比

2017-06-02 20:41:24 456

转载 [转载]Python模块之Collections

转载至 https://eastlakeside.gitbooks.io/interpy-zh/content/collections/collections.html容器(Collections)Python附带一个模块,它包含许多容器数据类型,名字叫作collections。我们将讨论它的作用和用法。 我们将讨论的是: - defaultdict - counter - deque

2017-05-26 22:57:52 243

原创 思维导图学Java之Class对象

Class对象相关知识导图:

2017-05-16 23:22:23 239

原创 Python进阶之装饰器

函数也是对象要理解Python装饰器,首先要明白在Python中,函数也是一种对象,因此可以把定义函数时的函数名看作是函数对象的一个引用。既然是引用,因此可以将函数赋值给一个变量,也可以把函数作为一个参数传递或返回。同时,函数体中也可以再定义函数。装饰器本质可以通过编写一个纯函数的例子来还原装饰器所要做的事。def decorator(func): def wrap(): pr

2017-05-10 22:06:04 278

原创 Java IO学习要点导图

Java IO的一些基础知识:

2017-05-01 16:51:43 213

原创 Python进阶之迭代器和生成器

可迭代对象Python中任意的对象,只要它定义了可以返回一个迭代器的__iter__方法,或者定义了可以支持下标索引的__getitem__方法,那么它就是一个可迭代对象。简单来说,可迭代对象就是能提供迭代器的任意对象,但可迭代对象本身并不一定是一个迭代器。迭代器任意对象,只要定义了next(Python2) 或者__next__方法,它就是一个迭代器。迭代完毕后继续调用__next__方法会产生一

2017-05-01 16:40:02 350

转载 [转载]事件驱动的简明讲解(python实现)

转载至http://www.cnblogs.com/thinkroom/p/6729480.html 作者:码匠信龙举个简单的例子:有些人喜欢的某个公众号,然后去关注这个公众号,哪天这个公众号发布了篇新的文章,没多久订阅者就会在微信里收到这个公众号推送的新消息,如果感兴趣就打开来阅读。事件驱动模型可以理解为上面的例子,是设计模式中观察者模式的一种典型应用。除了订阅公众号外,如你关注某人的微博,关注某

2017-04-27 23:14:54 7983 6

原创 <大话设计模式>笔记

读完了这本书,收获很多,对程序设计有了很多新的理解。将每章模式的大概要点做了些笔记以备查阅,一些设计模式书读完也对其了解得不是很透彻,需要以后在实践中来不断地加深理解吧。用Java跟着实践了些代码上传到了https://github.com/wanghaoxi3000/design_mode。设计模式简单工厂模式简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static F

2017-04-26 23:01:20 599 1

原创 配置程序成为Linux服务

最近写了个程序需要随Linux启动时自动运行起来, 查了一些方法后, 通过配置程序成为系统的服务实现了这个需求, 在此记录一下.测试程序#! /bin/shwhile [ true ]do echo "[`date +%Y%m%d-%H%M%S`]" >> /var/log/test_sh.log sleep 5done每5秒, 向/var/log/test_sh.log 输出一

2017-04-20 23:46:52 255

原创 Django的设计模式

MVC模式MVC将应用程序分解为三个组成部分:mode(模型)、view(视图)、control(控制器),其中: - M 管理应用程序的状态(通常存储到数据库中),并榆树改变状态的行为(或者叫“业务规则”) - C 接受外部用户的操作,根据操作访问模型获取数据,并调用“视图”显示这些数据,控制器将“模型”和“视图”隔离,并成为二者之间的纽带 - V 负责把数据格式化后呈现给用户。MTVDja

2017-04-09 15:58:35 1536

原创 Django ModelForm修改默认的控件属性

Django 中利用ModelForm 可以快速地利用数据库对应的Model 子类来自动创建对应表单.例如:from django.db import modelsfrom django.forms import ModelFormclass Book(models.Model): name = models.CharField(max_length=100)

2017-04-09 15:47:55 1036

原创 Android活动生命周期

任务(Task)Android 是使用任务(Task)来管理活动的,一个任务就是一组存放在栈里的活动的集合,这个栈也被称作返回栈(Back Stack).在默认情况下,每当我们启动了一个新的活动,它会在返回栈中入栈,并处于栈顶的位置。而每当我们按下 Back 键或调用 finish()方法去销毁一个活动时,处于栈顶的活动会出栈,这时前一个入栈的活动就会重新处于栈顶的位置。系统总是会显示处于栈顶的活动

2017-03-19 21:51:00 253

原创 MySQL必知必会笔记

数据库和表的增删改创建数据库CREATE DATABASE 数据库名;# mysql中还可使用如下语句CREATE SCHEMA 数据库名;数据库选择USE 数据库名;创建表create table students( id int unsigned not null auto_increment primary key, name char(8) not null,

2017-01-22 23:23:50 277

原创 Python tarfile模块解压报错 invalid mode ('wb') or filename

问题原因在使用tarfile模块解压一份Linux服务器上的打包文件时, 出现了错误提示: IOError: [Errno 22] invalid mode (‘wb’) or filename. 经过检查, 发现是因为打包文件中有文件名存在’:’符号, 而window下的文件名是不能有’:’符号的因而报错.解决办法通过搜索, 找到了种解决办法, 可以将解压时含’:’的地方转换成’_’等正常的符号

2016-12-10 17:07:22 4116

原创 python小知识点

默认参数陷阱def foo(a1, args = []): print "args before = %s" % (args) args.insert(0, 10) args.insert(0, 99999) print "args = %s " % (args)def main(): foo('a') foo('b')输出:args before =

2016-12-10 17:03:24 212

原创 py2exe转换参数

在公司用python写了个统计数据并通过xlsxwriter模块生成excel的小工具, 完成后使用py2exe转换成exe文件过程中遇到了些问题, 记录下.from distutils.core import setupimport syssys.argv.append('py2exe') # 直接执行python setup.py即可转换includes = ['xlsxwriter']o

2016-11-08 00:43:58 967 2

原创 Linux驱动开发基础知识

常用命令lsmod: list module,将模块列表显示),功能是打印出当前内核中已经安装的模块列表insmod: install module,安装模块,功能是向当前内核中去安装一个模块,用法是insmod xxx.komodinfo: module information,模块信息,功能是打印出一个内核模块的自带信息。,用法是modinfo xxx.kormmod: remove m

2016-11-02 23:54:43 305

原创 Vi使用技巧

复制剪切v:选择y:复制d:剪切p:粘贴查找/pattern:向下查找pattern匹配字符串 ?pattern:向上查找pattern匹配字符串 使用了查找命令之后,使用如下两个键快速查找: n:按照同一方向继续查找N:按照反方向查找撤销/重做u: 撤销上一个编辑操作ctrl + r: 回退前一个命令U: 行撤销,撤销所有在前一个编辑行上的操作多窗口编辑sp : 打

2016-11-02 23:51:59 164

原创 shell编写总结

变量引用(VAR):会先将VAR当做一条命令来执行,再将结果作为(VAR): 会先将VAR当做一条命令来执行, 再将结果作为VAR引用 ‘VAR′:单引号中包含的变量,不会被引用,仍然输出VAR': 单引号中包含的变量, 不会被引用, 仍然输出VAR “VAR":双引号中包含的变量,会被引用成VAR": 双引号中包含的变量, 会被引用成VAR的值输出 “: 优先执行其中的命令, 用在字符串中时

2016-11-02 23:47:02 169

原创 Linux常用命令

文字处理wc统计文件里面有多少单词, 多少行, 多少字符 - -l:仅列出行 - -w:仅列出多少字(英文单字) - -m:多少字符sort对 File 参数指定的文件中的行排序, 并将结果写到标准输出. 如果File参数指定多个文件, 那么sort命令将这些文件连接起来, 并当作一个文件进行排序 - -f:忽略大小写的差异,例如 A 与 a 视为编码相同 - -b:忽略最前面的空格符部分

2016-11-02 23:25:19 123

原创 python模块

模块模块的作用对代码进行归类模块的依据import sys sys.path模块名称的重要性自定义模块名不要与自带的模块重名导入模块importfrom aaa import bbbfrom aaa1 import bbb as aaa1_bbbfrom aaa2 import bbb as aaa2_bbb第三方模块pi

2016-08-11 00:27:44 214

原创 python文件操作学习笔记

文件操作open()r 只读 r+ 可读可写 可指定位置写 w 只写 w+可读可写 先清空再写 x 文件存在, 报错; 不存在, 创建并写内容 a 追加 x+ 可读可写 在最后写文件对象内部函数read()无参数, 读全部 参数: b按字节, 无b按字符tell()获取当前指针位置seek()调整指针到指定位置write()

2016-07-19 00:15:39 260

原创 Makefile常用知识点

格式目标:最终要去生成的文件依赖:用来生成目标的源材料命令:加工的方法,make的过程就是使用命令将依赖加工成目标的过程通配符%和自动推导%代表一个或几个字符,例如%.o就代表所有以.o为结尾的文件。当Makefile需要一个文件时,他会将这个目标去按规则套用,一旦套用上某个规则说明,则Makefile会试图寻找这个规则中的依赖,如果能找到则会执行这个规则用依赖生成目标。自动变量$@

2016-07-19 00:11:31 242

原创 python对象学习笔记

python对象的三个特性身份对象的唯一标识, 可被认为是该对象的内纯地址, 极少用到, 可通过id()来获得.类型决定该对象可以保存什么类型的值, 可以进行什么操作, 及遵循什么样的规则, 可通过type()来查看值对象表示的数据项以上三个特性在创建对象的时候就被赋值, 除了值以外, 其它两个特性都是只读的.对象类型type类型对象所有类型对象的类型都是type, 它也是所有python类型的根和

2016-07-15 00:02:53 338

原创 Python元组学习笔记

元组不是那么”不可变”虽然元组对象本省不可变, 但这并不意味着元组包含的可变对象也不可变了. t = (['xyz', 123], 23, -103.4)\#t = (['xyz', 123], 23, -103.4)t[0][1] = ['abc', 'def']\#t = (['xyz', ['abc', 'def']], 23, -103.4) 默认集合类型所有多对象的, 逗号分隔的, 没

2016-07-07 23:02:11 354

原创 基于U-BOOT-2010.09移植OK6410开发版记录(三)

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I

2016-07-03 11:27:08 425

原创 基于U-BOOT-2010.09移植OK6410开发版记录(二)

点亮LED灯修改完UBOOT对于6410的配置文件后,就可以正式开始移植工作了。S3C6410这块SOC出了这么久,我想BL1阶段应该区别不大,就先在BL1中点亮LED灯练练手吧。不过实际移植过程中却走了很多弯路… OK6410的1.1.6版UBOOT编译出来只有uboot.bin这一个文件,但我在2010的版本修改完后烧录uboot.bin这个文件却始终不正常…仔细研究了下发现2010的

2016-07-03 11:00:36 387

原创 Python基础知识学习笔记(2)

Python基础知识学习笔记

2016-07-03 00:46:14 282

原创 Python基础知识学习笔记(1)

Python基础知识笔记

2016-06-27 22:55:40 266

原创 思维导图之SSH协议

最近看资料时看到了很多使用思维导图来记述知识点的方法。感觉很不错,清晰明了的描述出了各个知识的点知识结构或流程框架,准备学习下这种方式。最近正在看鸟哥的Linux私房菜服务器篇,便用XMind这款软件来画了下学习ssh过程中的思维导图。

2016-06-15 00:04:59 446

原创 uboot2010-09 arm1176 start.S分析

uboot的start.S是整个uboot的最开始的部分,最近正在学习uboot的移植,开发板是OK6410,使用了uboot中arm1176的start.S,位于`arch/arm/cpu/arm1176`,对这一文件进行了下简略的分析。

2016-05-31 01:05:29 615

原创 uboot smdk6400.lds链接脚本分析

uboot smdk6400.lds链接脚本分析

2016-05-31 00:26:24 246

VSCode1.3.10

微软推出的VS code编辑器,方便下载

2016-07-18

OK6410 天嵌官方uboot

天嵌官方配套的OK6410,适用于256-2G版本

2016-06-13

OK6410 官方uboot

2016-06-09

u-boot-2010.09

u-boot-2010.09源代码

2016-05-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除