- Perf-linux服务器性能测试
进阶的小猫
压测和性能测试linux运维python
1.压测基础数据准备:压测的环境:2.压测时关注服务端性能内存:50%以下CPU:一般小于75%,平均每核CPU的load小于1网络带宽:磁盘:IO:数据库:JVM:小于80%fullGC频率:小于半小时一次响应时间:小于期望值20,30,50,100ms错误率:低于0.5‰如何做服务器压测-入门级-简书https://www.jianshu.com/p/0b1f2f3b4bbd实现一个简单的压测
- 常见问题This application failed to start because not Qt platform plugin could be initialized.
季截
qtqt开发语言
ThisapplicationfailedtostartbecausenotQtplatformplugincouldbeinitialized.Reinstallingtheapplicationmayfixthisproblem.从qt安装目录将依赖dll和plugins下的文件夹放在可执行程序目录下
- 对领域驱动设计(DDD)的学习成果
huaishu
架构
领域驱动设计之领域模型2004年EricEvans发表Domain-DrivenDesign–TacklingComplexityintheHeartofSoftware(领域驱动设计),简称EvansDDD。领域驱动设计分为两个阶段:以一种领域专家、设计人员、开发人员都能理解的“通用语言”作为相互交流的工具,在不断交流的过程中不断发现一些主要的领域概念,然后将这些概念设计成一个领域模型;由领域模
- jQuery和CSS3响应式网站导航幻灯片插件
�时过境迁,物是人非
jquerycss3前端
这是一款即实用又炫酷的jQuery和CSS3响应式网站导航幻灯片插件。该插件将幻灯片制作为网站的hero导航,在幻灯片中展示网站各主要板块的内容,使用户可以非常容易的了解网站的主要信息。在线演示下载该幻灯片插件是响应式的,幻灯片中可以嵌入图片背景、视频及文本信息。为了提高与用户的互动,幻灯片中将前后导航按钮替换为导航按钮。按钮和导航箭头的区别是:每个按钮是一个标题,它会提示用户该页幻灯片所对应的网
- 30秒知识快学插件指南
瞿旺晟
30秒知识快学插件指南30_seconds_of_knowledgeGoogleChromeExtensionthatletsyougainnewdeveloperskills,everytimeyouopenaNewTab.项目地址:https://gitcode.com/gh_mirrors/30/30_seconds_of_knowledge项目介绍30秒知识快学是一款专为开发者设计的Goo
- python 用matplotlib作图,报错not Qt platform plugin could be initialized
aLagrange
pythonbug
重装Pycharm后,用matplotlib画图ThisapplicationfailedtostartbecausenotQtplatformplugincouldbeinitialized.##标题背景:重新安装pycharm后使用matplotlib画图弹出错误窗口全程又没有调用过Pyside2或pyqt5.新建了一个Project,导入matplolib,运行一个最简单的程序importm
- 996引擎 -地图-动态创建副本地图
笑虾
996引擎996引擎
996引擎-地图-动态创建副本地图添加测试NPC效果参考资料添加测试NPCNPC面板--NPC入口函数functionmain(player)--获取玩家的用户名localUSERNAME=getconst(player,"$USERNAME"
- 使用Colpali架构掌握多模态RAG技术
大模型之路
RAGRAG多模态多模态RAG检索增强生成LLM
传统的LLM面临着“幻觉”问题,即它们可能生成听起来合理但实际上错误或未经证实的信息。为了解决这个问题,检索增强生成(RAG)模型应运而生。RAG(语义缓存:提升RAG性能的关键策略)通过将LLM的生成能力与外部知识检索系统相结合,实现了更准确、更可靠的输出。然而,传统的RAG主要局限于文本数据,无法充分利用多模态信息。为了应对这一挑战,多模态RAG应运而生,其中Colpali架构成为这一领域的佼
- Flutter 新春第一弹,Dart 宏功能推进暂停,后续专注定制数据处理支持
恋猫de小郭
Android开发flutterandroidjava
在去年春节,Flutter官方发布了宏(Macros)编程的原型支持,同年的5月份在GoogleI/O发布的Dart3.4宣布了宏的实验性支持,但是对于Dart内部来说,从启动宏编程实验开始已经过去了几年,但是从目前的推进趋势看,完全的宏功能支持并不理想,结论大概是:能用是能用,但是质量和性能都达不到一开始的预期。具体原来在于Dart的静态语言提前编译和有状态的热重载等方面,对于元编程而言,需要建
- 数控领域 - NC(Numerical Control,数控)极简理解
我命由我12345
行业-简化概念数控自动化行业职场和发展职场发展求职招聘需求分析
NC概述NC全称是NumericalControl,即数控NC是一种通过数字化信号控制机床或其他制造设备的技术NC利用计算机或专用控制器执行预编程指令,实现自动化加工NC的特点硬件控制:NC系统依赖于硬件控制器,通常不具备编程和存储能力介质存储:加工程序存储在穿孔纸带或磁带上,修改程序需要重新制作介质功能有限:NC系统的功能较为简单,通常只能执行基本的加工任务精度较低:由于硬件限制,NC系统的加工
- Webpack 模块加载、动态引入机制源码解读
AIGC小陈
正则表达式javascript开发语言react.js前端
今天的文章简单探讨一下Vue和React的不同。本人Vue2和React都用过,但不熟悉Vue3,没用它做过项目。其实我对这两大框架也没有认真钻研过它们的细节,也就是工作上用它们写一些简单业务,或偶尔看看相关的博客文章,但还是有一些浅显的认识的,写下来记录一下。Vue和React都是用于构建UI界面的流行框架。它们的哲学也有很多相似的地方,我们可以认为这些特性是流行前端框架的一个趋势。它们是:组件
- tf.Keras (tf-1.15)使用记录4-model.fit方法及其callbacks参数
普通攻击往后拉
NN技巧tf.keraskeras人工智能深度学习
model.fit()方法是TensorFlowKeras中用于训练模型的核心方法。其中里面的callbacks参数是实现模型保存、监控、以及和tensorboard联动的重要API1model.fit()方法的参数及使用必需参数x:训练数据的输入。可以是NumPy数组、TensorFlowtf.data.Dataset、Python生成器或keras.utils.Sequence实例。y:训练数
- macbook自带python保存文件夹_在mac下查找python包存放路径site-packages的实现方法 在Mac系统下python如何安装第三方函数库?...
Charnychi
mac怎么查看python的site-package位置世界上最伤心的事,不是你爱的人不爱你,而是他爱你过后,最后却不爱你。可以通过find命令查看,参考demo如下:sudofind/-name"site-package"小编们总是对最亲近的家人视而不见,甚至还有许多抱怨,却对外人”的一点小惠感激不已。mac自带的python安装在/usr/bin/python目录下进入终端直接键入python
- pnpm 执行
itell_me
前端-bugvuenode.js
执行pnpm失败,报错信息如下:PSD:\code\vue3-hello>pnpmpnpm:无法加载文件D:\soft\node-v16.14.2\pnpm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅https:/go.microsoft.com/fwlink/?LinkID=135170中的about_Execution_Policies。所在位置行:1字符:1+pnpm+~~~~
- python exe site-package
weixin_33735077
python
2019独角兽企业重金招聘Python工程师标准>>>pythonexesite-package:http://www.lfd.uci.edu/~gohlke/pythonlibs/#pillow转载于:https://my.oschina.net/zuoan001/blog/346126
- python 分享site-package
CbdFocus
Python
导出列表pipfreeze>requirements.txt安装列表pipinstall-rrequirements.txt
- Python 框架 之 Anaconda 下 Django 环境的快速搭建与验证的相关说明
仙魁XAN
pythonpythonanacondadjango
Python框架之Anaconda下Django环境的快速搭建与验证的相关说明目录Python框架之Anaconda下Django环境的快速搭建与验证的相关说明一、简单介绍二、实现原理三、环境四、涉及命令五、搭建具体步骤1、打开AnacondaNavigator2、Create构建一个环境,选择自己需要的python版本即可3、AnacondaPrompt打开命令行操作4、condainfo--e
- while循环
Along丶WG
#Java基础java
介绍语法:循环变量初始化;while(循环条件){循环体;循环变量迭代;}while也有四要素,只是四要素的位置和for不一样。代码演示publicstaticvoidmain(String[]args){//输出10次Hello,World!inti=1;//循环变量初始化while(i=40&&k<=endNum2){if(k%2==0){System.out.println(k);}k++;
- do..while 循环
Along丶WG
#Java基础java
介绍语法:循环变量初始化;do{循环体(语句);循环变量迭代;}while(循环条件);说明:dowhile也有循环四要素,只是位置不一样先执行,再判断,也就是说,一定会至少执行一次最后有一个分号;代码演示publicstaticvoidmain(String[]args){//输出10次Hello,World!inti=1;//循环变量初始化do{System.out.println("Hell
- 修改当前Git仓库的地址、用户名、密码
Along丶WG
中间件Linuxgit
1.修改仓库地址gitremoteset-urlorigin新的仓库地址2.修改用户名和密码2.1修改用户名和密码1分两步操作:修改用户名:gitconfig--globaluser.name"YourNewName"修改密码:如果是HTTPS访问方式,并且需要修改密码,可以通过Git凭据存储区(credentialstorage)来更新密码。gitconfig--globalcredential
- npm启动前端项目时报错(vue) error:0308010C:digital envelope routines::unsupported
华如锦
开发本地环境配置jsjava前端npmvue.jsnode.jsjava
vue启动项目时,npmrunserve报下面的错:error:0308010C:digitalenveloperoutines::unsupportedatnewHash(node:internal/crypto/hash:67:19)atObject.createHash(node:crypto:133:10)atFSReqCallback.readFileAfterClose[asoncom
- 解决 npm install 卡住不动或执行失败
XT4625
npm前端node.js
近期Vue项目在执行npminstall时,总是出现特别慢,等半天结果执行失败更换NPM源,使用国内的镜像源可以显著提高下载速度。例如,可以使用淘宝的NPM镜像npmconfigsetregistryhttps://registry.npmmirror.com/npmconfiggetregistry确认是否生效清理缓存,有时候缓存中的数据可能会导致问题,清理缓存后重新安装可能有助于解决问题npm
- SQLAlchemy 介绍与实践
cliffordl
pythonpython数据库
postgresql实践pydantic实践1.SQLAlchemy介绍SQLAlchemy是一个ORM框架。SQLAlchemy是一个用于Python的SQL工具和对象关系映射(ORM)库。它允许你通过Python代码来与关系型数据库交互,而不必直接编写SQL语句。简单介绍一下对象关系映射吧,对象关系映射(英语:ObjectRelationalMapping,简称ORM,或O/RM,或O/Rma
- python dist-packages 和 site-packages
ECHOutopia
linuxpythonsite-packagesdist-packagesubuntupython
dist-packages和site-packages在我的ubuntu12上都在/usr/local/lib/python2.7目录下今天安装django时发现一个奇怪的现象:我使用pipinstallDjango==1.8.4安装的django,安装成功,直接在终端使用django-admin也成功,但是进入python:importdnango,却提示nomodulenameddjango,
- FastDFS实用笔记 (Docker 搭建环境 + 整合 SpringBoot)
字节全栈_kYu
笔记dockerspringboot
解决了大容量存储和负载均衡的问题,特别适合中小文件(4KB>文件路径为空…”);return“文件路径不能为空”;}try{StorePathstorePath=StorePath.parseFromUrl(fileUrl);storageClient.deleteFile(storePath.getGroup(),storePath.getPath());}catch(Exceptione){l
- MySQL基础学习总结(二)_select round(3
字节全栈_kYu
mysql学习数据库
|abc ||abc ||abc ||abc ||abc ||abc ||abc ||abc ||abc ||abc |+---------+selectabcfromemp;ERROR1054(42S22):Unknowncolumn'abc'in'fieldlist'这样肯定报错,因为会把abc当做一个字段的名字,去emp表中找abc字段去了。**结论:select后面可以
- Java高级:mysql创建用户密码
字节全栈_kYu
javamysql开发语言
为查询缓存优化你的查询EXPLAIN你的SELECT查询当只要一行数据时使用LIMIT1为搜索字段建索引在Join表的时候使用相当类型的例,并将其索引千万不要ORDERBYRAND()避免SELECT*永远为每张表设置一个ID使用ENUM而不是VARCHAR从PROCEDUREANALYSE()取得建议尽可能的使用NOTNULLPreparedStatements无缓冲的查询把IP地址存成UNSI
- Hadoop的基础操作_hadoop常用操作
字节全栈_kYu
hadoopeclipse大数据
####下载文件语法:hadoopfs-gethadoopfs-copyToLocal示例:将user/text.txt文件下载到本地/usr/local/下-copyToLocal:复制到本地[root@master~]#hadoopfs-copyToLocal/user/text.txt/usr/local/[root@master~]#cd/usr/local/[root@masterloc
- C语言中如何保留两位小数
曾经的三心草
c语言
float浮点类型打印用%f,但是打印出的数会保留小数点后六位用%.1f会保留一位小数同理%.2f保留两位小数以此类推
- 脚本运行禁止:npm 无法加载文件,因为在此系统上禁止运行脚本
我命由我12345
前端-问题清单npm前端node.js前端框架javascriptjshtml
问题与处理策略1、问题描述npminstall-Dtailwindcss执行上述指令,报如下错误npm:无法加载文件D:\nodejs\npm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅https:/go.microsoft.com/fwlink/?LinkID=135170中的about_Execution_Policies。2、问题原因npm全称NodePackageManage
- java Illegal overloaded getter method with ambiguous type for propert的解决
zwllxs
javajdk
好久不来iteye,今天又来看看,哈哈,今天碰到在编码时,反射中会抛出
Illegal overloaded getter method with ambiguous type for propert这么个东东,从字面意思看,是反射在获取getter时迷惑了,然后回想起java在boolean值在生成getter时,分别有is和getter,也许我们的反射对象中就有is开头的方法迷惑了jdk,
- IT人应当知道的10个行业小内幕
beijingjava
工作互联网
10. 虽然IT业的薪酬比其他很多行业要好,但有公司因此视你为其“佣人”。
尽管IT人士的薪水没有互联网泡沫之前要好,但和其他行业人士比较,IT人的薪资还算好点。在接下的几十年中,科技在商业和社会发展中所占分量会一直增加,所以我们完全有理由相信,IT专业人才的需求量也不会减少。
然而,正因为IT人士的薪水普遍较高,所以有些公司认为给了你这么多钱,就把你看成是公司的“佣人”,拥有你的支配
- java 实现自定义链表
CrazyMizzz
java数据结构
1.链表结构
链表是链式的结构
2.链表的组成
链表是由头节点,中间节点和尾节点组成
节点是由两个部分组成:
1.数据域
2.引用域
3.链表的实现
&nbs
- web项目发布到服务器后图片过一会儿消失
麦田的设计者
struts2上传图片永久保存
作为一名学习了android和j2ee的程序员,我们必须要意识到,客服端和服务器端的交互是很有必要的,比如你用eclipse写了一个web工程,并且发布到了服务器(tomcat)上,这时你在webapps目录下看到了你发布的web工程,你可以打开电脑的浏览器输入http://localhost:8080/工程/路径访问里面的资源。但是,有时你会突然的发现之前用struts2上传的图片
- CodeIgniter框架Cart类 name 不能设置中文的解决方法
IT独行者
CodeIgniterCart框架
今天试用了一下CodeIgniter的Cart类时遇到了个小问题,发现当name的值为中文时,就写入不了session。在这里特别提醒一下。 在CI手册里也有说明,如下:
$data = array(
'id' => 'sku_123ABC',
'qty' => 1,
'
- linux回收站
_wy_
linux回收站
今天一不小心在ubuntu下把一个文件移动到了回收站,我并不想删,手误了。我急忙到Nautilus下的回收站中准备恢复它,但是里面居然什么都没有。 后来我发现这是由于我删文件的地方不在HOME所在的分区,而是在另一个独立的Linux分区下,这是我专门用于开发的分区。而我删除的东东在分区根目录下的.Trash-1000/file目录下,相关的删除信息(删除时间和文件所在
- jquery回到页面顶端
知了ing
htmljquerycss
html代码:
<h1 id="anchor">页面标题</h1>
<div id="container">页面内容</div>
<p><a href="#anchor" class="topLink">回到顶端</a><
- B树、B-树、B+树、B*树
矮蛋蛋
B树
原文地址:
http://www.cnblogs.com/oldhorse/archive/2009/11/16/1604009.html
B树
即二叉搜索树:
1.所有非叶子结点至多拥有两个儿子(Left和Right);
&nb
- 数据库连接池
alafqq
数据库连接池
http://www.cnblogs.com/xdp-gacl/p/4002804.html
@Anthor:孤傲苍狼
数据库连接池
用MySQLv5版本的数据库驱动没有问题,使用MySQLv6和Oracle的数据库驱动时候报如下错误:
java.lang.ClassCastException: $Proxy0 cannot be cast to java.sql.Connec
- java泛型
百合不是茶
java泛型
泛型
在Java SE 1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,任意化的缺点就是要实行强制转换,这种强制转换可能会带来不安全的隐患
泛型的特点:消除强制转换 确保类型安全 向后兼容
简单泛型的定义:
泛型:就是在类中将其模糊化,在创建对象的时候再具体定义
class fan
- javascript闭包[两个小测试例子]
bijian1013
JavaScriptJavaScript
一.程序一
<script>
var name = "The Window";
var Object_a = {
name : "My Object",
getNameFunc : function(){
var that = this;
return function(){
- 探索JUnit4扩展:假设机制(Assumption)
bijian1013
javaAssumptionJUnit单元测试
一.假设机制(Assumption)概述 理想情况下,写测试用例的开发人员可以明确的知道所有导致他们所写的测试用例不通过的地方,但是有的时候,这些导致测试用例不通过的地方并不是很容易的被发现,可能隐藏得很深,从而导致开发人员在写测试用例时很难预测到这些因素,而且往往这些因素并不是开发人员当初设计测试用例时真正目的,
- 【Gson四】范型POJO的反序列化
bit1129
POJO
在下面这个例子中,POJO(Data类)是一个范型类,在Tests中,指定范型类为PieceData,POJO初始化完成后,通过
String str = new Gson().toJson(data);
得到范型化的POJO序列化得到的JSON串,然后将这个JSON串反序列化为POJO
import com.google.gson.Gson;
import java.
- 【Spark八十五】Spark Streaming分析结果落地到MySQL
bit1129
Stream
几点总结:
1. DStream.foreachRDD是一个Output Operation,类似于RDD的action,会触发Job的提交。DStream.foreachRDD是数据落地很常用的方法
2. 获取MySQL Connection的操作应该放在foreachRDD的参数(是一个RDD[T]=>Unit的函数类型),这样,当foreachRDD方法在每个Worker上执行时,
- NGINX + LUA实现复杂的控制
ronin47
nginx lua
安装lua_nginx_module 模块
lua_nginx_module 可以一步步的安装,也可以直接用淘宝的OpenResty
Centos和debian的安装就简单了。。
这里说下freebsd的安装:
fetch http://www.lua.org/ftp/lua-5.1.4.tar.gz
tar zxvf lua-5.1.4.tar.gz
cd lua-5.1.4
ma
- java-递归判断数组是否升序
bylijinnan
java
public class IsAccendListRecursive {
/*递归判断数组是否升序
* if a Integer array is ascending,return true
* use recursion
*/
public static void main(String[] args){
IsAccendListRecursiv
- Netty源码学习-DefaultChannelPipeline2
bylijinnan
javanetty
Netty3的API
http://docs.jboss.org/netty/3.2/api/org/jboss/netty/channel/ChannelPipeline.html
里面提到ChannelPipeline的一个“pitfall”:
如果ChannelPipeline只有一个handler(假设为handlerA)且希望用另一handler(假设为handlerB)
来
- Java工具之JPS
chinrui
java
JPS使用
熟悉Linux的朋友们都知道,Linux下有一个常用的命令叫做ps(Process Status),是用来查看Linux环境下进程信息的。同样的,在Java Virtual Machine里面也提供了类似的工具供广大Java开发人员使用,它就是jps(Java Process Status),它可以用来
- window.print分页打印
ctrain
window
function init() {
var tt = document.getElementById("tt");
var childNodes = tt.childNodes[0].childNodes;
var level = 0;
for (var i = 0; i < childNodes.length; i++) {
- 安装hadoop时 执行jps命令Error occurred during initialization of VM
daizj
jdkhadoopjps
在安装hadoop时,执行JPS出现下面错误
[slave16]root@192.168.11.10:/tmp/hsperfdata_hdfs# jps
Error occurred during initialization of VM
java.lang.Error: Properties init: Could not determine current working
- PHP开发大型项目的一点经验
dcj3sjt126com
PHP重构
一、变量 最好是把所有的变量存储在一个数组中,这样在程序的开发中可以带来很多的方便,特别是当程序很大的时候。变量的命名就当适合自己的习惯,不管是用拼音还是英语,至少应当有一定的意义,以便适合记忆。变量的命名尽量规范化,不要与PHP中的关键字相冲突。 二、函数 PHP自带了很多函数,这给我们程序的编写带来了很多的方便。当然,在大型程序中我们往往自己要定义许多个函数,几十
- android笔记之--向网络发送GET/POST请求参数
dcj3sjt126com
android
使用GET方法发送请求
private static boolean sendGETRequest (String path,
Map<String, String> params) throws Exception{
//发送地http://192.168.100.91:8080/videoServi
- linux复习笔记 之bash shell (3) 通配符
eksliang
linux 通配符linux通配符
转载请出自出处:
http://eksliang.iteye.com/blog/2104387
在bash的操作环境中有一个非常有用的功能,那就是通配符。
下面列出一些常用的通配符,如下表所示 符号 意义 * 万用字符,代表0个到无穷个任意字符 ? 万用字符,代表一定有一个任意字符 [] 代表一定有一个在中括号内的字符。例如:[abcd]代表一定有一个字符,可能是a、b、c
- Android关于短信加密
gqdy365
android
关于Android短信加密功能,我初步了解的如下(只在Android应用层试验):
1、因为Android有短信收发接口,可以调用接口完成短信收发;
发送过程:APP(基于短信应用修改)接受用户输入号码、内容——>APP对短信内容加密——>调用短信发送方法Sm
- asp.net在网站根目录下创建文件夹
hvt
.netC#hovertreeasp.netWeb Forms
假设要在asp.net网站的根目录下建立文件夹hovertree,C#代码如下:
string m_keleyiFolderName = Server.MapPath("/hovertree");
if (Directory.Exists(m_keleyiFolderName))
{
//文件夹已经存在
return;
}
else
{
try
{
D
- 一个合格的程序员应该读过哪些书
justjavac
程序员书籍
编者按:2008年8月4日,StackOverflow 网友 Bert F 发帖提问:哪本最具影响力的书,是每个程序员都应该读的?
“如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本, 你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西。”
很多程序员响应,他们在推荐时也写下自己的评语。 以前就有国内网友介绍这个程序员书单,不过都是推荐数
- 单实例实践
跑龙套_az
单例
1、内部类
public class Singleton {
private static class SingletonHolder {
public static Singleton singleton = new Singleton();
}
public Singleton getRes
- PO VO BEAN 理解
q137681467
VODTOpo
PO:
全称是 persistant object持久对象 最形象的理解就是一个PO就是数据库中的一条记录。 好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象。
BO:
全称是 business object:业务对象 主要作用是把业务逻辑封装为一个对象。这个对
- 战胜惰性,暗自努力
金笛子
努力
偶然看到一句很贴近生活的话:“别人都在你看不到的地方暗自努力,在你看得到的地方,他们也和你一样显得吊儿郎当,和你一样会抱怨,而只有你自己相信这些都是真的,最后也只有你一人继续不思进取。”很多句子总在不经意中就会戳中一部分人的软肋,我想我们每个人的周围总是有那么些表现得“吊儿郎当”的存在,是否你就真的相信他们如此不思进取,而开始放松了对自己的要求随波逐流呢?
我有个朋友是搞技术的,平时嘻嘻哈哈,以
- NDK/JNI二维数组多维数组传递
wenzongliang
二维数组jniNDK
多维数组和对象数组一样处理,例如二维数组里的每个元素还是一个数组 用jArray表示,直到数组变为一维的,且里面元素为基本类型,去获得一维数组指针。给大家提供个例子。已经测试通过。
Java_cn_wzl_FiveChessView_checkWin( JNIEnv* env,jobject thiz,jobjectArray qizidata)
{
jint i,j;
int s