- H5定位的一些坑和记录
1.先用的百度的API(坑巨多):getCurrentPosition()方法百度api文档大概代码如下:letgeolocation=newBMap.Geolocation()geolocation.getCurrentPosition(function(r){if(this.getStatus()==BMAP_STATUS_SUCCESS){//检查position是否是默认值_this.po
- json相关内容(python)
大哥喝阔落
jsonpython开发语言
JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,易于人阅读和编写,也易于机器解析和生成。Python提供了json模块来处理JSON数据。以下是关于Python中JSON的详细内容:1.导入json模块importjson2.将Python对象转换为JSON字符串使用json.dumps()函数可以将Python对象(如字典、列表、字符串、数字等)转换为JS
- pandas
大哥喝阔落
pandas
pandasPandas内置数据结构我们知道,构建和处理二维、多维数组是一项繁琐的任务。Pandas为解决这一问题,在ndarray数组(NumPy中的数组)的基础上构建出了两种不同的数据结构,分别是Series(一维数据结构)DataFrame(二维数据结构):Series是带标签的一维数组,这里的标签可以理解为索引,但这个索引并不局限于整数,它也可以是字符类型,比如a、b、c等;DataFra
- 在阿里云里面服务器怎么样可以更好的链接数据库
小宋来编程
前端服务器运维
环境:阿里云ubuntu服务器阿里云RDS数据库问题:如何在阿里云服务器的终端使用shell命令连接RDS云数据库解决方法:1.阿里云服务器安装MySQLsudoapt-getinstallmysql-server如果出现unabletolocatepackagemysql-server先使用语句sudoapt-getupdate2.连接阿里云数据库在阿里云服务器终端mysql-uroot-hRD
- Q1营收稳健增长,云从科技如何在“百模大战”的险中求稳?
huaxinjiayou
java
找实习伙伴有没有51后入职或者已经在职的在北京字节实习的牛友啊,找个搭子[牛泪][牛泪]神仙外企英伟达值得一试优点是提供了丰厚的薪资待遇和福利保障,月薪20k-70k,而且员工可以享受到补充商业保险、年度体检、题解|#自动售卖机#`timescale1ns/1nsmodulesale(input题解|#进制转换##includeusingnamespacestd;i求职经历分享本人双非本,24届,
- python(类和对象之类函数和静态函数)
huo_1214
类函数和静态函数#-*-coding:utf-8-*-#类函数和静态函数classPeople(object):#类变量total=0def__init__(self,name,age):#调用父类的初始化函数super(People,self).__init__()#初始化当前类对象的一些属性self.name=nameself.age=age#对象函数,只能由对象调用defeat(self):
- ASP.NET Core--环境搭建和命令行CLI入门
sufengmarket
NETCOREasp.netcore安装cli命令行
文章目录.NETCore安装命令行dotnetrestoredotnetbuilddotnetrundotnetpackdotnetpublishdotnettest.NETCore.NETCore是开放源代码的通用开发平台(是一个“平台”),基于这个开放平台我们可以开发像ASP.NETCore应用程序,Windows10通用Windows平台(UWP),Tizen等等,而我们系列教程就是用.NE
- shell 脚本中 wait 和 sleep 的区别
shell
在shell脚本世界中,理解各种命令之间的细微差别对于编写高效的脚本至关重要。两个经常引起混淆的命令是wait和sleep。虽然它们看上去很相似,但在脚本执行中每个都有其独特的用途。ThesleepCommandsleep命令用于在脚本执行过程中延迟一个固定的时间。用于暂停执行一段指定的时间。Syntax:sleepNUMBER[SUFFIX]...NUMBER可以是整数或浮点数。SUFFIX可以
- nodejs创建ws服务器,前端浏览器用websocket接收信息和发送信息给服务端
cdcdhj
nodejs服务器前端websocket
首页是用nodejs建立服务器端//wsserver.jsconstWebSocket=require('ws');constwss=newWebSocket.Server({port:8080});wss.on('connection',functionconnection(ws){ws.on('error',console.error);//接收客户端发送过来的信息ws.on('message
- Linux 下 kill 孙子进程(qbit)
qbit在使用Python的FastAPI框架,在Python脚本中用os.system调用了uvicorn启动程序,调用链条大致如下python3main.py#进程1--shpython3uvicorn#进程2--python3uvicorn#进程3qbit发现直接kill进程1或进程2,并不能终止进程3。即kill某个进程,并不一定能终止该进程的子进程和孙子进程。于是通过找到孙子进程的方式来
- 一个简易的 Vue-Ref 响应式系统
简易的Ref数据响应式+Renderer渲染器本案例实现的响应式效果非常有限,只做简单的demo演示,本案例既不是基于Object.defineProperty,也不是基于Proxy实现的响应式,而是基于存取器,其实都差不多。准备一个__Ref__,它可以将简单数据类型包装为一个响应式对象。class__Ref{#privateValue;#privateRely;//"桶"收集所有对#priva
- JavaScript防抖与节流的运用
Enti7c
javascript开发语言ecmascript
防抖(Debounce)概念:防抖是指在事件被触发n秒后再执行回调,如果在这n秒内又被触发,则重新计时。防抖的主要目的是将多次连续触发的事件合并为一次执行,适用于例如输入框输入搜索内容时,避免频繁发送请求,只在用户停止输入一段时间后才发送请求。实现思路:创建一个定时器。当事件触发时,清除之前的定时器。重新创建一个新的定时器,在指定延迟时间后执行回调函数。functiondebounce(func,
- Xserver v1.4.3 发布——支持服务一键重启和多实例同时下载
马上使用简单、高效的PHP集成开发环境!https://x-server.ltd1.4.2之前,mysql、nginx、redis、php等服务,只能开启或者关闭服务。当某些情况下(比如修改了配置文件)需要重启服务的时候,关闭、打开操作就变得有些麻烦。Xserver始终将服务搭建简单化和操作简单化作为产品核心特性,所以在1.4.3版本中主要给大家提供了所有服务一键重启的功能。操作更加高效便捷。现在
- Shell脚本实现Twitter的Snowflake算法的ID生成器
大部分时候,需要通过shell脚本批量处理一些数据,在分布式环境下,数据库表的主键存储的都是分布id,通过Java代码生成。shell脚本都是通过mysql命令生成insert语句,以前生成insert语句时,我都是先selectMAX(id)fromtable赋值到MAX_ID,然后拼接,类似于max_id_sql="selectMAX(id)fromtable";MAX_ID="$(query
- 关于Elementui中el-select自动展开
项目需求:el-table带行编辑。开发中遇到一旦行编辑过多,页面就变得奇卡无比。然后就做了假的输入框代替,后来又遇到需要二次点击才能正常聚焦,客户很不满意。呵呵呵。。。思路:点击模拟框时自动聚焦//在main.js中注册一个全局自定义指令`v-focus`Vue.directive('focus',{//当被绑定的元素插入到DOM中时……inserted:function(el){console
- 【华为OD-E卷 - 服务失效判断 100分(python、java、c++、js、c)】
CodeClimb
算法题华为od(A+B+C+D+E卷)收录分享华为odpythonjavac++javascript
【华为OD-E卷-服务失效判断100分(python、java、c++、js、c)】题目某系统中有众多服务,每个服务用字符串(只包含字母和数字,长度relPairs=split(relInput,',');//将依赖关系解析为Pair对象的列表List>rels=newArrayListp=split(pStr,'-');rels.add(newPairfails=split(failInput,
- Redis 简介
天蓝空色
redis数据库缓存
Redis(RemoteDictionaryServer)是一个开源的内存数据库,遵守BSD协议,它提供了一个高性能的键值(key-value)存储系统,常用于缓存、消息队列、会话存储等应用场景。性能极高:Redis以其极高的性能而著称,能够支持每秒数十万次的读写操作24。这使得Redis成为处理高并发请求的理想选择,尤其是在需要快速响应的场景中,如缓存、会话管理、排行榜等。丰富的数据类型:Red
- linux定时任务检查进程是否存在 不存在就重启 jar nginx redis等通用
/data/restart.sh脚本内容如下注意替换进程名称日志路径及需执行的命令#!/bin/sh#authorbyJoshYoby2019-11-26appname=test.jar#如检测nginx则appname=nginx下面命令替换为nginx启动命令checkrun=`ps-C$appname--no-header|wc-l`#返回ps-ef出来的所有字符串中含有$appname的进
- 【运维自动化-作业平台】如何使用全局变量之命名空间类型?
命名空间类型的全局变量主要适用场景是同一批主机在多个步骤间需要传递独立的变量值,比如内网ip、hostame,每台主机都是不同的变量值。而字符串变量是全局针对所有主机所有步骤都是一样的变量值。实操演示例:定义一个local_ip的命名空间变量,目标两台机器,然后添加两个执行脚本的步骤,看下变量是如何渲染的。1、添加命名空间变量local_ip2、添加两个执行脚本步骤(步骤一)(步骤二)3、调试执行
- motd
shell
展示类似这种登录信息对于docker来说,登录有两种方式,一种是ssh登录,一种是dockerexec命令进入。利用现有的motd机制,只能对于ssh登录有效。motd机制介绍如下,以ubunt系统为例:/etc/motd文件里添加静态内容,所见既所得。/etc/update-motd.d/目录下面添加一些脚本,该目录下文件以文件名开头数字顺序执行:如果想对dockerexec命令进入也生效,必须
- Linux Shell 比较数字 + 字符串 + 文件
shell
本文中我们将学习使用if语句在shell脚本中比较数字、字符串和文件。shell脚本中比较的语法如下:if[conditions/comparisons]thencommandsfi例如:if[2-gt3]thenprint"2isgreater"elseprint"2isnotgreater"fiCompareNumbers这是一种最常见的评估方法,即比较两个或多个数字。现在,我们将创建一个用于
- 批量修改pom.xml中的groupId
maven3shell
1、需求使用shell脚本批量修改pom.xml文件中的groupId可以通过sed命令来实现。下面是一个示例shell脚本,它会递归地查找当前目录及其子目录中的所有pom.xml文件,并将groupId从org.apache.dolphinscheduler修改为com.datashark2、脚本#!/bin/bash#定义旧的和新的groupIdOLD_GROUP_ID="org.apache
- 我不是网管 - Shell 脚本中函数的使用
shell
函数是一个可重用的代码块。我们经常把重复的代码放入一个函数中,并从不同的地方调用该函数,库是函数的集合。我们可以在库中定义常用的函数,其他脚本可以使用它们而无需复制代码。Callingfunction在Shell中,调用函数和调用其他命令完全相同。例如,如果你的函数名是my_func,那么它可以像下面这样执行。$my_func如果函数接受参数,则可以从命令行提供这些参数,如下所示:$my_func
- 如何启动一个静态的前端工程的服务
使用场景在前端开发过程中,可能会要对发布到生产的包做验证或者要本地运行一个开源的包的实例,这时候就需要在本地启动一个前端服务,一般有以下两种方式运行方式Live-Server通过VsCode去安装插件LiveServer,然后打开静态工程,点击右下角的LiveServer按钮即可运行工程优点:使用简单,方便快捷缺点:不支持自定义配置,如工程里面需要代理请求,则无法实现express使用expres
- laravel 中自动批量注册验证规则到验证器
laravel中自动批量注册验证规则到验证器创建抽象验证规则App\Rules\Rule、App\Rules\RegexRulepasses($attribute,$value)){$fail(static::message())->translate();}}/***规则名称*/publicstaticfunctionname():string{returnStr::of(class_basen
- 读《javaScript高级程序设计-第6章》之理解对象
javascript
ECMA-262把对象定义为:无序属性的集合,其属性可以包含基本值、对象或函数。所以,我们可以理解对象就是名值对的集合,名就是对象的每个属性的名字,而每个名字都映射到一个值。创建对象创建对象有两种方式:方式一varperson=newObject();person.name=“Jone”;person.age=20;person.job=“SoftwareEngineer”;person.sayN
- Python入门:3.Python的输入和输出格式化
平凡程序猿~
Pythonpython开发语言
引言在Python编程中,输入与输出是程序与用户交互的核心部分。而输出格式化更是对程序表达能力的极大增强,可以让结果以清晰、美观且易读的方式呈现给用户。本文将深入探讨Python的输入与输出操作,特别是如何使用格式化方法来提升代码质量和可读性。一、输入操作Python提供了简单而强大的输入功能,通过内置函数input()可以从用户那里获取字符串形式的输入。以下是一些基本用法和注意事项:1.基本用法
- 百万架构师第二十课:源码分析:Spring 源码分析:手写定制自己的ORM框架|JavaGuide
后端
基于Spring5实现ORM初衷:单表查询不写一句SQL,自动生成查询的结果自动映射为Java对象1、我要传一个复杂的查询条件,怎么传?想到了用对象来传,但是有问题a)、跨表联查的条件b)、无法携带判断逻辑的运算符c)、or或者and无法区分2、自动映射类型判断麻烦,用rs.getObject()方法//各自的厂商实现自己的链接//MySQL为例,以下类型Java语言中是不存在的//bigint,
- python头歌实验五作业_3.1(hbut)
树先生.
python开发语言
第1关:判断火车票座位##第1关:判断火车票座位seat=input()try:letter=seat[-1]line=int(seat[:len(seat)-1])ifline17or(letternotin['A','a','B','b','C','c','D','d','F','f']):print("输入错误")elifletterin['A','a','F','f']:print("窗口
- android系统selinux中添加新属性property
辉色投像
1.定位/android/system/sepolicy/private/property_contexts声明属性开头:persist.charge声明属性类型:u:object_r:system_prop:s0图12.定位到android/system/sepolicy/public/domain.te删除neverallow{domain-init}default_prop:property
- sql统计相同项个数并按名次显示
朱辉辉33
javaoracle
现在有如下这样一个表:
A表
ID Name time
------------------------------
0001 aaa 2006-11-18
0002 ccc 2006-11-18
0003 eee 2006-11-18
0004 aaa 2006-11-18
0005 eee 2006-11-18
0004 aaa 2006-11-18
0002 ccc 20
- Android+Jquery Mobile学习系列-目录
白糖_
JQuery Mobile
最近在研究学习基于Android的移动应用开发,准备给家里人做一个应用程序用用。向公司手机移动团队咨询了下,觉得使用Android的WebView上手最快,因为WebView等于是一个内置浏览器,可以基于html页面开发,不用去学习Android自带的七七八八的控件。然后加上Jquery mobile的样式渲染和事件等,就能非常方便的做动态应用了。
从现在起,往后一段时间,我打算
- 如何给线程池命名
daysinsun
线程池
在系统运行后,在线程快照里总是看到线程池的名字为pool-xx,这样导致很不好定位,怎么给线程池一个有意义的名字呢。参照ThreadPoolExecutor类的ThreadFactory,自己实现ThreadFactory接口,重写newThread方法即可。参考代码如下:
public class Named
- IE 中"HTML Parsing Error:Unable to modify the parent container element before the
周凡杨
html解析errorreadyState
错误: IE 中"HTML Parsing Error:Unable to modify the parent container element before the child element is closed"
现象: 同事之间几个IE 测试情况下,有的报这个错,有的不报。经查询资料后,可归纳以下原因。
- java上传
g21121
java
我们在做web项目中通常会遇到上传文件的情况,用struts等框架的会直接用的自带的标签和组件,今天说的是利用servlet来完成上传。
我们这里利用到commons-fileupload组件,相关jar包可以取apache官网下载:http://commons.apache.org/
下面是servlet的代码:
//定义一个磁盘文件工厂
DiskFileItemFactory fact
- SpringMVC配置学习
510888780
springmvc
spring MVC配置详解
现在主流的Web MVC框架除了Struts这个主力 外,其次就是Spring MVC了,因此这也是作为一名程序员需要掌握的主流框架,框架选择多了,应对多变的需求和业务时,可实行的方案自然就多了。不过要想灵活运用Spring MVC来应对大多数的Web开发,就必须要掌握它的配置及原理。
一、Spring MVC环境搭建:(Spring 2.5.6 + Hi
- spring mvc-jfreeChart 柱图(1)
布衣凌宇
jfreechart
第一步:下载jfreeChart包,注意是jfreeChart文件lib目录下的,jcommon-1.0.23.jar和jfreechart-1.0.19.jar两个包即可;
第二步:配置web.xml;
web.xml代码如下
<servlet>
<servlet-name>jfreechart</servlet-nam
- 我的spring学习笔记13-容器扩展点之PropertyPlaceholderConfigurer
aijuans
Spring3
PropertyPlaceholderConfigurer是个bean工厂后置处理器的实现,也就是BeanFactoryPostProcessor接口的一个实现。关于BeanFactoryPostProcessor和BeanPostProcessor类似。我会在其他地方介绍。PropertyPlaceholderConfigurer可以将上下文(配置文件)中的属性值放在另一个单独的标准java P
- java 线程池使用 Runnable&Callable&Future
antlove
javathreadRunnablecallablefuture
1. 创建线程池
ExecutorService executorService = Executors.newCachedThreadPool();
2. 执行一次线程,调用Runnable接口实现
Future<?> future = executorService.submit(new DefaultRunnable());
System.out.prin
- XML语法元素结构的总结
百合不是茶
xml树结构
1.XML介绍1969年 gml (主要目的是要在不同的机器进行通信的数据规范)1985年 sgml standard generralized markup language1993年 html(www网)1998年 xml extensible markup language
- 改变eclipse编码格式
bijian1013
eclipse编码格式
1.改变整个工作空间的编码格式
改变整个工作空间的编码格式,这样以后新建的文件也是新设置的编码格式。
Eclipse->window->preferences->General->workspace-
- javascript中return的设计缺陷
bijian1013
JavaScriptAngularJS
代码1:
<script>
var gisService = (function(window)
{
return
{
name:function ()
{
alert(1);
}
};
})(this);
gisService.name();
&l
- 【持久化框架MyBatis3八】Spring集成MyBatis3
bit1129
Mybatis3
pom.xml配置
Maven的pom中主要包括:
MyBatis
MyBatis-Spring
Spring
MySQL-Connector-Java
Druid
applicationContext.xml配置
<?xml version="1.0" encoding="UTF-8"?>
&
- java web项目启动时自动加载自定义properties文件
bitray
javaWeb监听器相对路径
创建一个类
public class ContextInitListener implements ServletContextListener
使得该类成为一个监听器。用于监听整个容器生命周期的,主要是初始化和销毁的。
类创建后要在web.xml配置文件中增加一个简单的监听器配置,即刚才我们定义的类。
<listener>
<des
- 用nginx区分文件大小做出不同响应
ronin47
昨晚和前21v的同事聊天,说到我离职后一些技术上的更新。其中有个给某大客户(游戏下载类)的特殊需求设计,因为文件大小差距很大——估计是大版本和补丁的区别——又走的是同一个域名,而squid在响应比较大的文件时,尤其是初次下载的时候,性能比较差,所以拆成两组服务器,squid服务于较小的文件,通过pull方式从peer层获取,nginx服务于较大的文件,通过push方式由peer层分发同步。外部发布
- java-67-扑克牌的顺子.从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的.2-10为数字本身,A为1,J为11,Q为12,K为13,而大
bylijinnan
java
package com.ljn.base;
import java.util.Arrays;
import java.util.Random;
public class ContinuousPoker {
/**
* Q67 扑克牌的顺子 从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。
* 2-10为数字本身,A为1,J为1
- 翟鸿燊老师语录
ccii
翟鸿燊
一、国学应用智慧TAT之亮剑精神A
1. 角色就是人格
就像你一回家的时候,你一进屋里面,你已经是儿子,是姑娘啦,给老爸老妈倒怀水吧,你还觉得你是老总呢?还拿派呢?就像今天一样,你们往这儿一坐,你们之间是什么,同学,是朋友。
还有下属最忌讳的就是领导向他询问情况的时候,什么我不知道,我不清楚,该你知道的你凭什么不知道
- [光速与宇宙]进行光速飞行的一些问题
comsci
问题
在人类整体进入宇宙时代,即将开展深空宇宙探索之前,我有几个猜想想告诉大家
仅仅是猜想。。。未经官方证实
1:要在宇宙中进行光速飞行,必须首先获得宇宙中的航行通行证,而这个航行通行证并不是我们平常认为的那种带钢印的证书,是什么呢? 下面我来告诉
- oracle undo解析
cwqcwqmax9
oracle
oracle undo解析2012-09-24 09:02:01 我来说两句 作者:虫师收藏 我要投稿
Undo是干嘛用的? &nb
- java中各种集合的详细介绍
dashuaifu
java集合
一,java中各种集合的关系图 Collection 接口的接口 对象的集合 ├ List 子接口 &n
- 卸载windows服务的方法
dcj3sjt126com
windowsservice
卸载Windows服务的方法
在Windows中,有一类程序称为服务,在操作系统内核加载完成后就开始加载。这里程序往往运行在操作系统的底层,因此资源占用比较大、执行效率比较高,比较有代表性的就是杀毒软件。但是一旦因为特殊原因不能正确卸载这些程序了,其加载在Windows内的服务就不容易删除了。即便是删除注册表中的相 应项目,虽然不启动了,但是系统中仍然存在此项服务,只是没有加载而已。如果安装其他
- Warning: The Copy Bundle Resources build phase contains this target's Info.plist
dcj3sjt126com
iosxcode
http://developer.apple.com/iphone/library/qa/qa2009/qa1649.html
Excerpt:
You are getting this warning because you probably added your Info.plist file to your Copy Bundle
- 2014之C++学习笔记(一)
Etwo
C++EtwoEtwoiterator迭代器
已经有很长一段时间没有写博客了,可能大家已经淡忘了Etwo这个人的存在,这一年多以来,本人从事了AS的相关开发工作,但最近一段时间,AS在天朝的没落,相信有很多码农也都清楚,现在的页游基本上达到饱和,手机上的游戏基本被unity3D与cocos占据,AS基本没有容身之处。so。。。最近我并不打算直接转型
- js跨越获取数据问题记录
haifengwuch
jsonpjsonAjax
js的跨越问题,普通的ajax无法获取服务器返回的值。
第一种解决方案,通过getson,后台配合方式,实现。
Java后台代码:
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
String ca
- 蓝色jQuery导航条
ini
JavaScripthtmljqueryWebhtml5
效果体验:http://keleyi.com/keleyi/phtml/jqtexiao/39.htmHTML文件代码:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>jQuery鼠标悬停上下滑动导航条 - 柯乐义<
- linux部署jdk,tomcat,mysql
kerryg
jdktomcatlinuxmysql
1、安装java环境jdk:
一般系统都会默认自带的JDK,但是不太好用,都会卸载了,然后重新安装。
1.1)、卸载:
(rpm -qa :查询已经安装哪些软件包;
rmp -q 软件包:查询指定包是否已
- DOMContentLoaded VS onload VS onreadystatechange
mutongwu
jqueryjs
1. DOMContentLoaded 在页面html、script、style加载完毕即可触发,无需等待所有资源(image/iframe)加载完毕。(IE9+)
2. onload是最早支持的事件,要求所有资源加载完毕触发。
3. onreadystatechange 开始在IE引入,后来其它浏览器也有一定的实现。涉及以下 document , applet, embed, fra
- sql批量插入数据
qifeifei
批量插入
hi,
自己在做工程的时候,遇到批量插入数据的数据修复场景。我的思路是在插入前准备一个临时表,临时表的整理就看当时的选择条件了,临时表就是要插入的数据集,最后再批量插入到数据库中。
WITH tempT AS (
SELECT
item_id AS combo_id,
item_id,
now() AS create_date
FROM
a
- log4j打印日志文件 如何实现相对路径到 项目工程下
thinkfreer
Weblog4j应用服务器日志
最近为了实现统计一个网站的访问量,记录用户的登录信息,以方便站长实时了解自己网站的访问情况,选择了Apache 的log4j,但是在选择相对路径那块 卡主了,X度了好多方法(其实大多都是一样的内用,还一个字都不差的),都没有能解决问题,无奈搞了2天终于解决了,与大家分享一下
需求:
用户登录该网站时,把用户的登录名,ip,时间。统计到一个txt文档里,以方便其他系统调用此txt。项目名
- linux下mysql-5.6.23.tar.gz安装与配置
笑我痴狂
mysqllinuxunix
1.卸载系统默认的mysql
[root@localhost ~]# rpm -qa | grep mysql
mysql-libs-5.1.66-2.el6_3.x86_64
mysql-devel-5.1.66-2.el6_3.x86_64
mysql-5.1.66-2.el6_3.x86_64
[root@localhost ~]# rpm -e mysql-libs-5.1