题目如下数据范围观察数据范围发现s最长也就100也就是说O(n^2)的暴力法的时间复杂度也是可以接受的。不过本题使用不定长滑动窗口可以优化至O(n)是本人比较推荐的。那么滑动窗口是如何把时间复杂度优化成O(n)的呢?暴力法如下for(inti=0;imap;intn=s.size();if(n==0)return0;intmax1=1;intj=0;for(inti=0;i
redis原理
小哲会嘿魔法
redis数据库缓存
文章目录redis客户端-认识RESP持久化持久化具体实现1.RDB(RedisDataBase)2.AOF(AppendOnlyFile)事务相关命令主从复制拓扑结构同步过程部分复制实时复制哨兵(Sentinel)哨兵选取主节点流程集群数据分片主节点宕机集群扩容缓存缓存更新缓存预热、缓存穿透、缓存雪崩、缓存击穿分布式锁过期时间校验IdLua脚本watchdog(看门狗)Redlock算法redi
饮食睡眠运动情绪,共筑健康养生长城
yy0821yy
生活
在快节奏的现代生活中,健康养生愈发重要。它并非简单的吃补药或参加昂贵的健身课程,而是渗透于生活的点点滴滴。合理饮食是健康养生的基石。《黄帝内经》提出“五谷为养,五果为助,五畜为益,五菜为充”,这一理念强调了均衡饮食的重要性。我们应确保每餐都有碳水化合物、蛋白质、维生素和膳食纤维的合理搭配。减少高油高糖食物摄入,多吃蔬菜、水果和全谷物。比如早餐一杯燕麦粥,搭配一份水果沙拉,既能提供饱腹感,又富含营养
健康养生指南
yy0821yy
生活
在快节奏的现代生活中,健康养生愈发重要。它不仅能提升生活质量,还能让我们以更好的状态面对生活的挑战。饮食是健康养生的基石。合理搭配食物,确保营养均衡是关键。多吃蔬菜、水果,它们富含维生素、矿物质和膳食纤维,能增强免疫力,促进肠道蠕动。全谷物食品如糙米、燕麦,是优质碳水化合物的来源,能提供持久的能量。同时,要控制油脂、糖分和盐分的摄入,减少油炸食品、甜品和高盐食物的食用。适度运动是保持健康的秘诀。每
养生保健:开启健康生活之旅
yy0821yy
生活
在快节奏的现代生活中,养生保健逐渐成为人们关注的焦点。它不仅是对身体的呵护,更是一种对生活品质的追求,让我们能够以更饱满的精神和活力应对日常的挑战。饮食养生首当其冲。“民以食为天”,合理的饮食结构是健康的基石。我们应确保膳食均衡,增加蔬菜、水果、全谷物以及优质蛋白的摄入,减少油腻、辛辣和高糖食物的摄取。例如,早餐可以选择一份富含纤维的燕麦粥,搭配新鲜水果和坚果,为一天的开始提供充足能量;午餐和晚餐
拥抱健康养生,开启活力人生
yy0821yy
生活
在快节奏的现代生活中,人们越发意识到健康养生的重要性。健康养生并非是一种短暂的行为,而是一种贯穿日常生活的理念和习惯,它能帮助我们维持身体的最佳状态,享受高质量的生活。合理饮食是健康养生的基石。我们应遵循食物多样、谷类为主的原则,多吃新鲜的蔬菜、水果、全谷类、优质蛋白质,如豆类、鱼类、瘦肉等,减少高油、高糖、高盐食物的摄入。一日三餐要规律,早餐吃好、午餐吃饱、晚餐吃少,避免暴饮暴食和过度节食。这样
健康养生:身心和谐的生活艺术
yy0821yy
生活
在现代社会的喧嚣与纷扰中,人们越发渴望追寻健康养生之道,以实现身心的和谐共生,拥抱高品质的生活。饮食养生,是健康的基石。合理搭配膳食,犹如精心谱写一曲营养的交响乐。主食粗细搭配,粗粮中的膳食纤维能促进肠道蠕动,预防便秘;蔬果色彩斑斓,富含维生素与抗氧化物质,为身体构筑起坚固的防御堡垒,抵御自由基的侵害;适量摄入优质蛋白,如瘦肉、鱼类、豆类等,为身体的修复与生长提供充足的原料。减少加工食品与高盐高糖
LSP介绍并实现语言服务
lsp编程语言ide
首发于Enaium的个人博客LSP(LanguageServerProtocol)介绍前段时间我为JimmerDTO实现了一个LSP的语言服务,这是我第一次实现LSP,所以在这里我分享一下我实现LSP的经验。首先来看一下效果,图片太多,我就放一部分,更多的可以看jimmer-dto-lspLSP是一种协议,用于在IDE和语言服务器之间通信。IDE通过LSP请求语言服务器提供代码分析服务,语言服务器
30个整数映射到1个字节,查表法实现小范围内常数时间素性判定
磁悬浮青蛙呱呱呱
数据结构C#MATLAB素性测试位图
想用查表法实现小范围内的常数时间的素性判定,怎样节省存储空间呢?自然是1个bit代表1个整数的素性,同时,偶数不用存,个位为5的整数不用存,只有个位为1、3、7、9的整数才可能是素数,也就是每20个整数中只有8个数可能是素数,正好1个字节。但本文的标题是30个整数映射到1个字节,说明上面的方法还有优化的潜力。让我们来考虑31~60这30个整数中最多有几个数可能是素数,所有偶数以及个位是5的数都是合
禁止使用Date类的替代办法
Y_FQY
java
为什么现在连Date类都不建议使用了?一、有什么问题吗java.util.Date?java.util.Date(Date从现在开始)是一个糟糕的类型,这解释了为什么它的大部分内容在Java1.1中被弃用(但不幸的是仍在使用)。设计缺陷包括:它的名称具有误导性:它并不代表一个日期,而是代表时间的一个瞬间。所以它应该被称为Instant——正如它的java.time等价物一样。它是非最终的:这鼓励了
【舞动奇迹,不屈的旋律】亨廷顿舞蹈症患者的活力锻炼秘籍✨
养生小齐
健康医疗生活
Hey小伙伴们~今天咱们来聊聊一个特别又温暖的话题,关于那些在生活中勇敢跳跃的“舞蹈精灵”——亨廷顿舞蹈症患者们!✨没错,即使面对挑战,他们依然能用独特的方式,诠释生命的律动与美好!首先,一个大大的拥抱给你们,每一个不屈的灵魂都值得被温柔以待!说到锻炼,对于亨廷顿舞蹈症的朋友们来说,它不仅仅是增强体质那么简单,更是心灵的疗愈之旅呢!1️⃣轻柔瑜伽,呼吸间的宁静♀️想象一下,清晨的第一缕阳光透过窗
9.1 GPTs 应用商店介绍:解锁定制化 AI 的无限潜能
少林码僧
AI大模型应用实战专栏人工智能chatgpt
GPTs应用商店介绍:解锁定制化AI的无限潜能引言:迈入AI应用的新时代随着OpenAI的GPT模型不断进化,GPTs应用商店的推出标志着AI定制化的一个新纪元。它是一个开放平台,允许用户轻松创建、共享和探索各种定制化GPT应用程序。无论是自动化日常任务、提供行业解决方案,还是开发个性化的智能助手,GPTs应用商店都提供了强大的支持,让AI成为每个人触手可及的工具。1.什么是GPTs应用商店?GP
java.sql.Date 弃用分析与替代方案
蓝田~
javamicrosoft
引言java.sql.Date是Java标准库中的一个类,它继承自java.util.Date,主要用于在Java应用程序与数据库之间进行日期数据的传输。然而,随着Java语言的发展,java.sql.Date以及其父类java.util.Date逐渐被认为存在设计缺陷,并被新的日期时间API所替代。本文将对java.sql.Date的启用原因进行分析,并探讨其弃用原因及替代方案。启用原因分析SQ
java中有关时间的类合集
With Order @!147
javajava开发语言
小王学习录今日摘录java.util包DateCalendarGregorianCalendarjava.time包(自Java8引入)LocalDateLocalTimeLocalDateTimeZonedDateTimeOffsetDateTimeInstantDurationPeriodDateTimeFormatter今日摘录儿食剩骨,正餐奉母在Java中,生成时间的类主要集中在java.
【2024博客之星】我的年度技术总结:Netty渡劫指南--从线程暴走到百万长连接,这一年我踩过的坑比写的代码还多
码到三十五
netty解析javanetty
时间过得真快,作为一名十年的技术老鸟,这一年来跟Netty打交道打得不少。今天就聊聊这一年来我跟Netty的那些事儿,还有我在学习它技术原理时的一些总结。导读Netty再相见:捡起来、用起来Netty原理学习:边啃边写变总结Netty实战:干不爬我的终将被我干爬一、为什么选择Netty?二、线程模型:从车祸现场到秋名山车神三、内存管理:从OOM拳皇到内存刺客四、协议设计:从二进制乱码到量子通信五、
侯捷 C++ 课程学习笔记:开启 C++ 深度探索之旅
秃头小饼干
jvm开发语言c++
在C++的学习道路上,侯捷老师的课程宛如一座明亮的灯塔,为无数学习者照亮前行的方向。经过一段时间对侯捷C++课程的深入学习,我收获颇丰,在此将自己的学习笔记和感悟分享给大家,希望能对正在学习C++或者准备踏入C++领域的朋友们有所帮助。一、课程初印象初次接触侯捷老师的课程,就被其深入浅出的讲解风格所吸引。老师不仅有着深厚的技术功底,更具备出色的教学能力,能够将复杂的C++知识以通俗易懂的方式呈现出
Nginx 跨域配置详细讲解
m0_74823094
nginx运维
一、跨域请求概述跨域资源共享(CORS,Cross-OriginResourceSharing)是一种机制,它使用额外的HTTP头部来告诉浏览器让运行在一个origin(域)上的Web应用被准许访问来自不同源服务器上的指定的资源。当一个资源从与该资源本身所在的服务器不同的域、协议或端口请求一个资源时,资源会发起一个跨域HTTP请求。二、Nginx跨域配置步骤1.定位并打开Nginx配置文件Ngin
无公网IP 外网访问本地文件下载器 Transmission
路由侠内网穿透
tcp/ip网络协议网络docker
Transmission是一款开源的BitTorrent客户端,主要用于下载和管理通过BitTorrent协议共享的文件。它是一种点对点(P2P)文件分发协议,它允许用户从多个来源下载数据块,并将这些数据块组合成完整的文件。这种方式可以有效地减轻单个服务器的负载,并加速大文件的分发。本文将详细的介绍如何利用Docker在本地部署Transmission并结合路由侠实现外网访问本地部署的Transm
Linux打开和关闭防火墙指令
紫罗龙思
javalinux后端
1、启动设置开机启用防火墙:systemctlenablefirewalld.service启动防火墙:systemctlstartfirewalld2、关闭设置开机禁用防火墙:systemctldisablefirewalld.service关闭防火墙(有时间限制):systemctlstopfirewalld3、检查检查防火墙状态:systemctlstatusfirewalld
基于Python的天气数据可视化平台
q.q 1102255374
python信息可视化开发语言
摘要:随着社会多元化的不断发展,天气数据问题不可被简单的理解为是科学问题,更多的是环境问题,可以直接影响到人民的日常生活,甚至对一个国家的政治经济带来影响,由此可见,天气预测是一项非常重要的行业。基于此,我们就需要开发一个可视化的、综合的、方便人们查看的项目。基于Python的天气数据可视化设计与实现,通过使用基于Python的网络爬虫技术,能在短时内提取有价值的信息数据。然后根据数据的形式进行整
接口 V2 完善:基于责任链模式、Canal 监听 Binlog 实现数据库、缓存的库存最终一致性
Hello Dam
Java开发#Java功能开发实战#场快订SaaS平台责任链模式数据库缓存数据一致性CanalBinlog
本文介绍了一种使用Canal监听MySQLBinlog实现数据库与缓存最终一致性的方案。文章首先讲解了如何修改Canal配置以适应订单表和时间段表的变化,然后详细描述了通过责任链模式优化消息处理逻辑的方法,确保能够灵活应对不同数据表的更新需求。最后,展示了如何利用RocketMQ消费Canal消息并通过责任链处理器同步更新缓存,从而保证数据的一致性。此方法有效提升了系统的可扩展性和维护效率。️He
HarmonyOS应用级别的状态管理
秃顶老男孩.
harmonyos华为ui
应用状态管理概念AppStorage:应用全局UI存储(范围是整个应用),是和应用进程绑定,由UI框架在应用程序启动时创建。为应用程序UI状态提供中央存储AppStorage是应用级的全局共享,相当于整个应用的‘中枢’,持久化数据PersistentStorage是通过AppStorage进行中转,才能与UI进行交互方法//AppStorage//AppStorage.ref('name')查找某
通过ChatGPT使用Mermaid.js生成时间序列图、组织结构图等
百态老人
生成式AI经验分享前端人工智能
1、用mermaid.js生成京东网站改版时间序列图以下是使用Mermaid.js生成的京东网站改版时间序列图:gantttitle京东网站改版时间序列图dateFormatYYYY-MM-DDsection基础功能改版登录注册界面:done,2018-01-15,10d购物车页面优化:done,2018-02-10,10d商品详情页改版:done,2018-03-15,15d收银台页面改版:do
ARM 处理器架构【转】
weixin_33690963
嵌入式javaphp
ARM处理器架构转自:http://www.arm.com/zh/products/processors/instruction-set-architectures/index.phpARM架构是构建每个ARM处理器的基础。ARM架构随着时间的推移不断发展,其中包含的架构功能可满足不断增长的新功能、高性能需求以及新兴市场的需要。有关最新公布版本的信息,请参阅ARMv8架构。ARM架构支持跨跃多个性
Nginx负载均衡
510888780
nginx应用服务器
Nginx负载均衡一些基础知识:
nginx 的 upstream目前支持 4 种方式的分配
1)、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
2)、weight
指定轮询几率,weight和访问比率成正比
RedHat 6.4 安装 rabbitmq
bylijinnan
erlangrabbitmqredhat
在 linux 下安装软件就是折腾,首先是测试机不能上外网要找运维开通,开通后发现测试机的 yum 不能使用于是又要配置 yum 源,最后安装 rabbitmq 时也尝试了两种方法最后才安装成功
机器版本:
[root@redhat1 rabbitmq]# lsb_release
LSB Version: :base-4.0-amd64:base-4.0-noarch:core
FilenameUtils工具类
eksliang
FilenameUtilscommon-io
转载请出自出处:http://eksliang.iteye.com/blog/2217081 一、概述
这是一个Java操作文件的常用库,是Apache对java的IO包的封装,这里面有两个非常核心的类FilenameUtils跟FileUtils,其中FilenameUtils是对文件名操作的封装;FileUtils是文件封装,开发中对文件的操作,几乎都可以在这个框架里面找到。 非常的好用。
xml文件解析SAX
不懂事的小屁孩
xml
xml文件解析:xml文件解析有四种方式,
1.DOM生成和解析XML文档(SAX是基于事件流的解析)
2.SAX生成和解析XML文档(基于XML文档树结构的解析)
3.DOM4J生成和解析XML文档
4.JDOM生成和解析XML
本文章用第一种方法进行解析,使用android常用的DefaultHandler
import org.xml.sax.Attributes;
通过定时任务执行mysql的定期删除和新建分区,此处是按日分区
酷的飞上天空
mysql
使用python脚本作为命令脚本,linux的定时任务来每天定时执行
#!/usr/bin/python
# -*- coding: utf8 -*-
import pymysql
import datetime
import calendar
#要分区的表
table_name = 'my_table'
#连接数据库的信息
host,user,passwd,db =
如何搭建数据湖架构?听听专家的意见
蓝儿唯美
架构
Edo Interactive在几年前遇到一个大问题:公司使用交易数据来帮助零售商和餐馆进行个性化促销,但其数据仓库没有足够时间去处理所有的信用卡和借记卡交易数据
“我们要花费27小时来处理每日的数据量,”Edo主管基础设施和信息系统的高级副总裁Tim Garnto说道:“所以在2013年,我们放弃了现有的基于PostgreSQL的关系型数据库系统,使用了Hadoop集群作为公司的数
spring学习——控制反转与依赖注入
a-john
spring
控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题,也是轻量级的Spring框架的核心。 控制反转一般分为两种类型,依赖注入(Dependency Injection,简称DI)和依赖查找(Dependency Lookup)。依赖注入应用比较广泛。
用spool+unixshell生成文本文件的方法
aijuans
xshell
例如我们把scott.dept表生成文本文件的语句写成dept.sql,内容如下:
set pages 50000;
set lines 200;
set trims on;
set heading off;
spool /oracle_backup/log/test/dept.lst;
select deptno||','||dname||','||loc
1、基础--名词解析(OOA/OOD/OOP)
asia007
学习基础知识
OOA:Object-Oriented Analysis(面向对象分析方法)
是在一个系统的开发过程中进行了系统业务调查以后,按照面向对象的思想来分析问题。OOA与结构化分析有较大的区别。OOA所强调的是在系统调查资料的基础上,针对OO方法所需要的素材进行的归类分析和整理,而不是对管理业务现状和方法的分析。
OOA(面向对象的分析)模型由5个层次(主题层、对象类层、结构层、属性层和服务层)
浅谈java转成json编码格式技术
百合不是茶
json编码java转成json编码
json编码;是一个轻量级的数据存储和传输的语言
在java中需要引入json相关的包,引包方式在工程的lib下就可以了
JSON与JAVA数据的转换(JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非
常适合于服务器与 JavaScript 之间的数据的交
web.xml之Spring配置(基于Spring+Struts+Ibatis)
bijian1013
javaweb.xmlSSIspring配置
指定Spring配置文件位置
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/spring-dao-bean.xml,/WEB-INF/spring-resources.xml,
/WEB-INF/
Installing SonarQube(Fail to download libraries from server)
sunjing
InstallSonar
1. Download and unzip the SonarQube distribution
2. Starting the Web Server
The default port is "9000" and the context path is "/". These values can be changed in &l
【MongoDB学习笔记十一】Mongo副本集基本的增删查
bit1129
mongodb
一、创建复本集
假设mongod,mongo已经配置在系统路径变量上,启动三个命令行窗口,分别执行如下命令:
mongod --port 27017 --dbpath data1 --replSet rs0
mongod --port 27018 --dbpath data2 --replSet rs0
mongod --port 27019 -
Anychart图表系列二之执行Flash和HTML5渲染
白糖_
Flash
今天介绍Anychart的Flash和HTML5渲染功能
HTML5
Anychart从6.0第一个版本起,已经逐渐开始支持各种图的HTML5渲染效果了,也就是说即使你没有安装Flash插件,只要浏览器支持HTML5,也能看到Anychart的图形(不过这些是需要做一些配置的)。
这里要提醒下大家,Anychart6.0版本对HTML5的支持还不算很成熟,目前还处于
Laravel版本更新异常4.2.8-> 4.2.9 Declaration of ... CompilerEngine ... should be compa
bozch
laravel
昨天在为了把laravel升级到最新的版本,突然之间就出现了如下错误:
ErrorException thrown with message "Declaration of Illuminate\View\Engines\CompilerEngine::handleViewException() should be compatible with Illuminate\View\Eng
编程之美-NIM游戏分析-石头总数为奇数时如何保证先动手者必胜
bylijinnan
编程之美
import java.util.Arrays;
import java.util.Random;
public class Nim {
/**编程之美 NIM游戏分析
问题:
有N块石头和两个玩家A和B,玩家A先将石头随机分成若干堆,然后按照BABA...的顺序不断轮流取石头,
能将剩下的石头一次取光的玩家获胜,每次取石头时,每个玩家只能从若干堆石头中任选一堆,
lunce创建索引及简单查询
chengxuyuancsdn
查询创建索引lunce
import java.io.File;
import java.io.IOException;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Docume
[IT与投资]坚持独立自主的研究核心技术
comsci
it
和别人合作开发某项产品....如果互相之间的技术水平不同,那么这种合作很难进行,一般都会成为强者控制弱者的方法和手段.....
所以弱者,在遇到技术难题的时候,最好不要一开始就去寻求强者的帮助,因为在我们这颗星球上,生物都有一种控制其
flashback transaction闪回事务查询
daizj
oraclesql闪回事务
闪回事务查询有别于闪回查询的特点有以下3个:
(1)其正常工作不但需要利用撤销数据,还需要事先启用最小补充日志。
(2)返回的结果不是以前的“旧”数据,而是能够将当前数据修改为以前的样子的撤销SQL(Undo SQL)语句。
(3)集中地在名为flashback_transaction_query表上查询,而不是在各个表上通过“as of”或“vers
Java I/O之FilenameFilter类列举出指定路径下某个扩展名的文件
游其是你
FilenameFilter
这是一个FilenameFilter类用法的例子,实现的列举出“c:\\folder“路径下所有以“.jpg”扩展名的文件。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
C语言学习五函数,函数的前置声明以及如何在软件开发中合理的设计函数来解决实际问题
dcj3sjt126com
c
# include <stdio.h>
int f(void) //括号中的void表示该函数不能接受数据,int表示返回的类型为int类型
{
return 10; //向主调函数返回10
}
void g(void) //函数名前面的void表示该函数没有返回值
{
//return 10; //error 与第8行行首的void相矛盾
}
in
今天在测试环境使用yum安装,遇到一个问题: Error: Cannot retrieve metalink for repository: epel. Pl
dcj3sjt126com
centos
今天在测试环境使用yum安装,遇到一个问题:
Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again
处理很简单,修改文件“/etc/yum.repos.d/epel.repo”, 将baseurl的注释取消, mirrorlist注释掉。即可。
&n
单例模式
shuizhaosi888
单例模式
单例模式 懒汉式
public class RunMain {
/**
* 私有构造
*/
private RunMain() {
}
/**
* 内部类,用于占位,只有
*/
private static class SingletonRunMain {
priv
Spring Security(09)——Filter
234390216
Spring Security
Filter
目录
1.1 Filter顺序
1.2 添加Filter到FilterChain
1.3 DelegatingFilterProxy
1.4 FilterChainProxy
1.5
公司项目NODEJS实践0.1
逐行分析JS源代码
mongodbnginxubuntunodejs
一、前言
前端如何独立用nodeJs实现一个简单的注册、登录功能,是不是只用nodejs+sql就可以了?其实是可以实现,但离实际应用还有距离,那要怎么做才是实际可用的。
网上有很多nod
java.lang.Math
liuhaibo_ljf
javaMathlang
System.out.println(Math.PI);
System.out.println(Math.abs(1.2));
System.out.println(Math.abs(1.2));
System.out.println(Math.abs(1));
System.out.println(Math.abs(111111111));
System.out.println(Mat
linux下时间同步
nonobaba
ntp
今天在linux下做hbase集群的时候,发现hmaster启动成功了,但是用hbase命令进入shell的时候报了一个错误 PleaseHoldException: Master is initializing,查看了日志,大致意思是说master和slave时间不同步,没办法,只好找一种手动同步一下,后来发现一共部署了10来台机器,手动同步偏差又比较大,所以还是从网上找现成的解决方
ZooKeeper3.4.6的集群部署
roadrunners
zookeeper集群部署
ZooKeeper是Apache的一个开源项目,在分布式服务中应用比较广泛。它主要用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步、集群管理、配置文件管理、同步锁、队列等。这里主要讲集群中ZooKeeper的部署。
1、准备工作
我们准备3台机器做ZooKeeper集群,分别在3台机器上创建ZooKeeper需要的目录。
数据存储目录
Java高效读取大文件
tomcat_oracle
java
读取文件行的标准方式是在内存中读取,Guava 和Apache Commons IO都提供了如下所示快速读取文件行的方法: Files.readLines(new File(path), Charsets.UTF_8); FileUtils.readLines(new File(path)); 这种方法带来的问题是文件的所有行都被存放在内存中,当文件足够大时很快就会导致
微信支付api返回的xml转换为Map的方法
xu3508620
xmlmap微信api
举例如下:
<xml>
<return_code><![CDATA[SUCCESS]]></return_code>
<return_msg><![CDATA[OK]]></return_msg>
<appid><