- nodejs后端ws与http结合共享一个服务器,前端websocket发送信息后端ws接收信息,使用Map定型数组设置ID
cdcdhj
nodejshttp服务器前端
//服务端代码consthttp=require('node:http');constWebSocket=require('ws');constserver=http.createServer();//创建websocket服务constwss=newWebSocket.WebSocketServer({server});//创建定型数组constclients=newMap();wss.on('
- MiniMax开源,突破传统Transformer架构,震撼业界
人工智能模型
就在昨天,AI领域迎来了一项重大突破——MiniMax发布并开源了新一代01系列模型。国产大模型市场再掀巨浪,传统Transformer架构或许将不再是唯一选择。MiniMax-Text-01模型:https://huggingface.co/MiniMaxAI/MiniMax-Text-01MiniMax-VL-01模型:https://huggingface.co/MiniMaxAI/Mini
- 【YashanDB知识库】过期统计信息导致SQL执行计划变差
数据库
本文内容来自YashanDB官网,原文内容请见https://www.yashandb.com/newsinfo/7919229.html?templateId=171...【问题分类】性能问题【关键字】统计信息【问题描述】表的统计信息失效后,将会采用该表默认的参数值支持代价计算,该表对应的SQL的执行计划将会变差。--查看表的统计信息失效状态的表selectTABLE_NAME,NUM_ROWS
- 移动终端基带芯片的基本架构介绍之二(移动终端中的基带芯片)
a1809032425
网络通信学习
移动终端基带芯片的基本架构介绍之二(移动终端中的基带芯片)参考链接:https://blog.csdn.net/lxl584685501/article/details/46771429http://m.blog.csdn.net/blog/suipingsp/35280465http://m.blog.csdn.net/blog/suipingsp/35574959http://www.bubu
- 【YashanDB知识库】安装共享集群时报错:YAS-05721
数据库
本文内容来自YashanDB官网,原文内容请见https://www.yashandb.com/newsinfo/7919226.html?templateId=171...【标题】安装共享集群时报错:YAS-05721invalidinputparameter,reason:nodenameinvalid【问题分类】安装部署【关键字】YAS-05721、共享集群、主机名、特殊符号、中划线、部署【
- 【YashanDB知识库】YMP校验从yashandb同步到oracle的数据时,字段timestamp(0)出现不一致
数据库
本文内容来自YashanDB官网,原文内容请见https://www.yashandb.com/newsinfo/7901520.html?templateId=171...问题现象在YMP校验过程中,从yashandb同步到oracle的数据时,字段timestamp(0)出现不一致问题的风险及影响YMP校验出现数据内容不一致问题影响的版本yashandb版本:23.2.7.101YMP版本:2
- 【YashanDB知识库】Hive 命令工具insert崖山数据库报错
数据库
本文内容来自YashanDB官网,原文内容请见https://www.yashandb.com/newsinfo/7919217.html?templateId=171...【问题分类】功能兼容【关键字】spark30041、不兼容【问题描述】本项目的架构是hadoop+hive+yashandb使用崖山数据库,初始化所有的原数据表和数据新建表之后,插入数据时候报错,hadoopcode30041
- 论文翻译:A survey on large language model (LLM) security and privacy: The Good, The Bad, and The Ugly
CSPhD-winston-杨帆
论文翻译LLMs-鲁棒性语言模型人工智能自然语言处理
Asurveyonlargelanguagemodel(LLM)securityandprivacy:TheGood,TheBad,andTheUglyhttps://www.sciencedirect.com/science/article/pii/S266729522400014X文章目录关于大型语言模型(LLM)安全性和隐私的调查:好的、坏的和丑陋的摘要1.引言2.背景2.1大型语言模型(L
- Java 批量检测微信小程序封禁状态
java微信小程序
随着微信小程序的快速发展,管理小程序的状态变得越来越重要。若某个小程序因违规被封禁,开发者需要及时知晓。本文介绍了如何使用Java批量检测多个微信小程序的封禁状态,并通过接口获取每个小程序的最新状态。项目代码importjava.io.InputStreamReader;importjava.io.BufferedReader;importjava.net.HttpURLConnection;im
- java项目启动时,执行某方法
ShyTan
java开发语言
1.J2EE项目在Servlet类中重写init()方法,这个方法会在Servlet实例化时调用,即项目启动时调用。importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;publicclassMyServletextendsHttpServlet{@Overridepublicvoidinit()thro
- Unity|Tetris|俄罗斯方块复刻2|核心代码(C#)
ChoSeitaku
Unityunityc#游戏引擎
Board.csusingUnityEngine;usingUnityEngine.Tilemaps;[DefaultExecutionOrder(-1)]//确保这个脚本在其他脚本之前执行publicclassBoard:MonoBehaviour{publicTilemaptilemap{get;privateset;}//游戏面板的Tilemap组件publicPieceactivePiec
- iOS 集成 ijkplayer k0.11.9 过程
ijkplayerk0.11.9适用于iOS、tvOS、macOS三大平台,据说还会支持安卓平台。下面介绍三种常用的集成ijkplayer的方式:CocoaPods集成可通过CocoaPods快速集成到工程,方便快捷:pod"IJKMediaPlayerKit",:podspec=>'https://github.com/debugly/ijkplayer/releases/download/k0
- 一款好用且免费的截图和屏幕录制软件:Ashampoo Snap v12.0
Python老安
图像处理
AshampooSnap是一款专为Windows用户设计的截图与屏幕录制软件。无论是快速拍照还是录制精彩视频,这款软件都能轻松实现。通过屏幕顶部的捕获栏,你可以便捷地访问所有功能,并灵活选择录制区域。使用说明:1、将压缩文件解压到固定位置,不要随意移动。2、解压后,双击start_AshampooSnap.bat来运行软件下载地址(链接如果失效,可留言获取最新下载地址):https://www.m
- 【vLLM 学习】安装
vLLM是一款专为大语言模型推理加速而设计的框架,实现了KV缓存内存几乎零浪费,解决了内存管理瓶颈问题。更多vLLM中文文档及教程可访问→https://vllm.hyper.ai/vLLM是一个Python库,包含预编译的C++和CUDA(12.1)二进制文件。依赖环境操作系统:LinuxPython:3.8-3.12GPU:计算能力7.0或更高(例如V100、T4、RTX20xx、A100、L
- 【赵渝强老师】Redis的慢查询日志
数据库nosqlredis
Redis慢查询日志帮助开发和运维人员定位系统存在的慢操作。慢查询日志就是系统在命令执行前后计算每条命令的执行时间,当超过预设阀值,就将这条命令的相关信息(慢查询ID,发生时间戳,耗时,命令的详细信息)记录下来。Redis客户端的一条命令可以分为四个部分执行,如下图所示。视频讲解如下:https://www.bilibili.com/video/BV1hbpeehEwj/?aid=11309965
- 安卓编译报错expo-modules-core:prepareBoost Not in GZIP format的解决方案
作者:Kovli重要通知:红宝书第5版2024年12月1日出炉了,感兴趣的可以去看看,https://u.jd.com/saQw1vP红宝书第五版中文版红宝书第五版英文原版pdf下载(访问密码:9696)报错如下[RUN_GRADLEW]Executionfailedfortask':expo-modules-core:prepareBoost'.[RUN_GRADLEW]>Couldnotrea
- Shell作业二
捣蛋大队
运维服务器
1、编写一个Shell脚本用于判断192.168.242.0/24网络中当前在线的IP地址,并打印出这些IP地址。脚本:#!/bin/bash#网络前缀NETWORK="192.168.242"echo"正在扫描网络$NETWORK.0/24中的活动主机..."#遍历主机地址foriin{1..254}do#IP地址IP="${NETWORK}.${i}"#使用ping命令检查主机是否在线,仅发送
- 豆包 API 调用示例代码详解-Python版
道长不会写代码
python基础教学python开发语言
文章目录豆包API调用示例代码详解-Python版一、事前准备二、所需Python包三、代码详解五、源码下载四、总结豆包官方API文档豆包API调用示例代码详解-Python版在本文中,我们将详细介绍如何使用Python调用豆包API,并提供相关的事前准备和代码执行步骤。一、事前准备密钥申请:要使用豆包API,首先需要申请一个授权密钥。在上述代码中,密钥存储在headers字典的Authoriza
- linux安装oracl19c
安装OracleDatabase19c(以下简称Oracle19c)在Linux系统上的详细步骤如下。每一步都经过专业分析,确保安装过程顺利且高效。️1.下载安装包首先,从Oracle官方网站下载OracleDatabase19c的安装包。确保选择与您的Linux发行版和系统架构相匹配的版本。#示例命令(实际下载需通过浏览器或Oracle工具进行)wgethttps://download.orac
- Apache Maven介绍|Maven安装
dami_king
随笔apachemavenjava
ApacheMaven是一款流行的Java项目管理和构建工具,用于自动化构建过程,包括编译、测试、打包、依赖管理和发布等工作。以下是Maven安装步骤解析:在Windows系统中安装Maven下载Maven:访问Maven官方网站(https://maven.apache.org/download.cgi)下载最新的稳定版。通常下载的是.zip格式的归档文件。解压文件:将下载的.zip文件解压到一
- https证书获取的方法及好处
获取HTTPS证书的多种方法及其优势✨在现代互联网环境中,HTTPS已成为保障网站安全的基本标准。获取HTTPS证书不仅能提升网站的安全性,还能增强用户信任度和提升搜索引擎排名。本文将详细介绍获取HTTPS证书的几种常见方法及其各自的优势,并通过图表和流程图帮助理解其工作原理。获取HTTPS证书的方法️1.购买商业证书购买商业证书是获取HTTPS证书的传统方式,适用于需要高信任度和额外保障的企业和
- caddy介绍及安装
dockercaddy
参考文档:https://caddyserver.com一:caddy介绍Caddy是一款现代化的Web服务器,专为简化开发者和运维人员的工作流程而设计。它最大的特点是自动化和易用性,尤其是内置的自动HTTPS功能,使得部署安全的Web服务变得前所未有的简单。相比于传统的Web服务器(如Nginx、Apache),Caddy的目标是通过更简洁的配置、更智能的功能来减少人为出错的可能性,并提升部署效
- 如何实现一个充满科技感的官网(一)
背景前段时间完成一个公司官网项目,个人第一感觉是整体风格简洁但充满科技感。所以想着抽时间写篇文章出来分享一下(其实想着拿出来炫一下,得瑟一下,满足一下自身虚荣心,请大家包容一下我的虚荣心,莫喷。)抽空写下这篇文章,既是分享,也希望能够听到更多反馈。官网地址是:https://infinilabs.com/,大家可以先去看看。对了,也欢迎直接在评论区告诉我:“这样的官网设计,你觉得怎么样?”AI评价
- Java语言基础 关键字与保留字
鹿人甲丁
javajava
关键字(keyword)的定义和特点定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)特点:关键字中所有字母都为小写官方地址:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html用于定义数据类型的关键字classinterfaceenumbyteshortintlongfloatdoublec
- win10系统jenkins下载安装卸载及遇到的一些问题解决
执子手 吹散苍茫茫烟波
常用工具win10jenkinsplugin
一.下载安装网址:https://www.jenkins.io/download/1.war包方式默认工作空间是C:\Users\darli.jenkins这里我是选择放在了D:\D1\TestDevelopment\tools\jenkins路径下:下载完成后打开cmd,先切换到这个路径,然后启动jenkins服务即可C:\WINDOWS\system32>d:D:\>cdD:\D1\TestD
- GET 和 POST 请求的区别
DaXiongJoker
网络面试http信息与通信
GET和POST是HTTP协议中最常用的两种请求方法,它们在功能和使用场景上有显著的区别。以下是它们的主要区别:1.用途GET:用于从服务器获取资源,通常用于查询数据。POST:用于向服务器发送数据,通常用于提交表单或上传文件。2.参数传递方式GET:参数通过URL传递,会附加在URL后面(例如:/example?param1=value1¶m2=value2)。因此,参数会在浏览器地址栏
- 在VScode中配置Python开发环境
Python_魔力猿
vscodepythonide
1、安装python官网下载地址:https://www.python.org/ftp/python/3.8.0/python-3.8.0-amd64.exe双击打开.exe文件勾选AddPython3.8toPath选项,然后点击installnow即可安装。安装中:安装完毕后点击close即可。2、测试按键盘win+r,在左下角运行窗口里输入cmd,回车。在弹出的窗口里输入python,回车。
- 【学术会议论文投稿】前端框架巅峰对决:React、Vue与Angular的全面解析与实战指南
小周不想卷
艾思科蓝学术会议投稿前端框架
【JPCS独立出版】第三届能源与动力工程国际学术会议(EPE2024)_艾思科蓝_学术一站式服务平台更多学术会议请看:https://ais.cn/u/nuyAF3引言在快速发展的前端技术领域,选择合适的框架或库对于项目的成功至关重要。React、Vue和Angular作为当前最流行的三大前端框架/库,各自拥有独特的优势和适用场景。本文将通过深入的文字解析和代码讲解,帮助开发者理解这三者的差异,并
- 有什么订单管理软件系统是好用的?
订单管理系统
经常会听到客户这么抱怨:”我觉得订单管理是最麻烦的事,人工审单不仅耗时间,工作效率低下,而且多少都会出错。特别是618,双十一,双十二这种订单旺季,不同的订单像潮水一样从各个平台涌来,我们不仅忙得晕头转向,而且出错率也会大幅提升人。一旦出错,客户那边就会有不好的体验,产生一系列问题,形成恶性循环。”我觉得解决这个问题,其实只需要一个合适的订单管理系统。推荐我们公司在使用的订单管理系统>>https
- 端口 443 与 80:它们有何不同?
httpshttp
您是否知道超过90%的互联网流量通过端口443传输?如果您对网络安全或Web开发感兴趣,那么您可能遇到过不同编号的端口,尤其是端口80和443。但它们之间有什么区别?简而言之,端口80用于HTTP流量,端口443用于HTTPS。我们将重点介绍端口80与443、如何打开它们以及何时可能需要将流量从端口80重定向到443。什么是端口80?端口80是计算机网络上用于网络流量的通信端点。它是超文本传输协议
- ztree设置禁用节点
3213213333332132
JavaScriptztreejsonsetDisabledNodeAjax
ztree设置禁用节点的时候注意,当使用ajax后台请求数据,必须要设置为同步获取数据,否者会获取不到节点对象,导致设置禁用没有效果。
$(function(){
showTree();
setDisabledNode();
});
- JVM patch by Taobao
bookjovi
javaHotSpot
在网上无意中看到淘宝提交的hotspot patch,共四个,有意思,记录一下。
7050685:jsdbproc64.sh has a typo in the package name
7058036:FieldsAllocationStyle=2 does not work in 32-bit VM
7060619:C1 should respect inline and
- 将session存储到数据库中
dcj3sjt126com
sqlPHPsession
CREATE TABLE sessions (
id CHAR(32) NOT NULL,
data TEXT,
last_accessed TIMESTAMP NOT NULL,
PRIMARY KEY (id)
);
<?php
/**
* Created by PhpStorm.
* User: michaeldu
* Date
- Vector
171815164
vector
public Vector<CartProduct> delCart(Vector<CartProduct> cart, String id) {
for (int i = 0; i < cart.size(); i++) {
if (cart.get(i).getId().equals(id)) {
cart.remove(i);
- 各连接池配置参数比较
g21121
连接池
排版真心费劲,大家凑合看下吧,见谅~
Druid
DBCP
C3P0
Proxool
数据库用户名称 Username Username User
数据库密码 Password Password Password
驱动名
- [简单]mybatis insert语句添加动态字段
53873039oycg
mybatis
mysql数据库,id自增,配置如下:
<insert id="saveTestTb" useGeneratedKeys="true" keyProperty="id"
parameterType=&
- struts2拦截器配置
云端月影
struts2拦截器
struts2拦截器interceptor的三种配置方法
方法1. 普通配置法
<struts>
<package name="struts2" extends="struts-default">
&
- IE中页面不居中,火狐谷歌等正常
aijuans
IE中页面不居中
问题是首页在火狐、谷歌、所有IE中正常显示,列表页的页面在火狐谷歌中正常,在IE6、7、8中都不中,觉得可能那个地方设置的让IE系列都不认识,仔细查看后发现,列表页中没写HTML模板部分没有添加DTD定义,就是<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3
- String,int,Integer,char 几个类型常见转换
antonyup_2006
htmlsql.net
如何将字串 String 转换成整数 int?
int i = Integer.valueOf(my_str).intValue();
int i=Integer.parseInt(str);
如何将字串 String 转换成Integer ?
Integer integer=Integer.valueOf(str);
如何将整数 int 转换成字串 String ?
1.
- PL/SQL的游标类型
百合不是茶
显示游标(静态游标)隐式游标游标的更新和删除%rowtyperef游标(动态游标)
游标是oracle中的一个结果集,用于存放查询的结果;
PL/SQL中游标的声明;
1,声明游标
2,打开游标(默认是关闭的);
3,提取数据
4,关闭游标
注意的要点:游标必须声明在declare中,使用open打开游标,fetch取游标中的数据,close关闭游标
隐式游标:主要是对DML数据的操作隐
- JUnit4中@AfterClass @BeforeClass @after @before的区别对比
bijian1013
JUnit4单元测试
一.基础知识
JUnit4使用Java5中的注解(annotation),以下是JUnit4常用的几个annotation: @Before:初始化方法 对于每一个测试方法都要执行一次(注意与BeforeClass区别,后者是对于所有方法执行一次)@After:释放资源 对于每一个测试方法都要执行一次(注意与AfterClass区别,后者是对于所有方法执行一次
- 精通Oracle10编程SQL(12)开发包
bijian1013
oracle数据库plsql
/*
*开发包
*包用于逻辑组合相关的PL/SQL类型(例如TABLE类型和RECORD类型)、PL/SQL项(例如游标和游标变量)和PL/SQL子程序(例如过程和函数)
*/
--包用于逻辑组合相关的PL/SQL类型、项和子程序,它由包规范和包体两部分组成
--建立包规范:包规范实际是包与应用程序之间的接口,它用于定义包的公用组件,包括常量、变量、游标、过程和函数等
--在包规
- 【EhCache二】ehcache.xml配置详解
bit1129
ehcache.xml
在ehcache官网上找了多次,终于找到ehcache.xml配置元素和属性的含义说明文档了,这个文档包含在ehcache.xml的注释中!
ehcache.xml : http://ehcache.org/ehcache.xml
ehcache.xsd : http://ehcache.org/ehcache.xsd
ehcache配置文件的根元素是ehcahe
ehcac
- java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderL
白糖_
javaeclipsespringtomcatWeb
今天学习spring+cxf的时候遇到一个问题:在web.xml中配置了spring的上下文监听器:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
随后启动
- angular.element
boyitech
AngularJSAngularJS APIangular.element
angular.element
描述: 包裹着一部分DOM element或者是HTML字符串,把它作为一个jQuery元素来处理。(类似于jQuery的选择器啦) 如果jQuery被引入了,则angular.element就可以看作是jQuery选择器,选择的对象可以使用jQuery的函数;如果jQuery不可用,angular.e
- java-给定两个已排序序列,找出共同的元素。
bylijinnan
java
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class CommonItemInTwoSortedArray {
/**
* 题目:给定两个已排序序列,找出共同的元素。
* 1.定义两个指针分别指向序列的开始。
* 如果指向的两个元素
- sftp 异常,有遇到的吗?求解
Chen.H
javajcraftauthjschjschexception
com.jcraft.jsch.JSchException: Auth cancel
at com.jcraft.jsch.Session.connect(Session.java:460)
at com.jcraft.jsch.Session.connect(Session.java:154)
at cn.vivame.util.ftp.SftpServerAccess.connec
- [生物智能与人工智能]神经元中的电化学结构代表什么?
comsci
人工智能
我这里做一个大胆的猜想,生物神经网络中的神经元中包含着一些化学和类似电路的结构,这些结构通常用来扮演类似我们在拓扑分析系统中的节点嵌入方程一样,使得我们的神经网络产生智能判断的能力,而这些嵌入到节点中的方程同时也扮演着"经验"的角色....
我们可以尝试一下...在某些神经
- 通过LAC和CID获取经纬度信息
dai_lm
laccid
方法1:
用浏览器打开http://www.minigps.net/cellsearch.html,然后输入lac和cid信息(mcc和mnc可以填0),如果数据正确就可以获得相应的经纬度
方法2:
发送HTTP请求到http://www.open-electronics.org/celltrack/cell.php?hex=0&lac=<lac>&cid=&
- JAVA的困难分析
datamachine
java
前段时间转了一篇SQL的文章(http://datamachine.iteye.com/blog/1971896),文章不复杂,但思想深刻,就顺便思考了一下java的不足,当砖头丢出来,希望引点和田玉。
-----------------------------------------------------------------------------------------
- 小学5年级英语单词背诵第二课
dcj3sjt126com
englishword
money 钱
paper 纸
speak 讲,说
tell 告诉
remember 记得,想起
knock 敲,击,打
question 问题
number 数字,号码
learn 学会,学习
street 街道
carry 搬运,携带
send 发送,邮寄,发射
must 必须
light 灯,光线,轻的
front
- linux下面没有tree命令
dcj3sjt126com
linux
centos p安装
yum -y install tree
mac os安装
brew install tree
首先来看tree的用法
tree 中文解释:tree
功能说明:以树状图列出目录的内容。
语 法:tree [-aACdDfFgilnNpqstux][-I <范本样式>][-P <范本样式
- Map迭代方式,Map迭代,Map循环
蕃薯耀
Map循环Map迭代Map迭代方式
Map迭代方式,Map迭代,Map循环
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2015年
- Spring Cache注解+Redis
hanqunfeng
spring
Spring3.1 Cache注解
依赖jar包:
<!-- redis -->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
- Guava中针对集合的 filter和过滤功能
jackyrong
filter
在guava库中,自带了过滤器(filter)的功能,可以用来对collection 进行过滤,先看例子:
@Test
public void whenFilterWithIterables_thenFiltered() {
List<String> names = Lists.newArrayList("John"
- 学习编程那点事
lampcy
编程androidPHPhtml5
一年前的夏天,我还在纠结要不要改行,要不要去学php?能学到真本事吗?改行能成功吗?太多的问题,我终于不顾一切,下定决心,辞去了工作,来到传说中的帝都。老师给的乘车方式还算有效,很顺利的就到了学校,赶巧了,正好学校搬到了新校区。先安顿了下来,过了个轻松的周末,第一次到帝都,逛逛吧!
接下来的周一,是我噩梦的开始,学习内容对我这个零基础的人来说,除了勉强完成老师布置的作业外,我已经没有时间和精力去
- 架构师之流处理---------bytebuffer的mark,limit和flip
nannan408
ByteBuffer
1.前言。
如题,limit其实就是可以读取的字节长度的意思,flip是清空的意思,mark是标记的意思 。
2.例子.
例子代码:
String str = "helloWorld";
ByteBuffer buff = ByteBuffer.wrap(str.getBytes());
Sy
- org.apache.el.parser.ParseException: Encountered " ":" ": "" at line 1, column 1
Everyday都不同
$转义el表达式
最近在做Highcharts的过程中,在写js时,出现了以下异常:
严重: Servlet.service() for servlet jsp threw exception
org.apache.el.parser.ParseException: Encountered " ":" ": "" at line 1,
- 用Java实现发送邮件到163
tntxia
java实现
/*
在java版经常看到有人问如何用javamail发送邮件?如何接收邮件?如何访问多个文件夹等。问题零散,而历史的回复早已经淹没在问题的海洋之中。
本人之前所做过一个java项目,其中包含有WebMail功能,当初为用java实现而对javamail摸索了一段时间,总算有点收获。看到论坛中的经常有此方面的问题,因此把我的一些经验帖出来,希望对大家有些帮助。
此篇仅介绍用
- 探索实体类存在的真正意义
java小叶檀
POJO
一. 实体类简述
实体类其实就是俗称的POJO,这种类一般不实现特殊框架下的接口,在程序中仅作为数据容器用来持久化存储数据用的
POJO(Plain Old Java Objects)简单的Java对象
它的一般格式就是
public class A{
private String id;
public Str