自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 收藏
  • 关注

转载 商品中心中台支持系统(2)-分类设计

目录商品中心中台支持系统-分类设计修订记录目录1、分类设计商品中心中台支持系统-商品销售信息设计修订记录日期版本章节描述作者2018-10-25V1.0初始版本无涯目录1、分类设计本文讲述电商系统构建中,商品中心属性模块的相关知识和数据存储设计。1.1、分类知识分类管理具有如下功能:· 1.方便快速发布及管理商品,...

2019-07-18 16:04:39 3539

转载 商品中心中台支持系统(1)-总体架构设计

目录商品中心中台支持系统-总体架构设计修订记录目录1、商品中心商品中心中台支持系统-总体架构设计修订记录日期版本章节描述作者2018-10-25V1.0初始版本无涯目录1、商品中心本文讲述电商系统构建中,商品中心中台模块设计。中台概念参考阿里巴巴的中台模式,对商品专门独立为一个数据中心,集中做各个业务平台的商品信息管理。1.1、商品中心思维导图商品中心主要分为商品相关基础数据管理模块和商品应用数...

2019-07-18 16:00:17 11953

原创 ubuntu下安装配置docker

安装docker卸载旧版docker旧版本的Docker被称作docker或者docker-engine,Docker CE(社区版)包现在被叫做docker-ce。如果之前安装过了,需要先卸载:sudo apt-get remove docker docker-engine docker.io添加新的docker存储库# 更新apt安装包索引sudo apt-get up...

2019-07-14 00:44:21 535

原创 使用pyttsx3初探

这是一个文字转语音的python模块。 1. macos下安装的时候出现问题: 后来发现,Foundation, AppKit, PyObjCTools都不存在,主要原因是缺少依赖模块pyobjc, 安装完之后就一切正常。 2. 语音语言的设置 默认语言为英语,在网上查找了半天都没找到原因,回到源码。 init()实际上返回了一个Engine对象,Engine对象里有两个方法,

2017-12-26 18:37:28 14373

原创 .gitignore文件使用的误区

.gitignore文件修改后往往不能直接生效 究其原因,.gitignore 文件只能作用于那些从来没有被 Git 记录过的文件(自添加以后,从未 add 及 commit 过的文件)。因此如果文件曾经被 Git 记录过,那么.gitignore 就对它们完全无效。 解决办法:删除本地缓存,使文件成为untrack状态git rm -r --cached .修改文件,修改.gitig

2017-11-08 16:05:41 564 2

原创 vscode, sublime, atom的快捷设置

在/usr/local/bin/中设置其软链接,具体分别如下:ln -s /Applications/Atom.app/Contents/MacOS/Atom /usr/local/bin/atomln -s /Applications/SublimeText.app/Contents/SharedSupport/bin/subl /usr/local/bin/sublln -s /Applicat

2017-10-16 17:15:01 1566

原创 mac系统下配置python环境

mac环境中配置python环境的一个主要困难是由于SIP导致的。Apple在10.11中全面启用了名为System Integrity Protection (SIP)的系统完整性保护技术。最直接的影响是:许多未经签名的第三方kext以及经过修改的原版kext将无法加载使用;大部分系统文件即使在root用户下也无法直接进行修改。在配置python环境中的直接问题是: 1. python官方建议不

2017-10-08 11:08:20 2525

原创 查询ubuntu系统版本号

主要方法有两个: * cat /etc/issue * lsb_release -a

2017-09-25 14:27:15 424

原创 语义化版本编号

关于版本管理,学习了一下Tom Preston-Werner提出的语义化版本编号(SemVer)。这里主要将其2.0.0的规范进行简单翻译,具体的其他细节可以参见其主页和github页面。我着这里仅作个人熟悉规则使用:

2017-06-10 17:04:59 264

原创 ruby的安装

个人比较建议下载源码编译安装1 wget https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.gz2 tar zxf ruby-2.3.1.tar.gz3 cd ruby-2.3.14 ./configure5 make6 sudo make install7 make clean 由于ruby的gem被屏

2017-06-10 17:04:54 386

原创 vitualenvwrapper的常用命令

创建环境: mkvirtualenv 若要指定python版本来创建: mkvirtualenv -p /usr/bin/python3.4  切换环境: workon 注销当前环境: deactivate列出所有环境: lsvirtualenv删除环境:      rmvirtualenv 复制环境:      cpvirtualenv 进入当前环境的site-packages目录:  

2017-06-10 17:04:50 287

原创 peewee中创建自己的Field

peewee中创建自己的Field,主要通过继承Field或其子类来完成, 如果有mysql中对应的字段,则将其赋值给db_field即可。这里对set, enum并没有找到通用的字段定义,但是对具体的业务可以进行如GenderField这样的个性化定制。如果没有,则使用其父类的db_field字段,并定义db_value和python_value两个方法来完成与数据库中数据类型之间的转化  

2017-06-10 17:04:47 1296

原创 mongodb设置远程连接

1. 在mongo客户端创建用户  2. 修改/etc/mongd.conf配置文件,将bindIp注释掉  3. 重启mongod服务,在我的机器上service mongod start没有生效,所以使用的命令是: 4. 连接服务器时使用地址方式mongodb://[user][:password]@host:port/[dbname] 如在python 中可以如此连接

2017-06-10 17:04:44 4920

原创 supervisor的配置与使用

supervisor用于linux系统中的后台管理, 需要注意的是, supervisor可以用于python2.4+环境,但是不适用于任何python3.x环境。supervisor的配置文件在官方文档中有详细说明,配置文件中以;标识注释块。 配置文件格式满足python parseconfig模块的格式要求。 这里主要一些自己比较感兴趣的配置模块:1. iner_http_server

2017-06-10 17:04:39 1203

原创 selenium在远程服务器上的虚拟显示

selenium安装后,在python中调用时总是出现错误 这里浏览器闪退主要是因为在服务器端没有显示相关的驱动,安装了一个虚拟显示之后问题就解决了1 sudo apt-get install xvfb2 sudo pip install pyvirtualdisplay 使用的方法则需要导入虚拟显示的模块, 启动浏览器前开启显示, 结束后关闭显示 1 #! /

2017-06-10 17:04:34 743

原创 logging知识点小结

1. logging模块的基本构成logging(/usr/lib/python2.7/logging/)含有三个文件, 引用方法分别为1 import logging  # __init__.py2 import logging.config3 import logging.handlers  2. logging模块使用的基本概念 a. Logger 主

2017-06-10 17:04:30 453

原创 安装numpy的坑

需要预先安装几个库:1 sudo apt-get install build-essential gfortran libatlas-base-dev python-pip python-dev  另外numpy, scipy在virtualenv中安装时总是出错,具体跟liblapack-dev, libblas-dev这些依赖包相关。目前还没有找到比较好的解决方案,官方推荐的安装方

2017-06-10 17:04:25 757

原创 使用peewee将数据库从mysql导入mongodb

因为业务需要,要讲数据从mysqldb迁移到mongodb中去。结合peewee和pymongo写了一个小脚本,使用的也都是sql的原生语句读取数据。 碰到几个小坑,但是还比较容易解决。如果碰上数据量非常大,可以考虑使用peewee中的paginate方法,具体脚本记录如下:   1 from peewee import * 2 from datetime import datetim...

2017-06-10 17:04:20 843

原创 ubuntu中安装mongo

参照[官方](https://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/)给出的安装步骤,收录如下: 1 sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927 2  3 # 由于本人用的是ubuntu 14.04, 所以仅收录这

2017-06-10 17:04:17 299

原创 python ORM 模块peewee(四): Model类源码初探

Model的初始化方法主要继承自BaseModel类的__new__方法。 下面粗略的通过源码来看看:class BaseModel(type): # 定义可被继承的属性列表(全局) inheritable = set([ 'constraints', 'database', 'db_table_func', 'indexes', 'order_by',

2017-06-10 17:04:13 674

原创 python ORM 模块peewee(三): Model的建立

首先,需要理清一下python数据与数据库数据是怎么对应的:Model类:表Field类:表上的列的类型Model实例:表上的一行数据1. Model Class主要描述的是数据表以及其继承的顺序这里主要是需要对Model类中的Meta类的定义规范进行小结:当Meta类建立后,不应该通过mymodel.Meta来进行访问,而应该使用mymodel._meta, 这是一个Model

2017-06-10 17:04:10 3074

原创 python ORM 模块peewee(二): 数据库使用的基本流程

#! /usr/bin/env python# coding: utf-8# 1. 导入peewee的模块from peewee import *from datetime import datetime# 2. 建立数据库实例db = MySQLDatabase( database = 'test', host = 'localhost',

2017-06-10 17:04:07 1262

原创 python ORM 模块peewee(一): 建立数据库对象

1. 单连接模式peewee通过Database类及其子类来建立数据库对象,目前peewee支持的数据库有Postgres, MySQL,MySQL,SQLite 以及BerkeleyDB。这里我们仅通过MySQL来进行了解,如果对其他数据库类型的相关内容感兴趣可以参见官方文档。mysql通过MySQLDatabase类来初始化数据库对象,这是Database的一个子类,继承了父类的构造函数:

2017-06-10 17:04:03 4281

原创 ubuntu怎么进入单用户模式

ubuntu下进入单用户模式可以使用命令sudo init 1由于虚拟机的sudoer配置文件出问题,没办法使用sudo命令,root的密码又不记得,所以研究了一下通过recover模式进入单用户模式中的方法。不多说了,上图:启动系统的时候长按 shift 键,进入grub菜单:选择ubuntu高级选项,按 e 键选择recovery模式,按 e 进入修改里面的linux行修改

2017-06-10 17:03:58 23485 1

原创 安装scrapy

安装: sudo pip install lxml pyOpenSSL zope.interface twisted scrapy错误信息:解决办法: sudo apt-get install libxml2-dev事实上,在scrapy官网中建议的预安装为: sudo apt-get install python-dev python-pip libxml2-de

2017-06-10 17:03:53 201

原创 mysql的python API

具体内容可以参见官方文档。这里仅对其中的部分内容进行整理。1. 安装官网上对debian安装包的介绍仅限于dpkg安装,下载网址: # 这里以ubuntu15.04_amd64为例 wget http://cdn.mysql.com//Downloads/Connector-Python/mysql-connector-python-cext_2.1.3-1ubuntu15.0

2017-06-10 17:03:50 404

原创 mysql中的事件计划(event scheduler)

事件计划是mysql中的对象,其中的sql语句会由经过特定时间段来触发。按照官方文档上的说明,这个概念与'时间触发器(temperal trigger)'是有区别的。从根本上来说evnet scheduler是对特定时间段的响应,而trigger是对特定表上发生的特定事件的响应。事件计划在sql标准中并没有定义,但是在其他数据库中可以看到类似的概念。mysql中的事件有一下一些主要的特征:1.

2017-06-10 17:03:48 500

原创 mysql中的view(虚拟表)

视图是从一个或多个表/视图中导出来的虚拟表。mysql支持可更新的视图。1 创建 CREATE [OR REPLACE] ##使用这个选项,若视图已存在,则等图create,若视图不存在,则等同alter [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}] [DEFINER = { user | CURRENT_USER

2017-06-10 17:03:45 4724

原创 mysql中的trigger

mysql中trigger的语法跟procedure和function类似。1 创建 CREATE [DEFINER = { user | CURRENT_USER }] TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW

2017-06-10 17:03:40 263

原创 mysql中的过程和函数

1 创建存储过程和函数创建存储过程和函数的create语法规范如下: CREATE [DEFINER = { user | CURRENT_USER }] ##很多时候不需要特别声明 PROCEDURE sp_name ([proc_parameter[,...]]) [characteristic ...] routine_body

2017-06-10 17:03:37 2508

原创 mysql中的日志

日志的配置可以在my.conf中修改清除日志可以使用命令:mysqladmin -u root -p flush-logs或者mysql>flush logs;1 错误日志(Error log)记录MySQL服务的启动、运行或停止MySQL服务时出现的问题。当mysql服务器认为需要检查和修复某个表,就会在错误日志里写下相应的信息。如果启动mysql服务时使用了--mysqld_sa

2017-06-10 17:03:35 193

原创 mysql中的索引

一般来说索引可以分为普通索引,主键索引,全文索引,唯一索引和空间索引。1 添加索引a 创建表时添加 CREATE TABLE table_name [col_name data_type] [UNIQUE|FULLTEXT|SPATIAL] [INDEX|KEY] [index_name] (col_name [length]...) [ASC | D

2017-06-10 17:03:32 228

原创 mysql中的内置函数

mysql内置函数列表可以从mysql官方文档查询,这里仅分类简单介绍一些可能会用到的函数。1 数学函数abs(x)pi()mod(x,y)sqrt(x)ceil(x)或者ceiling(x)rand(),rand(N):返回0-1间的浮点数,使用不同的seed N可以获得不同的随机数round(x, D):四舍五入保留D位小数,D默认为0, 可以为负数, 如round(19, -

2017-06-10 17:03:27 4177 1

原创 mysql中的操作符

1 算术运算符+-*/, div(整型除)%, mod2 比较运算符:结果总是1, 0或者NULL=: null-safe等于, 两边都为null则返回1, 一边为null则返回0<>,!=<=>=><is nullis not nullisis notbetween...and...not between...and...likenot likereg

2017-06-10 17:03:25 237

原创 mysql中的数据类型

1 整型 2 定点型 decimal, numeric, 在mysql中以binary形式储存,用于精确存储数值。  decimal(m,n): m为最大有效位数(不超过65,默认为10),用于控制数值的精度,n为最大小数位数3 浮点型 float(4 bytes), double(8bytes) , 用于近似存储数值。  float(m,n): m为最大有效位数(0-23),

2017-06-10 17:03:22 262

原创 mysql数据增删改查操作

1 插入数据 这条语句可以同时插入多条数据,若为所有字段插入数据,则column_list可以省略掉。 INSERT INTO table_name (column_list) VALUES (value_list1)[, (value_list2)...]; 2 修改数据 UPDATE table_name SET column_name1 = val

2017-06-10 17:03:17 213

原创 mysql中的数据表操作

1 数据表的创建详细情况可以参考创建表CREATE TABLE语法关于constraint的使用可以参见mysql constraint语法规范:CREATE [TEMPORARY] TABLE [IF NOT EXISTS] ( col_name type [NOT NULL | NULL] [DEFAULT default_value] [AUTO_INCRE

2017-06-10 17:03:15 195

原创 mysql中的数据库操作

数据库的默认参数可以通过mysql配置文件来设定,也可以通过数据库文件夹中的db.opt来设定字符集。1 数据库创建语法规范为:CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [create_specification [, create_specification] ...]create_specification:

2017-06-10 17:03:12 179

原创 mysql 中用户与权限的操作

mysql中用户权限的操作大部分都可以通过修改mysql.user表中的信息来达成,此外还有特定的sql语句可以实现相同的功能。若要实现精细的操作,还可以查看db, host,tables_priv, columns_priv和procs_priv等等表格。但是需要注意的是:通过操作mysql.user实现的功能在日志,和命令历史中会留下记录,导致不安全因素。 因此最好是直接通过专用命令来实现。

2017-06-10 17:03:09 536

原创 percona server安装

下面是个人觉得相对比较简单的方法,其他的方法可以参见官网导入percona 的官方keyapt-key adv --keyserver keys.gnupg.net --recv-keys 1C4CBDCDCD2EFD2A导入 repository# 下载wget https://repo.percona.com/apt/percona-release_0.1-3.$(lsb_rele

2017-06-10 17:03:04 277

空空如也

空空如也

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

TA关注的人

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