- lucky记录186天
杉杉妈Alice
2021年08月10日扇贝每日一句2022年倒计时143天Yourlifedoesnotgetbetterbychance,itgetsbetterbychange.让生活变得更好的不是偶然,而是改变。-JimRohn今天周二按照往常每天周二的晚上才可以接她,但画画课已经结束了,所以今天5:20就去接她了。本来想着今天要好好陪她读点书,但最终也没读成。晚上我要开会,后面就跟着一起锻炼。9点多的时候
- Longfly的S英语晨读第7期训练Day2 20181225
史蒂芬SHI
原材料引用Cardio-pulmonaryresuscitation,orCPR,cansavethelifeofsomeonewhosehearthasstopped.[ˈkɑrdioʊ]-[ˈpʊlməˌnɛri][rɪˌsʌsɪˈteɪʃən],[ɔr][si-pi-ɑr],[kæn][seɪv][ðə][laɪf][ʌv][ˈsʌmˌwʌn][huz][hɑrt][hæz][stɑpt].
- American life
享悦moonlight
Word:Bummer->whatashame=太可惜了[ˈbʌmɚ]adisappointingsituation/糟糕->Itisarealbummerbombthetest->failthetesthangouthanginSubject:physicsphysicaleducationError:warmheart->warmheartedwords
- Tinker源码分析(一):TinkerApplication
俞其荣
本系列Tinker源码解析基于Tinkerv1.9.12自动生成TinkerApplication接入Tinker第一步就是改造Application。官方推荐是利用@DefaultLifeCycle动态生成Application@DefaultLifeCycle(application="tinker.sample.android.app.SampleApplication",flags=Sha
- 双语经典台词:阿甘正传
读出英文之美
1.Lifewaslikeaboxofchocolates,youneverknowwhatyou'regonnaget.生命就像一盒巧克力,结果往往出人意料。2.Stupidisasstupiddoes.蠢人做蠢事,也可理解为傻人有傻福。3.Miracleshappeneveryday.奇迹每天都在发生。4.JennyandIwaslikepeasandcarrots.我和珍妮形影不离。5.Ha
- 一个人在家开始瑜伽, 这些小步骤就可以了
江南暮烟
江南暮烟YogaLife瑜伽旅行杭城美食Yogaisthewayoflife付出时间和坚持,收获轻盈的身体和愉悦的自己。烦请关注更多讯息,告知你的疑惑和需求。江南暮烟大概瑜伽馆两年之后,开始在家里练习瑜伽了,根据自己的呼吸节奏,反而到了瑜伽馆不是很适应,偶尔会在朋友圈记录一下自己的节奏,爱瑜伽的好朋友们会关心的问,一个人在家里怎么练习瑜伽呢?没有口令,没有老师?首先呢,在家里一个人练习瑜伽,都是在
- [Vue warn]: onUnmounted is called when there is no active component instance to be associated with
扬帆起航&d
vue.jsjavascript前端ecmascript前端框架
[Vuewarn]:onUnmountediscalledwhenthereisnoactivecomponentinstancetobeassociatedwith.LifecycleinjectionAPIscanonlybeusedduringexecutionofsetup().Ifyouareusingasyncsetup(),makesuretoregisterlifecyclehoo
- Uni-app 生命周期与钩子:程序的“生命”旅程
普宁Max
uni-appvue
Uni-app生命周期与钩子一、应用生命周期(AppLifecycle)onLaunch什么时候触发?常用场景?onShow什么时候触发?常用场景?onHide什么时候触发?常用场景?onError什么时候触发?常用场景?onPageNotFound什么时候触发?常用场景?onUnhandledRejection什么时候触发?常用场景?onThemeChange什么时候触发?常用场景?二、页面生命
- android mvvm官方demo,Android mvvm架构demo(DataBinding+LiveData+ViewModel+ Repository)
1.实现效果实现页面加载Bing每日一图的功能2.项目结构image(忽略没有按分类创建).png3.实现过程1.注入依赖//ViewModel与LiveDataimplementation"android.arch.lifecycle:extensions:1.1.1"//图片加载implementation'com.github.bumptech.glide:glide:4.9.0'//网络请
- [netty5: LifecycleTracer & ResourceSupport]-源码分析
idolyXyz
netty5-源码阅读nettynetty-buffer
LifecycleTracer@UnstableApipublicabstractclassLifecycleTracer{//默认关闭staticfinalbooleanlifecycleTracingEnabled=SystemPropertyUtil.getBoolean("io.netty5.buffer.lifecycleTracingEnabled",false);//重点!publi
- Spring Boot Bean 的生命周期管理:从创建到销毁
SpringBootBean的生命周期管理:从创建到销毁引言在SpringBoot应用中,Bean是构成应用程序的基本构建块。它们由Spring容器(ApplicationContext)负责创建、管理和维护。理解Bean的生命周期(BeanLifecycle)对于开发者来说至关重要,这有助于我们在Bean的不同阶段执行自定义逻辑,例如初始化资源、清理连接等,从而更好地控制应用程序的行为。本文将深
- Spring Bean 生命周期 SmartLifecycle接口介绍和使用场景 和 Lifecycle对比
极光雨雨
#Spring全家springjava
在SpringBoot中,SmartLifecycle是org.springframework.context.Lifecycle接口的一个扩展接口,它提供了更细粒度的控制生命周期的方法。Spring容器管理Bean的生命周期时,可以通过实现SmartLifecycle接口来定义自定义的启动和关闭逻辑。一、使用前提需要在Spring容器启动完成后执行某些初始化操作。需要在应用关闭前做一些清理工作(
- thinkphp(thinkcmf)前端 “加载更多功能“ 知识点
$(function(){ //点击加载更多 varendNum=0; $("#getMore").click(function(){ varstartNum=endNum; vardisNum=2 endNum=startNum+disNum; $.ajax({ url:"__ROOT__/api/blog/life/do
- 文心快码流行音乐现场「不加班Live」报名开启!附主题曲发布
人工智能程序员知识观点资讯
百度智能代码助手文心快码(BaiduComate)一直以来为开发者提供“快人一步”的编码体验我们助力编程工作更加高效也期待开发者能够拥有更多拥抱生活的时光六十年前,开发者用穿孔卡片写下第一个“HelloWorld”2025年6月23日ComateAIIDE正式发布让这句问候有了新的回响"HelloWorld,HelloLife!"文心快码正在用技术创新帮助每个有梦想的人构建他们的世界为了更具象化呈
- 这几个 Vibe Coding 经验,真的建议学!
前端后端观点
大家好,我是Immerse,一名独立开发者、内容创作者、AGI实践者。关注公众号:#沉浸式趣谈,获取最新文章(更多内容只在公众号更新)个人网站:https://yaolifeng.com也同步更新。转载请在文章开头注明出处和版权信息。我会在这里分享关于编程、独立开发、AI干货、开源、个人思考等内容。如果本文对您有所帮助,欢迎动动小手指一键三连(点赞、评论、转发),给我一些支持和鼓励,谢谢!最近看了
- python# python:3.5 aarch64构建镜像
Ling丶落
centos
构建失败从ubuntu中尝试构建FROMpython:3.5-slimLABELMAINTAINER="
[email protected]"#installrelatedpackagesENVENVIRONMENTDOCKER_PRODWORKDIR/workCOPY./dataset.py/work/dataset.pyCOPY./model.py/work/model.pyCOPY./PyA
- Vue+Openlayers加载OSM、加载天地图
文章目录1.介绍2.加载底图2.1加载默认OSM地图2.2加载天地图1.介绍Openlayers官网:https://openlayers.org/安裝依赖:npmiol2.加载底图参考博客:vue+openlayers环境配置:https://blog.csdn.net/cuclife/article/details/126195754加载天地图:https://blog.csdn.net/we
- 【Vue.js】 Mixin 局部混入与全局混入的介绍和使用总结以及优缺点分析
生活、追梦者
vuevue.js前端javascript
1.Vue.jsMixin概述1.1Mixin的定义与作用Mixin在Vue.js中是一种灵活的组件复用机制。它允许我们将多个组件之间的共通功能抽象出来,形成一个混入对象。这样,我们就可以避免在多个组件中重复编写相同的代码,提高代码的复用性和可维护性。Mixin对象可以包含多种组件选项,如数据(data)、计算属性(computed)、方法(methods)、生命周期钩子(lifecyclehoo
- 【Android】使用ViewTreeLifecycleOwner获取Lifecycle
fundroid
KotlinAndroidAndroidLifecycleKTX
ViewTreeLifecycleOwner是什么?ViewTreeLifecycleOwner是LifecycleKTX中提供的View的一个扩展方法,可以快速地获取一个最近的Fragment或者Activity的LifecycleOwner。view.findViewTreeLifecycleOwner()实现原理?ComponentActivity通过ViewTreeLifecycleOwn
- java分析tomcat日志_tomcat日志采集
催眠神兔
java分析tomcat日志
1、采集tomcat确实比之前的需求复杂很多,我在搭建了一个tomcat的环境,然后产生如下报错先贴出来:Jan05,201710:53:35AMorg.apache.catalina.core.AprLifecycleListenerlifecycleEventINFO:TheAPRbasedApacheTomcatNativelibrarywhichallowsoptimalperforman
- jenkins maven项目构建 踩坑
奇缘志骄✘
jenkinsmaven
jenkinsmaven项目构建踩坑Nogoalshavebeenspecifiedforthisbuild.Youmustspecifyavalidlifecyclephaseoragoalintheformat:or:[:]:.Availablelifecyclephasesare:pre-clean,clean,post-clean,validate,initialize,generate-
- Python咒语大全(学习笔记与使用指南)
桑迪Sandy.Q
Pythonpython开发语言
目录字符串格式限制,%xd(整数),%x.yf(小数点浮点数)f“内容{变量}快速格式化案例1:股价预测INPUT语句案例2:INPUT登陆界面语句布尔类型函数基础运用案例3:比较运算符的运用IF语句基本格式案例4:IF语句+INPUT语句练习案例5:IFELSE语句案例6:IFELIFELSE语句案例7:猜数字小游戏案例8:IFELSE嵌套规则案例9:IFELSE嵌套(符合工龄的员工可享受旅游)
- 分享一个 Cursor mdc 生成器,基于 Gemini 2.5,很实用!
前端cursor后端
大家好,我是Immerse,一名独立开发者、内容创作者。关注公众号:#沉浸式趣谈,获取最新文章(更多内容只在公众号更新)个人网站:https://yaolifeng.com也同步更新。转载请在文章开头注明出处和版权信息。我会在这里分享关于编程、独立开发、AI干货、开源、个人思考等内容。如果本文对您有所帮助,欢迎动动小手指一键三连(点赞、评论、转发),给我一些支持和鼓励,谢谢!大部分小伙伴现在应该都
- Android Jetpack架构组件(四)之LiveData
xiangzhihong8
深入Android应用开发
一、LiveData简介LiveData是Jetpack架构组件Lifecycle库的一部分,是一个可感知生命周期的可观察容器类(Observable)。与常规的可观察类不同,LiveData具有生命周期感知能力,这意味着它具有感知应用组件(如Activity、Fragment或Service)的生命周期的能力,并且LiveData仅更新处于活跃生命周期状态的应用组件观察者。因此,LiveData
- 手车互联基本介绍
车载开发
手车互联手车互联车载应用
目前常用的手车互联功能有CarPlay,AndroidAuto,CarLife,HiCar,Carlink等,其中AndrodiAuto在国外用得比较多,国内目前是CarPlay和CarLife比较多,HiCar和Carlink是最近几年才有的,势头也很猛;本人从事车载开发10余年,参与过这些功能的开发和认证,以下从认证的角度给出难易程度,五星最难,CarPlay:☆☆☆☆☆AndroidAuto
- C#.NET Autofac 详解
c#.net
简介Autofac是一个成熟的、功能丰富的.NET依赖注入(DI)容器。相比于内置容器,它额外提供:模块化注册、装饰器(Decorator)、拦截器(Interceptor)、强o的属性/方法注入支持、基于约定的程序集扫描等特性。核心组件ContainerBuilder:用于注册服务的构建器IContainer:服务容器,负责解析依赖ILifetimeScope:生命周期作用域,管理对象生命周期M
- Vue3 Lifecycle Hooks
Vue3生命周期钩子详解Vue3的生命周期钩子分为OptionsAPI和CompositionAPI两种使用方式,核心流程相同但语法有差异。以下是完整生命周期流程和每个钩子的详细说明:CompositionAPI生命周期流程图实际参数{{count}}import{ref,onBeforeMount,onMounted,onBeforeUpdate,onUpdated,onBeforeUnmoun
- 常见专业术语:
组织过程定义控制程序processfororganizationalprocessdefinition软件生命周期模型softwarelifecyclemodel组织标准过程集合描述descriptionoforganization'ssetofstandardprocess.组织标准过程裁剪指南tailoringguidelinefororganizationalstandardprocess过
- 雅思英语----写作观点表达(一)
dulu~dulu
雅思雅思英语笔记雅思英语写作雅思写作话题
目录(1)犯罪话题(2)压力的来源(3)人口老龄化(4)接受教育(5)房屋问题1.保护老建筑2.住房紧缺雅思写作观点用在核心段的逻辑:观点表述+举例:Itisevidentthatlivingasimplelifemakesgreatcontributionstocombatingenvironmentalchallenges.Forexample,ifpeoplechoosetospendhol
- Unity脚本--01-脚本书写规则-脚本生命周期-脚本调试-常用API
秦果
开发语言
一、脚本书写规则脚本:.cs的文本文件类文件作用:附加到游戏物体中,定义游戏对象行为指令的代码与C#类的区别:脚本只有字段和方法,没有自动属性和构造函数publicintA{get{returna;}set{a=value;}}属性定义了在unity中不会显示publicLifecycle(){Debug.Log("构造函数")//b=Time.time;}不要在脚本中写构造函数,因为不能在子线程
- eclipse maven
IXHONG
eclipse
eclipse中使用maven插件的时候,运行run as maven build的时候报错
-Dmaven.multiModuleProjectDirectory system propery is not set. Check $M2_HOME environment variable and mvn script match.
可以设一个环境变量M2_HOME指
- timer cancel方法的一个小实例
alleni123
多线程timer
package com.lj.timer;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class MyTimer extends TimerTask
{
private int a;
private Timer timer;
pub
- MySQL数据库在Linux下的安装
ducklsl
mysql
1.建好一个专门放置MySQL的目录
/mysql/db数据库目录
/mysql/data数据库数据文件目录
2.配置用户,添加专门的MySQL管理用户
>groupadd mysql ----添加用户组
>useradd -g mysql mysql ----在mysql用户组中添加一个mysql用户
3.配置,生成并安装MySQL
>cmake -D
- spring------>>cvc-elt.1: Cannot find the declaration of element
Array_06
springbean
将--------
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3
- maven发布第三方jar的一些问题
cugfy
maven
maven中发布 第三方jar到nexus仓库使用的是 deploy:deploy-file命令
有许多参数,具体可查看
http://maven.apache.org/plugins/maven-deploy-plugin/deploy-file-mojo.html
以下是一个例子:
mvn deploy:deploy-file -DgroupId=xpp3
- MYSQL下载及安装
357029540
mysql
好久没有去安装过MYSQL,今天自己在安装完MYSQL过后用navicat for mysql去厕测试链接的时候出现了10061的问题,因为的的MYSQL是最新版本为5.6.24,所以下载的文件夹里没有my.ini文件,所以在网上找了很多方法还是没有找到怎么解决问题,最后看到了一篇百度经验里有这个的介绍,按照其步骤也完成了安装,在这里给大家分享下这个链接的地址
- ios TableView cell的布局
张亚雄
tableview
cell.imageView.image = [UIImage imageNamed:[imageArray objectAtIndex:[indexPath row]]];
CGSize itemSize = CGSizeMake(60, 50);
&nbs
- Java编码转义
adminjun
java编码转义
import java.io.UnsupportedEncodingException;
/**
* 转换字符串的编码
*/
public class ChangeCharset {
/** 7位ASCII字符,也叫作ISO646-US、Unicode字符集的基本拉丁块 */
public static final Strin
- Tomcat 配置和spring
aijuans
spring
简介
Tomcat启动时,先找系统变量CATALINA_BASE,如果没有,则找CATALINA_HOME。然后找这个变量所指的目录下的conf文件夹,从中读取配置文件。最重要的配置文件:server.xml 。要配置tomcat,基本上了解server.xml,context.xml和web.xml。
Server.xml -- tomcat主
- Java打印当前目录下的所有子目录和文件
ayaoxinchao
递归File
其实这个没啥技术含量,大湿们不要操笑哦,只是做一个简单的记录,简单用了一下递归算法。
import java.io.File;
/**
* @author Perlin
* @date 2014-6-30
*/
public class PrintDirectory {
public static void printDirectory(File f
- linux安装mysql出现libs报冲突解决
BigBird2012
linux
linux安装mysql出现libs报冲突解决
安装mysql出现
file /usr/share/mysql/ukrainian/errmsg.sys from install of MySQL-server-5.5.33-1.linux2.6.i386 conflicts with file from package mysql-libs-5.1.61-4.el6.i686
- jedis连接池使用实例
bijian1013
redisjedis连接池jedis
实例代码:
package com.bijian.study;
import java.util.ArrayList;
import java.util.List;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoo
- 关于朋友
bingyingao
朋友兴趣爱好维持
成为朋友的必要条件:
志相同,道不合,可以成为朋友。譬如马云、周星驰一个是商人,一个是影星,可谓道不同,但都很有梦想,都要在各自领域里做到最好,当他们遇到一起,互相欣赏,可以畅谈两个小时。
志不同,道相合,也可以成为朋友。譬如有时候看到两个一个成绩很好每次考试争做第一,一个成绩很差的同学是好朋友。他们志向不相同,但他
- 【Spark七十九】Spark RDD API一
bit1129
spark
aggregate
package spark.examples.rddapi
import org.apache.spark.{SparkConf, SparkContext}
//测试RDD的aggregate方法
object AggregateTest {
def main(args: Array[String]) {
val conf = new Spar
- ktap 0.1 released
bookjovi
kerneltracing
Dear,
I'm pleased to announce that ktap release v0.1, this is the first official
release of ktap project, it is expected that this release is not fully
functional or very stable and we welcome bu
- 能保存Properties文件注释的Properties工具类
BrokenDreams
properties
今天遇到一个小需求:由于java.util.Properties读取属性文件时会忽略注释,当写回去的时候,注释都没了。恰好一个项目中的配置文件会在部署后被某个Java程序修改一下,但修改了之后注释全没了,可能会给以后的参数调整带来困难。所以要解决这个问题。
&nb
- 读《研磨设计模式》-代码笔记-外观模式-Facade
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
/*
* 百度百科的定义:
* Facade(外观)模式为子系统中的各类(或结构与方法)提供一个简明一致的界面,
* 隐藏子系统的复杂性,使子系统更加容易使用。他是为子系统中的一组接口所提供的一个一致的界面
*
* 可简单地
- After Effects教程收集
cherishLC
After Effects
1、中文入门
http://study.163.com/course/courseMain.htm?courseId=730009
2、videocopilot英文入门教程(中文字幕)
http://www.youku.com/playlist_show/id_17893193.html
英文原址:
http://www.videocopilot.net/basic/
素
- Linux Apache 安装过程
crabdave
apache
Linux Apache 安装过程
下载新版本:
apr-1.4.2.tar.gz(下载网站:http://apr.apache.org/download.cgi)
apr-util-1.3.9.tar.gz(下载网站:http://apr.apache.org/download.cgi)
httpd-2.2.15.tar.gz(下载网站:http://httpd.apac
- Shell学习 之 变量赋值和引用
daizj
shell变量引用赋值
本文转自:http://www.cnblogs.com/papam/articles/1548679.html
Shell编程中,使用变量无需事先声明,同时变量名的命名须遵循如下规则:
首个字符必须为字母(a-z,A-Z)
中间不能有空格,可以使用下划线(_)
不能使用标点符号
不能使用bash里的关键字(可用help命令查看保留关键字)
需要给变量赋值时,可以这么写:
- Java SE 第一讲(Java SE入门、JDK的下载与安装、第一个Java程序、Java程序的编译与执行)
dcj3sjt126com
javajdk
Java SE 第一讲:
Java SE:Java Standard Edition
Java ME: Java Mobile Edition
Java EE:Java Enterprise Edition
Java是由Sun公司推出的(今年初被Oracle公司收购)。
收购价格:74亿美金
J2SE、J2ME、J2EE
JDK:Java Development
- YII给用户登录加上验证码
dcj3sjt126com
yii
1、在SiteController中添加如下代码:
/**
* Declares class-based actions.
*/
public function actions() {
return array(
// captcha action renders the CAPTCHA image displ
- Lucene使用说明
dyy_gusi
Lucenesearch分词器
Lucene使用说明
1、lucene简介
1.1、什么是lucene
Lucene是一个全文搜索框架,而不是应用产品。因此它并不像baidu或者googleDesktop那种拿来就能用,它只是提供了一种工具让你能实现这些产品和功能。
1.2、lucene能做什么
要回答这个问题,先要了解lucene的本质。实际
- 学习编程并不难,做到以下几点即可!
gcq511120594
数据结构编程算法
不论你是想自己设计游戏,还是开发iPhone或安卓手机上的应用,还是仅仅为了娱乐,学习编程语言都是一条必经之路。编程语言种类繁多,用途各 异,然而一旦掌握其中之一,其他的也就迎刃而解。作为初学者,你可能要先从Java或HTML开始学,一旦掌握了一门编程语言,你就发挥无穷的想象,开发 各种神奇的软件啦。
1、确定目标
学习编程语言既充满乐趣,又充满挑战。有些花费多年时间学习一门编程语言的大学生到
- Java面试十问之三:Java与C++内存回收机制的差别
HNUlanwei
javaC++finalize()堆栈内存回收
大家知道, Java 除了那 8 种基本类型以外,其他都是对象类型(又称为引用类型)的数据。 JVM 会把程序创建的对象存放在堆空间中,那什么又是堆空间呢?其实,堆( Heap)是一个运行时的数据存储区,从它可以分配大小各异的空间。一般,运行时的数据存储区有堆( Heap)和堆栈( Stack),所以要先看它们里面可以分配哪些类型的对象实体,然后才知道如何均衡使用这两种存储区。一般来说,栈中存放的
- 第二章 Nginx+Lua开发入门
jinnianshilongnian
nginxlua
Nginx入门
本文目的是学习Nginx+Lua开发,对于Nginx基本知识可以参考如下文章:
nginx启动、关闭、重启
http://www.cnblogs.com/derekchen/archive/2011/02/17/1957209.html
agentzh 的 Nginx 教程
http://openresty.org/download/agentzh-nginx-tutor
- MongoDB windows安装 基本命令
liyonghui160com
windows安装
安装目录:
D:\MongoDB\
新建目录
D:\MongoDB\data\db
4.启动进城:
cd D:\MongoDB\bin
mongod -dbpath D:\MongoDB\data\db
&n
- Linux下通过源码编译安装程序
pda158
linux
一、程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 库文件:就是通常我们见到的lib目录下的文件 配置文件:这个不必多说,都知道 帮助文档:通常是我们在linux下用man命令查看的命令的文档
二、linux下程序的存放目录 linux程序的存放目录大致有三个地方: /etc, /b
- WEB开发编程的职业生涯4个阶段
shw3588
编程Web工作生活
觉得自己什么都会
2007年从学校毕业,凭借自己原创的ASP毕业设计,以为自己很厉害似的,信心满满去东莞找工作,找面试成功率确实很高,只是工资不高,但依旧无法磨灭那过分的自信,那时候什么考勤系统、什么OA系统、什么ERP,什么都觉得有信心,这样的生涯大概持续了约一年。
根本不是自己想的那样
2008年开始接触很多工作相关的东西,发现太多东西自己根本不会,都需要去学,不管是asp还是js,
- 遭遇jsonp同域下变作post请求的坑
vb2005xu
jsonp同域post
今天迁移一个站点时遇到一个坑爹问题,同一个jsonp接口在跨域时都能调用成功,但是在同域下调用虽然成功,但是数据却有问题. 此处贴出我的后端代码片段
$mi_id = htmlspecialchars(trim($_GET['mi_id ']));
$mi_cv = htmlspecialchars(trim($_GET['mi_cv ']));
贴出我前端代码片段:
$.aj