01-java基础
变量的声明和使用变量的声明方式
数据类型 变量名 = 初始值;
=初始值可以省略
举例:
1234567public class VarTest { // main方法是执行入口 public static void main(String[] args) { int age = 18; System.out.println("age = " + age); // age = 18}
使用变量的注意事项
使用变量之前需要声明
使用变量之前需要初始化
变量不能重复声明
标识符的命令法则
由数字、字母、下划线以及$等组成,其中不能以数字开头
不能使用java语言的关键字。
区分大小写,长度没有限制但不宜过长
尽量做到见名知意,支持中文但不推荐使用
标识符可以给类/变量/属性/方法/包 起名
数据类型分类
基本数据类型
byte、short、int、long、float、double、boolean、char
引用数据类型
数组、类、接口、枚举、标注
整数类型
Java语言中描述整数数据的 ...
01-vim学习
vim基本认识必要性服务器上编写文件配置
后端和运维工程师必须掌握的编辑器,不然服务器上操作很不习惯
纯键盘操作,可以提高编辑效率
难点vim难上手学习曲线陡峭
vim资料少,网上的博客资料都比较零散,学习困难
vim命令多,难以记忆
下载安装linux 自带
初识vim
输入vim命令进入vim
进去之后似乎没法输入东西,起始默认进去是normal模式
使用:q可以退出vim
开始编辑进入编辑模式就可以像其他编辑模式一样编辑
使用i(insert)进入编辑模式,开始输入文字
或者输入 a(append), o(open a line below)
使用Esc又可以回到normal模式, 输入:wq保存退出
a、i、o / A、I、O
1234567a append a 往后追加i insert i往前追加o open a line below o下一行写A append after line A 在一行的结尾写I insert before line I 在一行的前面写O append a line abov ...
vim学习目录
vim学习目录学自慕课上的vim教程
01 vim学习
django实战
职位管理系统创建一个可以管理职位的后台安装
1pip install django
创建项目
1django-admin startproject startproject
初始化:
123# 先进入项目下python manage.py makemigrationspython manage.py migrate
启动项目:
1python manage.py runserver 0.0.0.0:8000
创建管理员账号:
1python manage.py createsuperuser
打开django的管理后台:http://127.0.0.1:8000/admin
输入用户名和密码:
招聘系统里面的职位管理
管理员能够发布职位
匿名用户(候选人)能够浏览职位
匿名用户能够投递职位
职位管理系统-建模
职位名称、类别、工作地点、职位职责、职位要求、发布人、发布日期、修改日期
创建应用
12python manage.py startapp jobs# 在配置文件settings中 INSTALLED_APPS添加这个应用
jobs应用的model:
1234567 ...
python核心
python中一切皆对象函数和类也是对象,属于python的一等公民
赋值给一个变量
可以添加到集合对象中
可以作为参数传递给函数
可以当做函数的返回值
type、object和class之间的关系type可以生成一个类,可以返回对象的类型
1234567891011121314151617181920212223242526272829a = 1b = "abc"print(type(1)) # <class 'int'>print(type(int)) # <class 'type'>print(type(b))print(type(str))# type->int->1# type->class->obj# object是最顶层的基类# type也是一个类,同时type也是一个对象class Student: passclass MyStudent(Student): passstu = Student()print(type(stu)) # ...
python总结
Python语言基础python语言特性
动态强类型语言(不少人误以为是弱类型)
动态还是静态指的是编译期还是运行期确定类型
强类型指的是不会发生隐式类型转换
鸭子类型当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只鸟就可以被称为鸭子。
关注点在对象的行为,而不是类型(duck typing)
比如 file,StringIO,socket 对象都支持read/write方法(file like object)
再比如定义了__iter__魔术方法的对象可以用 for 迭代
python2与3的差异
python3 中print 成为函数
编码问题,python3中str默认就是unicode
Python3 除号返回浮点数
优化的 super() 方便直接调用父类函数
python3新增的:
yield from 链接子生成器
asyncio内置库,async/await 原生协程支持异步编程
python3改进的:
一些内置库的修改。urllib, selector 等
生成的 pyc 文件统一放到 __pycache__
monkey patch ...
celery简单使用
Celery介绍Celery是一个功能完备即插即用的任务队列。它使得我们不需要考虑复杂的问题,使用非常简单。celery看起来似乎很庞大,我们先对其进行简单的了解,然后再去学习其他一些高级特性。 celery适用异步处理问题,当发送邮件、或者文件上传, 图像处理等等一些比较耗时的操作,我们可将其异步执行,这样用户不需要等待很久,提高用户体验。 celery的特点是:
简单,易于使用和维护,有丰富的文档。
高效,单个celery进程每分钟可以处理数百万个任务。
灵活,celery中几乎每个部分都可以自定义扩展。
celery非常易于集成到一些web开发框架中.
Celery 官网:http://www.celeryproject.org/
Celery 官方文档英文版:http://docs.celeryproject.org/en/latest/index.html
Celery 官方文档中文版:http://docs.jinkan.org/docs/celery/
Celery架构Celery的架构由三部分组成,消息中间件(message broker)、任务执行单元(worke ...
django配置redis缓存
django缓存配置redisdjango中默认使用Memcache 作为缓存,一旦重启服务,数据就会丢失,不能持久化。
在项目中,过多需要缓存的不是简单数据,而是对象,比如 model类对象
12345678910111213import redispool = redis.ConnectionPool(max_connections=100, decode_responses=True)rdb = redis.Redis(connection_pool=pool)user_query = User.objects.all()rdb.setex('user_query', 300, user_query) # 原生redis不能直接操作对象,会报错from user.models import Userfrom django.core.cache import cachecache.set('user_query', user_query) # django默认是使用Memcache 作为缓存print(cache.get('u ...
01-并发编程
操作系统发展史穿孔卡片一个计算机房,只能被一个穿孔卡片使用
缺点:
CPU利用率低
联机批处理支持多用户去使用一个计算机房
脱机批处理系统高速磁盘:
提高文件的读取速度
优点:
提高CPU的利用率
多道技术(基于单核情况下研究)
单道:多个使用CPU是串行
多道:
空间上的复用:一个CPU可以提供给多个用户去使用
时间上的复用:切换 + 保存状态
时间上复用说明:
(1)若CPU遇到IO操作,会立即将当前执行程序CPU使用权断开优点:CPU的利用率高
(2)若一个程序使用CPU的时间过长,会立即将当前执行程序CPU使用权断开
缺点:程序的执行率降低
并发与并行并发:指的是看起来像同时运行,多个程序不停地切换 + 保存状态
并行:真实意义上的同时运行
进程程序与进程:
程序:一堆代码
进程:一堆代码运行的过程
进程调度:当代操作系统使用的是:时间片轮转法 + 分级反馈队列
1、先来先服务调度:a, b程序, 若a程序先来, 先占用CPU
缺点:程序a先使用,程序b必须等待程序a使用CPU结束后才能使用
2、短作业优先调度:a, b程序,谁的用时短,先优先调度使用cpu ...
01-网络编程
软件开发架构开发软件,必须要开发一套 客户端 和 服务端
服务端与客户端的作用
服务端:24小时不间断提供服务
客户端:享受服务
C/S架构Client:客户端
server:服务端
优点:
软件使用稳定,节省网络资源
缺点:
若用户想要在同一设备使用多个软件,必须下载多个客户端。
软件的么一次更新,用户是必须也跟着重新下载更新
C/S架构的软件:
PC端的QQ,移动端的微信、qq等
数据放在服务端和客户端的利弊:
服务端同意处理有更好的安全性和稳定性而且升级比较容易,不过服务器 负担就增加了
客户端将负担分配到每个用户,从而节约服务器资源,安全性和稳定性可能会有问题,但是升级比较麻烦,每个安装的客户端程序都需要升级,另外为了节省网络资源,通过网络传输的数据也应该减少!
B/S架构Browser:浏览器
Server:服务端
优点:
以浏览器充当客户端,无需用户下载多个软件,也无需用户下载更新软件,直接在浏览器中访问需要的软件
缺点:
消耗网络资源过大,当网络不稳定时,软件的使用也不稳定
应用领域:淘宝、京东
OSI七层协议实现远程通信具备:
物理连接介质——> ...