文章目录题目描述输入描述输出描述用例JS算法源码Java算法源码python算法源码c算法源码c++算法源码题目描述给定一个正整数数组,设为nums,最大为100个成员,求从第一个成员开始,正好走到数组最后一个成员,所使用的最少步骤数。要求:1.第一步必须从第一元素开始,且1<=第一步的步长
正则表达式完全指南
silver687
正则表达式
正则表达式完全指南正则表达式(RegularExpression,简称regex或regexp)是一种强大的文本处理工具,用于匹配、查找、替换等操作字符串中符合特定模式的文本。它广泛应用于各种编程语言和文本处理工具中,如Python、JavaScript、grep等。以下是对正则表达式的全面介绍。一、基本概念(一)字符集字符集是正则表达式中最基本的单元,用于匹配特定的字符。•普通字符:大多数字符,
从零创建一个 Django 项目
m0_74825172
djangopython后端
1.准备环境在开始之前,确保你的开发环境满足以下要求:安装了Python(推荐3.8或更高版本)。安装pip包管理工具。如果要使用MySQL或PostgreSQL,确保对应的数据库已安装。创建虚拟环境在项目目录中创建并激活虚拟环境,保证项目依赖隔离:#创建虚拟环境python-mvenvenv#激活虚拟环境#WindowsenvScriptsactivate#Linux/Macsourceenv/
python学习笔记
浅夏入秋^_^
Python编程语言python学习开发语言
python学习笔记第1-3章基础知识https://www.jetbrains.com/help/pycharm/小技巧:如果在编辑器中未选择任何内容,按⌘C可将文本光标处的整行复制到剪贴板。按两次⌃Space可调用代码补全功能的特殊变体,这样您可以从没有在当前文件中声明的命名空间补全XML标记名称。如果命名空间尚未声明,则会自动生成声明。使用代码|检查代码可对整个项目或自定义范围运行代码分析,
Node.js Express与MongoDB博客系统开发实战
凯二七
本文还有配套的精品资源,点击获取简介:本项目采用Node.js及其Express框架,结合MongoDB非关系型数据库,构建一个基于RESTfulAPI的Web博客服务。通过CRUD操作实现文章的发布、阅读、编辑和删除功能。项目强调了Node.js的异步I/O和事件驱动特性,以及MongoDB处理大规模、复杂数据集的能力,适合进行毕业设计等综合性开发任务。1.Node.js技术介绍与应用Node.
Python怎么开发Unity
Jacob Piao
unityc#游戏引擎开发语言
你可以使用Python来开发Unity游戏引擎的脚本。要在Unity中使用Python,你需要安装一个能够将Python代码转换为可以在Unity中运行的C#代码的工具。有几种方法可以实现这一点:使用IronPython:IronPython是一个基于.NET的Python实现,它可以在Unity中直接运行Python代码。使用PyUnity:PyUnity是一个能够将Python代码转换为Uni
华为OD机试2024年E卷-最长连续交替方波信号[200分]( Java | Python3 | C++ | C语言 | JsNode | Go)实现100%通过率
梅花C
华为OD题库华为od
题目描述输入一串方波信号,求取最长的完全连续交替方波信号,并将其输出,如果有相同长度的交替方波信号,输出任一即可,方波信号高位用1标识,低位用0标识如图:说明:一个完整的信号一定以0开始然后以0结尾,即010是一个完整的信号,但101,1010,0101不是输入的一串方波信号是由一个或多个完整信号组成两个相邻信号之间可能有0个或多个低位,如0110010,011000010同一个信号中可以有连续的
unity支持python吗_在C#或Unity中执行Python脚本
weixin_39776817
unity支持python吗
IusedKerasinPythontodesignaneuralnetworkcalculatingsomethinglikeanoise-reducing-function.Itworksprettygoodsofar,andnowIwanttousethisnetworktocleanthedatainsideaUnity-Projectofmine.Iwouldnothavethought
python图片分析中央气象台降水_python 画降水量色斑图问题
weixin_39884100
#引用部分importnumpyasnpimportpandasaspdfromscipy.interpolateimportRbf#径向基函数:将站点信息插到格点上用于绘制等值线importmatplotlib.pyplotaspltimportmatplotlib.colorsascolorsimportmatplotlibasmplimportcartopy.crsasccrsimportc
《CPython Internals》阅读笔记:p221-p231
python
《CPythonInternals》学习第12天,p221-p231总结,总计11页。一、技术总结无。二、英语总结(生词:2)1.atatimeidiom.separately(单独地)inthespecifiedgroups(一次)。示例:(1)Icanonlydoonethingatatim(我一次只能做一件事)。(2)Wecarriedtheboxestwoatatimeupthestair
从零开始,掌握Django Web开发
ivwdcwso
开发django前端pythonweb开发
1.Django简介Django是一个强大的PythonWeb框架,它使开发人员能够快速构建安全、可扩展的Web应用程序。让我们深入了解Django的特性和优势。1.1什么是Django?Django是一个高级PythonWeb框架,于2005年首次发布。它由新闻网站的开发人员创建,旨在处理快节奏的新闻编辑室环境中的挑战。Django遵循"不要重复自己"(DRY)和"约定优于配置"的原则。Djan
Python字符串常用操作
Taichi呀
pythonpython开发语言
Python字符串常用操作一、字符串的切片1.1、通过下标及下标范围取值my_str='myNameIsTaichi'value1=my_str[2]#正向Nvalue2=my_str[-5]#反向从-1开始a字符串分割,语法:string[end:step]start:头下标,以0开始end:尾下表,以-1开始step步长str="abc-123-如果我是DJ你会爱我吗.mp4"print(st
Jetson Nano部署TensorRT加速的YOLO V8
Hylan_J
学习项目YOLOgithubarm开发
JetsonNano部署YOLOV8刷JetPack镜像Step1:格式化SD卡Step2:下载镜像文件Step3:烧录镜像文件Python环境配置Solution1:更改默认的Python环境Solution2:使用conda管理Python环境YOLOV8部署Step1:源码下载Step2:trtexec环境变量设置Step3:pt权重文件导出为ONNX格式Step4:ONNX文件生成engi
DuckDB-Wasm 库详解
maply
Node.jswasm前端node.js数据库IndexedDB
DuckDB-Wasm详解DuckDB-Wasm是一种浏览器端实现的DuckDB数据库技术,旨在将DuckDB的强大功能移植到浏览器环境中,通过WebAssembly技术在浏览器内运行SQL查询。它为处理本地数据、快速分析和交互式数据探索提供了一种高效的解决方案,避免了服务器端依赖。1.DuckDB简介DuckDB是一个开源的列存储数据库,专注于在线分析处理(OLAP),特别适合处理中小型数据集。
在Unity中如何使用Python
乐极老人*逢人打
unitypython游戏引擎
Unity本身并不直接支持Python作为脚本语言。Unity主要使用C#作为其主要的脚本语言,也支持UnityScript(一种类似JavaScript的语言,但已经逐渐被淘汰)和BOO(也已被淘汰)。然而,虽然Unity不直接支持Python,但你仍然有一些方法可以在Unity项目中使用Python。使用外部进程调用Python:你可以在Unity中创建一个外部进程来运行Python脚本。这可
Python脚本发送接收组播报文
dangdanding
Python网络编程网络python
组播发送脚本pythonsend_mcast.py-g232.1.2.3-p12345#!/usr/bin/python#-*-coding:utf-8-*-importsocketimportstructimportosimportargparseimportlogging#组播组地址,范围是224.0.0.0-239.255.255.255,这里选用224.0.0.1作为示例multicast
Python基于Scapy的抓包协议分析器
dangdanding
scapypython
scapy可以使用那些协议-CSDN原理:模仿wireshark,利用python的scapy模块下的sniff()函数进行数据的抓取,并进行所谓的“消费者处理”即跟据OSI网络协议模型进行协议分析。将整个程序精简的概括得到最关键的一句代码:sniff(prn=lambdapkt:packet_consumer(pkt),stop_filter=lambdapkt:stop_sniff_event
Objective-C语言的数据库交互
Code花园
包罗万象golang开发语言后端
Objective-C语言的数据库交互引言在现代应用程序开发过程中,数据库在数据存储和管理方面起着至关重要的作用。对于iOS应用开发者而言,掌握如何在Objective-C中与数据库交互显得尤为重要。本文将全面探讨Objective-C的数据库交互,包括SQLite的基本用法、数据模型的设计、常用的数据库操作及在实际应用中的综合示例。1.数据库基础在深入Objective-C的数据库交互之前,我们
史上最全!Python爬虫requests库(附案例)
疯狂的超级玛丽
PythonPython学习Python入门python爬虫开发语言学习Python基础python自学
1.requests库简介如果你正在学习Python并且找不到方向的话可以试试我这一份学习方法+籽料呀!点击领取(不要米米)Requests是一个为人类设计的简单而优雅的HTTP库。requests库是一个原生的HTTP库,比urllib3库更为容易使用。requests库发送原生的HTTP1.1请求,无需手动为URL添加查询串,也不需要对POST数据进行表单编码。相对于urllib3库,requ
Dexie.js内存管理技巧:在大型数据集操作中避免浏览器崩溃
maply
前端Node.jsjavascript前端Dexie.jsIndexedDB数据库内存管理
Dexie.js内存管理技巧:避免浏览器崩溃在使用Dexie.js操作大型数据集时,如果不注意内存管理,可能会导致浏览器内存溢出(OOM,OutofMemory)或崩溃。因此,以下内存管理技巧可用于优化性能,减少内存使用,避免浏览器崩溃。1.避免一次性加载大量数据当数据量较大时,不要一次性加载整个数据集,否则会导致浏览器占用过多内存。IndexedDB是基于磁盘的数据库,Dexie.js提供了流式
【华为OD机试真题】56、 构成正方形的数量 | 机试真题+思路参考+代码解析(C语言、C++、Java、Py、JS)
鲨鱼狼臧
华为odc语言c++javascript构成正方形的数量java
文章目录一、题目题目描述输入输出样例1样例2样例3样例4样例5样例6样例7二、代码与思路参考C语言思路C代码C++语言思路C++代码Java语言思路Java代码Python语言思路Python代码JS语言思路JS代码作者:鲨鱼狼臧个人博客首页:鲨鱼狼臧专栏介绍:2023华为OD机试真题,使用C、C++、JS、Java、Python五种语言进行解答,专栏每篇文章都包括真题,思路参考,代码分析,订阅有
使用idea如何打开python项目
梅有卷呀
pythonintellij-idea
1.查看python路径,win+R==>cmd==>wherepython,可以找到python.exe文件2.解决方案:1.首先找到python安装位置。(如:D:\VS2019\共享组件、工具和SDK\Python37_64)2.查找pip工具路径。(Python37_64->Scripts->pip)3.修改环境变量PATH。(这台电脑->属性->高级系统设置->高级->环境变量->系统变
python爬虫scrapy爬取新闻标题及链接_18Python爬虫---CrawlSpider自动爬取新浪新闻网页标题和链接...
珍妮赵
一、爬取新浪新闻思路1、创建scrapy项目2、分析新浪新闻网站静态页面代码3、编写对应的xpath公式4、写代码二、项目代码步骤1、创建scrapy项目scrapystartprojectmycwpjt步骤2、分析新浪网站静态代码随便打开一个新浪新闻网,新闻可以看到地址为http://news.sina.com.cn/gov/xlxw/2018-03-21/doc-ifyskeue0491622
python图片分析中央气象台降水量预报_全国天气降水量预报图数据接口
周美灵是我大姐头
全国天气降水量预报图接口免费在线测试此接口(需要登录)接口每两小时更新一次,一天调取1-2次即可,返回3张图:24、48、72小时,请勿频繁调用!。请求方式及url:请求方式:GET接口地址:https://tianqiapi.com/api请求示例https://tianqiapi.com/api?version=v8&appid=&appsecret=请求参数说明:参数名必选类型说明备注(示例
深度学习驱动的极端天气预测:时空数据异常检测与应用全解析(基于Python + TensorFlow)
AI_DL_CODE
深度学习pythontensorflow人工智能天气预测
摘要:时空数据异常检测在气象领域识别偏离正常模式的数据点,对极端天气预测至关重要。深度学习,尤其是LSTM网络,因其强大的特征学习能力在该领域显示出巨大潜力。通过整合多源气象数据,深度学习模型能够自动挖掘复杂模式和非线性关系,提高预测准确性。然而,挑战依然存在,包括数据质量问题、模型可解释性不足以及极端天气的内在复杂性和不确定性。未来,通过模型架构创新、训练算法优化以及探索深度学习在气候预测、气象
Python 正则表达式
weixin_34319640
python爬虫
最近研究Python爬虫,很多地方用到了正则表达式,但是没好好研究,每次都得现查文档。今天就专门看看Python正则表达式。本文参考了官方文档re模块。模式首先正则表达式的语法我就不说了,这玩意倒是不算难,用的时候现查就行了——正则表达式_百度百科。在很多编程语言中,由于有转义字符这么一种东西的存在,导致正则表达式需要使用两个斜杠来处理。如果编程语言支持原始字符串,那么就不需要两个斜杠了。在Pyt
Spring4.1新特性——Spring MVC增强
jinnianshilongnian
spring 4.1
目录
Spring4.1新特性——综述
Spring4.1新特性——Spring核心部分及其他
Spring4.1新特性——Spring缓存框架增强
Spring4.1新特性——异步调用和事件机制的异常处理
Spring4.1新特性——数据库集成测试脚本初始化
Spring4.1新特性——Spring MVC增强
Spring4.1新特性——页面自动化测试框架Spring MVC T
mysql 性能查询优化
annan211
javasql优化mysql应用服务器
1 时间到底花在哪了?
mysql在执行查询的时候需要执行一系列的子任务,这些子任务包含了整个查询周期最重要的阶段,这其中包含了大量为了
检索数据列到存储引擎的调用以及调用后的数据处理,包括排序、分组等。在完成这些任务的时候,查询需要在不同的地方
花费时间,包括网络、cpu计算、生成统计信息和执行计划、锁等待等。尤其是向底层存储引擎检索数据的调用操作。这些调用需要在内存操
windows系统配置
cherishLC
windows
删除Hiberfil.sys :使用命令powercfg -h off 关闭休眠功能即可:
http://jingyan.baidu.com/article/f3ad7d0fc0992e09c2345b51.html
类似的还有pagefile.sys
msconfig 配置启动项
shutdown 定时关机
ipconfig 查看网络配置
ipconfig /flushdns
人体的排毒时间
Array_06
工作
========================
|| 人体的排毒时间是什么时候?||
========================
转载于:
http://zhidao.baidu.com/link?url=ibaGlicVslAQhVdWWVevU4TMjhiKaNBWCpZ1NS6igCQ78EkNJZFsEjCjl3T5EdXU9SaPg04bh8MbY1bR
ZooKeeper
cugfy
zookeeper
Zookeeper是一个高性能,分布式的,开源分布式应用协调服务。它提供了简单原始的功能,分布式应用可以基于它实现更高级的服务,比如同步, 配置管理,集群管理,名空间。它被设计为易于编程,使用文件系统目录树作为数据模型。服务端跑在java上,提供java和C的客户端API。 Zookeeper是Google的Chubby一个开源的实现,是高有效和可靠的协同工作系统,Zookeeper能够用来lea
网络爬虫的乱码处理
随意而生
爬虫网络
下边简单总结下关于网络爬虫的乱码处理。注意,这里不仅是中文乱码,还包括一些如日文、韩文 、俄文、藏文之类的乱码处理,因为他们的解决方式 是一致的,故在此统一说明。 网络爬虫,有两种选择,一是选择nutch、hetriex,二是自写爬虫,两者在处理乱码时,原理是一致的,但前者处理乱码时,要看懂源码后进行修改才可以,所以要废劲一些;而后者更自由方便,可以在编码处理
Xcode常用快捷键
张亚雄
xcode
一、总结的常用命令:
隐藏xcode command+h
退出xcode command+q
关闭窗口 command+w
关闭所有窗口 command+option+w
关闭当前
mongoDB索引操作
adminjun
mongodb索引
一、索引基础: MongoDB的索引几乎与传统的关系型数据库一模一样,这其中也包括一些基本的优化技巧。下面是创建索引的命令: > db.test.ensureIndex({"username":1}) 可以通过下面的名称查看索引是否已经成功建立: &nbs
成都软件园实习那些话
aijuans
成都 软件园 实习
无聊之中,翻了一下日志,发现上一篇经历是很久以前的事了,悔过~~
断断续续离开了学校快一年了,习惯了那里一天天的幼稚、成长的环境,到这里有点与世隔绝的感觉。不过还好,那是刚到这里时的想法,现在感觉在这挺好,不管怎么样,最要感谢的还是老师能给这么好的一次催化成长的机会,在这里确实看到了好多好多能想到或想不到的东西。
都说在外面和学校相比最明显的差距就是与人相处比较困难,因为在外面每个人都
Linux下FTP服务器安装及配置
ayaoxinchao
linuxFTP服务器vsftp
检测是否安装了FTP
[root@localhost ~]# rpm -q vsftpd
如果未安装:package vsftpd is not installed 安装了则显示:vsftpd-2.0.5-28.el5累死的版本信息
安装FTP
运行yum install vsftpd命令,如[root@localhost ~]# yum install vsf
使用mongo-java-driver获取文档id和查找文档
BigBird2012
driver
注:本文所有代码都使用的mongo-java-driver实现。
在MongoDB中,一个集合(collection)在概念上就类似我们SQL数据库中的表(Table),这个集合包含了一系列文档(document)。一个DBObject对象表示我们想添加到集合(collection)中的一个文档(document),MongoDB会自动为我们创建的每个文档添加一个id,这个id在
JSONObject以及json串
bijian1013
jsonJSONObject
一.JAR包简介
要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包:
1.commons-lang-2.0.jar
2.commons-beanutils-1.7.0.jar
3.commons-collections-3.1.jar
&n
[Zookeeper学习笔记之三]Zookeeper实例创建和会话建立的异步特性
bit1129
zookeeper
为了说明问题,看个简单的代码,
import org.apache.zookeeper.*;
import java.io.IOException;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ThreadLocal
【Scala十二】Scala核心六:Trait
bit1129
scala
Traits are a fundamental unit of code reuse in Scala. A trait encapsulates method and field definitions, which can then be reused by mixing them into classes. Unlike class inheritance, in which each c
weblogic version 10.3破解
ronin47
weblogic
版本:WebLogic Server 10.3
说明:%DOMAIN_HOME%:指WebLogic Server 域(Domain)目录
例如我的做测试的域的根目录 DOMAIN_HOME=D:/Weblogic/Middleware/user_projects/domains/base_domain
1.为了保证操作安全,备份%DOMAIN_HOME%/security/Defa
求第n个斐波那契数
BrokenDreams
今天看到群友发的一个问题:写一个小程序打印第n个斐波那契数。
自己试了下,搞了好久。。。基础要加强了。
&nbs
读《研磨设计模式》-代码笔记-访问者模式-Visitor
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
import java.util.ArrayList;
import java.util.List;
interface IVisitor {
//第二次分派,Visitor调用Element
void visitConcret
MatConvNet的excise 3改为网络配置文件形式
cherishLC
matlab
MatConvNet为vlFeat作者写的matlab下的卷积神经网络工具包,可以使用GPU。
主页:
http://www.vlfeat.org/matconvnet/
教程:
http://www.robots.ox.ac.uk/~vgg/practicals/cnn/index.html
注意:需要下载新版的MatConvNet替换掉教程中工具包中的matconvnet:
http
ZK Timeout再讨论
chenchao051
zookeepertimeouthbase
http://crazyjvm.iteye.com/blog/1693757 文中提到相关超时问题,但是又出现了一个问题,我把min和max都设置成了180000,但是仍然出现了以下的异常信息:
Client session timed out, have not heard from server in 154339ms for sessionid 0x13a3f7732340003
CASE WHEN 用法介绍
daizj
sqlgroup bycase when
CASE WHEN 用法介绍
1. CASE WHEN 表达式有两种形式
--简单Case函数
CASE sex
WHEN '1' THEN '男'
WHEN '2' THEN '女'
ELSE '其他' END
--Case搜索函数
CASE
WHEN sex = '1' THEN
PHP技巧汇总:提高PHP性能的53个技巧
dcj3sjt126com
PHP
PHP技巧汇总:提高PHP性能的53个技巧 用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量, 单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的函数译注: PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。 1、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍
Yii框架中CGridView的使用方法以及详细示例
dcj3sjt126com
yii
CGridView显示一个数据项的列表中的一个表。
表中的每一行代表一个数据项的数据,和一个列通常代表一个属性的物品(一些列可能对应于复杂的表达式的属性或静态文本)。 CGridView既支持排序和分页的数据项。排序和分页可以在AJAX模式或正常的页面请求。使用CGridView的一个好处是,当用户浏览器禁用JavaScript,排序和分页自动退化普通页面请求和仍然正常运行。
实例代码如下:
Maven项目打包成可执行Jar文件
dyy_gusi
assembly
Maven项目打包成可执行Jar文件
在使用Maven完成项目以后,如果是需要打包成可执行的Jar文件,我们通过eclipse的导出很麻烦,还得指定入口文件的位置,还得说明依赖的jar包,既然都使用Maven了,很重要的一个目的就是让这些繁琐的操作简单。我们可以通过插件完成这项工作,使用assembly插件。具体使用方式如下:
1、在项目中加入插件的依赖:
<plugin>
php常见错误
geeksun
PHP
1. kevent() reported that connect() failed (61: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "GET / HTTP/1.1", upstream: "fastc
修改linux的用户名
hongtoushizi
linuxchange password
Change Linux Username
更改Linux用户名,需要修改4个系统的文件:
/etc/passwd
/etc/shadow
/etc/group
/etc/gshadow
古老/传统的方法是使用vi去直接修改,但是这有安全隐患(具体可自己搜一下),所以后来改成使用这些命令去代替:
vipw
vipw -s
vigr
vigr -s
具体的操作顺
第五章 常用Lua开发库1-redis、mysql、http客户端
jinnianshilongnian
nginxlua
对于开发来说需要有好的生态开发库来辅助我们快速开发,而Lua中也有大多数我们需要的第三方开发库如Redis、Memcached、Mysql、Http客户端、JSON、模板引擎等。
一些常见的Lua库可以在github上搜索,https://github.com/search?utf8=%E2%9C%93&q=lua+resty。
Redis客户端
lua-resty-r
zkClient 监控机制实现
liyonghui160com
zkClient 监控机制实现
直接使用zk的api实现业务功能比较繁琐。因为要处理session loss,session expire等异常,在发生这些异常后进行重连。又因为ZK的watcher是一次性的,如果要基于wather实现发布/订阅模式,还要自己包装一下,将一次性订阅包装成持久订阅。另外如果要使用抽象级别更高的功能,比如分布式锁,leader选举
在Mysql 众多表中查找一个表名或者字段名的 SQL 语句
pda158
mysql
在Mysql 众多表中查找一个表名或者字段名的 SQL 语句:
方法一:SELECT table_name, column_name from information_schema.columns WHERE column_name LIKE 'Name';
方法二:SELECT column_name from information_schema.colum
程序员对英语的依赖
Smile.zeng
英语程序猿
1、程序员最基本的技能,至少要能写得出代码,当我们还在为建立类的时候思考用什么单词发牢骚的时候,英语与别人的差距就直接表现出来咯。
2、程序员最起码能认识开发工具里的英语单词,不然怎么知道使用这些开发工具。
3、进阶一点,就是能读懂别人的代码,有利于我们学习人家的思路和技术。
4、写的程序至少能有一定的可读性,至少要人别人能懂吧...
以上一些问题,充分说明了英语对程序猿的重要性。骚年
Oracle学习笔记(8) 使用PLSQL编写触发器
vipbooks
oraclesql编程活动Access
时间过得真快啊,转眼就到了Oracle学习笔记的最后个章节了,通过前面七章的学习大家应该对Oracle编程有了一定了了解了吧,这东东如果一段时间不用很快就会忘记了,所以我会把自己学习过的东西做好详细的笔记,用到的时候可以随时查找,马上上手!希望这些笔记能对大家有些帮助!
这是第八章的学习笔记,学习完第七章的子程序和包之后