- 【Leetcode】581. Shortest Unsorted Continuous Subarray
云端漫步_b5aa
Givenanintegerarray,youneedtofindonecontinuoussubarraythatifyouonlysortthissubarrayinascendingorder,thenthewholearraywillbesortedinascendingorder,too.Youneedtofindtheshortestsuchsubarrayandoutputitsle
- 最好用的e2e框架,使用 Cypress 让产品持续稳定交付
Node全栈
javapython编程语言软件测试html
以前我们经常使用nightwatch,现在都已经切换到cypress了,可以说cypress目前最好用的e2e框架。具体原因和对比,就是本文要讲的内容。背景ApacheAPISIXDashboard的设计是为了让用户通过前端界面尽可能方便地操作ApacheAPISIX。从项目初始化到现在,已经有552commits、发布了10个版本。在如此之快的产品迭代过程中,确保开源产品质量显的尤为重要。为此,
- C#基础知识-.NET,变量,容量单位,数据类型
yi碗汤园
c#开发语言
目录1.NET简介2.变量1)定义2)声明3)赋值3.容量单位4.数据类型1)整形(整数)2)非整型(小数)3)非数值型本篇文章来分享一下C#的基础知识,主要讲述一下变量和数据类型的相关知识。1.NET简介.NETdonet是Microsoft新一代多语言的开发平台,用于构建和运行应用程序。Unity借助Mono实现跨平台,核心是.NETFramework框架。2.变量1)什么是变量变量是用来存储
- 【HDFS】【HDFS架构】【HDFS Architecture】【架构】
资源存储库
hdfs架构hadoop
目录1Introduction介绍2AssumptionsandGoals假设和目标HardwareFailure硬件故障StreamingDataAccess流式数据访问LargeDataSets大型数据集SimpleCoherencyModel简单凝聚力模型“MovingComputationisCheaperthanMovingData”“移动计算比移动数据更便宜”PortabilityAc
- 坚持自己,而不是被环境改变·115天(Youtube语言学习方法)
左撇子槿希
图片发自App1.Pleaseremovetheblackpart/bit.黒い(くろい)ところは取り除(とりのぞ)いてください。2.I’mlookingoraplacetostay.泊まる(とまる)所(ところ)を探(さが)しています。3.Doyouknowwhoisthatperson?あの人は誰(だれ)か知っていますか。4.Whichrestaurantischeap?レストランはどこが安い(
- Paxos 算法详解(一)
林木森^~^
数据结构和算法算法分布式java
前言提到分布式算法,就不得不提Paxos算法,在过去几十年里,它基本上是分布式共识的代名词,因为当前最常用的一批共识算法都是基于它改进的。比如,FastPaxos算法、CheapPaxos算法、Raft算法、ZAB协议等等。兰伯特提出的Paxos算法包含2个部分:一个是BasicPaxos算法,描述的是多节点之间如何就某个值(提案Value)达成共识;另一个是Multi-Paxos思想,描述的是执
- 2022-2023学年英语周报高考新高考第3期答案及试题
macbooks
LookatthemapofSpainandpointatthecenter进入查看:2022-2023学年英语周报高考新高考第3期答案及试题以下内容仅作展示,图片上方文字进入查看。LookatthemapofSpainandpointatthecenter.You'velocatedthecountry'scapitalandoneofEurope'smostbeautifulcities:Ma
- Leetcode 盛水最多的容器
Wils0nEdwards
leetcode算法职场和发展
算法思路:Explanation:Two-pointertechnique:Startwithtwopointers,oneatthebeginning(left)andoneattheend(right)oftheheightarray.Calculatetheareaformedbetweenthetwoverticallines.Theareaiscalculatedas:Area=(rig
- 【多线程服务器】多线程下网络编程
gma999
c++服务器
目录多线程模型-非阻塞IO+oneloopperthreadoneloopperthread线程池oneloopperthread与线程池结合目前主流多线程模型Reactor模式+线程池Proactor模式Master-Worker模型多线程编程的实现线程抢占问题Happens-Before关系Linux下多线程编程常用函数线程的创建线程销毁多线程下的I/ORAII与文件描述符管理RAII与for
- The thirteen day
weixin_30511107
Wellbegunishanlfdone良好的开端是成功的一半.(此句是省略句,Somethingthatiswellbegunissomethingthatishalfdone.)Particemakesperfect熟能生巧Wherethereisawill,thereisaway.有志者事竟成onaroll练练获胜,势如破竹Don'tstopmenow-I'monaroll!!现在别阻止我,
- FPGA原型验证手册:第一章-引言:系统验证的挑战(二)
TrustZone_Hcoco
原型验证数字ICfpga开发验证原型验证IC
前言本章将建立一些定义,并概述我们正试图通过基于FPGA的原型设计来克服的挑战。我们将探讨基于soc的系统的复杂性及其在验证过程中所面临的挑战。我们还将比较和对比基于FPGA的原型与其他原型方法,包括系统级虚拟建模。在这一章之后,我们将准备深入研究基于FPGA的原型技术如何有利于一些实际项目,并为基于FPGA的原型技术提供一些指导。1.1-摩尔是对滴自从GordonE.Moore描述了在集成电路上
- [译] How things get done on the Go Team
techdashen
golangjava开发语言
6天前,掌舵Go语言团队12年Rsc在golang-dev/群组发文宣布,将在9月1号后辞去当前职位,转去做Gaby和Oscar.这对于Go语言发展无疑是里程碑式的事件。本篇内容是根据6月份他和另外两位同事参与GoTime音频录制内容的整理与翻译,英文原文在gotime/go-time-318.md,过程中为符合中文惯用表达有适当删改,版权归原作者所有.AngelicaHill:欢迎收听GoTim
- mysql游标遍历-记录
百万彩票中奖候选人
奇淫技巧系列mysql数据库
mysql游标遍历初次学习使用DELIMITER$$CREATEPROCEDUREprocess_orders()BEGINDECLAREdoneINTDEFAULT0;DECLAREorder_idINT;DECLAREorder_dateDATE;--声明游标DECLAREcurCURSORFORSELECTid,order_dateFROMordersWHEREorder_status='p
- 什么是脏读、幻读、不可重复读?
需要重新演唱
数据库服务器运维
什么是脏读、幻读、不可重复读?作为一名编程博客专家,我深知程序员在日常工作中对数据一致性和并发控制的关注。数据库事务的隔离级别(IsolationLevel)是确保数据一致性和并发控制的关键机制。本文将深入探讨脏读(DirtyRead)、幻读(PhantomRead)和不可重复读(Non-repeatableRead)的概念、区别、示例及实际应用,帮助你全面理解这些并发问题及其解决方案。1.前置知
- 너여야만 해(非你不可)[罗马音译歌词]<天空之城ost.>
音译菌_JTW
《너여야만해(非你不可)》[罗马音译]作词:ABOUT作曲:ABOUT,Pch8um编曲:203Oh지금네게가는중야ohqigeumnegekanenjungya이렇게말해도넌돌아가겠지yileokemalaedoneontolakageji좀더들어줘oh사실은나jomdeodeuleojwoohsaxilenna어색해아직도이런말하나도eosaekaeajikdoyileonmalanado지쳐
- The 2023 ICPC Asia Regionals Online Contest (2)-2023 ICPC网络赛第二场部分题解 I,M
小新-杂货铺
算法竞赛补题复盘网络算法c++
目录MDirtyWork(数学期望/贪心)IImpatientPatient(数学期望)原题地址:PTA|程序设计类实验辅助教学平台(pintia.cn)MDirtyWork(数学期望/贪心)ItisanotherICPCcontest.Yourteammatessketchedoutallsolutionstotheproblemsinafractionofasecondandwentawayt
- 发一段开启摄像头的代码
gdhuman
buttondialognullvideoactionimage
//---------------------------------------------------------------------------//author:ZwelL//http://www.donews.net/zwell///---------------------------------------------------------------------------#p
- Apache APISIX 介绍
D哈迪斯
服务器apache
ApacheAPISIX是一个动态、实时、高性能的云原生API网关,属于Apache软件基金会旗下的项目。以下是对ApacheAPISIX的详细介绍:一、基本概述定义:ApacheAPISIX是一个提供丰富流量管理功能的云原生API网关。功能:包括负载均衡、动态上游、灰度发布、服务熔断、身份认证、可观测性等。应用场景:既可以处理传统的南北向流量(客户端到服务器的流量),也可以处理服务间的东西向流量
- mysql报错1785_MYSQL Statement violates GTID consistency: Updates to non-transactional tables can only ...
张观鱼
mysql报错1785
[2019-04-2110:17:20][ERROR][org.hibernate.engine.jdbc.spi.SqlExceptionHelper:144]StatementviolatesGTIDconsistency:Updatestonon-transactionaltablescanonlybedoneineitherautocommittedstatementsorsingle-s
- Statement violates GTID consistency: Updates to non-transactional tables
罗罗的1024
Linux问题集mysqllinuxjava
StatementviolatesGTIDconsistency:Updatestonon-transactionaltables,canonlybedoneineitherautocommittedstatementsorsingle-statementtransactions,andneverinthesamestatementasupdatestotransactionaltables.解决
- 粘的ScalersTalk第七轮新概念朗读持续力训练Day 27 211110
粘_NIAN
练习材料:Lesson27AwetnightLateintheafternoon,theboysputuptheirtentinthemiddleofafield.Assoonasthiswasdone,theycookedamealoveranopenfire.Theywereallhungryandthefoodsmeltgood.Afterawonderfulmeal,theytoldsto
- 简单的golang并发fmt输出
结城明日奈是我老婆
golanggolang开发语言后端
packagemainimport("fmt""sync")funcmain(){varwgsync.WaitGroupfori:=0;i<10;i++{wg.Add(1)//增加WaitGroup的计数gofunc(iint){deferwg.Done()//记得在goroutine结束时调用Donefmt.Printf("并发执行的循环体:%d\n",i)}(i)//注意:这里传递了i的值,而
- APISIX Ingress 对 Gateway API 的支持和应用
API7.ai 技术团队
技术布道API网关APISIX
本文介绍了GatewayAPI这个将服务暴露到集群之外的全新规范,并且介绍了如何在APISIXIngressController中使用它。作者@lingsamuel,API7.ai云原生技术专家,ApacheAPISIXCommitter。GatewayAPI是除原生Service与Ingress之外,APISIX社区发起的独立规范,帮助用户将Kubernetes中的服务暴露到集群之外,由sig-
- 七个世界一个星球第1季第1集台词
英语杂货铺
七个世界一个星球第1季第1集台词英文中文200millionyearsago,两亿年前ourplanetlookedverydifferent我们地球的样貌同今天比起来fromwhatitdoestoday.有着天壤之别Itwasentirelycoveredbysea,地球表面全部被海洋覆盖whichsurroundedonesinglesupercontinentwecallPangea.海水
- 三观超正的励志文案
Dimples甜
及时止损,及时行乐。CutYourlossesandhavefun.事情想做就不要拖。Ifyouwantsomethingdone,don'tputitoff.努力提升自己比指望他人要可靠。Workinghardtoimproveyourselfismorereliablethanrelgingonothers会过去的会到来的会拥有的。It'llpass,it'llcome,it'llbether
- 高级java每日一道面试题-2024年9月02日-基础篇-什么是脏读、不可重复读和幻读?
java我跟你拼了
java每日一道面试题java面试基础篇高级面试题脏读幻读不可重复度读
如果有遗漏,评论区告诉我进行补充面试官:什么是脏读、不可重复读和幻读?我回答:在数据库事务的并发控制中,脏读(DirtyRead)、不可重复读(Non-repeatableRead)和幻读(PhantomRead)是三种常见的并发问题,它们主要涉及到事务的隔离级别和一致性。了解这些问题有助于我们设计更健壮的数据库系统。1.脏读(DirtyRead)定义:脏读是指一个事务读取到了另一个事务尚未提交的
- shell进阶
Alive608
运维
1.求0-200的总和#!/bin/bashsum=0foriin`seq1200`dosum=$[$i+$sum]doneecho$sum以上为0-200的总和的一个代码,首先需要将sum赋值为零,i从1取到200,每取一个数进行累加,并输出最终结果注:如果echo放在done前,会输出每次累加的结果,直到i等于2002.求1-n的总和#!/bin/bashn=0while[$n-lt1];do
- using maven and eclipse created a mutiple module project
josonchen
maven
usingmavenandeclipsecreatedamutiplemoduleprojectusingmavenandeclipsecreatedamutiplemoduleproject原文网址:blog.donews.com/skyhero/archive/2006/02/16/728702.aspxMysniscreatedasamutiplemoduleproject.Itisdevi
- Shell 编程之循环语句与函数
爱笑的文化
java算法前端云计算
文章目录for语句的结构while语句的结构until语句的结构函数的用法函数变量的作用范围递归函数Shell数组Shell脚本调试for语句的结构使用for循环语句时,需要指定一个变量及可能的取值列表,针对每个不同的取值重复执行相同的命令序列,直到变量值用完退出循环。for循环语句的语法结构如下所示。for变量名in取值列表do命令序列donefor语句的执行流程:首先将列表中的第一个取值赋给变
- Rust 高级概念
鹤仁
Rustrust开发语言后端
•类型系统简介。•字符串。•迭代器。•闭包。•模块。代码块和表达式fnmain(){//使用裸代码块同时执行多个任务letprecompute={leta=(-34i64).abs();letb=345i64.pow(3);letc=3;a+b+c};//match表达式letresult_msg=matchprecompute{42=>"done",aifa%2==0=>"continue",_
- TOMCAT在POST方法提交参数丢失问题
357029540
javatomcatjsp
摘自http://my.oschina.net/luckyi/blog/213209
昨天在解决一个BUG时发现一个奇怪的问题,一个AJAX提交数据在之前都是木有问题的,突然提交出错影响其他处理流程。
检查时发现页面处理数据较多,起初以为是提交顺序不正确修改后发现不是由此问题引起。于是删除掉一部分数据进行提交,较少数据能够提交成功。
恢复较多数据后跟踪提交FORM DATA ,发现数
- 在MyEclipse中增加JSP模板 删除-2008-08-18
ljy325
jspxmlMyEclipse
在D:\Program Files\MyEclipse 6.0\myeclipse\eclipse\plugins\com.genuitec.eclipse.wizards_6.0.1.zmyeclipse601200710\templates\jsp 目录下找到Jsp.vtl,复制一份,重命名为jsp2.vtl,然后把里面的内容修改为自己想要的格式,保存。
然后在 D:\Progr
- JavaScript常用验证脚本总结
eksliang
JavaScriptjavaScript表单验证
转载请出自出处:http://eksliang.iteye.com/blog/2098985
下面这些验证脚本,是我在这几年开发中的总结,今天把他放出来,也算是一种分享吧,现在在我的项目中也在用!包括日期验证、比较,非空验证、身份证验证、数值验证、Email验证、电话验证等等...!
&nb
- 微软BI(4)
18289753290
微软BI SSIS
1)
Q:查看ssis里面某个控件输出的结果:
A MessageBox.Show(Dts.Variables["v_lastTimestamp"].Value.ToString());
这是我们在包里面定义的变量
2):在关联目的端表的时候如果是一对多的关系,一定要选择唯一的那个键作为关联字段。
3)
Q:ssis里面如果将多个数据源的数据插入目的端一
- 定时对大数据量的表进行分表对数据备份
酷的飞上天空
大数据量
工作中遇到数据库中一个表的数据量比较大,属于日志表。正常情况下是不会有查询操作的,但如果不进行分表数据太多,执行一条简单sql语句要等好几分钟。。
分表工具:linux的shell + mysql自身提供的管理命令
原理:使用一个和原表数据结构一样的表,替换原表。
linux shell内容如下:
=======================开始 
- 本质的描述与因材施教
永夜-极光
感想随笔
不管碰到什么事,我都下意识的想去探索本质,找寻一个最形象的描述方式。
我坚信,世界上对一件事物的描述和解释,肯定有一种最形象,最贴近本质,最容易让人理解
&
- 很迷茫。。。
随便小屋
随笔
小弟我今年研一,也是从事的咱们现在最流行的专业(计算机)。本科三流学校,为了能有个更好的跳板,进入了考研大军,非常有幸能进入研究生的行业(具体学校就不说了,怕把学校的名誉给损了)。
先说一下自身的条件,本科专业软件工程。主要学习就是软件开发,几乎和计算机没有什么区别。因为学校本身三流,也就是让老师带着学生学点东西,然后让学生毕业就行了。对专业性的东西了解的非常浅。就那学的语言来说
- 23种设计模式的意图和适用范围
aijuans
设计模式
Factory Method 意图 定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method 使一个类的实例化延迟到其子类。 适用性 当一个类不知道它所必须创建的对象的类的时候。 当一个类希望由它的子类来指定它所创建的对象的时候。 当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将哪一个帮助子类是代理者这一信息局部化的时候。
Abstr
- Java中的synchronized和volatile
aoyouzi
javavolatilesynchronized
说到Java的线程同步问题肯定要说到两个关键字synchronized和volatile。说到这两个关键字,又要说道JVM的内存模型。JVM里内存分为main memory和working memory。 Main memory是所有线程共享的,working memory则是线程的工作内存,它保存有部分main memory变量的拷贝,对这些变量的更新直接发生在working memo
- js数组的操作和this关键字
百合不是茶
js数组操作this关键字
js数组的操作;
一:数组的创建:
1、数组的创建
var array = new Array(); //创建一个数组
var array = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度
var arrayObj = new Array([element0[, element1[, ...[, elementN]]]
- 别人的阿里面试感悟
bijian1013
面试分享工作感悟阿里面试
原文如下:http://greemranqq.iteye.com/blog/2007170
一直做企业系统,虽然也自己一直学习技术,但是感觉还是有所欠缺,准备花几个月的时间,把互联网的东西,以及一些基础更加的深入透析,结果这次比较意外,有点突然,下面分享一下感受吧!
&nb
- 淘宝的测试框架Itest
Bill_chen
springmaven框架单元测试JUnit
Itest测试框架是TaoBao测试部门开发的一套单元测试框架,以Junit4为核心,
集合DbUnit、Unitils等主流测试框架,应该算是比较好用的了。
近期项目中用了下,有关itest的具体使用如下:
1.在Maven中引入itest框架:
<dependency>
<groupId>com.taobao.test</groupId&g
- 【Java多线程二】多路条件解决生产者消费者问题
bit1129
java多线程
package com.tom;
import java.util.LinkedList;
import java.util.Queue;
import java.util.concurrent.ThreadLocalRandom;
import java.util.concurrent.locks.Condition;
import java.util.concurrent.loc
- 汉字转拼音pinyin4j
白糖_
pinyin4j
以前在项目中遇到汉字转拼音的情况,于是在网上找到了pinyin4j这个工具包,非常有用,别的不说了,直接下代码:
import java.util.HashSet;
import java.util.Set;
import net.sourceforge.pinyin4j.PinyinHelper;
import net.sourceforge.pinyin
- org.hibernate.TransactionException: JDBC begin failed解决方案
bozch
ssh数据库异常DBCP
org.hibernate.TransactionException: JDBC begin failed: at org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:68) at org.hibernate.impl.SessionImp
- java-并查集(Disjoint-set)-将多个集合合并成没有交集的集合
bylijinnan
java
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.ut
- Java PrintWriter打印乱码
chenbowen00
java
一个小程序读写文件,发现PrintWriter输出后文件存在乱码,解决办法主要统一输入输出流编码格式。
读文件:
BufferedReader
从字符输入流中读取文本,缓冲各个字符,从而提供字符、数组和行的高效读取。
可以指定缓冲区的大小,或者可使用默认的大小。大多数情况下,默认值就足够大了。
通常,Reader 所作的每个读取请求都会导致对基础字符或字节流进行相应的读取请求。因
- [天气与气候]极端气候环境
comsci
环境
如果空间环境出现异变...外星文明并未出现,而只是用某种气象武器对地球的气候系统进行攻击,并挑唆地球国家间的战争,经过一段时间的准备...最大限度的削弱地球文明的整体力量,然后再进行入侵......
那么地球上的国家应该做什么样的防备工作呢?
&n
- oracle order by与union一起使用的用法
daizj
UNIONoracleorder by
当使用union操作时,排序语句必须放在最后面才正确,如下:
只能在union的最后一个子查询中使用order by,而这个order by是针对整个unioning后的结果集的。So:
如果unoin的几个子查询列名不同,如
Sql代码
select supplier_id, supplier_name
from suppliers
UNI
- zeus持久层读写分离单元测试
deng520159
单元测试
本文是zeus读写分离单元测试,距离分库分表,只有一步了.上代码:
1.ZeusMasterSlaveTest.java
package com.dengliang.zeus.webdemo.test;
import java.util.ArrayList;
import java.util.List;
import org.junit.Assert;
import org.j
- Yii 截取字符串(UTF-8) 使用组件
dcj3sjt126com
yii
1.将Helper.php放进protected\components文件夹下。
2.调用方法:
Helper::truncate_utf8_string($content,20,false); //不显示省略号 Helper::truncate_utf8_string($content,20); //显示省略号
&n
- 安装memcache及php扩展
dcj3sjt126com
PHP
安装memcache tar zxvf memcache-2.2.5.tgz cd memcache-2.2.5/ /usr/local/php/bin/phpize (?) ./configure --with-php-confi
- JsonObject 处理日期
feifeilinlin521
javajsonJsonOjbectJsonArrayJSONException
写这边文章的初衷就是遇到了json在转换日期格式出现了异常 net.sf.json.JSONException: java.lang.reflect.InvocationTargetException 原因是当你用Map接收数据库返回了java.sql.Date 日期的数据进行json转换出的问题话不多说 直接上代码
&n
- Ehcache(06)——监听器
234390216
监听器listenerehcache
监听器
Ehcache中监听器有两种,监听CacheManager的CacheManagerEventListener和监听Cache的CacheEventListener。在Ehcache中,Listener是通过对应的监听器工厂来生产和发生作用的。下面我们将来介绍一下这两种类型的监听器。
- activiti 自带设计器中chrome 34版本不能打开bug的解决
jackyrong
Activiti
在acitivti modeler中,如果是chrome 34,则不能打开该设计器,其他浏览器可以,
经证实为bug,参考
http://forums.activiti.org/content/activiti-modeler-doesnt-work-chrome-v34
修改为,找到
oryx.debug.js
在最头部增加
if (!Document.
- 微信收货地址共享接口-终极解决
laotu5i0
微信开发
最近要接入微信的收货地址共享接口,总是不成功,折腾了好几天,实在没办法网上搜到的帖子也是骂声一片。我把我碰到并解决问题的过程分享出来,希望能给微信的接口文档起到一个辅助作用,让后面进来的开发者能快速的接入,而不需要像我们一样苦逼的浪费好几天,甚至一周的青春。各种羞辱、谩骂的话就不说了,本人还算文明。
如果你能搜到本贴,说明你已经碰到了各种 ed
- 关于人才
netkiller.github.com
工作面试招聘netkiller人才
关于人才
每个月我都会接到许多猎头的电话,有些猎头比较专业,但绝大多数在我看来与猎头二字还是有很大差距的。 与猎头接触多了,自然也了解了他们的工作,包括操作手法,总体上国内的猎头行业还处在初级阶段。
总结就是“盲目推荐,以量取胜”。
目前现状
许多从事人力资源工作的人,根本不懂得怎么找人才。处在人才找不到企业,企业找不到人才的尴尬处境。
企业招聘,通常是需要用人的部门提出招聘条件,由人
- 搭建 CentOS 6 服务器 - 目录
rensanning
centos
(1) 安装CentOS
ISO(desktop/minimal)、Cloud(AWS/阿里云)、Virtualization(VMWare、VirtualBox)
详细内容
(2) Linux常用命令
cd、ls、rm、chmod......
详细内容
(3) 初始环境设置
用户管理、网络设置、安全设置......
详细内容
(4) 常驻服务Daemon
- 【求助】mongoDB无法更新主键
toknowme
mongodb
Query query = new Query(); query.addCriteria(new Criteria("_id").is(o.getId())); &n
- jquery 页面滚动到底部自动加载插件集合
xp9802
jquery
很多社交网站都使用无限滚动的翻页技术来提高用户体验,当你页面滑到列表底部时候无需点击就自动加载更多的内容。下面为你推荐 10 个 jQuery 的无限滚动的插件:
1. jQuery ScrollPagination
jQuery ScrollPagination plugin 是一个 jQuery 实现的支持无限滚动加载数据的插件。
2. jQuery Screw
S