- 【计算机网络知识 之 OSI七层模型及tcp/ip模型】
皮卡丘的blue
计算机网络知识tcp/ip网络网络协议
文章目录前言OSI七层模型TCP/IP协议族数据封装、解封装过程每一层的数据格式设备与层的对应关系各层间的通信总结前言环境准备:linux操作系统VMwareWorkstation16.xCentos7OSI七层模型国际标准化组织(InternationalStandardOrganization,ISO),于1984年颁布了开放系统互联(OpenSystemInterconnection,OSI
- Linux(Centos 7.6)命令详解:tac
豆是浪个
linuxcentos运维
1.命令作用将每个文件写入标准输出,最后一行先写(WriteeachFILEtostandardoutput,lastlinefirst);以相反的顺序显示文件内容,逐行输出,与cat命令功能相反,tac是反向读取文件。2.命令语法Usage:tac[OPTION]...[FILE]...3.参数详解OPTION:-b,--befores,将分隔符附加在之前而不是之后-r,--regex,将分隔符
- no matching cipher found问题一次解决经历
一张假钞
linux
- pg数据库客户端linux,Linux CentOS 7安装PostgreSQL9.3图文教程
晗小呆
pg数据库客户端linux
如题,本篇blog记录一下在LinuxCentOS7中安装PostgresSQL的整个过程以及数据库配置等,在Linux系统中,PostgreSQL的安装方式分两种,分别是:1、二进制安装包安装2、源码编译安装由于我们没有什么特殊需求所在在此选择较为简单的方式——二进制安装包安装,二进制包安装的方法一般都是通过不同发行版本的Linux下的包管理器进行的,例如Debian和Ubuntu下是使用apt
- CentOS7防火墙的配置及使用
love6a6
linux
首先介绍一下centos系统的网卡配置:sudovim/etc/sysconfig/network-scripts/ifcfg-eth0网卡获得ip地址的方式:Static(静态ip地址)dhcp(通过dhcp协议获取ip)bootip通过bootp协议获得的ip地址BROADCAST=192.168.0.255子网广播地址HWADDR=00:50:56:8E:47:EE网卡物理地址IPADDR=
- Centos7将/dev/mapper/centos-home磁盘空间转移到/dev/mapper/centos-root
AnnyYoung
笔记FAQcentoslinux运维
1、查看存储df-h文件系统容量已用可用已用%挂载点devtmpfs126G0126G0%/devtmpfs126G0126G0%/dev/shmtmpfs126G19M126G1%/runtmpfs126G0126G0%/sys/fs/cgroup/dev/mapper/centos-root50G45G5.4G90%//dev/sda21014M187M828M19%/boot/dev/sda
- 如何在Linux下安装screen
木凡007
当你使用SSH登录VPS下载大的文件,比如下载10G的文件,你总不能坐在电脑旁或者开机让它下载吧。当你编译源文件的时候,网络突然断开了,那是很糟的一件事情,因为有可能你重新编译的时候会失败,于是你只有重装系统的选择了。但Linux的screen命令能避免这些灾难。下面以Centos6.564位系统为例manscreen查看系统介绍Linuxscreen能做什么screen为多重视窗管理程序。此处所
- python版本升级
HiSiri~
pythonpython开发语言
python版本升级背景在对centos机器升级Python版本从3.6到3.10后,pip安装出现了一些问题[解决pipisconfiguredwithlocationsthatrequireTLS/SSL问题]操作下载在官方主站找到合适的版本,并下载https://www.python.org/ftp/python/wgethttps://www.python.org/ftp/python/3
- 最新 CentOS7 上使用 yum 安装 MySQL8 超详细教程
zp8126
linuxlinuxmysqljavapython
CentOS7使用yum安装MySQL8CentOS9上源码方式安装mysql8教程需要本文pdf文档,可以直接下载:链接:https://pan.quark.cn/s/df2ff3e10adf「Linux版本mysql8源码安装包」,点击链接即可保存。链接:https://pan.quark.cn/s/0941a31f719a「Linux教程详细笔记」,点击链接即可保存。链接:https://p
- CentOS服务器部署Redis远程访问问题
yinriyang
Redis服务器centosredis
CentOS服务器上部署Redis,无法远程访问该Redis。检查redis.conf:##################################NETWORK######################################Bydefault,ifno"bind"configurationdirectiveisspecified,Redislistens#forconnect
- Centos7安装Clickhouse单节点部署
lcz-2000
clickhouselinux服务器
部署流程1、关闭防火墙&沙盒关闭防火墙并关闭开机自启动systemctlstopfirewalld&&systemctldisablefirewalld查看selinux状态是否为disabled,否则修改[root@localhost~]#getenforceEnforcing修改为disabledvim/etc/selinux/config#修改SELINUX=disabled#重启生效reb
- centos报错:无法访问/mnt: 传输端点尚未连接
AnnyYoung
FAQ笔记centoslinux运维
背景执行ls报错:无法访问/mnt:传输端点尚未连接执行mount/dev/sdc1/mnt报错:FUSEexfat1.2.7WARN:volumewasnotunmountedcleanly.解决sudoumount-l/mnt重新挂载:mount/dev/sdc1/mnt
- centos 下nginx 单ip多站点多域名配置 二级域名
@明明不知道
linuxnginx多站点nginx多域名nginx二级域名centosnginxnginxconfig
假如有三个站点,site1.com,site2.com,site3.cn,需要二级域名配置在你的yourwwwsite目录下建立目录cn/site3/www(对应www.site3.cn\site3.cn)com/site1/bbs(对应bbs.site1.com)nginx.conf配置如下server{listen80;server_name*.site1.comsite1.com*.site
- Centos7.9更换yum源
daokunn
linux
centos系统的官方yum源太慢了,我们需要更换成国内的源,建议先备份手动更换查看当前已有的yum源ls/etc/yum.repos.d备份yum源cd/etc/yum.repos.dcpCentOS-Base.repoCentOS-Base.repo.bak更换新源wget-O/etc/yum.repos.d/CentOS-Base.repohttp://mirrors.aliyun.com/
- centos7 安装单机 ClickHouse
小码农叔叔
大数据clickhouse安装clickhouse单机安装clickhouse单节点安装安装单机clickhouse
前言ClickHouse是俄罗斯的Yandex于2016年开源的列式存储数据库(DBMS),使用C++语言编写,主要用于在线分析处理查询(OLAP),能够使用SQL查询实时生成分析数据报告本篇首先介绍下如何基于centos7环境安装单机版的clickhouse官网:https://clickhouse.com/环境准备centos7环境(虚拟机或者云服务器)clickhouse基础安装包安装前置步
- centos7安装部署clickhouse数据库 小白详细教程
这是个错觉
clickhouse数据库
目录1.系统概述...21.1服务器环境概述...31.2操作系统...31.3数据库软件...32.数据库账户说明...32.1数据库账户...33.ClickHouse运行环境安装部署...43.1上传数据库软件包到服务器...43.2解压数据库软件包安装...53.3解压软件包并运行安装...53.4更改数据库数据目录...93.5修改日志文件位置...154.ClickHouse日常...
- ClickHouse集群搭建(CENTOS7环境)
huaxia2002
大数据常用框架入门
ClickHouse集群搭建(CENTOS7环境)1.rpm包下载下载的rpm包版本-rw-r--r--1rootroot1342545月2817:07clickhouse-client-20.3.9.70-2.noarch.rpm-rw-r--r--1rootroot1169243615月2817:07clickhouse-common-static-20.3.9.70-2.x86_64.rpm
- CentOS7 部署安装ClickHouse
zhua.er
ClickHouse数据库ClickHouse
一、什么是ClickHouseClickHouse是俄罗斯的Yandex于2016年开源的列式存储数据库(DBMS),使用C++语言编写,主要用于在线分析处理查询(OLAP),能够使用SQL查询实时生成分析数据报告。OLAP场景需要在大型数据集上对具有以下特征的复杂分析查询进行实时响应:数据集可以是巨大的——数十亿或数万亿行数据组织在包含多列的表中只选择少数几列来回答任何特定的查询必须以毫秒或秒为
- 5. clickhouse 单节点多实例部署
Toroidals
大数据组件安装部署教程clickhouse单节点多实例伪分布安装部署
环境说明:主机名:cmc01为例操作系统:centos7安装部署软件版本部署方式centos7zookeeperzookeeper-3.4.10伪分布式hadoophadoop-3.1.3伪分布式hivehive-3.1.3-bin伪分布式clickhouse21.11.10.1-2单节点多实例dolphinscheduler3.0.0单节点kettlepdi-ce-9.3.0.0单节点sqoop
- Linux 下aria2 下载神器使用详解
我是唐青枫
Linuxlinux运维服务器
简介aria2是一个轻量级的多协议命令行下载实用工具。它支持各种协议,如HTTP,HTTPS,FTP,SFTP,BitTorrent和Metalink。它以使用多个连接同时从多个来源下载文件的能力而闻名,从而提高了下载速度。安装Debian/Ubuntusudoaptupdatesudoaptinstallaria2CentOS/RHELsudoyuminstallaria2Fedorasudod
- win10中mstsc远程Centos-Stream 9图形化界面
DA0221
linuxcentoslinux运维
文章目录1前置状态2安装配置XRDP3关闭SELinux3.1查看selinux状态3.2关闭selinux4启动XRDP5Win10远程连接测试1前置状态已安装CentOS9桌面版;Windows10。2安装配置XRDPsudoyuminstallepel-releasesudoyuminstallxrdpsudoyuminstalltigervnc-servervncpasswdroot#为r
- CentOS 7上安装Python 3的步骤如下
Sundayday47
pythoncentospythonlinux
CentOS7上安装Python3的步骤如下上传或下载Python3安装包#下载wgethttps://www.python.org/ftp/python/3.13.2/Python-3.13.2.tgz#安装tarzxvfPython-3.13.2.tgz安装依赖#安装依赖包yuminstall-yzlib-develbzip2-develncurses-develsqlite-develrea
- 本地离线方式安装普罗尼修斯(prometheus)监控软件,以及简单使用
「已注销」
工具安装包prometheusjmeter
简介使用centos系统安装普罗尼修斯软件,一个成熟的监控软件,主要包含以下三个内容:展示、存储、收集(Exporter)。其中普罗尼修斯这个软件同样包含这三个内容,官网的架构图就不放了,一般人看不懂,并且节点较多,许多没用,初学就知道我说的这三个内容即可。从上到下:展示,给用户提供一个清晰明了的展示界面,使用:grafana存储,把收集来的数据进行分类保存,为展示平台做支撑,使用:prometh
- RISC-V交叉编译环境搭建
Lh Muraob
risc-v编译器dockercentos7
目标在Windows10环境下,使用Docker构建centos7容器,在容器中搭建RISC-V的交叉编译环境。主要内容包括:Centos7容器的制作;在容器中安装交叉编译器;Centos7容器的制作Docker的简单介绍以往我们制作一个虚拟机,往往在VMware或VirtualBox等软件中,使用.iso镜像文件构建具有完整操作系统的虚拟机。这种方式制作的虚拟机在运行时资源占用多、冗余步骤多、启
- Linux修改/etc/hosts不起作用(ping: xxx: Name or service not known)的解决方法——开启NSCD
荆棘鸟骑士
linux
问题描述起因是我在实验室云资源池的一台虚拟机(CentOS8.5)上的/etc/hosts文件中为Fabric网络节点的域名指定了IP:IP可以ping通,但是ping域名时提示ping:xxx:Nameorservicenotknown。问题本身应该是Linux通用的,不局限于CentOS8。特记录以供参考。已尝试但不起作用的方法花了两个上午在网上搜索关键词,尝试了各种方法,但是都不起作用。比如
- Centos 本地yum源配置以及扩展源
痞痞鸭
centoslinux服务器
Centos本地yum源配置以及扩展源提示:有任何问题可以私信我,下班看到第一时间回复yum本地源Centos本地yum源配置以及扩展源一、将光盘挂载到/mnt下面二、删除系统本身自带的repo文件进入yum目录删除所有三、编辑需要的repo文件并上传扩展安装包四、加载yum并缓存五、测试YUM只是为了解决RPM的依赖关系的问题,而不是一种其它的软件安装模式。虽然在centos中可以直接使用yum
- centos7配置网络yum源及简单系统优化
莫道桑榆晚~
Linux系统运维服务器运维centoslinux
一、配置网络yum源1.1确认主机能否连通外网用ping命令向百度发送4个包,查看有没有丢包[root@test1~]#ping-c4www.baidu.comPINGwww.a.shifen.com(153.3.238.102)56(84)bytesofdata.64bytesfrom153.3.238.102(153.3.238.102):icmp_seq=1ttl=52time=12.2ms
- LVS 部署 NAT 模式集群实现nginx负载均衡实验
π大星星️
lvsnat模式集群
一、实验目的掌握使用LVS(LinuxVirtualServer)部署NAT(NetworkAddressTranslation)模式集群的方法,实现将前端负载均衡器接收到的请求分发到后端真实服务器,提高系统的可用性和负载处理能力。二、实验环境服务器:3台虚拟机,操作系统为CentOS7。负载均衡器(LVS):内网网卡IP地址为10.0.0.11,外网网卡IP(vip)为192.168.65.13
- FAILED Failed to mount /boot. FAILED Failed to start Update UMTP about System Boot/Shutdown .....
BugNest
Buglinux运维服务器bugcentos
使用Vmware安装了CentOS7,然后clone几个,弄弄集群,准备搞点什么;代码正敲的起兴,TMD突然眼前一片漆黑,瞬间仿佛看到了星星,电脑突然黑屏,无反应,电源键重启再次进入系统时,卡在进度条,进不去了。时间已经很晚了,要从头开始吗??快照,对,快找快照....妹的,其它都有,为吗偏偏这个没有,真是无有天理啊!!!我知道你们在想什么:赶紧砸了吧,什毛破电脑,有的不禁称赞piu~~~~亮!!
- scrapyrt 部署到docker
花阴偷移
scrapydockerdockerpythonscrapy
一.背景scrapyrt是实时抓取api框架,我们生产环境一直使用默认的python3.6.8环境,来部署的scrapyrt。但由于自动化抓取playwright至少需要python3.7以上,又因为阿里云centos8默认的python3.6.8升级后带来很多不便,现在需要将scrapyrt部署到docker中,在docker中scrapyrt基于python3.8。1.1scrapyrt官方d
- 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