PHP定时任务框架taskPHP3.0的学习记录1(TaskPHP、执行任务类的实操代码实例)
TaskPHP是一个基于PHP的定时任务框架,它提供了一个简单、灵活且易于使用的解决方案,用于在PHP环境中执行定时任务。下面是对TaskPHP框架的简要介绍:
- 简单易用:TaskPHP的设计目标是让定时任务的创建和管理变得简单。通过简单的配置和编写任务代码,即可轻松实现定时任务的执行。
- 高性能:TaskPHP采用高效的任务调度算法,确保任务能够按照预定的时间准确执行。同时,它还支持并发执行多个任务,提高了任务的执行效率。
- 灵活配置:TaskPHP允许用户通过配置文件或代码来定义任务的执行时间、执行间隔、执行次数等参数。用户可以根据自己的需求灵活配置任务。
- 可扩展性:TaskPHP框架具有良好的扩展性,用户可以根据自己的需求添加自定义的任务类型或扩展功能。此外,它还支持与其他PHP框架或库进行集成,方便用户在现有项目中使用。
- 日志记录:TaskPHP提供了日志记录功能,可以记录任务的执行过程、执行结果以及错误信息等。这有助于用户监控任务的执行情况,及时发现问题并进行处理。
- 任务管理:框架提供了任务管理的功能,用户可以查看当前正在执行的任务、已完成的任务以及任务执行的历史记录。这有助于用户对任务进行监控和管理。
TaskPHP是一个功能强大、易于使用的PHP定时任务框架,适用于各种需要定时执行任务的场景。无论是简单的定时发送邮件、定时更新数据,还是复杂的定时爬虫、定时数据分析等任务,TaskPHP都能提供有效的解决方案。
关键环境感知任务记录
<?phpnamespace cron;use taskphp\Utils;require 'taskDb.php';class Service2
{/** 关键环境安全-定时任务* $service_id,定时任务服务路由ID* */public static function getTask($service_id){global $CONF, $serviceArr;$CONF = require '../conf/config.php';require '../conf/config.service.php';$serviceArr = getByServiceId($lock_service, $service_id);Utils::log('Task-ID: ' . $service_id);//数据信息$school_id = $serviceArr['school_id'];$school_type = $serviceArr['school_type'];$school_attribute = $serviceArr['school_attribute'];$school_short_name = $serviceArr['school_short_name'];$service_group = $serviceArr['service_group'];$service_protocol = $serviceArr['service_protocol'];$service_url = $serviceArr['service_url'];$url = $service_protocol . $service_url . '/service/page/sensor/simple.json';$dataPramas = ["group_id" => $service_group];$res = curlIotOnlyAPI($url, '1', '1000', $CONF['iot_token'], $dataPramas);//Utils::log('Task-content: ' . $res);$reArr = json_decode($res, true);if ($reArr && $reArr["data"] && $reArr["data"]["data"] && $reArr["data"]["data"][0]) {$keyData = $reArr["data"]["data"];$environment_area = $reArr["data"]["data"][0]['device'];//插入数据库;Utils::db()->table("environment")->ifInsert(array('task_code' => encodeId($school_id . '-' . $service_id),'service_id' => $service_id,'school_id' => $school_id,'school_type' => $school_type,'school_attribute' => $school_attribute,'school_short_name' => $school_short_name,'environment_area' => $environment_area,'environment_temperature' => getSDataByPropertyType($keyData, '温度'),'environment_temperature_state' => getStatusBySensorStatus($keyData, '温度'),'environment_humidity' => getSDataByPropertyType($keyData, '湿度'),'environment_humidity_state' => getStatusBySensorStatus($keyData, '湿度'),'environment_air' => getSDataByPropertyType($keyData, '空质'),'environment_air_state' => getStatusBySensorStatus($keyData, '空质'),'environment_time' => time()),array('service_id' => $service_id,'school_id' => $school_id,'school_type' => $school_type,'school_attribute' => $school_attribute,'school_short_name' => $school_short_name,'environment_area' => $environment_area,'environment_temperature' => getSDataByPropertyType($keyData, '温度'),'environment_temperature_state' => getStatusBySensorStatus($keyData, '温度'),'environment_humidity' => getSDataByPropertyType($keyData, '湿度'),'environment_humidity_state' => getStatusBySensorStatus($keyData, '湿度'),'environment_air' => getSDataByPropertyType($keyData, '空质'),'environment_air_state' => getStatusBySensorStatus($keyData, '空质'),'environment_time' => time()));//系统日志Utils::db()->table("task_log")->add(array("school_short_name" => $school_short_name,"task_name" => '关键环境安全',"task_status" => '服务路由ID(' . $service_id . ')API组ID(' . $service_group . ')-数据更新成功,STATUS:OK',"task_time" => time()));} else {//系统日志Utils::db()->table("task_log")->add(array("school_short_name" => $school_short_name,"task_name" => '关键环境安全',"task_status" => 'API组ID:' . $service_group . '接口出错,无法爬取数据,STATUS:Fail',"task_time" => time()));die();}//返回数据;return true;}
}
用电计量管理任务记录
<?phpnamespace cron;use taskphp\Utils;require 'taskDb.php';class Service3
{/** 用电计量管理-定时任务* $service_id,定时任务服务路由ID* */public static function getTask($service_id){global $CONF, $serviceArr;$CONF = require '../conf/config.php';require '../conf/config.service.php';$serviceArr = getByServiceId($lock_service, $service_id);Utils::log('Task-ID: ' . $service_id);//数据信息$school_id = $serviceArr['school_id'];$school_type = $serviceArr['school_type'];$school_attribute = $serviceArr['school_attribute'];$school_short_name = $serviceArr['school_short_name'];$service_group = $serviceArr['service_group'];$service_protocol = $serviceArr['service_protocol'];$service_url = $serviceArr['service_url'];$url = $service_protocol . $service_url . '/service/page/sensor/calc/data.json';$dataPramas = ["group_id" => $service_group, 'propertyTypeVal' => '电量'];$res = curlIotOnlyAPI($url, '1', '1000', $CONF['iot_token'], $dataPramas);//Utils::log('Task-content: ' . $res);$reArr = json_decode($res, true);if ($reArr && $reArr["data"] && $reArr["data"]["data"] && $reArr["data"]["data"][0]) {$powerData = $reArr["data"]["data"][0]["odata"];$MonthsArr = generatePastMonths(13);//月份$powerArr = [formatNumber($powerData['prev_0_month_val_diff']),formatNumber($powerData['prev_1_month_val_diff']),formatNumber($powerData['prev_2_month_val_diff']),formatNumber($powerData['prev_3_month_val_diff']),formatNumber($powerData['prev_4_month_val_diff']),formatNumber($powerData['prev_5_month_val_diff']),formatNumber($powerData['prev_6_month_val_diff']),formatNumber($powerData['prev_7_month_val_diff']),formatNumber($powerData['prev_8_month_val_diff']),formatNumber($powerData['prev_9_month_val_diff']),formatNumber($powerData['prev_10_month_val_diff']),formatNumber($powerData['prev_11_month_val_diff']),formatNumber($powerData['prev_12_month_val_diff'])];//对应月份的数据//插入数据库;/* Utils::db()->table("electricity")->ifInsert(array('school_id' => $school_id,'school_type' => $school_type,'school_attribute' => $school_attribute,'school_short_name' => $school_short_name,'electricity_month' => $MonthsArr[0],'electricity_norm' => $powerArr[0],'electricity_time' => time()),array('school_type' => $school_type,'school_attribute' => $school_attribute,'school_short_name' => $school_short_name,'electricity_norm' => $powerArr[0],'electricity_time' => time()));*/for ($i = 0; $i < count($MonthsArr); $i++) {$row_sec = Utils::db()->table("electricity")->where(array('school_id' => $school_id, 'electricity_month' => $MonthsArr[$i]))->limit(1)->order("school_id DESC")->select();if (!$row_sec) {//插入数据Utils::db()->table("electricity")->add(array('school_id' => $school_id,'service_id' => $service_id,'school_type' => $school_type,'school_attribute' => $school_attribute,'school_short_name' => $school_short_name,'electricity_month' => $MonthsArr[$i],'electricity_norm' => $powerArr[$i],'electricity_time' => time()));} else {//更新数据Utils::db()->table("electricity")->where(array('school_id' => $school_id, 'electricity_month' => $MonthsArr[$i]))->update(array('service_id' => $service_id,'school_type' => $school_type,'school_attribute' => $school_attribute,'school_short_name' => $school_short_name,'electricity_norm' => $powerArr[$i],'electricity_time' => time()));}}//系统日志Utils::db()->table("task_log")->add(array("school_short_name" => $school_short_name,"task_name" => '用电计量管理',"task_status" => '服务路由ID(' . $service_id . ')API组ID(' . $service_group . ')-数据更新成功,STATUS:OK',"task_time" => time()));} else {//系统日志Utils::db()->table("task_log")->add(array("school_short_name" => $school_short_name,"task_name" => '用电计量管理',"task_status" => 'API组ID:' . $service_group . '接口出错,无法爬取数据,STATUS:Fail',"task_time" => time()));die();}//返回数据;return true;}
}
用水计量管理任务记录
<?phpnamespace cron;use taskphp\Utils;require 'taskDb.php';class Service4
{/** 用水计量管理-定时任务* $service_id,定时任务服务路由ID* */public static function getTask($service_id){global $CONF, $serviceArr;$CONF = require '../conf/config.php';require '../conf/config.service.php';$serviceArr = getByServiceId($lock_service, $service_id);Utils::log('Task-ID: ' . $service_id);//数据信息$school_id = $serviceArr['school_id'];$school_type = $serviceArr['school_type'];$school_attribute = $serviceArr['school_attribute'];$school_short_name = $serviceArr['school_short_name'];$service_group = $serviceArr['service_group'];$service_protocol = $serviceArr['service_protocol'];$service_url = $serviceArr['service_url'];$url = $service_protocol . $service_url . '/service/page/sensor/calc/data.json';$dataPramas = ["group_id" => $service_group, 'propertyTypeVal' => '总流量'];$res = curlIotOnlyAPI($url, '1', '1000', $CONF['iot_token'], $dataPramas);//Utils::log('Task-content: ' . $res);$reArr = json_decode($res, true);if ($reArr && $reArr["data"] && $reArr["data"]["data"] && $reArr["data"]["data"][0]) {$powerData = $reArr["data"]["data"][0]["odata"];$MonthsArr = generatePastMonths(13);//月份$powerArr = [formatNumber($powerData['prev_0_month_val_diff']),formatNumber($powerData['prev_1_month_val_diff']),formatNumber($powerData['prev_2_month_val_diff']),formatNumber($powerData['prev_3_month_val_diff']),formatNumber($powerData['prev_4_month_val_diff']),formatNumber($powerData['prev_5_month_val_diff']),formatNumber($powerData['prev_6_month_val_diff']),formatNumber($powerData['prev_7_month_val_diff']),formatNumber($powerData['prev_8_month_val_diff']),formatNumber($powerData['prev_9_month_val_diff']),formatNumber($powerData['prev_10_month_val_diff']),formatNumber($powerData['prev_11_month_val_diff']),formatNumber($powerData['prev_12_month_val_diff'])];//插入数据库;for ($i = 0; $i < count($MonthsArr); $i++) {$row_sec = Utils::db()->table("water")->where(array('school_id' => $school_id, 'water_month' => $MonthsArr[$i]))->limit(1)->order("school_id DESC")->select();if (!$row_sec) {//插入数据Utils::db()->table("water")->add(array('school_id' => $school_id,'service_id' => $service_id,'school_type' => $school_type,'school_attribute' => $school_attribute,'school_short_name' => $school_short_name,'water_month' => $MonthsArr[$i],'water_norm' => $powerArr[$i],'water_time' => time()));} else {//更新数据Utils::db()->table("water")->where(array('school_id' => $school_id, 'water_month' => $MonthsArr[$i]))->update(array('service_id' => $service_id,'school_type' => $school_type,'school_attribute' => $school_attribute,'school_short_name' => $school_short_name,'water_norm' => $powerArr[$i],'water_time' => time()));}}//系统日志Utils::db()->table("task_log")->add(array("school_short_name" => $school_short_name,"task_name" => '用水计量管理',"task_status" => '服务路由ID(' . $service_id . ')API组ID(' . $service_group . ')-数据更新成功,STATUS:OK',"task_time" => time()));} else {//系统日志Utils::db()->table("task_log")->add(array("school_short_name" => $school_short_name,"task_name" => '用水计量管理',"task_status" => 'API组ID:' . $service_group . '接口出错,无法爬取数据,STATUS:Fail',"task_time" => time()));die();}//返回数据;return true;}
}
记录日志
使用第三方爬中仅记录启动和结束任务日志
[2024-03-29 20:22:54.83456200][DEBUG]:distribute_listen daemon pid:383131 Start
[2024-03-29 20:22:55.83205600][DEBUG]:worker_listen daemon pid:383134 Start
[2024-03-29 20:22:56.83395000][DEBUG]:worker_listen daemon pid:383135 Start
[2024-03-29 20:22:57.83637100][DEBUG]:worker_listen daemon pid:383136 Start
[2024-03-29 20:22:58.83940500][DEBUG]:worker_listen daemon pid:383137 Start
[2024-03-29 20:22:59.83934000][DEBUG]:worker_listen daemon pid:383138 Start
[2024-03-29 20:23:00.84222100][DEBUG]:worker_listen daemon pid:383139 Start
[2024-03-29 20:23:01.84334700][DEBUG]:worker_listen daemon pid:383140 Start
[2024-03-29 20:23:02.84479600][DEBUG]:worker_listen daemon pid:383141 Start
[2024-03-29 20:30:01.04360000][DEBUG]:cron\Task14::run [--START--]
[2024-03-29 20:30:01.04501700][DEBUG]:Service-ID: 31
[2024-03-29 20:30:07.56411000][DEBUG]:cron\Task14::run [--END--][RunTime:6.520488s]
[2024-03-29 20:31:01.07364600][DEBUG]:cron\Task15::run [--START--]
[2024-03-29 20:31:01.07523800][DEBUG]:Service-ID: 30
[2024-03-29 20:31:01.85611800][DEBUG]:cron\Task15::run [--END--][RunTime:0.782444s]
[2024-03-29 20:32:01.12884500][DEBUG]:cron\Task6::run [--START--]
[2024-03-29 20:32:01.13076100][DEBUG]:Service-ID: 34
[2024-03-29 20:32:01.69706000][DEBUG]:cron\Task6::run [--END--][RunTime:0.568220s]
taskPHP自带Utils工具,会产生具体的日志记录
[2024-03-28 00:03:01.41235800][DEBUG]:cron\Task14::run [--START--]
[2024-03-28 00:03:01.41251000][DEBUG]:Task-ID: 31
[2024-03-28 00:03:07.83297000][DEBUG]:cron\Task14::run [--END--][RunTime:6.420764s]
[2024-03-28 00:05:00.89040200][DEBUG]:cron\Task10::run [--START--]
[2024-03-28 00:05:00.89097900][DEBUG]:Task-ID: 35
[2024-03-28 00:05:01.04386100][DEBUG]:cron\Task6::run [--START--]
[2024-03-28 00:05:01.04441500][DEBUG]:Task-ID: 34
[2024-03-28 00:05:01.42001300][DEBUG]:SQL:DESC po_environment[bind_value:null][RunTime:0.059952s]
[2024-03-28 00:05:01.49280500][DEBUG]:SQL:INSERT INTO `po_environment` SET `task_code`=:task_code,`service_id`=:service_id,`school_id`=:school_id,`school_type`=:school_type,`school_attribute`=:school_attribute,`school_short_name`=:school_short_name,`environment_area`=:environment_area,`environment_temperature`=:environment_temperature,`environment_temperature_state`=:environment_temperature_state,`environment_humidity`=:environment_humidity,`environment_humidity_state`=:environment_humidity_state,`environment_air`=:environment_air,`environment_air_state`=:environment_air_state,`environment_time`=:environment_time ON DUPLICATE KEY UPDATE `service_id`=:service_id_1,`school_id`=:school_id_2,`school_type`=:school_type_3,`school_attribute`=:school_attribute_4,`school_short_name`=:school_short_name_5,`environment_area`=:environment_area_6,`environment_temperature`=:environment_temperature_7,`environment_temperature_state`=:environment_temperature_state_8,`environment_humidity`=:environment_humidity_9,`environment_humidity_state`=:environment_humidity_state_10,`environment_air`=:environment_air_11,`environment_air_state`=:environment_air_state_12,`environment_time`=:environment_time_13[bind_value:null][RunTime:0.072542s]
@漏刻有时
相关文章:
PHP定时任务框架taskPHP3.0的学习记录1(TaskPHP、执行任务类的实操代码实例)
TaskPHP是一个基于PHP的定时任务框架,它提供了一个简单、灵活且易于使用的解决方案,用于在PHP环境中执行定时任务。下面是对TaskPHP框架的简要介绍: 简单易用:TaskPHP的设计目标是让定时任务的创建和管理变得简单。通过简单的配置…...
图腾柱PFC:HP1010为您的电动两轮车之旅提供绿色,高效,安全的动力
电动两轮车不仅为当今生活提供了便利,更是一种健康和绿色的出行方式。想象一下,在经过一整晚的充分休息,骑上爱车,满血复活的准备开始新的一天。您会愿意带着如何给心爱的两轮车充电的担心开始这一天吗? 随着越来越…...
动态规划-----背包类问题(0-1背包与完全背包)详解
目录 什么是背包问题? 动态规划问题的一般解决办法: 0-1背包问题: 0 - 1背包类问题 分割等和子集: 完全背包问题: 完全背包类问题 零钱兑换II: 什么是背包问题? 背包问题(Knapsack problem)是一种…...
通过 Docker 搭建 BookStack
文章目录 环境说明1、官方网站2、通过 Docker 部署总结 环境说明 操作系统版本:CentOS Linux release 7.9.2009 (Core) Docker 版本:Docker Engine - Community 24.0.2 BookStack 版本:23.02.3 MySQL 版本:8.0.32 1、官方网站 G…...
通俗易懂:什么是Java虚拟机(JVM)?它的主要作用是什么?
Java虚拟机(Java Virtual Machine, JVM)是一种软件实现的抽象计算机,它负责执行Java字节码(Bytecode)。Java程序并不是直接在物理计算机上运行,而是先由Java编译器将源代码编译成与平台无关的字节码&#x…...
[k8s] kubectl执行失败后等待一段时间再重试 (Shell实现)
使用Shell脚本实现功能: kubectl执行失败后,等待30秒后再重试,一共重试3次,代码如下: #!/bin/bashKUBECTL_BIN/var/lib/snapd/snap/bin/kubectlERR_MSG_K8S_NOTRUNNING"microk8s is not running" ERR_MSG_C…...
java中的static和单例模式
同一个类中,访问其类成员,可以省略类名不写 static:叫静态,可以修饰成员变量,成员方法。 成员变量按照有无static修饰,分为两种: 类变量:有static修饰,属于类…...
RabbitMQ相关总结
Broker 异步调用中用Broker进行事件订阅和调用,完成解耦 没有强依赖,不用担心级联失败 流量削峰 MQ 的下载 1.可以使用命令拉取镜像 docker pull rabbitmq:3-management 2.也可以直接去官网下载tar包,然后上传到虚拟机上面 spring AMQP…...
RAFT: Adapting Language Model to Domain Specific RAG
今天来介绍下伯克利大学3.15日新发的一篇paper,RAFT: Adapting Language Model to Domain Specific RAG 主要研究了如何构造训练数据来微调你的LLM,从而在LLM在垂直领域的RAG中表现更好。并且开源了代码:GitHub - ShishirPatil/gorilla: Gorilla: An API store for LLMs 主…...
第十五届蓝桥杯第三期模拟赛第十题 ← 上楼梯
【问题描述】 小蓝要上一个楼梯,楼梯共有 n 级台阶(即小蓝总共要走 n 级)。小蓝每一步可以走 a 级、b 级或 c 级台阶。 请问小蓝总共有多少种方案能正好走到楼梯顶端?【输入格式】 输入的第一行包含一个整数 n 。 第二行包含三个整…...
第四题:星期一
题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 整个 20 世纪(1901 年 1 月 1 日至 2000 年 12 月 31 日之间),一共有多少个星期一?(不要告诉我你不知道今天是星期几…...
Mamba: Linear-Time Sequence Modeling with Selective State Spaces(论文笔记)
What can I say? 2024年我还能说什么? Mamba out! 曼巴出来了! 原文链接: [2312.00752] Mamba: Linear-Time Sequence Modeling with Selective State Spaces (arxiv.org) 原文笔记: What: Mamba: Linear-Time …...
2024蓝桥杯每日一题(区间DP)
备战2024年蓝桥杯 -- 每日一题 Python大学A组 试题一:游戏 试题二:石子合并 试题三:密码脱落 试题四:能量项链 试题一:游戏 【题目描述】 玩家一和玩家二共同玩一个小游戏。给定一个包含 N 个…...
LeetCode-2952. 需要添加的硬币的最小数量【贪心 数组 排序】
LeetCode-2952. 需要添加的硬币的最小数量【贪心 数组 排序】 题目描述:解题思路一:看提示主要是用贪心和排序。那我们肯定是首先对coins排序。然后依次遍历coins[i],获取当前可以获取金额范围,和判断是否加入新硬币。判断规则如下…...
新书速递——《可解释AI实战(PyTorch版)》
本书旨在帮助你实施最新的可解释AI技术,以构建公平且可解释的AI系统。可解释AI是当今AI研究中的热门话题,但只有少数资源和指南涵盖了所有重要技术,这些技术对实践者来说非常有价值。本书旨在填补这一空白。 本书读者对象 本书既适合那些有兴…...
国产数据库中统计信息自动更新机制
数据库中统计信息描述的数据库中表和索引的大小数以及数据分布状况,统计信息的准确性对优化器选择执行计划时具有重要的参考意义。本文简要整理了下传统数据库和国产数据库中统计信息的自动更新机制,以加深了解。 1、数据库统计信息介绍 优化器是数据库…...
【C++】入门C++(中)
好的,我们继续,这是 C专栏的第二篇博客,还没读过上一篇博客可以进入我创建的专栏阅读 入门C(上)再回来哦~ 下面我们要讲的第一个概念就是函数重载 函数重载 1. 函数重载概念 什么是函数重载? 简单来说…...
javaIO
file类 一个File类的对象可以表示一个具体的文件或目录 mkdir 创建单级文件夹 mkdirs 创建多级文件夹 delete 删除一个文件夹时,文件夹里面必须是空的 listfiles 将文件夹的子集放到一个file类型的数组中 输入及输出的概念 输入input 输出output 把jav…...
睿尔曼超轻量仿人机械臂之复合机器人底盘介绍及接口调用
机器人移动平台是一个包含完整成熟的感知、认知和定位导航能力的轮式机器人底盘产品级平台,产品致力于为各行业细分市场的商用轮式服务机器人提供一站式移动机器人解决方案,让合作伙伴专注在核心业务/人机交互的实现。以下是我司产品双臂机器人以及复合升…...
用JSch实现远程传输文件并打包成jar
本文将简单介绍一下 JSch 这个Java的第三方库的一个简单用法,并以此为实例,讲解 IntelliJ 中打包成 jar 包的2种方式。 实现目标 我们的目标是,做出一个jar包,它能够实现类似于 scp 命令的远程传输文件的功能。用法如下…...
2023年第十四届蓝桥杯大赛软件类省赛C/C++研究生组真题(代码完整题解)
C题-翻转⭐ 标签:贪心 简述:如果 S 中存在子串 101 或者 010,就可以将其分别变为 111 和 000,操作可以无限重复。最少翻转多少次可以把 S 变成和 T 一样。 链接: 翻转 思路:要求步骤最少->S每个位置最多修改一次->从头开始遍历不匹配就翻转->翻转不了就-1 …...
力扣刷题Days28-第二题-11.盛水最多的容器(js)
目录 1,题目 2,代码 3,学习与总结 3.1思路回顾 1,如何遍历 2,算法流程 3.2剖析问题 1,题目 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, h…...
文生图大模型三部曲:DDPM、LDM、SD 详细讲解!
1、引言 跨模态大模型是指能够在不同感官模态(如视觉、语言、音频等)之间进行信息转换的大规模语言模型。当前图文跨模态大模型主要有: 文生图大模型:如 Stable Diffusion系列、DALL-E系列、Imagen等 图文匹配大模型:如CLIP、Chinese CLIP、…...
算法学习——LeetCode力扣动态规划篇10(583. 两个字符串的删除操作、72. 编辑距离、647. 回文子串、516. 最长回文子序列)
算法学习——LeetCode力扣动态规划篇10 583. 两个字符串的删除操作 583. 两个字符串的删除操作 - 力扣(LeetCode) 描述 给定两个单词 word1 和 word2 ,返回使得 word1 和 word2 相同所需的最小步数。 每步 可以删除任意一个字符串中的一个…...
TASKPROMPTER
baseline模型的预训练权重就有1.6G! 多吓人呐,当时我就暂停下载了,不建议复现...
C之易错注意点转义字符,sizeof,scanf,printf
目录 前言 一:转义字符 1.转义字符顾名思义就是转换原来意思的字符 2.常见的转义字符 1.特殊\b 2. 特殊\ddd和\xdd 3.转义字符常错点----计算字符串长度 注意 : 如果出现\890,\921这些的不是属于\ddd类型的,,不是一个字符…...
等级保护测评无补偿因素的高风险安全问题判例(共23项需整改)
层面 控制点 要求项 安全问题 适用范围 充分条件 整改建议简要 安全物理环境 基础设施位置 应保证云计算基础设施位于中国境内 1.云计算基础设施物理位置不当 二级及以上 相关基础设施不在中国境内 云平台相关基础设施在中国境内部署 安全通信网络 网络架构 应…...
JavaScript笔记 09
目录 01 DOM操作事件的体验 02 获取元素对象的五种方式 03 事件中this指向问题 04循环绑定事件 05 DOM节点对象的常用操作 06 点亮盒子的案例 07 节点访问关系 08 设置和获取节点内容的属性 09 以上内容的小总结 01 DOM操作事件的体验 js本身是受事件驱动的脚本语言 什…...
操作教程|在MeterSphere中通过SSH登录服务器的两种方法
MeterSphere开源持续测试平台拥有非常强大的插件集成机制,用户可以通过插件实现平台能力的拓展,借助插件或脚本实现多种功能。在测试过程中,测试人员有时需要通过SSH协议登录至服务器,以获取某些配置文件和日志文件,或…...
Swashbuckle.AspNetCore介绍
使用 ASP.NET Core 构建的 API 的 Swagger 工具。直接从您的路由、控制器和模型生成精美的 API 文档,包括用于探索和测试操作的 UI。 除了 Swagger 2.0 和 OpenAPI 3.0 生成器外,Swashbuckle 还提供了由生成的 Swagger JSON 提供支持的令人敬畏的 swagg…...
衡阳微信网站开发/软件开发培训
MCU是一个专业术语,如果不是行业人士,其实并不是很清楚MCU究竟是什么。其实MCU就是单片机,英文是Microcontroller Unit,MCU其实也可以理解为简单版本的CPU,MCU目前多应用于消费电子和通讯、汽车电子、工业、医疗设备等…...
京东商城网站建设策划书/网络推广教程
2.3 不合法的常量有:0892;3.8E-3.14 2.4 "Hello!" 长度:6字节 占内存 7字节 ;“ABC\n\\TH\064\?” 长度:9字节 占内存 10字节 注:\n换行符 不占长度 、\\ 转义字符 只取 \、\064 表示64位 取ASC…...
网站访问量什么意思/最近新闻事件
请问唐氏筛查低风险人群,有必要做无创DNA吗?唐氏筛查低风险,有必要做无创DNA检查吗?这个问题问的好,如果单纯性的唐氏筛查低风险,那么根本没有必要再做无创DNA检查了。现实生活中还是存在很多唐氏筛查低风险…...
网站建设需求原型/hao123影视
文章来源:Python小例子告别枯燥,通过学习有趣的小例子,扎实而系统的入门Python,从菜鸟到大师,个人觉得这是很靠谱的一种方法。通过一个又一个的小例子,真正领悟Python之强大,之简洁,…...
云栖建站/seo排名关键词搜索结果
为了让CSR867x的开发更容易,现与思度科技联合推出CSR867x学习板【淘宝链接:思度科技CSR开发板】。 技术交流QQ群号:743434463 开发板会员QQ群号:725398389(凭订单号入群,赠PPT、项目源码、视频教程&#x…...
一般做外单的有哪些网站/315影视行业
1. 卷积神经网络结构 卷积神经网络是一个多层的神经网络,每层都是一个变换(映射),常用卷积convention变换和pooling池化变换,每种变换都是对输入数据的一种处理,是输入特征的另一种特征表达;每层…...