大四实习期间公司遇到的一些知识点

计算机知识点:

CMD里面 ping 域名, 就知道服务器是什么

 

台式机连接无线网:
一、无线网卡
二、无线网卡的驱动(驱动精灵)


访问: http://httpbin.org/get 获取:
{
"args": {

},
"headers": {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
"Accept-Encoding": "gzip, deflate",
"Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8",
"Host": "httpbin.org",
"Referer": "https://blog.csdn.net/xiongzaiabc/article/details/84030849",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36"
},
"origin": "42.236.203.8, 42.236.203.8",
"url": "https://httpbin.org/get"
}

 

Python知识点:

float向下取整直接用内建的 int() 函数即可:
>>> a = 3.75
>>> int(a)
3


正则表达式:获取 "post/"后面的所有数字:
a = re.findall(r'post/(\d+)', detail_url)[0]


去除换行:str.replace("\n", "")
去除空格:str.strip()


MD5使用:
from hashlib import md5
m = md5()
m.update(b"aa")
print(m.hexdigest())


代码 %2B在html中是+号的意思,通过 GET方式传值的时候,+号会被浏览器处理为空。。需要转换为%2b

 

升级PIP ,升级一下pip ,--upgrade 后面跟的是需要升级的库名
python -m pip install --upgrade pip


python后端执行前端JS代码可以使用:
pip install PyExecJS
import execjs
execjs.eval("js代码")

 

Python内置函数eval()
将字符串str当成有效的表达式来求值并返回计算结果 如:
a = "*"
b = "5"
c = "6"

print(eval("{}{}{}".format(b, a, c)))

打印结果是30

 


在浏览器url中 "/", 等于"%2F" "+", "%2B"

 

 

python 数字的四舍五入
问题
你想对浮点数执行指定精度的舍入运算。

解决方案
对于简单的舍入运算,使用内置的 round(value, ndigits) 函数即可。比如:

 


Python的list中insert() 将一个元素插入到列表中,但其参数有两个(如insert(1,”g”)),第一个参数是索引点,即插入的位置,第二个参数是插入的元素。

 

 

 


.py文件,有两种执行方法
一、直接右键运行,作为脚本运行
二、被import到其他程序中执行

如果加上 if __name__ == '__main__': 这句代码的话,只有右键运行这句代码下面的代码才会运行,而被导入到其他程序中,这句代码下面的话将不再执行

 

 


python为什么只有一个元素的元组要加逗号?
假设你要给一个函数传递一个参数,而这个参数是一个tuple,比如:(12,),如果你写成(12),你猜python是会把他当成数字12呢,还是一个tuple?
这样的情况并不少见,比如数学运算,就会用到小括号,python会如何处理呢?加个“,”,就是明确的告诉python,这是一个tuple。
字符串也会出现类似的情况。
('abc')和('abc',)python会有不同的处理。
找几个方法处理一下对应的对象类型,就明白了。

 


django 返回json格式数据
import json
from django.http import HttpResponse
def get_an_apple(request):

resp = {'errorcode': 100, 'detail': 'Get success'}

return HttpResponse(json.dumps(resp), content_type="application/json")

 

函数返回多个值,可以用如下方法按需获取
def xxx():
a = 1
b = 2
c = 3
return {"a": a, "b": b, "c": c}

fff = xxx()
print(fff["a"])

 

 

 

请求头 "Transfer-Encoding": "chunked", 出现乱码,去掉这个请求头试试,(可以看看awehome发布新帖时,就携带有这个头)

 


Requests支持流式上传,这允许你发送大的数据流或文件而无需先把它们读入内存。要使用流式上传,仅需为你的请求体提供一个类文件对象即可:(可以看看awehome发布新帖时,就有这种情况)
Requests+requests-toolbelt库(直接发送数据流)

 

MySQL知识点:

自增长代码代表:auto_increment

主建的代码代表:primary key


通过python给mysql建表
import pymysql

db = pymysql.Connect(host='119.28.130.xxx',
port=xxx,
user='xxx',
password='xx.666',
database='xx', )
cursor = db.cursor()
sql = '''create table Student( (create table xxx 有个table 有个table 有个table)
StdID int not null,
StdName varchar(100) not null (注意最后一行没有逗号 没有逗号 没有逗号)
)'''

 

desc table 查看表属性


mysql添加字段 alter table table1 add transactor varchar(10) not Null;
mysql修改字段 alter table 表名称 change 字段名称 字段名称 字段类型 [是否允许非空];

cursor.execute(sql)
db.commit()
print(cursor)
print(db)


创建数据库 create database xxx
删除数据库 drop database xxx
删除表 drop table xxx
清空表内数据

 

ORM添加保存实时时间字段
date = models.DateTimeField(auto_now_add=True)

 

django通过ORM操作mysql
详情看:https://www.cnblogs.com/chaojiyingxiong/p/9490582.html(找时间整理到自己博客)

 

 

Mysql插入中文时提示:ERROR 1366 (HY000): Incorrect string value:
做以下操作:
修改表的编码方式:ALTER TABLE `test` DEFAULT CHARACTER SET utf8;(该命令用于将表test的编码方式改为utf8; )
修改字段的编码方式:ALTER TABLE `test` CHANGE `name` `name` VARCHAR(36) CHARACTER SET utf8 NOT NULL;(该命令用于将表test中name字段的编码方式改为utf8)

 

 前端知识点:

$("#log").empty() 删除id为log标签下面的所有子标签
$("#log").append("<p>" + success_data + "</p>") id为log标签下面增加一个p标签
$("#log").val()获取id为log输入框中的内容
$("#log").val("哈哈哈")把id为log输入框中的内容修改为"哈哈哈"


jquery修改标签css样式
$(".btn1").click(function(){
$("p").css("color","red");
});


路径中的点“./”、“../”、“/”代表的含义
“./”:代表目前所在的目录
“. ./”:代表上一层目录
“/”:代表根目录


//获取id=div1下的子元素的个数
$('#div1').children().length;
//获取id=div1下的span元素个数
$('#div1').children('span').length;


html适应手机端
<meta name="viewport" content="initial-scale=1, user-scalable=0, minimal-ui">


媒体查询
@media screen and (max-width: 500px) {
#all_url {
width: 300px;
}
}


解决手机端页面左右浮动 :
html,body{
overflow-x:hidden;
}

 

域名前的“www”改成“m”,一般就是访问手机页面的网站,例如:“www.baidu.com”改为“m.baidu.com”


alert(3.9395613131043667.toFixed(10)) 打印结果是 3.9395613131 相当于取小数点后面的十位数

 


CSS加粗字体:
font-weight: bold;


html母版继承
{% extends 'master.html' %} #继承master.html,只能继承一个模版
{% block title %}用户管理{% endblock %} 继承模板之后添加自己才有的块儿

 

HTML JSON解析
JSON.parse(后台传过来的数据):把JSON字符串转换成js数据,如存在不符合JSON要求的数据,会直接报错;
JSON.stringigy(要往后台传数据 ):把js的数据转换成JSON字符串,如存在不符合JSON要求的数据,会直接报错

 

 

 

Git基本命令:

Git工作步骤:工作区→暂存区→提交到git仓库


mkdir xxx 新建文件夹
touch xxx.txt 新建文件

git init 新建git库
git status 查看当前文件夹中文件状态
git add 内容有变动的文件添加到待暂存区
git commit -m '版本变更描述' 将暂存区的文件提交到git仓库
git diff xxx.txt 查看内容有变动的文件是哪里有变动了
git reflog 查看历史提交版本
git reset hard--历史版本码 返回以前版本

cat xxx.txt 查看文件的内容


git checkout --xxx.txt 撤销操作,有以下两种情况: (注意:命令git checkout -- xxx.txt 中的 -- 很重要,如果没有 -- 的话,那么命令变成创建分支了。)
一、xxx.txt自动修改后,还没有放到暂存区,使用 撤销修改就回到和版本库一模一样的状态。
二、另外一种是xxx.txt已经放入暂存区了,接着又作了修改,撤销修改就回到添加暂存区后的状态


rm xxx.txt 删除文件
此时 git status 显示 deleted: xxx.txt
此时有两种选择:
一、git commit -m '详细描述' 直接提交,彻底删除
二、checkout -- xxx.txt 恢复被删除的这个文件

 


远程仓库(Github):
在连接之前,先注册github账号,由于本地Git仓库和github仓库之间的传输是通过SSH加密的,所以需要一点设置:

 

 

 

HTTP请求和响应参数

Request Headers

Accept:告诉服务器,客户机支持的数据类型

Accept-Encoding:告诉服务器,客户机支持的数据压缩格式

Cache-Control:缓存控制,服务器通过控制浏览器要不要缓存数据

Connection:处理完这次请求,是断开连接还是保持连接

Cookie:客户机通过这个可以向服务器带数据

Host:访问的主机名

Upgrade-Insecure-Requests:参考http://www.cnblogs.com/hustskyking/p/upgrade-insecure-requests.html

User-Agent:告诉服务器,客户机的软件环境

  Response Headers响应头

  Connection:处理完这次请求后,是断开连接还是继续保持连接

  Content-Encoding:服务器通过这个头告诉浏览器数据的压缩格式

  Content-Length:服务器通过这个头告诉浏览器回送数据的长度

  Content-Type:服务器通过这个头告诉浏览器回送数据的类型

  Date:当前时间值

  Server:服务器通过这个头告诉浏览器服务器的类型

  Vary:Accept-Encoding ——明确告知缓存服务器按照 Accept-Encoding 字段的内容,分别缓存不同的版本;参考:https://imququ.com/post/vary-header-in-http.html

  X-Powered-By:服务器告知客户机网站是用何种语言或框架编写的。

 

转载于:https://www.cnblogs.com/QimiSun/p/10494712.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目标检测(Object Detection)是计算机视觉领域的一个核心问题,其主要任务是找出图像中所有感兴趣的目标(物体),并确定它们的类别和位置。以下是对目标检测的详细阐述: 一、基本概念 目标检测的任务是解决“在哪里?是什么?”的问题,即定位出图像中目标的位置并识别出目标的类别。由于各类物体具有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具挑战性的任务之一。 二、核心问题 目标检测涉及以下几个核心问题: 分类问题:判断图像中的目标属于哪个类别。 定位问题:确定目标在图像中的具体位置。 大小问题:目标可能具有不同的大小。 形状问题:目标可能具有不同的形状。 三、算法分类 基于深度学习的目标检测算法主要分为两大类: Two-stage算法:先进行区域生成(Region Proposal),生成有可能包含待检物体的预选框(Region Proposal),再通过卷积神经网络进行样本分类。常见的Two-stage算法包括R-CNN、Fast R-CNN、Faster R-CNN等。 One-stage算法:不用生成区域提议,直接在网络中提取特征来预测物体分类和位置。常见的One-stage算法包括YOLO系列(YOLOv1、YOLOv2、YOLOv3、YOLOv4、YOLOv5等)、SSD和RetinaNet等。 四、算法原理 以YOLO系列为例,YOLO将目标检测视为回归问题,将输入图像一次性划分为多个区域,直接在输出层预测边界框和类别概率。YOLO采用卷积网络来提取特征,使用全连接层来得到预测值。其网络结构通常包含多个卷积层和全连接层,通过卷积层提取图像特征,通过全连接层输出预测结果。 五、应用领域 目标检测技术已经广泛应用于各个领域,为人们的生活带来了极大的便利。以下是一些主要的应用领域: 安全监控:在商场、银行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值