- YOLOv12_ultralytics-8.3.145_2025_5_27部分代码阅读笔记-split_dota.py
红色的山茶花
YOLO笔记深度学习
split_dota.pyultralytics\data\split_dota.py目录split_dota.py1.所需的库和模块2.defbbox_iof(polygon1:np.ndarray,bbox2:np.ndarray,eps:float=1e-6)->np.ndarray:3.defload_yolo_dota(data_root:str,split:str="train")->
- python源码编译安装和常见问题解决
运维天坑笔记
python开发语言linux
python编译安装1、下载源码包wgethttps://www.python.org/ftp/python/3.9.10/Python-3.9.10.tgztar-zxfPython-3.9.10.tgzcdpython39/2、编译安装./configure--prefix=/usr/local/python39--enable-shared--enable-optimizationsmake
- Python语法笔记
XiTang1
python笔记开发语言
Python的基本语法1.计算机相关的名词知识1.1计算机的组成计算机之父:冯.诺依曼,根据冯.诺依曼结构体系,计算机是分为5部分的1.输入设备把信息传递到计算机中,比如键盘、鼠标2.输出设备信息从计算机中传递出来,比如音响、显示器、打印机等等3.存储区计算机被发明出来就是用于数据的存储和计算的计算机上有两个存储数据的设备:内存、硬盘硬盘:电脑上的磁盘分区,存储在硬盘中的数据都是持久化存储【只要不
- Python编程:实现文件比对
倔强老吕
C++与python交互编程python哈希算法
Python提供了多个用于文件比对的库,适用于不同的比较场景。以下是主要的文件比对库及其特点:1.标准库中的比对工具1.1filecmp模块功能:文件和目录比较特点:比较文件内容(浅层和深层比较)比较目录结构内置dircmp类用于目录比较典型用途:importfilecmp#文件比较filecmp.cmp('file1.txt','file2.txt',shallow=False)#目录比较com
- Python, C ++,C #开发全球英才阐教版集结令APP
Geeker-2025
pythonc++c语言
以下是为使用**Python、C++和C#**开发**全球英才(阐教版)集结令APP**的深度技术方案,融合三语言优势构建跨平台、高智能的玄门英才聚合系统:---###一、系统架构设计```mermaidgraphTDA[多端客户端]-->B{C#阐道引擎}B-->C[C++玄法核心]C-->D[Python慧识层]D-->E[AI英才匹配]C-->F[天机推演]B-->G[三界通信]G-->H[
- Python, Rust 开发教育/医疗/文化资源去中心化分配APP
Geeker-2025
pythonrust
以下是为教育、医疗、文化资源设计的**去中心化分配APP**的完整技术方案,结合Python的灵活性和Rust的高性能与安全性,实现公平透明的资源分配:---###系统架构设计```mermaidgraphTDA[用户终端]-->B[区块链网络]A-->C[分配引擎]B-->D[智能合约]C-->E[资源数据库]D-->F[分配记录]subgraph技术栈C-.Rust.->G[核心分配算法]D-
- Python, Go 开发客户服务软件APP
Geeker-2025
pythongolang
以下是一个结合Python和Go开发的**客户服务软件APP**的完整技术方案,充分利用Python的AI能力和Go的高并发特性,构建高性能、智能化的客户服务系统:---###系统架构设计```mermaidgraphTDA[客户端]-->B[GoAPI网关]B-->C[工单管理]B-->D[实时聊天]B-->E[知识库]B-->F[AI引擎]C-->G[工单数据库]D-->H[消息队列]F-->
- YOLOv12_ultralytics-8.3.145_2025_5_27部分代码阅读笔记-augment.py
augment.pyultralytics\data\augment.py目录augment.py1.所需的库和模块2.classBaseTransform:3.classCompose:4.classBaseMixTransform:5.classCutMix(BaseMixTransform):6.classCopyPaste(BaseMixTransform):7.defv8_transfo
- 基于nodejs+vue.js服装商店电子商务管理系统
如果你是一个小白,你不懂得像javaPHP、Python等编程语言,那么Node.js是一个非常好的选择。采用vscode软件开发,配套软件安装.包安装调试部署成功,有视频讲解前端:html+vue+elementui+jQuery、js、css数据库:mysql,Navicatvue框架于Node运行环境的Web框架,随着互联网技术的飞速发展,世界逐渐成了一个地球村,空间的距离也不再是那么重要。
- 《Effective Python》第十一章 性能——延迟加载模块,通过动态导入减少 Python 程序启动时间
不学无术の码农
EffectivePython精读笔记python开发语言
引言本文基于《EffectivePython:125SpecificWaystoWriteBetterPython,3rdEdition》第11章:性能中的Item98:Lazy-LoadModuleswithDynamicImportstoReduceStartupTime。本文旨在总结书中关于延迟加载模块的核心观点,并结合我自己的开发经验,深入探讨其在实际项目中的应用场景与优化价值。Pytho
- 「日拱一码」010 Python常用库——statistics
胖达不服输
「日拱一码」pythonpython常用库statistics
目录平均值相关mean():计算算术平均值,即所有数值相加后除以数值的个数fmean():与mean()类似,但使用浮点运算,速度更快,精度更高geometric_mean():计算几何平均值,即所有数值相乘后开n次方根(n为数值的个数)harmonic_mean():计算调和平均值,即数值个数除以每个数值的倒数之和median():计算中位数,即将一组数值按大小顺序排列后位于中间的数。如果数值个
- 「日拱一码」013 Python常用库——Numpy
胖达不服输
「日拱一码」pythonnumpy常用库
目录数组创建numpy.array:创建一个ndarray对象numpy.zeros:创建一个指定形状和数据类型的全零数组numpy.ones:创建一个指定形状和数据类型的全1数组numpy.empty:创建一个指定形状和数据类型的未初始化数组。其元素值是随机的,取决于内存中的初始状态numpy.arange:类似于Python内置的range函数,但返回的是ndarraynumpy.linspa
- python日记Day17——Pandas之Excel处理
石石石大帅
Python笔记excelpython数据分析
python日记——Pandas之Excel处理创建文件importpandasaspddf=pd.DataFrame({'ID':[1,2,3],'Name':['Tom','BOb','Gigi']})df.to_excel("C:/Temp/Output.xlsx")print("done!")读取文件importpandasaspdpeople=pd.read_excel("C:/Temp
- 尚未调用 CoInitialize 问题解决
在线程开头处添加即可importpythoncompythoncom.CoInitialize()执行完成需要用pythoncom.CoUninitialize释放资源
- 【常见问题】Python自动化办公,打开输出的word文件,报错AttributeError: module ‘win32com.gen_py.00020905-0000-0000-
Python自动化办公,打开输出的word文件,出现ERROR:File"D:\Develop\Building_save_energy\BuildingDiagnoseRenovationTool.py",line2930,inopen_docdoc_app=win32.gencache.EnsureDispatch('Word.Application')File"C:\Users\Jay\.c
- 第十一节:Vben Admin 最新 v5.0 (vben5) + Python Flask 快速入门 - 角色菜单授权
锅锅来了
Vbenvben5VbenAdminpython3后台管理框架
Vben5系列文章目录基础篇✅第一节:VbenAdmin最新v5.0(vben5)+PythonFlask快速入门✅第二节:VbenAdmin最新v5.0(vben5)+PythonFlask快速入门-PythonFlask后端开发详解(附源码)✅第三节:VbenAdmin最新v5.0(vben5)+PythonFlask快速入门-对接后端登录接口(上)✅第四节:VbenAdmin最新v5.0(v
- python 内置函数大全及完整使用示例
慧一居士
Pythonpython
Python内置函数是预先定义好的高效工具,涵盖数学运算、类型转换、序列操作等多个领域。以下是常见内置函数的分类大全及使用示例:一、数学运算函数abs(x)返回数值的绝对值,支持整数、浮点数和复数[1][2][4]。abs(-10)#输出10abs(-3.5)#输出3.5abs(3+4j)#输出5.0divmod(a,b)返回商和余数的元组,等价于(a//b,a%b)[2][4]。divmod(9
- Python —— pandas 主要方法 和 常用属性(一)
墨码
笔记知识点python数据分析Pandas
Pandas基础类型Series类型创建SeriesSeries的自定义索引读取SeriesPandaspandas数据分析统计包,是一款功能强大的用于数据分析的操作工具,由于其的实用性对操作数据的方便性广受欢迎,今天就来学习一下Pandas数据包的用法吧!在此之前推荐了解一下numpy基础类型说道数据类型,大家熟知的大概都是intstrbool等数据类型,或者是Python中的listtuple
- 「日拱一码」014 Python常用库——Pandas
目录数据结构pandas.Series:一维数组,类似于数组,但索引可以是任意类型,而不仅仅是整数pandas.DataFrame:二维表格型数据结构,类似于Excel表格,每列可以是不同的数据类型数据读取与写入读取数据pd.read_csv():读取CSV文件pd.read_excel():读取Excel文件pd.read_sql():从数据库读取数据写入数据DataFrame.to_csv()
- Python 项目完整结构示例
慧一居士
Pythonpython
以下是一个典型的Python项目完整结构示例,适用于中等规模的应用程序或库。该结构遵循最佳实践,具有良好的模块化、可维护性和扩展性。项目结构示例my_project/├──src/#源代码目录│├──__init__.py#标记为Python包│├──main.py#主程序入口(可选)│├──core/#核心功能模块││├──__init__.py││├──app.py││└──utils.py│
- python tab键自动补全怎么用_python Tab自动补全命令设置
weixin_39961636
pythontab键自动补全怎么用
Mac/Windows下需要安装模块儿pipinstallpyreadlinepipinstallrlcompleterpipinstallreadline注意,需要先安装pyreadline之后才能顺利安装readlineMac下代码如下>>>importrlcompleter>>>importreadline>>>importos>>>importsys>>>>>>if'libedit'inr
- python tab键自动补全_为python命令行添加Tab键自动补全功能
weixin_39692253
pythontab键自动补全
在使用linux命令的时候我们习惯使用下Tab键,在python下我们也可以实现类似的功能。具体代码如下:$catstartup.py#!/usr/bin/python#pythonstartupfileimportsysimportreadlineimportrlcompleterimportatexitimportos#tabcompletionreadline.parse_and_bind(
- python tab键自动补全没反应_CentOS下为python命令行添加Tab键自动补全功能
weixin_39741459
pythontab键自动补全没反应
难道python命令就真的没办法使用Tab键的自动补全功能么?当然不是了,我们依然可以使用。只不过需要自己动手配置一下。操作系统环境:CentOSrelease6.4x86_32软件版本:Python2.6.6下面我们具体了解配置方法:1、编写一个Tab键自动补全功能的脚本。新手会说不会写怎么办?搜索引擎可以帮助你,关键字(pythontab键自动补全)1、编写一个Tab键自动补全功能的脚本。新手
- python命令行添加Tab键自动补全
weixin_30600503
python
1、编写一个tab的自动补全脚本,名为tab.py#!/usr/bin/python#pythontabcompleteimportsysimportreadlineimportrlcompleterimportatexitimportos#tabcompletionreadline.parse_and_bind('tab:complete')#historyfilehistfile=os.pat
- 【Python】edge-tts :便捷语音合成
宅男很神经
python开发语言
第一章:初识edge-tts——开启语音合成之旅1.1文本转语音(TTS)技术概述文本转语音(Text-to-Speech,TTS),顾名思义,是一种将输入的文本信息转换成可听的语音波形的技术。它是人机语音交互的关键组成部分,使得计算机能够像人一样“说话”。1.1.1TTS的发展简史与重要性TTS技术的研究可以追溯到上世纪中叶,早期的TTS系统通常基于参数合成或拼接合成的方法,声音机械、不自然。参
- 学会了编程才知道店员是“AI机器人”
IT-博通哥
Pythonpython开发语言
根据老罗点咖啡的视频中("给我来杯中杯"、"这是大杯,中杯是我们最小的杯型"的对话)我用Python代码模拟这个场景:classStarbucks:def__init__(self):self.cup_sizes={"中杯":"Tall","大杯":"Grande","超大杯":"Venti"}deforder_coffee(self,size):ifsize=="中杯":print("店员:这是
- 【学习】《算法图解》第十二章学习笔记:K近邻算法
程序员
前言《算法图解》第十二章介绍了一种简单而强大的机器学习算法——K近邻算法(K-NearestNeighbors,简称KNN)。这是一种基于实例的学习方法,也是机器学习领域中最基础、最直观的算法之一。本章不仅讲解了KNN的基本原理和实现方式,还探讨了特征提取、归一化等重要概念,为读者打开了机器学习的大门。本笔记将梳理KNN算法的核心思想、实现步骤以及应用场景。一、K近邻算法概述(一)基本思想K近邻算
- 小白学习Python的系统化路径
python观点资讯
学好Python需要系统化的学习和持续的实践,尤其对于小白来说,从基础到进阶需要循序渐进。以下是一份清晰的学习路径和建议,帮助你高效掌握Python:1.打好基础核心语法变量与数据类型:整数、浮点数、字符串、布尔值等。运算符:算术、比较、逻辑运算符。流程控制:if-else条件判断、for/while循环。函数:定义函数、参数传递、返回值、作用域。数据结构:列表、元组、字典、集合的常用操作。推荐资
- Python发送HTTP请求:http.client vs requests 对比解析
华科℡云
apache负载均衡http
在Python中,http.client与requests是两种常用的HTTP请求工具,分别适用于不同场景。以下从功能特性、易用性、性能等方面进行对比。1.功能特性http.client:作为Python标准库的一部分,提供底层的HTTP协议支持,支持GET、POST、PUT、DELETE等请求方法。用户需手动管理连接、请求头、响应解析等细节,适合对HTTP协议有深入理解且需要精细化控制的场景。r
- Python Arcade库【2D 游戏框架】全面讲解
老胖闲聊
Python库大全python游戏pygame
在AI加持下未来1W天内会发生什么?现货【官方旗舰店首刷印签版】2049未来10000天的可能《失控》《必然》作者凯文·凯利全新作品未来25年改变世界的十大科技浪潮思考AI时代与中国的全新可能凯文凯文凯利吴晨著中信出版社让AI成为我们的得力助手:《用Cursor玩转AI辅助编程——不写代码也能做软件开发》不被淘汰,AI赋能从现在开始AI赋能【作者寄语印签版+赠导读手册】领英联合创始人里德·霍夫曼新
- 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