### must should
**准备数据**
```
PUT ms/doc/1
{
"name":"andy",
"age":30,
"from": "hb",
"desc": "皮肤黑、性格直",
"tags": ["黑", "长", "直"]
}
PUT ms/doc/2
{
"name":"Amy",
"age":18,
"from":"hn",
"desc":"肤白貌美,娇憨可爱",
"tags":["白", "富","美
发表于:2020-07-26 阅读(390)
### 两种查询方式
不推荐第一种方式。
**url**
```
GET a1/_search/?q=age:18
{
"took" : 18,
"timed_out" : false,
"_shards" : {
"total" : 5,
"successful" : 5,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : 1,
"max_score"
发表于:2020-07-25 阅读(392)
基本操作:
```
#添加数据
PUT a1/doc/1
{
"name":"andy",
"age":16
}
# 再次添加,因为用的同一个索引,所以会修改前面插入的数据
PUT a1/doc/1
{
"name":"andy jack",
"age":18
}
PUT a1/doc/2
{
"name":"andy",
"age":16
}
#获取数据
GET a1/doc/1
{
"_index" : "a1",
"_type"
发表于:2020-07-24 阅读(396)
本篇主要讲一下`__getattribute__, __getattr__,__get__`的执行顺序
```python
#!/usr/bin/env python
# coding:utf-8
class Account:
user_name = 'andy'
def __get__(self, instance, owner):
print('作为类属性时被访问时,无条件经过我')
print(instance,
发表于:2020-07-23 阅读(375)
### scp
scp用于在不同主机间复制文件,采用ssh协议保证复制的安全性。
-C 压缩传输
-l 指定传输占用的带宽,单位kb
-P port
-p 传输后保留文件原始属性
-q 不显示传输进度条
-r 递归复制整个目录
```shell
scp /etc/services 10.0.0.1:/tmp
# 从远程复制到本地
scp 10.0.0.1:/etc/service . #当前目录
```
发表于:2020-07-22 阅读(250)
### zip
打包和压缩文件,与gzip相比,它不会删除源文件,且可以压缩目录
-f 将指定目录下的所有文件和子目录一起压缩
-x 压缩文件时排除某个文件
-q 不显示详细信息
```shell
zip -r tmp.zip ./tmp/ -x tmp/services.zip
✘ ~/Desktop zip code.zip code.py code.rb code.copy
adding: code.py (deflated 19%)
adding: c
发表于:2020-07-21 阅读(197)
最近看到可能会有这种需要实时消息的需求,至于后面会不会用到还不一定,就利用周末看看,写了个简单的示例。
记得以前写过django的版本,用的应该是channels,据说django3.0已经默认支持websocket了,但没去了解。
django版的旧例:https://github.com/Andy963/wechat.git
下面是flask socketio版本的:
index.html 客户端
```html
flask
发表于:2020-07-20 阅读(183)