前端开发
前端html/js/css
草根大哥
流媒体专家,IT咨询师,电商建站。
展开
-
C语言的堆与栈
程序运行中有两个存储空间可用,一个是栈,是归属于进程本身的,另外一个是堆,所有进程共用的。局部变量存放在栈中,而全局变量则放在堆中。局部变量,如果是基本数据类型,那么就直接存在栈中,如果是应用数据类型,比如String str = new String("12");,会把对象存在堆中,对象的引用(指针)存在栈中。成员变量,类的成员在不同对象中各不相同,基本数据类型和引用数据类型都存储在这个对象...原创 2020-03-27 11:03:09 · 1019 阅读 · 0 评论 -
vs2015工程向vs2019工程迁移碰到的各种问题
把一个C++工程,从vs2015工程向vs2019工程迁移的过程中,碰到了好多问题,记录如下:1. ConfigINI.cpp(85,55): error C2664: “std::string &trim(std::string &)”: 无法将参数 1 从“std::basic_string<char,std::char_traits<char&...原创 2020-03-24 11:47:51 · 5811 阅读 · 0 评论 -
2. error MSB6003: 指定的任务可执行文件“CL.exe”未能运行。
用vs2019编译一个程序时,突然报这个错误。解决:全网搜索资料,关于这个问题很少。后来,我发现是project property中,把C++语言标准改为:默认值。这样就fixed了。我先前选择了vc++14。居然就导致了这个问题。我build all一次,就没有问题了。不管是选择ISO C++14 标准 (/std:c++14)还是ISO C++17 标准 (/std:c++17)都是可以...原创 2020-03-02 23:49:11 · 6227 阅读 · 0 评论 -
vs2019使用体验
微软总是跟不上ISO标准,不过到vs2019的时候,终于跟上了。vs2015支持c++11,到vs2019,支持vc++14和vc++17。编译器的审查变得更加严格了,象strcpy(), sprintf()都不能用了,直接就报错。这样也好,规范化是好事情,我也就开始跟着改变吧。 strncpy_s(filename, inputfile, sizeof(filename));...原创 2020-03-02 19:58:05 · 1956 阅读 · 0 评论 -
python可以在遍历列表时,直接对dict元素增加字段
example: for item in warehouse_list: warehouse_id = item['warehouse_id'] warehouse = Warehouse.objects.get(id=warehouse_id) item['warehouse_owner_id'] = warehouse.owner_id ...原创 2018-02-13 17:44:19 · 4614 阅读 · 0 评论 -
mysql存储过程总结
1、所谓存储过程,实际上就是mysql批处理。过程是PROCEDURE的意思,Fortun语言的函数就是过程这个关键字。2、存储过程中用到的变量,不能跟数据库字段名重复。比如 UPDATE sku SET sku_name = sku_name WHERE sku_id = sku_id;3、存储过程要放在某一个数据库中,但执行call存储过程时,不受数据库的影响。比如: ca原创 2018-02-06 15:59:47 · 306 阅读 · 0 评论 -
rabbitMQ使用的一点小结
首先,queue这个概念,只在接收侧(消费者),在发送侧(生产者),只有一个routing_key的概念。如何理解呢?这就是说,routing_key是全局的,你得定义为"queue.key"的形式,比如MQ_ORDER_KEY = 'bill.order'其次,no_ack=False和no_ack=True的区别no_ack=false (此时为手动应答) 在这种情况下,要...原创 2018-02-10 23:06:20 · 320 阅读 · 0 评论 -
pika.exceptions.ConnectionClosed: Connection to 127.0.0.1:5672 failed: timeout
设置pika的连接socket_time参数超时时间长一些,例如1s:connection = pika.BlockingConnection(pika.ConnectionParameters(host='10.17.1.226',port=5672,credentials=cred,socket_timeout=1))显然我的原因是,我没有安装abbitmq-server.# pip3 ...原创 2018-02-10 22:56:02 · 4372 阅读 · 0 评论 -
python进程/线程如何与django框架融合
django框架就是为了方便地访问数据库, 进程/线程可以方便地融合进来,利用django提供的便利.首先, 要初始化django,如下:import os, djangoos.environ.setdefault("DJANGO_SETTINGS_MODULE", "accounting_service.settings")django.setup()然后,要设置进程运行环境原创 2018-01-28 11:30:41 · 733 阅读 · 0 评论 -
python django开发经验总结
1.建立model字段时,要给出default值,如果不方便给的,加上null=True。这是为了方便以后数据库做migrate不出错。2.一张表一定要明确哪个字段或哪几个字段作为索引,不能重复的。除非是history操作记录,否则所有表都应该有一个唯一索引。这不仅有利于提高检索效率,而且有利于理解业务逻辑。3.尽量把需要的字段先加进去,后期减少改表动作,django改表后做migra原创 2018-01-28 11:29:02 · 1117 阅读 · 0 评论 -
数据库建立冗余字段的原则
冗余字段,是设计数据的时候常用的一种手段。优点是,可以在很大程度上避免数据库的关联查询,不使用join提升查询速度。缺点是,数据一致性维护成本高,需要维护冗余字段的一致性。数据库model设计,致力于不要建立冗余字段。因为维持数据一致性是一个big problem。但是作为操作日志,记录,历史这些,是需要冗余的。其实,在这里已经不是冗余了,只是记录了当时的信息。比如下面的operator_n...原创 2018-02-13 17:45:09 · 2654 阅读 · 1 评论 -
python新用户无法register的问题调查
突然发现生产环境新用户无法注册。心中一惊!最后定位是model中有一列:department = models.ForeignKey('cmm.Department', null=True, verbose_name='隶属部门')既然是外键,又允许为null。这样的定义在实践中肯定要发生异常。我也不改model。在代码中增加:user.department_id = 0。因为用户在注册时,无法知...原创 2018-03-01 19:22:30 · 733 阅读 · 0 评论 -
Go 是互联网时代的C语言
原本2018年春节就应该好好学一下Go语言的,一直拖到今天。有点对不起一位前公司的老朋友Steve涛。Go = C语言 + OOP。或是Go = C语言 + python。Golang就是在几十年不变的经典C语言基础上,增加了封装性和并发性。特别是增加了字典和列表类型的处理。Go 一般比 Python 要快 30 倍??这个要看如何对比。Go 使用起来异常快速并且简单。其唯一的创新之处...原创 2018-08-20 14:35:03 · 2553 阅读 · 2 评论 -
SDK tools directory is missing
Android开发SDK tools directory is missing问题是,现在google不让单独下载SDK,只能下载集成的android studio。我应该是先前安装时,重新给了目录,结果就报找不到SDK的目录了。studio认为,已经安装过了。去android中文网baiduNetdisk上下载一个。http://tools.android-studio.org/ind...原创 2018-11-07 06:34:44 · 4122 阅读 · 0 评论 -
python3.6 pycrypto安装
warning: GMP or MPIR library not found; Not building Crypto.PublicKey._fastmath.msvs2015版本号为14.0,对应环境变量VS140COMNTOOLS。要安装这个VC IDE才行。我只安装了vs2010。记得勾选VC++2015和Python Tools。VCINSTALLDIR=C:\Program Fil...原创 2018-11-22 07:04:09 · 404 阅读 · 0 评论 -
python序列化存在问题:too many values to unpack
经查,发现是model的定义: photo_type = models.IntegerField(choices=PHOTO_TYPE_LIST, verbose_name='相片分类', null=True)# PHOTO_TYPE_LIST = (# (0, 'surface_photo', '封面照'),# (1, 'frontID', '身份证正面'),#...原创 2019-03-17 19:39:13 · 313 阅读 · 0 评论 -
HTTP,cookies and session机制在django中的实现
无状态的HTTP协议 协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器 传送到客户端的浏览器。 HTTP协议是无状态的协议。一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接。这就意味着服务器无法从连接上跟踪会话。...原创 2019-03-24 10:18:48 · 225 阅读 · 0 评论 -
移动H5播放器wp5.js
移动H5播放器wp5.js产品规格:1. 支持主流CDN加速的https://xxx.flv拉流播放,音频AAC和视频H.264编码。2. 兼容chrome/firefox/safari/IE11浏览器,支持PC和移动android/iOS手机平台。3. 视频加载速度快,播放无累积时延。播放:reopen(stream-url)停止: close()音量调节:setVolume(vo...原创 2019-07-29 23:05:23 · 721 阅读 · 0 评论 -
django的查重机制失效原因
首先,肯定是没有建立联合索引,象这样:unique_together = (('receiver_id', 'sender_id', 'notification_type', 'apply_number', 'apply_entity_id', 'aimed_entity_id',原创 2018-01-28 11:27:21 · 339 阅读 · 0 评论 -
django项目数据库迁移过程记录及注意事项
前段时间,在对一个ajango的仓库项目进行了旧数据库的迁移。由于数据库的model发生了较大的变化,因此,迁移过程很小心,逐表进行。步骤:1.用新的数据库model进行migrate,保证字段相同。2.然后导出excel表,手工修改正确。3.在一个无人操作数据库的时间段,导入表格。第一步,备份要导入的数据库。# mysqldump -hrm-2zei290y0js原创 2018-01-28 11:25:58 · 2948 阅读 · 0 评论 -
python学习[4]: 用python celery + rabbitMQ搭建并行分布式框架及验证
任务解耦(分布式并发处理):假设生产者和消费者分别是两个类。如果让生产者直接调用消费者的某个方法,那么生产者对于消费者就会产生依赖(也就是耦合)。将来如果消费者的代码发生变化,可能会影响到生产者。而如果两者都依赖于某个缓冲区,两者之间不直接依赖,耦合也就相应降低了。生产者直接调用消费者的某个方法,还有另一个弊端:由于函数调用是同步的(或者叫阻塞的),在消费者的方法没有返回之前,生产者只好一直等在那原创 2017-08-26 10:50:29 · 3386 阅读 · 0 评论 -
语言对应了你解决问题的层次,人生苦短,我用python.
语言对应了你解决问题的层次,人生苦短,我用python.一、python优势1、跨平台。2、代码精简(同样的功能,只有java的1/5量。)3、应用范围广。用C言语写后台,捕获异常太困难,简直是灾难!用Java来写,代码量太大,非常吃内存。python吸收了两者的长处,避免了两者的短处,所以,我打算转python。二、python的版本3.x是变化很大的,2.x是主原创 2017-08-23 08:44:32 · 463 阅读 · 0 评论 -
python学习(5):celery-beat-task异步驱动框架
https://github.com/celery/celery/tree/master/examples/celery的example程序periodic-tasks存在如下问题:[2017-08-26 21:52:11,412: INFO/MainProcess] Received task: periodic-tasks.say[ce4e0f08-ac1e-4bdf-8e3原创 2017-08-27 00:29:50 · 1153 阅读 · 1 评论 -
django框架对数据库的操作
问题:F:\gitserver\oschina\xiaobm\tmpjob\OMS>python manage.py makemigrationsCommandError: Conflicting migrations detected; multiple leaf nodes in the migration graph: (0005_auto_20170902_1631, 0003原创 2017-09-05 19:53:18 · 4134 阅读 · 1 评论 -
python 报错信息: AttributeError: module 'token' has no attribute '__all__'
F:>python qiniu_test.pyeyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1IjoiMTg5ODA1ODU1NjIiLCJ0IjoxNTA2MjY1NTUyfQ.vkw9kMcfmbuwp2dTjLATDlZL93yNLjaX4-kOhUIjHvATraceback (most recent call la原创 2017-09-15 09:50:48 · 4400 阅读 · 0 评论 -
python学习(5):web网站开发利器Django框架
https://www.djangoproject.com/安装完python和pip后,安装pip install django>>> import django>>> print(django.get_version())1.11.4>>> virtualenv可以搭建虚拟且独立的python运行环境, 使得单个项目的运行环境与其它项目独立起来.virtua原创 2017-08-30 20:06:07 · 475 阅读 · 0 评论 -
制作一个python-docker image and run a container!
#docker pull holbertonschool/ubuntu-1404-python3#docker run --name python3 -v /home:/mnt -ti docker.io/holbertonschool/ubuntu-1404-python3:latest /bin/bash安装pip或是通过pip来安装很不方便,放弃了!我还是基于lnmpa原创 2017-09-02 12:26:49 · 880 阅读 · 0 评论 -
百度和高德地图接口取经纬度都有失效的时候,把两者结合起来用,才是解决之道。
# 使用高德APIdef geocodeG(address): par = {'address': address, 'key': 'cb649a25c1f81c1451adbeca73623251'} base = 'http://restapi.amap.com/v3/geocode/geo' response = requests.get(base, par)原创 2017-10-07 08:16:54 · 681 阅读 · 0 评论 -
python的pycrypto安装问题(win7环境)
1、设置VC环境变量VCINSTALLDIR = C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC打开cmd,执行如下命令:set CL=/FI"%VCINSTALLDIR%\\INCLUDE\\stdint.h" %CL%重新安装pycrypto 2.6.1通过cmd进入pycrypto 2.6.1目录,执行python原创 2017-10-31 23:24:47 · 3840 阅读 · 0 评论 -
python django项目开发总结
用python django框架,参与开发了一个电商物流的项目,简单说就是从用户(店主)在各个电商平台拉订单,然后智能选仓,发送订单,由仓库出货。订单后处理功能包括:各电商平台拉取订单,检查订单(去重,留言分析,货到付款标识识别,地址合法性检查),拆单/并单,选仓发货。辅助功能包括:允许开展营销活动(满元赠,满件赠)。允许开启消费者理智期(延迟处理订单)。全国范围智能选仓进行备货,业内叫分原创 2017-11-17 13:11:13 · 4190 阅读 · 0 评论 -
django序列化时如何添加一个customer filed NOT in my model?
标题:django序列化时如何添加一个customer filed NOT in my model?直接上代码,看注释。class SkuSimpleSerializer(ModelSerializer): created_at = TimestampField(required=False) updated_at = TimestampField(re原创 2017-11-30 18:12:23 · 516 阅读 · 0 评论 -
django报1050, "Table 'django_content_type' already exists"
分析:这个报错的原因是,已经做过migration了,但django_migrations中并没有记录! 导出数据库时,这张表居然为空,导不出来,于是就有了这个问题。解决:手动创建django_migrations表的记录,哪些有做过migration的,这张表就添加记录。网上有人用python manage.py migrate --fake-initial来解决,但我看不行!不知道从什么时候开原创 2018-01-18 15:12:41 · 10584 阅读 · 3 评论 -
mysql的模糊查找
SELECT *from skuwhere sku_name like "%新疆阿克苏%"原创 2018-02-02 23:49:03 · 252 阅读 · 0 评论 -
django ORM的反向查找related_name
首先说一下什么是正向查找,比如order表,有一个表项在model中定义为: order = models.ForeignKey( 'oms.Order', related_name='order_detail', on_delete=models.CASCADE)order_details = OrderDetail原创 2018-02-03 00:29:52 · 1904 阅读 · 0 评论 -
1050, "Table 'django_content_type' already exists"
分析:这个报错的原因是,已经做过migration了,但django_migrations中并没有记录! 导出数据库时,这张表居然为空,导不出来,于是就有了这个问题。解决:手动创建django_migrations表的记录,哪些有做过migration的,这张表就添加记录。网上有人用python manage.py migrate --fake-initial来解决,但我看不行!原创 2018-01-28 11:22:25 · 4395 阅读 · 2 评论 -
python django项目中对时间的处理建议
时间的应用是非常普遍的. 各个记录都要带上时间,否则不知道什么时间的数据和操作. 前端由分布在世界各地的web来app来访问,时区不同. 后端也可能分布在不同的区域服务器,时区也不同. 所以, 前后端的交互时,时间尽量为unix时间戳timestamp,它是绝对时间,跟时区无关.但我们在测试这个api时会很不方便, 因此,后端提供的api,需要注意兼容这两种输入格式,就是时间字符串和时原创 2018-01-28 11:24:22 · 515 阅读 · 0 评论 -
python学习[2]
python为什么代码量少?高级数据结构使你可以在一个单独语句中表达出很复杂的操作。语句的组织依赖于缩进而不是begin/end块。不需要申明变量或参数。python的解释器是C语言写的,那么,python是可以集成进由C写的程序中的。python跟bash一样可以作为脚本来调用:#! /usr/bin/env python$ chmod +x myscript.p原创 2017-08-24 22:52:05 · 226 阅读 · 0 评论