- c# wpf 面试_WPF面试题
weixin_39912984
c#wpf面试
binding(绑定源、绑定模式【default、OneWay、TwoWay、OntTime、OneWayToSource】、触发绑定更新的事件【Default、Explicit(手动BindingExpression.UpdayeSource())、PropertyChange、LostFocus】、优先级PriorityBinding),包括绑定到单一属性、实体、集合、值转换、触发机制、验证等
- Excel也能给证件照换背景颜色,你知道吗?
hey晴天
Excel也能给证件照换背景颜色,你知道吗?想要给自己的证件照换背景颜色,但电脑上没有下载PS该怎么办?别担心,其实我们电脑上的Excel也是可以给证件照换背景颜色的,下面小Q来教您怎么使用Excel给证件照换背景颜色。1、把要更改背景颜色的证件照放到Excel里面。2、点击图片,在最上面会显示一个图片工具功能,我们点击图片工具功能进去。3、在功能里面,选中删除背景,然后编辑一下细节(参考下面图片
- vue3+ant design vue实现表格导出(后端返回文件流类型导出)
炒毛豆
vue.js前端javascript
1、之前的博客介绍了,依据页面展示的table表格数据为基础展示表格导出,今天介绍下后端返回文件流来实现表格导出。导出import{ExportTheEmployeesTab}from'@/api/import';//导出import{downExcelUrl}from'@/utils/downloadFile';constsearchRef=ref();constexportData1=()=>
- Python 处理config.ini文件
web521_wu
Pythonpython
在做一个自动化测试框架中需要根据不同设备修改IP、username、password等信息,开始使用excel,单使用下来发现excel较死板,不方便后续维护。且功能自动化只针对单台设备,后续需要在UI上实现。确定使用config文件,放在程序中,使用时UI直接修改即可。先了解ini文件的格式[common]-----sectionip_addr=192.168.25.71------option
- python读取EXCEL的方式
Carol_Chen6
python初级pythonnumpy开发语言
用python读并取出数据有两种方式,2022年7月22日运行亲测可行。1.读将文件地址保存在path中path=r'D:\26968\PycharmProjects\caculator\型号数据.xlsx'读取有两个方法:pd.read_excel(path,None)pd.read_excel(path)方法1data=pd.read_excel(path,None)#读取数据,设置None可
- python 解析数据后保存到excel
星寂樱易李
pythonpythonexcel
openpyxl特点:支持读写Excel2010xlsx/xlsm/xltx/xltm文件格式。可以操作Excel的几乎所有功能,如样式、图表、图片等。适用于复杂的Excel操作,例如公式、数据验证和条件格式。社区支持较好,文档比较完善。优点:功能全面,能够处理复杂的Excel文件。可以读取和修改现有的Excel文件。支持较新的Excel特性。缺点:内存消耗较大,对于非常大的Excel文件可能不太
- python可以嵌在vba中吗_Jupyter Notebooks嵌入Excel并使用Python替代VBA宏
简内特
python可以嵌在vba中吗
以前,Excel和PythonJupyterNotebook之间我们只能选择一个。但是现在随着PyXLL-Jupyter软件包的推出,可以将两者一起使用。在本文中,我将向你展示如何设置在Excel中运行的JupyterNotebook。在这两者之间共享数据,甚至可以从Excel工作簿调用Jupyter笔记本中编写的Python函数!开始首先,要在Excel中运行Python代码,你需要使用PyXL
- python sum函数代码_python pandas实现excel中的sum函数功能
weixin_39906245
pythonsum函数代码
pythonpandas实现excel中的sum函数功能mp.weixin.qq.comsum函数是excel中经常用到的函数,那么在pandas中也存在这样的函数,下面详细了解一下这个函数:>>>importpandasaspd>>>importnumpyasnp>>>df=pd.read_excel(r'D:/myExcel/1.xlsx')>>>dfABCD031.01.1hello13Na
- c++利用ado操作excel(.xls)或(.xlsx)文件
三无人员9630
//ConnectionString=_T("Provider=Microsoft.Jet.OLEDB.4.0;DataSource=");ConnectionString=_T("Provider=Microsoft.ACE.OLEDB.12.0;DataSource=");ConnectionString+="E:\\周报\\222.xlsx";//excelfilename//Connect
- python tkinter tkintertable
不羁绊Delta风
pythontkinter可视化
pythontkintertkintertableExcel数据显示到GUI上本文适用于tkinterGUI显示Excel数据pythonExcel数据显示pythontkintertkintertableExcel数据显示到GUI上前言一、创建GUI界面二、使用步骤1.引入库三、效果图总结前言本文主要使用是将Excel数据显示到pythontkinterGUI界面上进行展示,主要使用的方法为pa
- java用poi操作excel .xls和.xlsx格式
躁动的青年
poijava操作excelpoixlsx
jxl主页http://www.andykhan.com/jexcelapi/index.htmljxl似乎不支持2007,2010jxl读取excel2010报错jxl.read.biff.BiffException:UnabletorecognizeOLEstreamatjxl.read.biff.CompoundFile.(CompoundFile.java:116)atjxl.read.b
- Excel使用VLOOKUP公式匹配不出正确公式,返回#N/A
baidu_17201253
excel
问题:Excel使用VLOOKUP公式匹配不出正确公式,返回#N/A原因:原数据和匹配的数据格式不一致解决办法:把格式都设置为文本。例如添加一列,输入英文符号',然后把数据源拼接起来,转换为文本。如有其他更好的方式,欢迎补充!
- 数据可视化pythonexcel表格,python对excel数据可视化
M3666789
信息可视化数据分析数据挖掘人工智能
大家好,小编来为大家解答以下问题,数据可视化pythonexcel表格,python对excel数据可视化,现在让我们一起来看看吧!本篇文章给大家谈谈一个有趣的事情,以及一个有趣的事情,希望对各位有所帮助,不要忘了收藏本站喔。近段时间由于工作中需要对一些数据的整理和可视化显示,故记下使用python操作Excel可视化操作,方便后续查阅python自学有用吗。一、数据导入ExcelDemo:#!/
- python基础语法九-多进程和多线程
yunduor909
pythonpython
书接上回:python基础语法一-基本数据类型python基础语法二-多维数据类型python基础语法三-类python基础语法四-数据可视化python基础语法五-函数python基础语法六-正则匹配python基础语法七-openpyxl操作excelpython基础语法八-异常1.多进程1.1创建多进程1)importmultiprocessing模块2)创建进程要执行的函数3)调用mult
- Unity协程和C#迭代器的关系
qq_39260270
unityunityc#游戏引擎
从本质上来说Unity中的协程就是利用了C#中迭代器的特性IEnumeratorIEnumerator定义了一个适用于任何集合的迭代方式。也就是说只要一个集合实现了IEnumerator,那么就可以通过IEnumerator迭代其中的元素。IEnumerator的定义如下:publicinterfaceIEnumerator{objectCurrent{get;}boolMoveNext();vo
- ASP.NET Core 入门教学十五 异步编程
充值内卷
asp.net后端
在ASP.NETCore中,异步编程是一种非常重要的技术,它可以提高应用程序的性能和响应能力。本教程将介绍如何在ASP.NETCore中使用异步编程。1.异步编程基础异步编程允许程序在等待某些操作(如I/O操作)完成时继续执行其他任务,而不是阻塞整个线程。这可以显著提高应用程序的性能,特别是在处理大量并发请求时。2.使用async和await在C#中,async和await关键字用于实现异步编程。
- Python自动化办公——3个Excel表格中每个门店物品不同,想要汇总在一起(方法一)
皮皮_f075
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Python自动化办公处理的问题,一起来看看吧。image.png原始数据如下所示:image.png二、实现过程这里【猫药师Kelly】给了一个代码和思路,如下所示:image.png顺利地解决了粉丝的问题。下一篇文章,我们一起来看看另外一种方法。三、总结大家好,我是皮皮。这篇文章主要盘点了一个Python自动化办公处
- Python 读取excel数据
大白菜程序猿
pythonpythonpandasexcel
在Python中读取Excel数据,最常用的库是pandas,它提供了非常强大的数据处理功能,包括读取和写入Excel文件。此外,还可以使用openpyxl或xlrd等库来操作Excel文件,但pandas因其简洁性和功能性而广受欢迎。使用pandas读取Excel数据首先,确保你已经安装了pandas和openpyxl(后者是pandas读取.xlsx文件时常用的引擎)。如果未安装,可以通过pi
- 身份证实名认证接口如何用C#实现
loosenivy
身份证类接口c#php开发语言
一、什么是身份证实名认证?身份证实名认证又叫身份证实名核验、身份证二要素、身份实名核验、身份证验证,输入姓名、身份证号,校验此两项是否匹配,同时返回生日、性别、籍贯等信息,同时支持港澳台证件核验。二、身份证实名认证适用场景?例如:金融领域1.银行开户:在银行办理开户业务时,通过身份证实名认证接口可以快速核实客户身份信息的真实性,确保账户的安全性,防止欺诈行为和洗钱活动。2.贷款审批:金融机构在审批
- GraphPad Prism 10 for Mac/Win:高效统计分析与精美绘图的科学利器
平安喜乐616
GraphPadPrism统计分析和绘图
GraphPadPrism10是一款专为科研工作者设计的强大统计分析与绘图软件,无论是Mac还是Windows用户,都能享受到其带来的便捷与高效。该软件广泛应用于生物医学研究、实验设计和数据分析领域,以其直观的操作界面、丰富的统计方法和多样化的图表样式,成为科学研究的得力助手。数据处理与整理GraphPadPrism10支持从多种数据源导入数据,如Excel、CSV文件及数据库等,提供了直观易用的
- java后端处理前端上传二进制流excel文件
撸不动码的猴子
javajavapoiexcelvue
最近项目中有需要上传excel文档,后端解析入库,项目技术选型springcloud+vue+postgres.后台接收二进制流,使用@RequestParam(value=“file”)MultipartFilefile去接收,然后就是引入poi依赖,进行操作.poi就是对office文件处理的依赖jar包,加入maven加入依赖后,对其进行操作.我把它提取成方法,尽量避免在controller
- openpyxl创建多个sheet_最详细的Excel模块Openpyxl教程-基础操作
淡慢若水
在以前的推文中,我们介绍了操作Excel的模块Xlwings的知识,相关推文可以从本公众号的底部相关菜单获取。有小伙伴反映自己在一些文章中看到openpyxl也能对Excel进行相关的操作,于是留言想在本公众号里也能看到相关的教程。于是我开始了本专题的写作。另外,在推文《操作Excel的Xlwings教程(一)》中,我对比了几种操作Excel的模块,大家可以去了解一下。1.openpyxl简介op
- ABAP OLE导出Excel
a86632678
ABAPsapabap
INCLUDE程序代码如下:TYPE-POOLS:soi,ole2.DATA:lo_applicationTYPEole2_object,lo_workbookTYPEole2_object,lo_workbooksTYPEole2_object,lo_rangeTYPEole2_object,lo_worksheetTYPEole2_object,lo_worksheetsTYPEole2_ob
- excel11
上进且热爱生活
题目1.更名2.设置数字格式3.参考“收费标准”,利用公式将收费标准填入到“停车收费记录”工作表的“收费标准”列----vlookup函数示例:=VLOOKUP(C2,收费标准!$A$3:$B$5,2,0)第一行:当行的车型第二行:在表二选中车型和标准3行(绝对引用)4.利用"停车收费记录"表中出场日期、出场时间与进场日期、时间的关系,计算"停放时间"列,单元格格式为时间类型的"XX小时XX分钟"
- Excel2019新增函数,让你效率飞起来!
Python_学徒
Office2019正式发布已经有一段时间了,我也体验了一段时间了。我的感觉是,资源占用相比2016版略还算稳定,处理大量数据的速度相对16版本有所提升,在打开文件时无卡顿感。今天,我给大家介绍一下Excel2019中新增的函数。1、IFS函数英语里有个习惯,名词后面加个S表示多个,也许你用过sumifs,countifs,2007版本开始新增这2个函数,表示多条件求和与计数。IFS也一样,IF表
- 2023-10-22
张亚迪_2023强化班
每周总结:这周过得相当充实和忙碌。从10月17日到10月21日,我在学习、小组活动和日常生活中经历了很多事情。在10月17日,我下午专注地做了几道Excel练习题,做出了不错的成绩,并做了一些笔记。这让我感到满意,给了我继续努力的动力。10月18日,因为早读被取消了,我终于能够好好睡个觉,而且很高兴的是,明天的早读也取消了,让我欣喜万分。早上上了一堂历史课,下午又上了一堂英语课,那段时间过得相当轻
- 大模型计算首字吐出时间
一个月总有那么30天不想上班
python
代码计算的时候稍微有一点偏差其它人有没有更好的解决办法#coding:utf-8importopenpyxlimportrequestsfromloguruimportloggerimportjsonimporttime#读取excel文件的路径filepath="F:/chery_gpt_problem/query.xlsx"#请求的url地址url="https://www.cherygpt.
- CRM系统对比Excel:成长型企业转型的关键理由
企业管理8MSaaS
人工智能
对于采用传统手段进行客户联系和数据管理的成长型企业而言,电子表格常被视为首选工具。然而,随着企业规模的扩大、客户数据量的增加以及团队成员的增多,电子表格的局限性逐渐显现,导致管理上的混乱和效率的降低。这时,管理者往往会面临一个关键的决策点:是否从传统的Excel电子表格转向专业的客户关系管理(CRM)系统。CRM系统是专为组织和管理客户数据而设计的软件,能随着企业的发展而扩展其功能和容量。CRM系
- 测试驱动技术(TDD)系列之5:从excel中读取测试驱动数据
测试开发Kevin
测试框架中参数化的一般形式在Junit4和TestNG框架中实现参数化的形式几乎是一致的。Junit4定义参数化数据,代码如下:publicstaticCollectionprepareData(){Object[][]object={{1,2,3},{0,2,2},{0,3,3}};returnArrays.asList(object);}TestNG定义参数化数据,代码如下:@DataProv
- 使用NPOI 合并单元格后导出,打开文件Excel报错“尝试修复”解决办法
相关人士丶
1.错误详细信息2.原因通常是在合并单元格时,对已合并的单元格再次做合并单元格。导出时不会报错,到那时打开时Excel会提示修复3.代码分析合并单元格的操作写在了for循环里面4.解决方法1.将合并单元格的操作写在循环的外面即可2.同时还可以用IsMergedRegion判断单元格是否已合并
- ASM系列四 利用Method 组件动态注入方法逻辑
lijingyao8206
字节码技术jvmAOP动态代理ASM
这篇继续结合例子来深入了解下Method组件动态变更方法字节码的实现。通过前面一篇,知道ClassVisitor 的visitMethod()方法可以返回一个MethodVisitor的实例。那么我们也基本可以知道,同ClassVisitor改变类成员一样,MethodVIsistor如果需要改变方法成员,注入逻辑,也可以
- java编程思想 --内部类
百合不是茶
java内部类匿名内部类
内部类;了解外部类 并能与之通信 内部类写出来的代码更加整洁与优雅
1,内部类的创建 内部类是创建在类中的
package com.wj.InsideClass;
/*
* 内部类的创建
*/
public class CreateInsideClass {
public CreateInsideClass(
- web.xml报错
crabdave
web.xml
web.xml报错
The content of element type "web-app" must match "(icon?,display-
name?,description?,distributable?,context-param*,filter*,filter-mapping*,listener*,servlet*,s
- 泛型类的自定义
麦田的设计者
javaandroid泛型
为什么要定义泛型类,当类中要操作的引用数据类型不确定的时候。
采用泛型类,完成扩展。
例如有一个学生类
Student{
Student(){
System.out.println("I'm a student.....");
}
}
有一个老师类
- CSS清除浮动的4中方法
IT独行者
JavaScriptUIcss
清除浮动这个问题,做前端的应该再熟悉不过了,咱是个新人,所以还是记个笔记,做个积累,努力学习向大神靠近。CSS清除浮动的方法网上一搜,大概有N多种,用过几种,说下个人感受。
1、结尾处加空div标签 clear:both 1 2 3 4
.div
1
{
background
:
#000080
;
border
:
1px
s
- Cygwin使用windows的jdk 配置方法
_wy_
jdkwindowscygwin
1.[vim /etc/profile]
JAVA_HOME="/cgydrive/d/Java/jdk1.6.0_43" (windows下jdk路径为D:\Java\jdk1.6.0_43)
PATH="$JAVA_HOME/bin:${PATH}"
CLAS
- linux下安装maven
无量
mavenlinux安装
Linux下安装maven(转) 1.首先到Maven官网
下载安装文件,目前最新版本为3.0.3,下载文件为
apache-maven-3.0.3-bin.tar.gz,下载可以使用wget命令;
2.进入下载文件夹,找到下载的文件,运行如下命令解压
tar -xvf apache-maven-2.2.1-bin.tar.gz
解压后的文件夹
- tomcat的https 配置,syslog-ng配置
aichenglong
tomcathttp跳转到httpssyslong-ng配置syslog配置
1) tomcat配置https,以及http自动跳转到https的配置
1)TOMCAT_HOME目录下生成密钥(keytool是jdk中的命令)
keytool -genkey -alias tomcat -keyalg RSA -keypass changeit -storepass changeit
- 关于领号活动总结
alafqq
活动
关于某彩票活动的总结
具体需求,每个用户进活动页面,领取一个号码,1000中的一个;
活动要求
1,随机性,一定要有随机性;
2,最少中奖概率,如果注数为3200注,则最多中4注
3,效率问题,(不能每个人来都产生一个随机数,这样效率不高);
4,支持断电(仍然从下一个开始),重启服务;(存数据库有点大材小用,因此不能存放在数据库)
解决方案
1,事先产生随机数1000个,并打
- java数据结构 冒泡排序的遍历与排序
百合不是茶
java
java的冒泡排序是一种简单的排序规则
冒泡排序的原理:
比较两个相邻的数,首先将最大的排在第一个,第二次比较第二个 ,此后一样;
针对所有的元素重复以上的步骤,除了最后一个
例题;将int array[]
- JS检查输入框输入的是否是数字的一种校验方法
bijian1013
js
如下是JS检查输入框输入的是否是数字的一种校验方法:
<form method=post target="_blank">
数字:<input type="text" name=num onkeypress="checkNum(this.form)"><br>
</form>
- Test注解的两个属性:expected和timeout
bijian1013
javaJUnitexpectedtimeout
JUnit4:Test文档中的解释:
The Test annotation supports two optional parameters.
The first, expected, declares that a test method should throw an exception.
If it doesn't throw an exception or if it
- [Gson二]继承关系的POJO的反序列化
bit1129
POJO
父类
package inheritance.test2;
import java.util.Map;
public class Model {
private String field1;
private String field2;
private Map<String, String> infoMap
- 【Spark八十四】Spark零碎知识点记录
bit1129
spark
1. ShuffleMapTask的shuffle数据在什么地方记录到MapOutputTracker中的
ShuffleMapTask的runTask方法负责写数据到shuffle map文件中。当任务执行完成成功,DAGScheduler会收到通知,在DAGScheduler的handleTaskCompletion方法中完成记录到MapOutputTracker中
- WAS各种脚本作用大全
ronin47
WAS 脚本
http://www.ibm.com/developerworks/cn/websphere/library/samples/SampleScripts.html
无意中,在WAS官网上发现的各种脚本作用,感觉很有作用,先与各位分享一下
获取下载
这些示例 jacl 和 Jython 脚本可用于在 WebSphere Application Server 的不同版本中自
- java-12.求 1+2+3+..n不能使用乘除法、 for 、 while 、 if 、 else 、 switch 、 case 等关键字以及条件判断语句
bylijinnan
switch
借鉴网上的思路,用java实现:
public class NoIfWhile {
/**
* @param args
*
* find x=1+2+3+....n
*/
public static void main(String[] args) {
int n=10;
int re=find(n);
System.o
- Netty源码学习-ObjectEncoder和ObjectDecoder
bylijinnan
javanetty
Netty中传递对象的思路很直观:
Netty中数据的传递是基于ChannelBuffer(也就是byte[]);
那把对象序列化为字节流,就可以在Netty中传递对象了
相应的从ChannelBuffer恢复对象,就是反序列化的过程
Netty已经封装好ObjectEncoder和ObjectDecoder
先看ObjectEncoder
ObjectEncoder是往外发送
- spring 定时任务中cronExpression表达式含义
chicony
cronExpression
一个cron表达式有6个必选的元素和一个可选的元素,各个元素之间是以空格分隔的,从左至右,这些元素的含义如下表所示:
代表含义 是否必须 允许的取值范围 &nb
- Nutz配置Jndi
ctrain
JNDI
1、使用JNDI获取指定资源:
var ioc = {
dao : {
type :"org.nutz.dao.impl.NutDao",
args : [ {jndi :"jdbc/dataSource"} ]
}
}
以上方法,仅需要在容器中配置好数据源,注入到NutDao即可.
- 解决 /bin/sh^M: bad interpreter: No such file or directory
daizj
shell
在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory。
分析:这是不同系统编码格式引起的:在windows系统中编辑的.sh文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息。
解决:
1)在windows下转换:
利用一些编辑器如UltraEdit或EditPlus等工具
- [转]for 循环为何可恨?
dcj3sjt126com
程序员读书
Java的闭包(Closure)特征最近成为了一个热门话题。 一些精英正在起草一份议案,要在Java将来的版本中加入闭包特征。 然而,提议中的闭包语法以及语言上的这种扩充受到了众多Java程序员的猛烈抨击。
不久前,出版过数十本编程书籍的大作家Elliotte Rusty Harold发表了对Java中闭包的价值的质疑。 尤其是他问道“for 循环为何可恨?”[http://ju
- Android实用小技巧
dcj3sjt126com
android
1、去掉所有Activity界面的标题栏
修改AndroidManifest.xml 在application 标签中添加android:theme="@android:style/Theme.NoTitleBar"
2、去掉所有Activity界面的TitleBar 和StatusBar
修改AndroidManifes
- Oracle 复习笔记之序列
eksliang
Oracle 序列sequenceOracle sequence
转载请出自出处:http://eksliang.iteye.com/blog/2098859
1.序列的作用
序列是用于生成唯一、连续序号的对象
一般用序列来充当数据库表的主键值
2.创建序列语法如下:
create sequence s_emp
start with 1 --开始值
increment by 1 --増长值
maxval
- 有“品”的程序员
gongmeitao
工作
完美程序员的10种品质
完美程序员的每种品质都有一个范围,这个范围取决于具体的问题和背景。没有能解决所有问题的
完美程序员(至少在我们这个星球上),并且对于特定问题,完美程序员应该具有以下品质:
1. 才智非凡- 能够理解问题、能够用清晰可读的代码翻译并表达想法、善于分析并且逻辑思维能力强
(范围:用简单方式解决复杂问题)
- 使用KeleyiSQLHelper类进行分页查询
hvt
sql.netC#asp.nethovertree
本文适用于sql server单主键表或者视图进行分页查询,支持多字段排序。KeleyiSQLHelper类的最新代码请到http://hovertree.codeplex.com/SourceControl/latest下载整个解决方案源代码查看。或者直接在线查看类的代码:http://hovertree.codeplex.com/SourceControl/latest#HoverTree.D
- SVG 教程 (三)圆形,椭圆,直线
天梯梦
svg
SVG <circle> SVG 圆形 - <circle>
<circle> 标签可用来创建一个圆:
下面是SVG代码:
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<circle cx="100" c
- 链表栈
luyulong
java数据结构
public class Node {
private Object object;
private Node next;
public Node() {
this.next = null;
this.object = null;
}
public Object getObject() {
return object;
}
public
- 基础数据结构和算法十:2-3 search tree
sunwinner
Algorithm2-3 search tree
Binary search tree works well for a wide variety of applications, but they have poor worst-case performance. Now we introduce a type of binary search tree where costs are guaranteed to be loga
- spring配置定时任务
stunizhengjia
springtimer
最近因工作的需要,用到了spring的定时任务的功能,觉得spring还是很智能化的,只需要配置一下配置文件就可以了,在此记录一下,以便以后用到:
//------------------------定时任务调用的方法------------------------------
/**
* 存储过程定时器
*/
publi
- ITeye 8月技术图书有奖试读获奖名单公布
ITeye管理员
活动
ITeye携手博文视点举办的8月技术图书有奖试读活动已圆满结束,非常感谢广大用户对本次活动的关注与参与。
8月试读活动回顾:
http://webmaster.iteye.com/blog/2102830
本次技术图书试读活动的优秀奖获奖名单及相应作品如下(优秀文章有很多,但名额有限,没获奖并不代表不优秀):
《跨终端Web》
gleams:http