- Webpack中loader的作用。
小码龙~
Webpackwebpack前端node.jsvue.js笔记javascript
文章目录前言1.处理样式文件2.处理JavaScript文件3.处理其他文件总结前言在Webpack中,Loader是用于对模块的源代码进行转换的工具,它能够将不同类型的文件(如CSS、图片、字体、TypeScript等)转换为有效的JavaScript模块,从而被Webpack处理和打包。以下是Webpack中常见Loader的作用及使用场景:1.处理样式文件css-loader作用:解析CSS
- 什么是ThreadLocal(面试必问),以及如何实现的?
程序猿摸鱼
面试职场和发展
什么是ThreadLocalThreadLocal是java.lang下面的一个类,是用来解决java多线程程序中并发问题的一种途径;通过为每一个线程创建一份共享变量的副本来保证各个线程之间的变量的访问和修改互相不影响;ThreadLocal存放的值是线程内共享的,线程间互斥的,主要用于线程内共享一些数据,避免通过参数来传递,这样处理后,能够优雅的解决一些实际问题。比如一次用户的页面操作请求,我们
- 使用IVS构建带回放的UGC直播流媒体应用GenAI
taibaili2023
AWS
使用IVS构建UGC直播流媒体应用添加GenAI关键字:[yt,StreamCat,Real-TimeStreamPlayback,CompositeStreamRendering,StageParticipantTokens,IvsBroadcastClient,Real-TimeChannelManagement]本文字数:400,阅读完需:2分钟导读视频演示了StreamCat应用程序如何利
- 使用IVS构建UGC直播流媒体应用程序概述GenAI
taibaili2023
AWS
亚马逊云科技-使用IVS构建UGC直播流媒体应用GenAI关键字:[yt,Adonis.js,LiveStreamingApplication,TechStack,Adonis.JsFramework,Alpine.JsFramework,ReactiveFront-Ends]本文字数:400,阅读完需:2分钟导读该视频介绍了构建Streamcat(一款UGC直播流媒体应用程序)所采用的技术栈。它
- GitHub操作文档 (含常见报错及解决办法)
Krlin_
学习gitgithub
一、根据官方文档的指令进行操作二、本地文件上传到GitHub指定仓库中Step1:进入待上传文件的上一级(当上传文件的目录)Step2:在Step1中建立git仓库git.initStep3:连接GitHub仓库gitremoteaddorigin'仓库地址'Step4:检查本地仓库中是否有与GitHub仓库里相同名字的文件,如果有,需要先修改名称,否则本地仓库的文件会被覆盖。mv'被修改文件夹名
- 使用C#实现从Hive的CREATE TABLE语句中提取分区字段名和数据类型
weixin_30777913
hivec#数据仓库开发语言
usingSystem;usingSystem.Collections.Generic;usingSystem.Text.RegularExpressions;namespaceHivePartitionParser{publicclassProgram{privatestaticreadonlyRegexPartitionedByRegex=newRegex(@"PARTITIONED\s+BY
- vivado仿真找不到文件路径
JSC_choice
踩坑fpga开发
仿真时使用绝对路径可以找到文件,但是使用相对路径时就找不到。原因是没有弄明白是相对哪个目录去找需要的文件。最后发现相对的是仿真文件所在的目录。是相对这个路径的。并不是相对源文件的路径。
- Python讲解:外观模式
软件架构师笔记
pythonpython外观模式microsoft
Python讲解:外观模式简介外观模式(FacadePattern)是结构型设计模式之一,它提供了一个统一的接口来简化复杂子系统的使用。通过引入一个外观类,客户端可以更方便地与子系统中的多个类进行交互,而不需要了解每个类的具体实现细节。外观模式的主要目的是降低系统的复杂度,提高代码的可读性和可维护性。1.外观模式的核心概念1.1什么是外观模式?外观模式的主要目的是为复杂的子系统提供一个简化的接口。
- Python 外观模式:简化复杂系统交互的设计模式
三带俩王
python外观模式交互
在软件开发过程中,随着系统规模的不断扩大和功能的日益复杂,子系统之间的交互可能变得错综复杂。Python中的外观模式(FacadePattern)提供了一种有效的解决方案,它能够简化这些复杂的交互,为客户端提供一个统一、易用的接口来访问系统。本文将深入探讨Python中的外观模式,详细阐述其概念、关键要点、实现方式、应用场景以及与其他相关模式的比较。一、外观模式的概念外观模式是一种结构型设计模式,
- 用docker部署springCloud环境全家桶
星极天下第一
JavaCloudspringclouddockerjava
docker部署步骤一:安装dockeryuminstall-yyum-utils设置更新docker镜像源yum-config-manager--add-repohttps://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo安装docker镜像yuminstall-ydocker-cedocker-ce-clicontainerd
- mysql数据导入导出 CSV格式_mysql数据一键导出到csv文件
浮华ya
mysql数据导入导出CSV格式
在数据库中获取数据的结果集,通过fputcsv()函数将行格式化为CSV并写入一个打开的文件。fputcsv('打开的文件','数组数据'),该函数返回写入字符串的长度。若出错,则返回false。示例代码:get_results($sql,ARRAY_A);//打开文件,php://output输出到浏览器$fp=fopen('php://output','a');//定义表格标题$head=ar
- 线程池
♛薄情痞子♛
多线程多线程线程池
原文链接:https://blog.csdn.net/u013541140/article/details/95225769目录:1线程池的优势2线程池的使用3线程池的工作原理4线程池的参数4.1任务队列(workQueue)4.2线程工厂(threadFactory)4.3拒绝策略(handler)5功能线程池5.1定长线程池(FixedThreadPool)5.2定时线程池(Scheduled
- 执行信号处理函数时,主进程的函数卡住
车载小杜
信号处理c++
1,背景说明:1,信号处理函数install在主进程2,主进程执行initFunc函数,循环执行。voidInitFunc(){pthread_mutex_init(&t_Test.comm_mutex,NULL);pthread_cond_init(&t_Test.comm_cond,NULL);sleep(1);while(true){printf("waitunlock!!!!!id=%d\
- 基于指针的线程池
车载小杜
c++开发语言
使用原线程池当push和pop的对象过大时,消耗时延过高,需优化线程池采用std::move()+unique_ptr的方法,能极大的减少时延,实际就是避免了多次拷贝,直接使用指针。代码实现ThreadPool#ifndef_THREAD_TOOL_H_#define_THREAD_TOOL_H_#include#include#include#include#include#include#in
- 函数柯里化的解读
独鹿DT
JavaScript高级柯里化javascript函数式编程函数闭包
函数柯里化的解读什么是函数柯里化第一版:(柯里化函数的简单封装)第二版:(柯里化函数封装的升级)什么是函数柯里化柯里化(英语:Currying),又译为卡瑞化或加里化,是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术.-----维基百科例如:对于函数add(a,b,c,d).若其中某些参数在部分范围内是固定的。那么每一次函
- 数据库学习(4)MySQL数据库DDL——修改表结构
炎武丶航
MySQL数据库mysql数据库
MySQL数据库DDL——数据定义语言:修改表结构添加字段修改字段类型和约束查看表结构修改字段名称删除字段添加字段ALTERTABLE表名称ADD列1数据类型[约束][COMMENT注释],ADD列2数据类型[约束][COMMENT注释],......;案例:ALTERTABLEstudentADDaddressVARCHAR(200)NOTNULL,ADDhome_telCHAR(11)NOTN
- Javascript currying柯里化详解
weixin_34418883
javascript面试ViewUI
面试题:实现add(1)(2)(3)//结果=6,题的核心就是问的js的柯里化先说说什么是柯里化,看过许多关于柯里化的文章,始终搞不太清楚,例如:柯里化(Currying)是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数的技术。大多数的blog都是这种说法,说实话我是懵逼的。我的理解是,curry是一个收集参数的方法,收集够了去执
- MySQL 高可用方案:MHA、PXC、Galera Cluster
王强你强
mysql数据库
MySQL高可用方案:MHA、PXC、GaleraCluster在生产环境中,为了确保数据库系统的连续可用性、降低故障恢复时间以及实现业务的无缝切换,高可用(HighAvailability,HA)方案至关重要。本文将详细介绍三种常见的MySQL高可用方案——MHA(MySQLHighAvailabilityManager)、PXC(PerconaXtraDBCluster)和GaleraClus
- java抓取起点小说,并用正则匹配需要数据
直视太阳
java
抓取起点网站内容staticStringgethtml(Stringul){Stringurl=ul;InputStreamis=null;InputStreamReaderisr=null;try{URLu=newURL(url);HttpURLConnectionuc=(HttpURLConnection)u.openConnection();//设置headeruc.setRequestMe
- 最短路径--SPFA算法
OYangxf
数据结构与算法算法图论数据结构
SPFA算法的引入实际上,SPFA算法其实是对Bellman-Ford算法的优化,它通过队列这种数据结构,使得在松弛操作时不会去遍历无关的边。SPFA算法的代码实现#include#include#includeusingnamespacestd;typedefpairPII;intn,m,cnt;intdis[105];intvis[105];ints;inthead[105];intuse[1
- ubuntu20.04自动升级为ubuntu22.04
hunter206206
ubuntuubuntu
在Ubuntu中,你可以通过命令行将系统从Ubuntu20.04LTS(FocalFossa)升级到Ubuntu22.04LTS(JammyJellyfish)。以下是升级步骤:1.备份重要数据在升级之前,建议备份重要数据,以防升级过程中出现问题。2.更新当前系统确保你的Ubuntu20.04系统是最新的:sudoaptupdatesudoaptupgradesudoaptdist-upgrade
- Docker部署harbor
Justice link
docker容器运维
1.获取ahrbor安装包:https://github.com/goharbor/harbor/releases/download/2.解压缩:tarxfharbor-offline-installer-v2.8.4.tgz-C/usr/local3.进入目录:cd/usr/local/harbor/4.备份与复制:cpharbor.yml.tmplharbor.yml5.编辑文件:vimhar
- 从Github获取spring源码 导入 Myeclipse/Eclipse/IDEA 学习
怎呼虹
工具配置springgitgradleideaeclipse
①Myeclipse/Eclipse一、准备下载spring源码用git命令(gitclonegit://github.com/SpringSource/Spring-framework.git)克隆源码到本地没安装git工具也行,直接从www.github.com/SpringSource/Spring-framework下载最新spring源码并解压。spring源码部分目录如图安装Gradl
- 用pyinstaller打包动态加载ui文件的程序,ui文件无法被打包的问题
悟河船长
Python开发ui命令模式python经验分享
问题描述使用QtDesigner制作ui界面,因为在开发过程中要经常修改ui界面,所以选择在程序中动态加载.ui文件,而不是用pyuic5转换成.py文件,这样做的好处就是修改.ui文件后不需要每次都进行转换操作。最初采用的动态加载方式如下:#导入ui界面self.ui=uic.loadUi("my_ui.ui",self)而且这个ui界面中用到了一张本地图片image.png,是在QtDesig
- hadoop 集群的常用命令
....123456789
大数据
以下是一些Hadoop集群的常用命令,包括针对HDFS(Hadoop分布式文件系统)和MapReduce作业等方面,且相对不太常见:HDFS权限相关:-修改文件或目录的所有者:hdfsdfs-chown[-R][:]。例如,hdfsdfs-chown-Rhadoop:hadoop/user/hadoop/data,-R选项用于递归修改目录及其子目录和文件的所有者。-修改文件或目录的权限:hdfsd
- f15_Trading Strategies2_sma_AAPL_Log return_EUR_OLS regress_df highlight_Lagrang_GaussianNB_DNNClass
LIQING LIN
大数据bigdatapython
[T]heyweresilly[ˈsɪli]傻瓜,笨蛋enoughtothinkyoucanlookatthepasttopredictthefuture.—TheEconomistThischapterisaboutthevectorizedbacktestingofalgorithmictradingstrategies.Thetermalgorithmictradingstrategyisu
- Eclipse,MyEclipse,IDEA,Vscode这些编译器和JDK的相爱相杀
DKPT
#软件开发服务器环境搭建编辑器intellij-ideaeclipsemyeclipsejava
一、JDK的核心作用JDK(JavaDevelopmentKit)是Java开发的基础环境,包含以下核心组件:编译器(javac):将.java文件编译为.class文件。运行时环境(JRE):包含JVM和标准类库,用于执行Java程序。开发工具:如调试器、文档生成工具等。所有JavaIDE(如Eclipse、IDEA)均依赖JDK实现编译和运行功能,但IDE本身并不包含JDK。二、各IDE与JD
- OpenHarmony子系统开发 - 安全(十二)
__Benco
子系统开发openharmony安全人工智能harmonyos
OpenHarmonySELinux开发指导(五)一、OpenHarmonySELinux常见问题neverallow编译报错处理现象描述编译SELinux时会进行neverallow检查,当配置的策略不合理时,可能出现违反neverallow编译报错。neverallowcheckfailedatobj/base/security/selinux_adapter/updater/system.c
- Java数据库交互的挑战与解决策略
菁子姐姐
JDBC数据库连接管理SQL注入防护存储过程调用数据库版本控制
背景简介Java开发者在与数据库交互时面临不少挑战。无论是连接数据库、执行SQL查询、还是进行数据库操作,都需要对JDBC有深入的理解。本篇博客基于Java与数据库交互的章节内容,探讨了在这一过程中可能遇到的问题及相应的解决策略。JDBC:CombiningJavaandtheDatabaseJDBC(JavaDatabaseConnectivity)为Java开发者提供了连接和操作数据库的标准接
- GitHub 上开源一个小项目的完整指南
@BreCaspian
开发小Tipsgithub
GitHub上开源一个小项目的完整指南第一步:准备你的项目在开源之前,确保项目是可用且有一定结构的:✅最低要求项目文件清晰、结构合理(比如:src/、README.md、LICENSE)项目能在本地正常运行提供说明文档或基本使用方法️第二步:创建GitHub仓库1.注册&登录GitHub如果你还没有账号:https://github.com/2.创建新仓库进入主页→点击右上角➕→选择【Newrep
- 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