- python操作docx文件
liulanba
python业务类python
1.安装pipinstallpython_docx2.引入importdocxfromdocximportDocument3.新建和打开文件#新建文档并保存importdocxfromdocximportDocumentdocument=Document()document.save('test.docx')importdocxfromdocximportDocumentdocument=Docu
- SautinSoft HTML to RTF .Net Crack
SEO-狼术
DelphinetCrackhtml.net前端
SautinSoftHTMLtoRTF.NetCrackKeyFeaturesofSautinSoftHTMLtoRTF.Net:HTMLtoDOCXConversion:ConvertHTMLcontentintoDOCXfileswithfullsupportforCSSandsimpleJavaScript,creatingwell-formattedWorddocuments.HTMLto
- Vue3实现word预览
淑子啦
wordvue.js前端
1.安装依赖pnpminstall@vue-office/docx2.页面导入//导入依赖importVueOfficeDocxfrom"@vue-office/docx";//导入样式文件import"@vue-office/docx/lib/index.css";3.使用(这里使用是文件上传方式)可以直接是在线地址importVueOfficeDocxfrom"@vue-office/docx
- python3.x使用cxfreeze将.p打包成.exe
weixin_30596343
python开发工具
之前写了一个使用ffplay批量查看格式为h264的图片,每次抽帧后都要打开pycharm编译器来运行程序,然后才能正常查看图片,或者在其他没有安装python环境的电脑中运行,很不方便。为此,在网上找了些方法,发现也是说的一知半解的。因此,自己通过实践记录python3.x下怎么样把.py文件打包成.exe可执行文件,这样就可以直接修改文件内的图片个数就可以双击.exe程序来查看图片了。一、.p
- python word 创建超链接
P01114245
python学习pythonword
importdocxfromdocx.enum.textimportWD_ALIGN_PARAGRAPHfromdocx.oxml.nsimportqnfromdocx.sharedimportCm,Pt#document=Document()#设置一个空白样式#style=document.styles['Normal']#设置西文字体#style.font.name='TimesNewRoma
- 2023-09-25 html页面导出word
丁夏叮当
1、安装依赖,,因为我的项目中用的typescript,所以要安装此版本npmihtml-docx-js-typescriptnpmifile-saver2、引入依赖import*ashtmlDocxfrom'html-docx-js-typescript'import{saveAs}from'file-saver'3、给需要导出的元素设置id属性{{schemeInfo?.scYear}}年{{
- SAP Spartacus B2B页面的List Component
JerryWang_汪子熙
需求如下:不管选择左边的view里列表行项目的哪一条,右边页面第一个可以被focus的元素,即Edit按钮,需要自动被focus:如果像上图这样,将cxFocus直接施加到a标签页上,一个sideeffect就是,a标签的tabindex将会被设置成默认的-1,这样没办法接收接下来的tab事件了:如下图Budgets列表页面所示:其Spartacus里的Component实现:ListCompon
- python将Word页面纸张方向设置为横向
小龙在山东
pythonword前端javascript
通过python-docx的章节属性,就可以更改纸张方向、纸张尺寸。importdocxfromdocx.enum.sectionimportWD_ORIENTfromdocx.sharedimportCmdocument=docx.Document()section=document.sections[0]#设置纸张大小为A4大小section.page_width=Cm(21)section.
- Python操作Word表格对齐、单元格对齐
小龙在山东
pythonword开发语言
通过Table的alignment可以设置表格居左对齐、居中对齐、居右对齐。通过Cell的vertical_alignment可以设置垂直位置。通过单元格里段落的alignment可以设置文本的左右对齐方式。importdocxfromdocx.enum.tableimportWD_TABLE_ALIGNMENT,WD_CELL_VERTICAL_ALIGNMENTfromdocx.enum.te
- CXF与jdk1.6兼容问题
若离
jdkclassloaderexceptionjaxbnestedconstructor
转自:http://lxj8495138.javaeye.com/blog/338384Contextinitializationfailedorg.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'org.apache.cxf.wsdl.WSDLManager'definedinclassp
- [VulnHub靶机渗透] MHZ_CXF: C1F
hacker-routing
web【精选】VulnHub渗透测试靶场练习平台网络windows安全测试工具vulnhubssh
博主介绍博主介绍:大家好,我是hacker-routing,很高兴认识大家~✨主攻领域:【渗透领域】【应急响应】【python】【VulnHub靶场复现】【面试分析】点赞➕评论➕收藏==养成习惯(一键三连)欢迎关注一起学习一起讨论⭐️一起进步文末有彩蛋作者水平有限,欢迎各位大佬指点,相互学习进步!目录前言一、信息收集1、主机探测2、端口扫描3、漏洞扫描二、渗透测试1、web渗透2、ssh远程登录
- 【React】React预览docx文件
郭_昊
react.jsjavascriptecmascript
React预览docx文件封装DocxView组件,用于显示docx文件的预览,支持加载loading效果安装依赖npmi docx-previewimportReact,{useEffect,useRef,useState}from'react'import*asdocxfrom'docx-preview'import{Spin}from'antd'import{askDocApiUrls}fr
- docker kali 安装 xfce4 桌面 + tigervnc + novnc
赵丙双
linuxdockerkalixfcetigervncnovnc
dockerkali安装xfce4桌面+tigervnc+novnc启动容器环境变量准备工作安装xfce4桌面tigervnc安装tigervnc启动tigervncnovncxfce4启动弹窗如何关闭?参考启动容器dockerrun--namekali-p5901:5901-p6080:6080-i-tkalilinux/kali-rolling环境变量exportDISPLAY=:1expor
- 前端js以application/octet-stream方式上传文件
员宇宙
java前端
今天又学会了一种上传文件的文件流方法。本人后端采用了CXF框架实现的api层packagecom.inspur.gs.tax.tbs.utils;importorg.glassfish.jersey.media.multipart.FormDataParam;importjavax.activation.DataHandler;importjavax.jws.WebParam;importjava
- 部署Golang服务
John_rush
环境安装Golanggolang开发语言后端
独立部署对于简单的项目,通常我们只需要将编译后的二进制文件拷贝到服务器上,然后设置为后台守护进程运行即可。本文以项目:https://github.com/johncxf/go_practice为例编译编译为linux系统可执行的二进制文件,二进制文件为./bin/go-api,可自行修改$CGO_ENABLED=0GOOS=linuxGOARCH=amd64gobuild-o./bin/go-a
- Docker部署Golang服务
John_rush
环境安装Golangdockergolang容器
不管是开发还是生产环境,通过docker方式部署服务都是一种不错的选择,能够解决不同开发环境一致性的问题。本文以项目:https://github.com/johncxf/go_practice为例。Dockerfile构建Go运用环境在项目根目录下添加Dockerfile文件:FROMgolang:alpine#在容器内部设置环境变量ENVGO111MODULE=on\GOPROXY=https
- CleanMyMac X 4.14.6 for Mac 最新中文破解版 系统优化垃圾清理工具
阿姨我宣你女儿
数据清理macos系统优化垃圾清理工具cleanmymac清理mac清理垃圾cleanmymac破解版cleanmymac激活码
CleanMyMacXforMac是一款功能更加强大的系统优化清理工具,相比于CleanMyMac3来说,功能增加了不少,此版本为4.7.4官方最新中英文正式破解版本,永久使用,解决了打开软件崩溃问题,最新版4.3.0版本中新增了一个比较有趣的工具,用于搜索Mac上的垃圾空间,称之为“空间镜头”。即使新功能处于测试阶段,您也可以开始使用它,它非常有用并且非常美观。自己测试了一下感觉清理速度要比Cl
- Linux 部署Hadoop伪分布式集群教程
qq_61247494
hadoop分布式linux
首先:我们需要下载一些关于Hadoop伪分布式集群需要的工具与tar包链接:https://pan.baidu.com/s/1oUw1jDCxfghWsnaWauSHKg提取码:6s5a接下来打开虚拟机终端,先创建一个文件夹用来解压Hadoop的tar包接着使用xshell远程连接到虚拟机传输Hadoop的tar包(不会使用xshell可以参考这篇文章)http://t.csdn.cn/2fJ9m
- 掌握使用CXF快速开发webservice服务和生成client端技能
David爱编程
webservicejava
文章目录前言1.安装和配置cxf环境2.创建一个通过maven管理的java项目并引入相关cxf依赖3.使用cxf提供的类编写webservice服务端并发布服务3.1定义一个webservice服务接口HelloWorld3.2编写HelloWorld实现类3.3通过JaxWsServerFactoryBean发布webservice服务3.4在浏览器中通过发布的地址查看webservice服务
- CleanMyMac X2024破解激活码分享(2024最新CleanMyMac X 4.14.7激活许可证图文教程)
yanling2023
热门软件CleanMyMacmacosCleanMyMacXCleanMyMac
最佳Mac清理工具新版CleanMyMacXforMac是由发布。Cleanmymac是一款适用于Mac操作系统垃圾清理的软件,是十分好用的mac电脑系统清理工具,仅需一键即可快速而安全地清理系统垃圾,释放磁盘空间,因此一直深受Mac用户的喜爱。在不断更新的版本中,CleanMyMac已经不仅仅满足于只做简单的Mac清理工具,而是为Mac用户提供更多的实用功能,让CleanMyMac成为Mac日常
- java使用cxf调用webservice
落华X
javajava
一、引入cxforg.apache.cxfcxf-spring-boot-starter-jaxws3.2.1org.apache.cxfcxf-rt-transports-http3.2.1二、使用try{DynamicClientFactorydynamicClientFactory=DynamicClientFactory.newInstance();Clientclient=dynamic
- 一篇文章掌握WebService服务、工作原理、核心组件、主流框架
cxzm_1024
WebServiceWebService服务框架
目录1、WebService定义解决问题:2、WebService的工作原理2.1实现一个完整的Web服务包括以下步骤2.2调用方式3、WebService的核心组件3.1XML3.2SOAP3.3WSDL3.4UDDI4、主流框架4.1AXIS(已淘汰)4.2XFire4.3CXF5、Soap协议详解1.Soap协议是什么2.认识Soap3.结论4.SOAP小总结6、WSDL详解1.types2
- WebService
射手座的程序媛
javajava
Webservice是一种传统的soa技术架构,它不依赖于任何的编程语言,也不依赖于任何的技术平台,可以直接基于http协议实现网络应用间的数据交互Webservice服务端是以接口远程接口为主的,在java实现的webservice技术里面主要依靠的是CXF开发框架,而这个CXF框架可以直接将接口发布成webservice,同时还需要考虑到整个项目之中的安全性问题[ws-common]子模块中定
- Python - 操作 docx
小田_
pythonlinux数据库
文章目录使用库:python-docx官方文档:https://python-docx.readthedocs.io安装pipinstallpython-docx提取docxfromdocximportDocumentdoc=Document(file_path)text=""forparaindoc.paragraphs:text+=para.text+"\n"创建docx官方示例:fromdo
- python-docx表格设置实线_python docx加入表格 在表格中加图,设置框线
成长长青
fromdocximportDocument#pip3installpython-docxfromdocx.sharedimportInches#英寸importos#fromdocximportDocumentfromdocx.sharedimportPtfromdocx.enum.textimportWD_PARAGRAPH_ALIGNMENTfromdocx.sharedimportCm#厘
- SpringBoot调第三方WebService接口
拽风追梦
javaapache服务器
引入相关依赖: org.springframework.boot spring-boot-starter-web-services org.apache.cxf cxf-spring-boot-starter-jaxws 3.2.1 org.apache.cxf cxf-rt-transports-http 3.2.1 浏览webService提供的方法
- AdaM: An Adaptive Fine-Grained Scheme for Distributed Metadata Management——泛读论文
妙BOOK言
论文阅读论文阅读
ICPP2019Paper分布式元数据论文汇总问题为了同时解决元数据局部性和元数据服务器的负载均衡。现有方法缺陷基于哈希的方法:zFS[16],CalvinFS[21],DROP[24],AngleCut[8]静态子树划分:HDFS[6],NFS[14],PVFS2[25],CXFS[10]andCoda[17]动态子树划分:Ceph[22],Kosha[2]andGIGA+[13]其他:Dyna
- Feign Client 原理和使用
hackingForest
本文作者:sytyale,另外一个聪明好学的同事一、原理Feign是一个Java到HTTP的客户端绑定器,灵感来自于Retrofit和JAXRS-2.0以及WebSocket。Feign的第一个目标是降低将Denominator无变化的绑定到HTTPAPIs的复杂性,而不考虑ReSTfulness。Feign使用Jersey和CXF等工具为ReST或SOAP服务编写java客户端。此外,Feign
- webservice学习笔记-jdk和cxf开发webservice例子
xtl007
1引言之前的工作中有遇到webservice的调用,自己花了些时间了解了一下webservice,在此把学习过程写一下。2jdk开发webservice1写服务端代码包结构接口实现类发布2客户端代码包结构利用jdk生产客户端代码运行服务端代码,在客户端src目录下进入cmd命令工具,输入:wsimport-keepurl回车就生产了客户端代码运行3cxf开发webservice1先引入jar包官网
- CleanMyMac 4 X for Mac v4.14.6直装特别版附2024年最新安装图文教程
yanzhixue2023
热门软件macCleanMyMacmacosmacCleanMyMacCleanMyMacx
CleanMyMacXforMacv4.14.6直装特别版是一款最专业最强大的Macosx系统清理优化工具,CleanMyMac是集所有功能于一身的先进程序卸载清理器,只需两个简单步骤就可以把系统里那些乱七八糟的无用文件统统清理掉,节省宝贵的磁盘空间。欢迎有需要的朋友们前来下载使用。CleanMyMacXforMacv4.14.6直装特别版下载:https://souurl.cn/uQyXvGCl
- rust的指针作为函数返回值是直接传递,还是先销毁后创建?
wudixiaotie
返回值
这是我自己想到的问题,结果去知呼提问,还没等别人回答, 我自己就想到方法实验了。。
fn main() {
let mut a = 34;
println!("a's addr:{:p}", &a);
let p = &mut a;
println!("p's addr:{:p}", &a
- java编程思想 -- 数据的初始化
百合不是茶
java数据的初始化
1.使用构造器确保数据初始化
/*
*在ReckInitDemo类中创建Reck的对象
*/
public class ReckInitDemo {
public static void main(String[] args) {
//创建Reck对象
new Reck();
}
}
- [航天与宇宙]为什么发射和回收航天器有档期
comsci
地球的大气层中有一个时空屏蔽层,这个层次会不定时的出现,如果该时空屏蔽层出现,那么将导致外层空间进入的任何物体被摧毁,而从地面发射到太空的飞船也将被摧毁...
所以,航天发射和飞船回收都需要等待这个时空屏蔽层消失之后,再进行
&
- linux下批量替换文件内容
商人shang
linux替换
1、网络上现成的资料
格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径`
linux sed 批量替换多个文件中的字符串
sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir`
例如:替换/home下所有文件中的www.admi
- 网页在线天气预报
oloz
天气预报
网页在线调用天气预报
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transit
- SpringMVC和Struts2比较
杨白白
springMVC
1. 入口
spring mvc的入口是servlet,而struts2是filter(这里要指出,filter和servlet是不同的。以前认为filter是servlet的一种特殊),这样就导致了二者的机制不同,这里就牵涉到servlet和filter的区别了。
参见:http://blog.csdn.net/zs15932616453/article/details/8832343
2
- refuse copy, lazy girl!
小桔子
copy
妹妹坐船头啊啊啊啊!都打算一点点琢磨呢。文字编辑也写了基本功能了。。今天查资料,结果查到了人家写得完完整整的。我清楚的认识到:
1.那是我自己觉得写不出的高度
2.如果直接拿来用,很快就能解决问题
3.然后就是抄咩~~
4.肿么可以这样子,都不想写了今儿个,留着作参考吧!拒绝大抄特抄,慢慢一点点写!
- apache与php整合
aichenglong
php apache web
一 apache web服务器
1 apeche web服务器的安装
1)下载Apache web服务器
2)配置域名(如果需要使用要在DNS上注册)
3)测试安装访问http://localhost/验证是否安装成功
2 apache管理
1)service.msc进行图形化管理
2)命令管理,配
- Maven常用内置变量
AILIKES
maven
Built-in properties
${basedir} represents the directory containing pom.xml
${version} equivalent to ${project.version} (deprecated: ${pom.version})
Pom/Project properties
Al
- java的类和对象
百合不是茶
JAVA面向对象 类 对象
java中的类:
java是面向对象的语言,解决问题的核心就是将问题看成是一个类,使用类来解决
java使用 class 类名 来创建类 ,在Java中类名要求和构造方法,Java的文件名是一样的
创建一个A类:
class A{
}
java中的类:将某两个事物有联系的属性包装在一个类中,再通
- JS控制页面输入框为只读
bijian1013
JavaScript
在WEB应用开发当中,增、删除、改、查功能必不可少,为了减少以后维护的工作量,我们一般都只做一份页面,通过传入的参数控制其是新增、修改或者查看。而修改时需将待修改的信息从后台取到并显示出来,实际上就是查看的过程,唯一的区别是修改时,页面上所有的信息能修改,而查看页面上的信息不能修改。因此完全可以将其合并,但通过前端JS将查看页面的所有信息控制为只读,在信息量非常大时,就比较麻烦。
- AngularJS与服务器交互
bijian1013
JavaScriptAngularJS$http
对于AJAX应用(使用XMLHttpRequests)来说,向服务器发起请求的传统方式是:获取一个XMLHttpRequest对象的引用、发起请求、读取响应、检查状态码,最后处理服务端的响应。整个过程示例如下:
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange
- [Maven学习笔记八]Maven常用插件应用
bit1129
maven
常用插件及其用法位于:http://maven.apache.org/plugins/
1. Jetty server plugin
2. Dependency copy plugin
3. Surefire Test plugin
4. Uber jar plugin
1. Jetty Pl
- 【Hive六】Hive用户自定义函数(UDF)
bit1129
自定义函数
1. 什么是Hive UDF
Hive是基于Hadoop中的MapReduce,提供HQL查询的数据仓库。Hive是一个很开放的系统,很多内容都支持用户定制,包括:
文件格式:Text File,Sequence File
内存中的数据格式: Java Integer/String, Hadoop IntWritable/Text
用户提供的 map/reduce 脚本:不管什么
- 杀掉nginx进程后丢失nginx.pid,如何重新启动nginx
ronin47
nginx 重启 pid丢失
nginx进程被意外关闭,使用nginx -s reload重启时报如下错误:nginx: [error] open() “/var/run/nginx.pid” failed (2: No such file or directory)这是因为nginx进程被杀死后pid丢失了,下一次再开启nginx -s reload时无法启动解决办法:nginx -s reload 只是用来告诉运行中的ng
- UI设计中我们为什么需要设计动效
brotherlamp
UIui教程ui视频ui资料ui自学
随着国际大品牌苹果和谷歌的引领,最近越来越多的国内公司开始关注动效设计了,越来越多的团队已经意识到动效在产品用户体验中的重要性了,更多的UI设计师们也开始投身动效设计领域。
但是说到底,我们到底为什么需要动效设计?或者说我们到底需要什么样的动效?做动效设计也有段时间了,于是尝试用一些案例,从产品本身出发来说说我所思考的动效设计。
一、加强体验舒适度
嗯,就是让用户更加爽更加爽的用你的产品。
- Spring中JdbcDaoSupport的DataSource注入问题
bylijinnan
javaspring
参考以下两篇文章:
http://www.mkyong.com/spring/spring-jdbctemplate-jdbcdaosupport-examples/
http://stackoverflow.com/questions/4762229/spring-ldap-invoking-setter-methods-in-beans-configuration
Sprin
- 数据库连接池的工作原理
chicony
数据库连接池
随着信息技术的高速发展与广泛应用,数据库技术在信息技术领域中的位置越来越重要,尤其是网络应用和电子商务的迅速发展,都需要数据库技术支持动 态Web站点的运行,而传统的开发模式是:首先在主程序(如Servlet、Beans)中建立数据库连接;然后进行SQL操作,对数据库中的对象进行查 询、修改和删除等操作;最后断开数据库连接。使用这种开发模式,对
- java 关键字
CrazyMizzz
java
关键字是事先定义的,有特别意义的标识符,有时又叫保留字。对于保留字,用户只能按照系统规定的方式使用,不能自行定义。
Java中的关键字按功能主要可以分为以下几类:
(1)访问修饰符
public,private,protected
p
- Hive中的排序语法
daizj
排序hiveorder byDISTRIBUTE BYsort by
Hive中的排序语法 2014.06.22 ORDER BY
hive中的ORDER BY语句和关系数据库中的sql语法相似。他会对查询结果做全局排序,这意味着所有的数据会传送到一个Reduce任务上,这样会导致在大数量的情况下,花费大量时间。
与数据库中 ORDER BY 的区别在于在hive.mapred.mode = strict模式下,必须指定 limit 否则执行会报错。
- 单态设计模式
dcj3sjt126com
设计模式
单例模式(Singleton)用于为一个类生成一个唯一的对象。最常用的地方是数据库连接。 使用单例模式生成一个对象后,该对象可以被其它众多对象所使用。
<?phpclass Example{ // 保存类实例在此属性中 private static&
- svn locked
dcj3sjt126com
Lock
post-commit hook failed (exit code 1) with output:
svn: E155004: Working copy 'D:\xx\xxx' locked
svn: E200031: sqlite: attempt to write a readonly database
svn: E200031: sqlite: attempt to write a
- ARM寄存器学习
e200702084
数据结构C++cC#F#
无论是学习哪一种处理器,首先需要明确的就是这种处理器的寄存器以及工作模式。
ARM有37个寄存器,其中31个通用寄存器,6个状态寄存器。
1、不分组寄存器(R0-R7)
不分组也就是说说,在所有的处理器模式下指的都时同一物理寄存器。在异常中断造成处理器模式切换时,由于不同的处理器模式使用一个名字相同的物理寄存器,就是
- 常用编码资料
gengzg
编码
List<UserInfo> list=GetUserS.GetUserList(11);
String json=JSON.toJSONString(list);
HashMap<Object,Object> hs=new HashMap<Object, Object>();
for(int i=0;i<10;i++)
{
- 进程 vs. 线程
hongtoushizi
线程linux进程
我们介绍了多进程和多线程,这是实现多任务最常用的两种方式。现在,我们来讨论一下这两种方式的优缺点。
首先,要实现多任务,通常我们会设计Master-Worker模式,Master负责分配任务,Worker负责执行任务,因此,多任务环境下,通常是一个Master,多个Worker。
如果用多进程实现Master-Worker,主进程就是Master,其他进程就是Worker。
如果用多线程实现
- Linux定时Job:crontab -e 与 /etc/crontab 的区别
Josh_Persistence
linuxcrontab
一、linux中的crotab中的指定的时间只有5个部分:* * * * *
分别表示:分钟,小时,日,月,星期,具体说来:
第一段 代表分钟 0—59
第二段 代表小时 0—23
第三段 代表日期 1—31
第四段 代表月份 1—12
第五段 代表星期几,0代表星期日 0—6
如:
*/1 * * * * 每分钟执行一次。
*
- KMP算法详解
hm4123660
数据结构C++算法字符串KMP
字符串模式匹配我们相信大家都有遇过,然而我们也习惯用简单匹配法(即Brute-Force算法),其基本思路就是一个个逐一对比下去,这也是我们大家熟知的方法,然而这种算法的效率并不高,但利于理解。
假设主串s="ababcabcacbab",模式串为t="
- 枚举类型的单例模式
zhb8015
单例模式
E.编写一个包含单个元素的枚举类型[极推荐]。代码如下:
public enum MaYun {himself; //定义一个枚举的元素,就代表MaYun的一个实例private String anotherField;MaYun() {//MaYun诞生要做的事情//这个方法也可以去掉。将构造时候需要做的事情放在instance赋值的时候:/** himself = MaYun() {*
- Kafka+Storm+HDFS
ssydxa219
storm
cd /myhome/usr/stormbin/storm nimbus &bin/storm supervisor &bin/storm ui &Kafka+Storm+HDFS整合实践kafka_2.9.2-0.8.1.1.tgzapache-storm-0.9.2-incubating.tar.gzKafka安装配置我们使用3台机器搭建Kafk
- Java获取本地服务器的IP
中华好儿孙
javaWeb获取服务器ip地址
System.out.println("getRequestURL:"+request.getRequestURL());
System.out.println("getLocalAddr:"+request.getLocalAddr());
System.out.println("getLocalPort:&quo