函数重载函数重载:是函数的一种特殊情况,C++允许在同一作用域中声明几个功能类似的同名函数。这些同名函数的形参列表(参数个数或类型或类型顺序)不同,常用来处理实现功能类似数据类型不同的问题。1、参数类型不同#includeusingnamespacestd;intAdd(intleft,intright){cout<<"intAdd(intleft,intright)"<
21款炫酷烟花合集
Want595
趣味编程python开发语言
系列专栏《Python趣味编程》《C/C++趣味编程》《HTML趣味编程》《Java趣味编程》写在前面Python、C/C++、HTML、Java等4种语言实现18款炫酷烟花的代码。PythonPython烟花①完整代码:Python动漫烟花(完整代码)Python烟花②完整代码:Python跨年烟花(完整代码)Python烟花③完整代码:Python炫酷烟花(完整代码)Python烟花④完整代码
PAT乙组1001题解
YumenQen
PAT练习题C语言手练
问题描述:对任何一个自然数n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把(3n+1)砍掉一半。这样一直反复砍下去,最后一定在某一步得到n=1。对给定的任一不超过1000的正整数n,简单地数一下,需要多少步(砍几下)才能得到n=1?输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。输出格式:输出从n计算到1需要的步数。#includeintcount=0;intn;intmain
ultralytics 是什么?
博刻
AI学习笔记python
ultralytics是一个用于计算机视觉任务的Python库,专注于提供高效、易用的目标检测、实例分割和图像分类工具。它最著名的功能是实现YOLO(YouOnlyLookOnce)系列模型,特别是最新的YOLOv8。1.YOLO是什么?YOLO是一种流行的目标检测算法,以其速度快和精度高而闻名。YOLO的核心思想是将目标检测问题转化为一个回归问题,直接预测目标的边界框和类别。YOLOv8是YOL
Vue.js从入门到就业[第20讲]:响应式设计与调优,一文吃透它!
bug菌¹
#滚雪球学Vuevue.jsflutter前端响应式设计Vue调优Vue入门
本文收录于「Vue.js从入门到就业」专栏,手把手带你零基础教学Vue,从入门到就业,助你早日登顶实现财富自由;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!本文目录:前言摘要正文1.Vue.js的响应式系统原理1.1Vue.js响应式系统的核心Vue2与Vue3的响应式系统响应式数据的实现1.2Vue2与Vue3响应式系统的差异Vue2的局限性Vue3的优势1.3响应式系统
《Python 动画:实现多种不同速度的炫酷烟花效果》
后端工匠之道
python开发语言新手入门表白表白代码爱心烟花
《Python动画:实现多种不同速度的炫酷烟花效果》前言烟花绽放是一个经典的视觉效果,通过Python和Matplotlib,我们可以轻松实现动态的烟花动画效果。本篇文章将教你如何实现多个不同速度、位置的烟花动画,让它们在屏幕上绚丽绽放,占满整个画布。效果预览本代码的最终效果如下,完整代码底部获取:多个烟花随机从屏幕不同位置升空。烟花绽放时,粒子以随机颜色和方向扩散。不同烟花有快有慢,呈现出真实的
mysql查看主从同步时间_MySql——主从同步延迟监控
李昭材
mysql查看主从同步时间
前言MySQL同步功能由3个线程(master上1个,slave上2个)来实现,简单的说就是:master发送日志一个,slave接收日志一个,slave运行日志一个。主从延迟判断的方法,通常有两种方法:Seconds_Behind_Master和pt-heartbeat1.Seconds_Behind_Master通过监控showslavestatus\G命令输出的Seconds_Behind_
python主要是做什么的-Python到底可以干什么?主要应用领域
weixin_37988176
如果说挑选一门编程语言进行学习,你会选择哪个?当然是Python。Python是一门简单的编程语言,适合初学者学习,也是很多人都喜欢的语言,那么Python到底可以干什么?Python语言在学术上是非常受欢迎的,不是计算机专业的人,都可以学习Python。这个语言的前景是不可限量的,语法是非常容易理解的,很多人可以减去学习的负担,没有压力。Python到底可以干什么?主要应用领域:1、Linux运
mysql误删了数据_MySQL误删数据
指路明灯君
mysql误删了数据
首先看下mysql误删数据排名最前的几种是:1.误删文件2.误删库、表3.错误全表删除/更新4.升级操作失误都来看看你命中过几个,hoho。简单说下我亲手造的一个大事故吧。那大概是一个春暖花开的季节,我的内心是激动澎湃的,因为已经安排了休假计划。在这前几天,已经把一个新项目的数据库环境都部署好了,包括自动化备份。等我美美的出去玩的时候,悲剧发生了,业务要求进行数据回滚,但发现备份文件不可用,原因是
Spring Cloud Alibaba 实现 gRPC 服务调用
AI天才研究院
Python实战自然语言处理人工智能语言模型编程实践开发语言架构设计
作者:禅与计算机程序设计艺术1.简介2017年6月2日,Netflix发布开源项目SpringCloud,推出了SpringCloudNetflix,这是一套基于SpringBoot微服务框架的分布式系统的开发工具包。该项目拥有多个子项目,其中最重要的一个子项目是SpringCloudLoadbalancer,它提供了客户端负载均衡器功能。2019年6月,阿里巴巴宣布将其在微服务体系中的地位上升到
使用 C++ 和函数式编程构建高效的 AI 模型
salsm
C++编程魔法师c++人工智能
引言现代AI开发常常使用Python,但在底层实现中,C++仍是不可或缺的语言,尤其是在性能敏感的场景下。将C++与函数式编程结合,可以打造高效、模块化的AI模型,同时提高代码的可读性和可维护性。本文将深入探讨如何利用现代C++和函数式编程的强大特性,优化AI模型的构建流程,并提升整体性能。函数式编程在C++中的角色函数式编程(FunctionalProgramming)是一种强调不可变数据和纯函
inline 函数:让你的 C++ 代码飞起来——深度剖析与实战技巧
salsm
C++编程魔法师c++linux算法开发语言
你是否曾经为C++代码中的函数调用开销感到烦恼?每次函数调用都需要创建栈帧、传递参数、跳转执行,这些看似微小的操作,累计起来就会成为性能瓶颈。在对性能要求苛刻的程序中,这些开销可能会影响到整体表现。今天,我们要聊的就是一个解决方案——inline函数。想象一下,如果编译器能在每次函数调用时,直接把函数体复制到调用点,就能省去栈的操作、跳转指令以及参数传递等开销。这就是inline函数的魔力!今天的
IDEA里的Spring Boot的开发环境搭建
北城相拥£
springboot
SpringBoot的开发环境今天接着介绍SpringBoot的开发环境1.jdk的配置使用IDEA进行开发,在IDEA中配置jdk的方式很简单,打开File->ProjectStructure选择SDKs在JDKhomepath中选择本地jdk的安装目录在Name中为jdk自定义名字通过以上三步骤,即可导入本地安装的jdk。如果是使用STS或者eclipse可以通过两步骤添加:1、window-
《动手学深度学习》(PyTorch版)
chaser&upper
深度学习pytorch深度学习python
《动手学深度学习》PyTorch版前言简介面向人群食用方法方法一方法二方法三目录原书地址引用阅读指南前言读书啦!!!本项目将《动手学深度学习》原书中MXNet代码实现改为PyTorch实现。原书作者:阿斯顿·张、李沐、扎卡里C.立顿、亚历山大J.斯莫拉以及其他社区贡献者,GitHub地址:https://github.com/d2l-ai/d2l-zh此书的中英版本存在一些不同,针对此书英文版的P
C/C++炫酷烟花③(完整代码)
Want595
C/C++趣味编程c++开发语言
系列专栏《Python趣味编程》《C/C++趣味编程》《HTML趣味编程》《Java趣味编程》写在前面C/C++语言实现新春烟花动画的完整代码。
如何0基础自学网络安全技术,推荐一个非常稳的网络安全学习路线_网络安全入门学习路线
星空真懒
程序员web安全学习安全
青铜(筑基期)度过了石器时代,你已经储备了一些计算机的基础知识:操作系统的使用,网络协议,前端基础,数据库初识,但这距离做网络安全还不够,在第二个青铜阶段,你还需要再进一步学习基础,在第一阶段之上,难度会开始慢慢上升。这一阶段需要学习的知识有:Web进阶在前面的石器时代,咱们初步接触了网页编程,了解了网页的基本原理。不过那时候是纯前端的,纯静态的网页,没有接触后端。在这个进阶的阶段,你要开始接触W
PAT乙级题解1003(超级详细分析,看完就懂)
算法小白TQ
PAT乙级算法c++pat考试
题目描述:题意简化:给定一个字符串和一些判定规则,判断该字符串是否正确思路分析(解读规则):①字符串中只能含有P,A,T这三种字符②形如PAT,APATA,AAPATAA,AAAPATAAA…这种都算正确,可以观察到:P和T都是有且只有一个P一定在T的左边P和T中间A的个数一定不为0③第三点是在第二点的基础上进行的拓展先拓展②中的字符串,看看正确的字符串都有什么规律{PAT−>PAAT−>PAAA
2025年1月27日人工智能与科技新闻:DeepSeek震撼全球科技市场
海棠AI实验室
AI瞭望塔人工智能科技
中国AI初创公司DeepSeek震撼全球科技市场DeepSeekR1模型的突破性发展在科技迅猛发展的时代,中国人工智能初创公司DeepSeek推出的R1模型,以其卓越的技术能力,在全球AI领域掀起一场变革。这不仅是技术层面的突破,更对全球科技市场产生深远影响。技术创新与突破全新语言处理架构:提升AI理解和生成能力超越传统模型的认知能力:实现更精准的自然语言推理多模态交互:支持文本、图像、语音等多维
【八】python装饰器模式
無欲無为
python设计模式python装饰器模式开发语言
文章目录8.1装饰器模式简介8.2装饰器模式作用8.3装饰器模式构成8.3.1装饰器模式包含以下几个核心角色:8.3.2UML类图8.4装饰器模式python代码实现8.4.1基本装饰器的使用8.4.2多个装饰器的执行顺序8.4.3带返回值的装饰器的使用8.4.4装饰器模式-关联类模式8.4.5装饰器模式-无参数8.4.6装饰器模式-接收原函数参数8.4.7装饰器模式-装饰器自带函数8.4.8装饰
mysql数据库 解析树形参数
fengzelun
mysql相关数据库mysqldatabase
一、前言因为项目数据的地址是树形,格式:440000;440300;440312;659971;查询出的数据又需要转为中文:XXX省XXX市XXX区欢乐港湾东岸L2-016所以需要借助sql存储过程实现二、思路把要读取数据的所有地址编码都查询出来解析地址编码,因为地址编码是分号分隔,所有根据分号循环每个编码解析,解析后再拼接把解析好的地址编码和地址名称存入一张数据表(存的时候利用唯一索引去重)业务
Nacos3# 服务注册与发现服务端启动源码解析
瓜农老梁
javarpcspringprotobufandroid
引言本文从gRPC的.proto文件解读其暴露的服务,由此生成gRPC的客户端/服务端存根。进而分析服务端加载启动过程。最近家里事情较多,本文短了点,大伙随便看看。一、内容提要gRPCService.proto解读暴露用于服务端到客户端流式RPC的服务RequestStream#requestStream暴露用于简单RPC调用的服务Request#request暴露用于双向流式RPC调用的服务Bi
Mysql——主从复制、读写分离(值得一看)
老赵学coding
mysql数据库服务器
目录前言一、基本概念1.读写分离(1)什么是读写分离(2)为什么要读写分离(3)什么时候要读写分离(4)主从复制与读写分离2.MySQL主从复制(1)mysql支持的复制类型(2)主从复制的工作过程(3)mysql主从复制高延迟的原因(4)mysql主从复制高延迟的解决办法3.常见的MySQL读写分离方式(1)基于程序代码内部实现(2)基于中间代理层实现二、MySQL主从复制架构搭建1.服务器配置
MySQL主从同步复制实现
MostSnails
sharding数据库mysql
MySQL主从同步复制实现一.概念1.数据库一主多从高性能:单点分散到多台机器上。备份:等同于实现Backup。负载均衡:若主挂掉,切换一台Slave机器作为Mater。若Slave挂掉,还有其他Slave支持。二.实现原理1.Mater将变更记录到二进制日志BinaryLog中,Mysql根据事物提交顺序依次记录2.Slave从库两个线程(I/Othread、SQLthread),IO请求主库获
MySQL如何恢复误删的数据?
墨菲墨菲
MySQL数据库mysql
本节目标1.了解binlog日志2.掌握如何恢复误删除的数据【重点】什么是binlog日志binlog日志的作用1.在企业应用中,我们不是单台节点运行的,不会在一台服务器上装mysql来跑,玩万一挂了怎么办,所以我们基于负载均衡这个概念,做到主从,一主多从的复制。2.万一不小心把数据库给删了,我们可以通过binlog日志进行数据的恢复但是要满足两个条件一,定时全备份,例如每天凌晨一点定时备份二,b
Spring Boot 开发环境搭建及示例应用
爪哇学长
springspringboot后端java
文章目录1.准备开发工具安装JDK安装IDE安装Maven2.创建SpringBoot项目使用SpringInitializr创建项目导入项目到IDE3.编写代码主类创建控制器创建实体类创建仓库接口创建服务类创建控制器4.配置文件5.运行应用程序6.测试应用程序7.调试与优化8.部署应用1.准备开发工具安装JDK确保你的系统上已经安装了JDK。可以通过以下命令检查是否已安装以及版本信息:java-
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><