- vscode离线安装插件
木头没有瓜
vscodevue.jside
背景:项目工程使用内网,无法使用互联网直接安装,只能通过离线安装1、vue语法高亮vetur插件2、代码修改记录Gitlens插件插件下载地址:ExtensionsforVisualStudiofamilyofproducts|VisualStudioMarketplace下载好插件,在vscode安装目录,windows系统查询vscode安装目录命令wherecode在bin目录下执行命令#x
- Elasticsearch分组后排序,并查询组数量
Gzzz__
Elasticsearchelasticsearchjava大数据
项目场景:Elasticsearch分组后,根据分组后的数量排序,并查询分组后的组数量,通过DSL和javaAPI两种方式解决方案:示例:在单据表中,查询2022-01-19当天每个人提交的单据数量,从高到低排序,并查询提交过单据的总人数。期望实现的SQLselectId,count(Id)ascfromuserbillwheretype='bill'andcreateTime>='2022-01
- 下完安装好python后,想查看python的安装位置的几种方法
大模型猫叔
python开发语言爬虫
查看python的路径基于windows系统,按下win+r(也就是命令提示符),输入cmd,进入查看当前的python的版本的话输入python-V1,查看当前下载的python类型和路径则可以输入py-0(加*的是你使用python的默认版本)2,还可以使用命令wherepython查看路径(这样就不会显示你python默认使用的是哪个)小技巧:如果想清除命令行的话可以输入命令cls然后ent
- mysql:破解数据库的密码!!!
qq_41051690
mysql燕十八运维
如何破解数据库的密码?步骤如下:(1)通过任务管理器或着服务器管理,关掉mysqld进程;(2)通过命令行+特殊参数开启mysqld;(3)此时,mysqld服务进程已经打开,并且不需要权限检查;(4)mysql-uroot无密码登陆服务器;(5)修改权限表A:usemysql;B:updateusersetPassword=password(‘111111’)whereUser=’root’;C
- PgSQL内核代码阅读|查询的两种实现方式
PgSQL内核代码阅读|查询的两种实现方式PgSQL查询用户表时,针对带有WHERE条件的顺序扫描查询,他会从存储加载数据,然后一条一条的从页中读取数据,并将其返回给SeqScan算子。在SeqScan算子中处理WHERE过滤,即ExecQual函数处理过滤表达式。对于系统表还有另一种查询方式,即使不经过索引,也可以通过ScanKeyInit将过滤条件值带入ScanKeyData中,从而在存储层就
- MySQL调优实战
fei飛fei飞
mysql数据库
各位小伙伴是否在工作中遇到过类似的问题?一个简单的用户查询居然用时15s,接到优化sql语句的任务又无从下手。今天,我们简单的讲讲MySql如何调优。sqlSELECT*FROMusersWHEREage>18ORDERBYcreate_timeDESC;如上图,一个简单的查询sql为啥用时如此之久呢,我们先看这个sql可能存在的问题。1.索引缺失或不合理问题:该查询涉及两个字段条件(age>18
- Leetcode 1672. Richest Customer Wealth
小白菜又菜
Leetcode解题报告leetcode算法职场和发展
ProblemYouaregivenanmxnintegergridaccountswhereaccounts[i][j]istheamountofmoneytheithcustomerhasinthejthbank.Returnthewealththattherichestcustomerhas.Acustomer’swealthistheamountofmoneytheyhaveinallth
- C: error: aggregate value used where an integer was expected
mzhan017
c/c++C
main.c:677:9:error:aggregatevalueusedwhereanintegerwasexpected,这里的aggregatevalue是说一个集合值,比如是结构体,联合体,类。但是当前行需要的类型是一个整型。所以aggregate是一个一般化的概念,将结构体,联合体,类等组合类数据类型一般化为聚集体。比如StructAa;if(a!=0)
- Sqlserver CTE递归--奖金池计算
最简单的递归WITHRecursiveCTE(Number)AS(--锚点成员SELECT1ASNumberUNIONALL--递归成员SELECTNumber+1FROMRecursiveCTEWHERENumber=奖金池基准THEN本月调整奖金-奖金池基准ELSE0ENDAS本月发放奖金,CASEWHEN本月调整奖金>=奖金池基准THEN奖金池基准ELSE本月调整奖金ENDAS结余奖金池,C
- :where() 伪类选择器(避免 !important 的滥用)
漠月瑾
csswhere伪类选择器避免important的滥用css伪类选择器的优雅写法
:是CSS中的一个伪类选择器,它的核心作用是以极低的特异性(specificity)应用样式,同时保持选择器的匹配逻辑不变。它是现代css开发中用于优雅管理样式优先级的重要工具。一、基础概念1.特异性(specificity)是什么?CSS特异性决定了当多个规则匹配同一个元素时,哪个规则会被优先应用。特异性由(a,b,c)三个值表示:a:内联样式(style=“…”)的权重(最高优先级)。b:ID
- MySQL索引失效的场景介绍及解决思路
在MySQL数据库中,索引是提高查询效率的重要手段,但不当的使用或设计可能导致索引失效,从而影响性能。本文将深入探讨索引失效的各种场景,并提供针对性的解决方案,帮助你优化数据库性能。场景一:函数调用索引列问题描述:假设employees表中first_name列有索引,使用SUBSTRING函数查询名字时,索引可能失效。SELECT*FROMemployeesWHERESUBSTRING(firs
- mysql索引失效的场景
布拉多多
mysqlandroid数据库
在MySQL中,索引是提高查询性能的关键工具,但在某些情况下,索引可能会失效,导致查询性能下降。以下是一些常见的索引失效的场景:使用OR操作符如果查询中使用了OR操作符连接多个条件,且其中一个条件没有使用索引,或者索引无法有效使用,那么整个查询可能会导致索引失效。例如:SELECT*FROMusersWHEREage=25ORname='John';如果age和name字段上都有索引,但MySQL
- MySQL索引 - 索引失效
孤寒者
Python全栈系列教程mysql数据库索引索引失效
目录:每篇前言:索引失效深入解析一、模糊匹配导致索引失效场景:`LIKE'%xx'`或`LIKE'%xx%'`二、函数操作导致索引失效场景:索引字段参与函数运算三、表达式计算导致索引失效场景:索引字段参与表达式计算四、隐式类型转换导致索引失效场景:字段类型与查询值类型不一致(如字符串与数字)五、联合索引未遵循最左前缀原则场景:未按照联合索引定义的列顺序查询六、WHERE子句中的OR导致索引失效场景
- Python解释器路径查找
1.Pythoninterpreter获取Python解释器的完整路径。importsysprint(sys.executable)2.安装了多个Python,查看每个的位置win+Rcmd打开控制台输入:wherepython
- ThinkPHP 6 数据库查询,where 、or、and
小叔哥哥
PHPthinkphp
1.查询数据库的方式三种数据库查询(Db类)Db::name()->where()->select()实例化模型查询(建立模型model)$userModel=newuserModel();$userModel->where()->select()使用查询构造器(调用数据库链式操作和查询方法)UserModel::where()->select()俩种查询方式返回的数据格式也不一样。一种是数组,一
- 学习以任务为中心的潜动作,随地采取行动
三谷秋水
计算机视觉智能体大模型计算机视觉语言模型机器人人工智能深度学习
25年5月来自香港大学、OpenDriveLab和智元机器人的论文“LearningtoActAnywherewithTask-centricLatentActions”。通用机器人应该在各种环境中高效运行。然而,大多数现有方法严重依赖于扩展动作标注数据来增强其能力。因此,它们通常局限于单一的物理规范,难以学习跨不同具身和环境的可迁移知识。为了突破这些限制,UniVLA,是一个用于学习跨具身视觉-
- SQL规范检查
独步秋风
Mysqlmysqlsql规范检查
序号规则规则等级数据库类型1Update/Delete需要带上where条件errorMysql2不允许使用Truncatetable语句errorMysql3Update/Delete不允许带limit条件errorMysql4Update/Delete不允许带orderby条件errorMysql5不使用“SELECT*”这样的语句errorMysql6不使用DML广播语句errorMysql
- Ubuntu开放mysql 3306端口
Ubuntu开放mysql3306端口1.检查UFW防火墙规则2.检查iptables规则1.检查UFW防火墙规则sudoufwstatusverbose|grep3306若输出包含3306/tcpALLOW,表示端口已开放(如下)ubuntu@Ubuntu2404:~$sudoufwstatusverbose|grep33063306/tcpALLOWINAnywhere3306/tcp(v6)
- 数据库 DML 语句详解:语法与注意事项
步行cgn
数据库数据库oracle
数据库DML语句详解:语法与注意事项DML(DataManipulationLanguage,数据操作语言)用于操作数据库中的数据,主要包括SELECT、INSERT、UPDATE、DELETE等语句。下面我将详细说明每种操作的语法、使用场景和关键注意事项。一、SELECT查询语句基本语法SELECT[DISTINCT]column1,column2,...FROMtable_name[WHERE
- 数据库-事务
ruleslol
springspringjdbc
一、什么是事务?在执行SQL语句的时候,某些业务要求,一系列操作必须全部执行,而不能仅执行一部分。例如,一个转账操作:--从id=1的账户给id=2的账户转账100元--第一步:将id=1的A账户余额减去100UPDATEaccountsSETbalance=balance-100WHEREid=1;--第二步:将id=2的B账户余额加上100UPDATEaccountsSETbalance=ba
- sqlserver 中的go的作用
NaiQai
SqlServer
如果只是执行一条语句,有没有go都一样,如果多条语句之间用go分隔开就不一样了,每个被go分隔的语句都是一个单独的事务,一个语句执行失败不会影响其他语句执行。例如:首先同时执行下边的语句select*fromsysobjectswhereid=aselectgetdate()你会发现会报错,并且不会显示任何结果集而你再执行select*fromsysobjectswhereid=agoselect
- SQL Server 中 GO 的作用
Lauren_Lu
golang数据库oracle
CREATEDATABASEMyDatabase;USEMyDatabase;GO--定义局部变量DECLARE@s_novarchar(8),@s_avgradenumeric(4,1);--对局部变量赋值SETs_no='20170208';SET@s_avgrade=95.0;--使用局部变量UPDATEstudentSETs_avgrade=@s_avgradeWHEREs_no=@s_n
- 八、分页查询
2301_78148620
支持向量机
1.limit关键字用来限制查询返回的记录数语法:slelect列名1别名1,列名2别名2,...from表名1别名1join表名2别名2on多表连接条件where分组前的条件groupby分组字段having分组后的条件orderby排序字段1asc|desc,排序字段2asc|desclimit[参数1,]参数2可以接收一个或两个数字参数1用来指定起始行的索引,索引默认从0开始,即第一行的索引
- MySQL--条件查询、范围查询、排序
darling_user
数据库
–not不在18岁以上的女性的范围信息select*fromstudentwherenot(age>18andgender='女');年龄不是小于或者等于18并且是女性select*fromstudent(notage<=18)andgender='女';模糊查询(效率低)1、like%替换1个或者多个_替换1个查询姓名以“小”开始的名字select*fromstudentwherenamelik
- 【.net core】【sqlsugar】在where条件查询时使用原生SQL
MoFe1
.netcoresql数据库
//初始化查询varquery=repository.IQueryable();//添加原生SQLWHERE条件query=query.Where("fieldAWhere(stringwhereString,objectparameters=null);
- SQl中多使用EXISTS导致多查出了一条不符合条件的数据
yangchanghua111
sql数据库
原本的部分条件如下andi.is_complement='20'andi.yxbz='1'AND(i.nameLIKEconcat('%','红','%')OREXISTS(SELECT*FROMcommodity_suit_composecscWHEREcsc.suit_id=i.IDANDcsc.compose_nameLIKEconcat('%','红','%')))查寻i表的name和cs
- TDengine 3.3.5.0 新功能 —— 查看库文件占用空间、压缩率
TDengine (老段)
TDengine产品设计数据库时序数据库物联网tdengine涛思数据iot
1.背景TDengine之前版本一直没有通过SQL命令查看数据库占用的磁盘空间大小,从3.3.5.0开始,增加了这个方便且实用的小功能,这里详细介绍下。2.SQL基本语法selectexprfrominformation_schema.ins_disk_usage[wherecondtion]行为说明:查看各个vgroup的各个组件磁盘占用情况,并且可以通过查询语句计算压缩率等。示例:taos>s
- 【Pandas】pandas DataFrame resample
liuweidong0802
DataFramepandas
Pandas2.2DataFrameTimeSeries-related方法描述DataFrame.asfreq(freq[,method,how,…])用于**将时间序列数据转换为指定频率(resampletofrequency)**的方法DataFrame.asof(where[,subset])用于查找时间序列中最接近指定时间点的非NaN值的方法DataFrame.shift([period
- 【Pandas】pandas Series tz_convert
liuweidong0802
PandasSeriespandas
Pandas2.2SeriesTimeSeries-related方法描述Series.asfreq(freq[,method,how,…])用于将时间序列数据转换为指定的频率Series.asof(where[,subset])用于返回时间序列中指定索引位置的最近一个非缺失值Series.shift([periods,freq,axis,…])用于将时间序列数据沿指定轴移动指定的周期数Serie
- 10招提升SQL性能的实战技巧
快乐才是自己的
sqlmysqlsqlmysqloracledatabasehadoop大数据
SQL语句常见性能优化方案在数据库应用中,SQL性能优化是核心技术要点。以下是经过验证的优化策略,按关键维度分类:一、索引优化精准索引覆盖对高频查询的WHERE、JOIN、ORDERBY字段建立索引复合索引遵循最左前缀原则:索引(a,b,c)仅支持WHEREa=?或WHEREa=?ANDb=?示例:将SELECT*FROMordersWHEREstatus='shipped'改为CREATEIND
- 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