- 博客(76)
- 资源 (2)
- 收藏
- 关注
原创 Appium无线连接手机(一)
一直想利用Appium实现控制手机集群这个功能,考虑到如果仅仅使用数据线连接设备会非常麻烦,因此本文就如何利用无线实现Appium连接手机进行实战说明。
2022-02-24 20:25:49 2684 1
原创 Nexus 5x在root过程中遇到的问题及解决方法
由于需要使用Appium对Nexus 5x进行开发,需要对Nexus 5x进行root,在这个过程中遇到许多问题,这里一一说明。一、root的全过程这里首先说明一下root的全过程:1、手机完成“开发者模式”设置2、开启“oem unlock”及usb调试功能3、关闭手机4、进入快速启动模式5、在PC端运行“fastboot oem unlock”6、在PC端运行“fastboot flash recoverytwrp.img”7、进入恢复模式,安装SuperSU.
2022-01-19 12:30:23 2522
原创 使用AppiumDesktop控制手机
安装好AppiumDesktop之后,可以用它连接安卓手机或者模拟器。连接安卓与连接模拟器的方式类似,但连接安卓限制会少一点,而且更利于后期抓包,因此本文主要讲解如何使用AppiumDesotop连接Nexus 5X手机。
2022-01-15 15:17:40 2851
原创 Appium环境搭建教程
最近打算研究开发一个手机的自动化小工具,奈何在这方面自己是一个小白,于是开始针对手机进行研究。由于主要使用Appium这个工具,因此本文主要讲解Appium环境的搭建,并结合自己的实践讲一讲需要避过的坑。一、 安装Node.jsNode.js的安装就相对简单了,下载安装包安装,一路点击下一步就成功了。安装完毕之后,在终端输入node -v,如果显示版本号就表示成功了:二、 JDK安装及环境变量配置正常可以到官网下载JDK...
2022-01-13 07:34:26 4691
原创 /etc/inittab文件说明
本文将把/etc/inittab作为研究起点,向外扩展辐射相关系统知识并一一进行说明。内容包括Linux系统的运行级别、inittab文件、为什么没有/etc/inittab
2021-12-26 08:13:04 4279
原创 使用qemu模拟vexpress开发板(二)——制作根文件系统
根文件系统主要包括:busybox文件、库文件(静态库、动态库、链接器)、设备文件和启动脚本。
2021-12-24 17:04:04 981
原创 使用qemu模拟vexpress开发板(一)——搭建Linux内核文件
按照《Linux设备驱动开发详解》中介绍的那样,需要利用qemu搭建vesxpressCortex-A9的开发板。在上一节完成qemu设置的基础上,本文对esxpressCortex-A9进行研究。1、下载Linux内核 本文直接下载了源代码包:https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.4.91.tar.gz2、安装arm的交叉编译工具链 之前一直使用buil...
2021-12-24 07:34:27 2041
原创 搭建Linux驱动开发环境-关于qemu
最近学习Linux驱动开发,首当其冲就是要搭建开发环境。按照《Linux设备驱动开发详解》所讲的方式,完全可以下载已经搭建好的虚拟机,但是自己觉得既然是学,就要从头自己来实现,于是就有了这篇搭建qemu虚拟环境的文章。
2021-12-21 10:32:11 984
原创 Django中使用修饰器的具体实现
在路由urls.py中配置如下:from django.urls import pathfrom . import viewsurlpatterns = [ path('page/<int:pg>',views.pagen_view),]在视图views.py中对相应的链接进行编辑:from django.http import HttpResponsefrom .self_decorator import * #加载同一目录下self_decorator.
2021-09-30 10:09:28 333
原创 Python之TypeError: unhashable type: ‘list‘问题分析
最近在写程序时,需要对数组和字典进行混合处理,暴露出如题的错误,分析如下:1、错误代码self_array=[1,2,3]self_return = {'code':200, 'message':{self_array}}print(self_return)提示错误:TypeError: unhashable type: 'list'2、错误原因分析经过一番搜索和排查,发现:原来是hash错误。list 不使用 hash 值进行索引,故其对所存储元素没有可哈希的要求;set
2021-09-26 23:49:23 1841
原创 Django利用已有数据库生成模型
众所周知,Django较为适合原生开发,即通过该框架搭建一个全新的项目,通过在修改models.py来创建新的数据库表。但是往往有时候,我们需要利用到之前的已经设计好的数据库,数据库中提供了设计好的多种表单。那么这时如果我们再通过models.py再来设计就会浪费很多的时间。所幸Django为我们提供了inspecdb的方法。他的作用即使根据已经存在对的mysql数据库表来反向映射结构到models.py中。1、通过配置settings文件以及__init__.py来连接到本地的mysql数据库。
2021-08-26 22:02:09 1026
转载 mysql一个数据库中表(数据)复制到另一个数据库中
https://blog.csdn.net/xy405580364/article/details/105248220
2021-08-26 21:31:10 3601
原创 Django中直接调用request.session.session_key返回的是none,如何解决
在程序中代码如下:request.session['pid'] = user.parent.idsession_id = request.session.session_key在生成sessionid后,我想要打印这个sessionid,但是发现返回的是none,通过查询,得知如果 request.session.session_key 为 None,则表示会话对象是全新的,尚未保存到数据库中。调用 request.session.save(),将这个session保存到数据库中,再调用requ
2021-08-20 19:18:07 1903 2
转载 Django框架request.POST.get 获取数据的问题
1. 问题描述前端axios请求时,Django框架request.POST.get ('XXX')获取的数据为None, QueryDict;{}为空2.问题分析从请求的Headers信息中可以看出,Content-Type:application/json;charset=UTF-8,故不能用request.POST.get直接获取3. 解决用如下方法获取数据data = json.loads(request.body)username = data.get(..
2021-08-19 21:43:04 1973 2
转载 xxx.forEach is not a function
https://blog.csdn.net/m0_38082783/article/details/78131036#:~:text=.forEach%20is%20not%20a%20function%20forEach%20%28%29%E6%98%AF%20%E6%95%B0%E7%BB%84,function%E7%B1%BB%20%E5%9E%8B%EF%BC%8C%E8%BF%99%E5%B0%B1%E8%AF%B4%E6%98%8EnewRawData%E6%98%AF%E4%B8%80%E4
2021-08-11 13:01:25 836
转载 微信小程序页面传值的几种方法
https://blog.csdn.net/zhangwenwu2/article/details/86673817
2021-08-09 18:09:04 215
原创 Javascript中字符串转为变量名(用在微信小程序中)
假设小程序接收到以下JSON数据:{"One": {"id": "0", "name": "1",}, "Two": {"id": "1", "name": "K2"}}要将每个对象中的数组组成一个数组,即形成下面的形式:[{"id": "0", "name": "1",}, {"id": "1", "name": "2"}]在js文件中可以写为下面的代码:(这里的request已经经过自己的处理,request的原型也是同样使用)Page({ data: { myda
2021-08-07 18:21:33 1625
转载 Python:生成嵌套字典
生成多层嵌套字典:dic={}dic_1=dic.setdefault('data_one',{})dic_2=dic.setdefault('data_two',{})dic_3=dic.setdefault('data_three',{})dic_4=dic.setdefault('data_four',{})#data_one数据dic_1_0=dic_1.setdefault('don_1',0.028814687)dic_1_0=dic_1.setdefault('don_2
2021-08-04 17:30:18 918
原创 Django:ORM删除操作
一、单个数据删除1、查找查询结果对应的一个数据对象2、调用这个数据对象的delete()方法实现删除二、批量删除1、查找查询结果集中满足条件的全部QuerySet查询集合对象2、调用查询集合对象的delete()方法实现删除三、伪删除通常不会轻易在业务中把数据真正删除,取而代之是的做伪删除,即在表中添加一个布尔型字段(is_active),默认是True;执行删除时,将欲删除数据的is_active字段设置为False。注意:用伪删除时,确保显示数据的地方,均加了is_ac.
2021-08-03 22:30:35 1773
原创 Django:ORM更新操作
一、更新单个数据1、查 通过get()得到要修改的实体对象2、改 通过对象.属性的方式修改数据3、存 通过对象.save()保存数据二、批量更新数据直接调用QuerySet的update(属性=值)实现批量修改#将所有id大于5的所有图书价格定为10元books=Book.objects.filter(id__get=5)books.update(price=10)...
2021-08-03 22:08:47 2344
原创 Django:ORM查询操作(二)
一、条件查询1、filter(条件)语法:MyModel.objects.filter(属性1=值1,属性2=值2)作用:返回包含此条件的全部的数据集返回值:QuerySet容器对象,内部存放MyModel实例说明:当多个属性在一起时为“与”关系。2、exclude(条件)语法:MyModel.objects.exclude(条件)作用:返回不包含此条件的全部的数据集3、get(条件)语法:MyModel.objects.get(条件)作用:返回满足条件的唯一一条
2021-08-03 21:58:19 1157
原创 Django:ORM查询操作(一)
一、数据库的查询需要使用管理器对象进行。通过MyModel.objects管理器方法调用查询方法:1、all() :查询MyModel实体中所有数据返回值:QuerySet容器对象,这个容器里面可以当作数组使用,内部存放MyModel实例eg:from bookstore.models import Bookbooks=Book.objects.all()for book in books: print("书名", book.title, "出版社:", book.pub)
2021-08-03 21:43:10 278
原创 Django:ORM基础字段及选项
一、关于数据库表的修改,请务必在对应模型类上修改。解决方案:模型类中添加对应类属性;执行数据库迁移。二、字段类型及选项这个看官方文档:https://docs.djangoproject.com/zh-hans/3.2/ref/models/fields/#django.db.models.CharField三、模型类-Meta类使用内部Meta类给模型赋予属性,Meta下有很多内奸的类属性,可以对模型类做一些控制。比如改变当前模型类对应的表名。...
2021-08-03 20:12:25 94
原创 Django 模型层及ORM
一、模型层:负责与数据库之间进行通信。二、Django配置mysql1、安装python3-dev和default-libmysqlcient-dev;2、安装mysqlclient(>1.3.13)。3、创建数据库4、进入mysql数据库执行:create database数据库名 default charset utf8 可以将数据库名与项目名保持一致(要注意,‘default charset utf8 ’能够确保你可以输入中文字符!千万不要偷懒!)...
2021-08-03 19:33:15 133
原创 Django中安装uwsgi、nginx以及相关配置(三)
三、nginx+uwsgi排错1、日志位置nginx日志位置: 异常位置:/var/log/nginx/error.log 正常访问信息/var/log/nginx/access.loguwsgi日志位置: 项目同名目录下:uwsgi.log2、常见问题:(1)访问127.0.0.1:80地址,502响应 502响应代表nginx反射代理配置成功,但是对应的uWSGI未启动(2)访问127.0.0.1:80/ur...
2021-08-01 19:40:20 204
原创 Django中安装uwsgi、nginx以及相关配置(二)
(二)部署配置nginx1、安装nginx:sudo apt install nginx安装完毕后,使用nginx -v查看版本安装后自动启动并开放80端口2、修改ngix的配置文件/etc/nginx/sites-enabled/default (这个default是默认80的端口,如果要开放其他端口,再添加文件即可)#在server节点下添加新的location项,指向uwsgi的ip与端口。server{ …… #location相当于路由,在以下配置中,相当.
2021-08-01 10:55:41 257
原创 Django中安装uwsgi、nginx以及相关配置(一)
一、关于uwsgi1、安装 sudo pip3 install uwsgi2、查看uwsgi版本,sudo pip3 freeze|grep -i 'uwsgi'3、配置uwsgi添加配置文件项目同名文件夹/uwsgi.ini (这个前缀是可以改的,比如mysite.ini)如:mysite1/mysite1/uwsgi.ini文件以[uwsgi]开头,有如下配置项:套接字方式的IP地址:端口号,【此模式需要有nginx】 socket=127.0.0.1:......
2021-08-01 10:00:28 694
转载 微信小程序_bindtap传递参数
https://blog.csdn.net/weixin_44599931/article/details/106075320
2021-07-25 20:03:41 2173
原创 微信小程序 - 实现页面跳转,跳转到指定锚点位置
在index.wxml页面创建跳转按钮<!-- index.wxml --><view class="btn" bindtap="jump" data-detail="detail0" > 跳到 detail0 锚点位置 </view><view class="btn" bindtap="jump" data-detail="detail1" > 跳到 detail1 锚点位置</view><view class="b...
2021-07-25 10:46:34 3251
原创 微信小程序 使用onLocationChange
app.json: "requiredBackgroundModes": [ "location" ],map:index.js:onLoad: function (options) { //后台定位 wx.startLocationUpdateBackground({ success(res) { console.log('开启后台定位', res) }, fail(res) { co
2021-07-22 19:21:50 2187
转载 关于微信小程序 setTimeout的补充
https://blog.csdn.net/weixin_44225182/article/details/114947017
2021-07-22 17:52:16 149
原创 微信小程序中setTimeout 调用函数
setTimeout 内执行代码setTimeout(function () { console.log('abc')}, 2000)setTimeout 内调用函数setTimeout(this.funcA, 2000) funcA: function () { console.log('funcA')},wx.showLoading({ title: '加载中',})setTimeout(function () { wx.hideLoading()
2021-07-22 10:05:08 1778
转载 微信小程序setData()方法的详解以及对数组/json操作
网址:https://blog.csdn.net/NAMECZ/article/details/79623550
2021-07-22 10:02:05 353
原创 如何让微信小程序的map组件全屏?
高度和width设置为100vh即可.<map id="map" style="width:100vh; height:100vh"/>
2021-07-21 19:44:44 887 2
原创 微信小程序中地图授权代码
onLoad: function (options) { //地图授权 wx.getSetting({ success(res) { if (res.authSetting["scope.userLocation"] === false) {// 有权限询问记录 但没有允许开启授权 wx.showModal({ title: '提示!', confirmText: '去设置', .
2021-07-21 18:46:53 338
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人