推荐

定制开发

成功案例

个性化博客互动平台

pic
pic
pic
pic
pic
pic
pic

有好想法, 懒得实现? 请联系 👉

Contact Me

更多

最新

Django

dirtree

mysite               :pycharm默认的项目根目录,import会正常导入下面的各个目录.
  - db.sqlite3       :对应了models.py.数据库中的表名如:app1_usertype..
  - manage.py        :python manage.py startapp app1

  - mysite
    - __init__.py    :python3可以不需要.
    - settings.py    :数据库,指定html路径,指定添加的app..
    - urls.py        :route(rul->method)
    - wsgi.py        :一般会替换为uWSGI+NGINX,性能更好一些.

  - templetes        :html
    - master.html    :属于公共的html模板,实现了大部分公共界面,里面预留了一些block,等待他业务html继承.

  - static           :js,images,video..  

  - app1
    - templetestags

      - func.py      :里面定义一些函数共html中使用
    - migrations     :记录数据库的每次修改

    - admin.py       :后台管理
    - apps.py        :对当前app1的配置
    - models.py      :每个类都对应了数据中的一张表!
    - views.py       :业务处理,回调函数对应于urls.py.
    - tests.py       :单元测试

  - middle
    m1.py            :中间件,对应于settings.py-MIDDLEWARE.
python manage.py createsuperuser  # 建立超级管理员,对应admin.py!
python manage.py makemigrations  # 修改model后同步到数据库
python manage.py migrate  # 应用上面的更改

settings.py

INSTALLED_APPS = (
  ....
  'app1',  # 不然models的类不能配合makemigrations同步到数据库!

)

DATABASES = (
  'default': {
     # django默认使用mysqldb连接,故需要在mysite/__init__.py中需要'import pymysql && pymysql.install_as_MySQLdb()'
     'ENGINE': 'django.db.backends.mysql',
     'NAME': 'dbname',  # 必须是已经创建好的数据库
     'USER': 'root',
     'PASSWORD': 'pwd',
     'HOST': '',
     'PORT': '',
  }
)
STATICFILES_DIR = (
  os.path.join(BASE_DIR, 'static'),  # 配置静态文件目录

)
SESSION_ENGINE='django.contrib.sesssions.backends.cache'  # session默认放在数据库中
MIDDLEWARE = [
  ....
  'middle.m1.CMiddleWare1',
]

models.py

from django.db import models

class UserType(models.Model):
    # 会隐含的创建id自增主键列.
    name = models.CharField(max_length=32)  # 表UserType的第一列.

class UserInfo:
    '''  其他参数
    blank    :admin中是否可以为空
    help_text:admin中的提示信息
    db_index :是否对该列建立索引,经常做查询key的列需要建立.
    unique   :唯一索引
    auto_now :在更新记录的时候,该列会自动更新时间,精确到微妙!
    auto_now_add :在创建新记录的时候,该列会自动插入当前时间!
    '''
    uid = models.AutoFiedl(primary_key=True)  # 自指定自增列
    username = models.CharField(verbose_name='用户名',max_length=16)  # 用户名可以在views中使用ModeForm使自动取值
    pwd = models.CharField(max_length=16,null=True)  # 注意:若之前其他列都有好多数据了,则新添加的列必须指定值,不然会有提示!
    email = models.EmailField(max_length=16)  # 实际上仅能够对admin的表单数据做验证!

    user_type_id = models.IntegerField(choices=((0,'超级用户'),(1,'普通用户')), default=1)  # admin中会显示下拉框
    # 可直接访问关联的表: row.user_type.name
    # 类型是UserType.uid(默认就是主键关联),列明会被自动修改为user_type_id.
    user_type = models.ForeignKey('UserType', to_field='uid')
# 通常在Views.py导入,然后取得数据库的数据后传递给render参数!
# filter()+values()过滤中使用双下划线用于跨表取数据,相当于对象的点语法!
models.UserInfo.objects.create(username='root',pwd='123')  # 或-->
models.UserInfo.objects.filter(username='root').delete()  # 也可以all().delete()
models.UserInfo.objects.filter(username='root').update(pwd=1)  # 改密码
models.UserInfo.objects.filter(username='root').first()  # 找到第1个匹配,不存在==None!
.all().values('col1','user_type__name') # [{'col1':v, 'col2':v}...],限定仅取指定的列
for r in models.UserInfo.objects.all(): # [userinfo_obj, ...]
    r.id, r.username, r.pwd

admin.py

后台管理用的,必须把^admin映射添加到urls.py中!

更多

MMIO

微软使用此方法来加快多媒体文件的 I/O 操作.

如果不适用该类API转而直接使用系统函数fread等将降低效率

更多

AAC

  • AAC是一种音频压缩技术,是有损压缩(线性pcm是无损)
  • AAC压缩比通常为18:1,也有资料说为20:1,远胜mp3
  • AAC可以支持多达48个音轨,15个低频(LFE)音轨,5.1多声道支持;
  • 更高的采样率,最高可达96kHz,音频CD为44.1kHz;
  • 更高的采样精度,支持8bit、16bit、24bit、32bit,音频CD为16bit;
  • 以及有多种语言的兼容能力,更高的解码效率,
  • 一般来说,AAC可以在比MP3文件缩小30%的前提下提供更好的音质AAC规格与编解码器

目前听到用的比较多的应该是 LC-AAC、HE-AAC、Main(主规格)、SSR(可变采样率)等规格

更多

Audio

https://mediaarea.net/en/MediaInfo
https://sourceforge.net/projects/audacity/

正常人听力范围在: 20~20KHz. 根据那奎斯特定理,采样率应该在40KHz左右.

更多

GFW

Terminology

  • IPLC(内网专线,不走GFW) > BGP(GFW优化线路) > CN2(公网独享,高等级,最稳定的中国电信线路) > 公网合租
  • HK > # $900
  • DC6 CN2 GIA-E > # $120
  • DC9 CN2 GIA > # $50
  • DC8 CN2 GT >
  • DC3 CN2 ~ DC2 QNET ~ DC4 MCOM

VPS测速

速率监控比对

更多

Direct X

DX是由微软公司开发的多媒体编程接口.由很多API组成的(处于低系统级别);

更多

Live555

实现了对标准流媒体传输协议如RTP/RTCPRTSPSIP等的支持

更多

Photoshop

背景图层不要解锁,否则扩展画布时候背景色无法选择(变为透明)! 当然,如果要透明的背景色,首先应该解锁!

更多

Firefox

mkv: 生成配置文件: linux、windows:~/.vimperatorrc %userprofile%\_vimperatorrc

更多

Software Engineering

Software Engineering

http://www.uml.org.cn/oobject/OObject.asp
http://www.xin3721.com/eschool/rjgcjc/

UML: Unified Modeling Language


软件需求

需求分析 ➕ 需求定义 ➡️ 快速原型 ➡️ 需求说明书

更多