- 2024年Python最全Python pyinstaller打包exe最完整教程(1)
2301_82243979
程序员python服务器开发语言
3.3打包效果概述pyinstaller打包后会形成一个文件夹或单个的exe(可以用参数指定)。但不论是哪一种情况,都会包含一个exe文件,用户可以双击它运行该应用程序。假如你要打包myscript.py,那么打包完成后运行这个myscript.exe,效果就是运行myscript.py后的效果。默认情况下,打包会形成一个黑色的控制台(cmd的样子),也可以设置隐藏这个控制台。这个控制台用于为py
- Unity 打包exe时添加管理员权限
qq_38513810
unity
https://www.bilibili.com/read/cv19442832/https://www.cnblogs.com/WH-Work/p/15874391.html
- python打包的exe反编译_python反编译exe文件
weixin_39813009
python打包的exe反编译
之前记录了一个打包python为exe的文章。现在根据实例将打包后的exe还原为python文件前提是打包的文件没有加密,还没有碰到过加密的exe的例子。0x01解开exe使用pyinstxtractor.py从网上找下文件放到与exe同级目录下,方便使用。1pythonpyinstxtractor.pyxxx.exe得到一个依照exe_extracted结尾的文件夹这里面会吧当时打包exe的py
- 基于python使用ffmpeg打包exe后更换电脑操作(之一不添加环境变量而使用)
疯狂的豆包
pythonpython
Python中使用ffmpeg,是借助它的音视频处理功能,但当打包exe后,只把exe文件放到其他电脑上,并不能运行。解决方式是将在官网上下载的ffmpeg所有文件夹与exe文件放在同一文件夹下。但你会发现仍然不能使用,故这里介绍两种方式:第一种方式,当使用的电脑可以设置环境变量时,按如下操作:在电脑中找到“高级系统设置”并点击“环境变量”,在变量“Path”下设置变量(ffmpeg所在的路径)第
- python PyQt kears Tensorflow numpy 打包exe过程
lk1521769532
机器学习keraspyinstallertensorflowpyqt5系统
pyinstaller打包的文件很大使用以下代码进行打包操作尝试首先介绍我的各个Py文件各个py文件涉及的模儿第一次尝试第二种方案啊第三中方案(新建环境)最终方案好了,报错解决办法执行总结使用以下代码进行打包操作尝试首先介绍我的各个Py文件首先是我的MoodJudgement2.py。此py文件为我的程序主窗口predict.py为测试执行模型的原预测文件,为了适应此UI程序,我另改为predic
- flutter打包Execution failed for task ‘:shared_preferences:verifyReleaseResources‘.
怪脸社交
FAILURE:Buildfailedwithanexception.*Whatwentwrong:Executionfailedfortask‘:shared_preferences:verifyReleaseResources‘.>Afailureoccurredwhileexecutingcom.android.build.gradle.internal.tasks.Workers$Acti
- 想把python代码打包为exe程序?只要三步就能搞定啦
Python热衷者
最近有部分小伙伴问我,python写的项目可不可以打包成exe程序,放到没有python环境上的电脑中执行?答案当然是可以的。python有一个叫做pyinstaller的第三方库,是专门用来将python程序打包exe程序的。今天就专门给大家分享一下如何进行打包,使用之前需要大家先使用pip进行安装。环境安装安装命令:pipinstallpyinstaller如果安装失败,网络超时什么的记得换国
- 从零开始的 Tauri 开发 & 打包成 exe 【Windows 平台】
Lovely Ruby
windows
前言我翻了翻网上很多教程,并没有很全面的Windows下安装使用Tauri的笔记,鉴于之前踩过了很多坑,所以来写一篇笔记,希望需要的伙伴能够用Tauri顺利开发打包这篇文章大概讲了以下内容:安装Rust用Tauri开发和打包exe能够做什么?可以将前端的页面变成一个应用,一个可以提供某种功能的应用,具体可以看下面这个图前端的功能比较局限,比方说文件的读写啦,这时候通常是传给后端同学去处理但是,我们
- 如何用VS2022打包exe
Hat_man_
wpf
1.添加打包工具。VS2022中选择扩展->管理扩展,输入Setup,选择MicrosoftVusualStudioInstallerPorjiects2022。2.在项目选择“添加新的项目”,选择SetupProject3.生成Setup工程。4.添加为打包项目添加文件和文件夹(如果打包文件夹中还包含有文件夹,则需要添加文件夹,引文添加文件时,不会将文件夹添加进去)。选择“Application
- JavaFX IDEA 打包exe
cyy298
intellij-ideajavaide
io.github.fvarruijavapackager1.6.6packagepackagecom.navinfo.logconvert.MaintrueC:\ProgramFiles\Java\jre-17.0.2-->truefalsewindowstruelogconvertlogconvert1.0D:\Item\GD_AmtHardwareTest1.0\datasD:\Item\G
- 2021-02-21
杨佳翼
@[TOC](Python实现二维码制作并打包EXE)#安装python依赖库python实现二维码生成器软件需要用到以下几个库:1.**pillow**2.**PySimpleGUI**3.**pysimplegui-exemaker**4.**qrcode**我们先打开cmd命令行,分别输入以下命令```python1.pip3installpillow2.pip3installPySimpl
- 黑马Java——常见API
小琪爱学习
Java黑马java
目录一、游戏打包exe二、Math(一)Math类的常用方法1、代码实现(二)小结(三)练习1、练习一:改进判断一个数是否为质数2、自幂数三、System1、时间原点2、常用方法3、课堂练习4、注意事项编辑5、小结四、Runtime1、常用方法2、练习——恶搞好基友五、Object(一)Object构造方法(二)Object的成员方法1、toString()2、equals()----大厂面试题3
- Electron实战(一):环境搭建/Hello World/打包exe
liberg
Web/H5/小程序electronElectron入门Electron介绍Electron实战
文章目录Electron安装Node.jsNodeJs推荐配置开始Electron项目创建index.js文件创建src目录运行打包生成exe生成安装包踩坑下一篇Electron实战(二):将Node.js和UI能力(app/BrowserWindow/dialog)等注入htmlElectronElectron是一个使用JavaScript,HTML,CSS开发跨平台桌面应用程序的框架。Elec
- Electron实战(二):将Node.js和UI能力(app/BrowserWindow/dialog)等注入html
liberg
Web/H5/小程序electronElectronUIElectron访问fs
文章目录设置webPreferences参数安装`@electron/remote`main进程中初始化html中使用dialog踩坑参考文档上一篇:Electron实战(一):环境搭建/HelloWorld/打包exe设置webPreferences参数为了能够在html/js中访问Node.js提供fs等模块,需要在newBrowserWindow(config)的时候,设置一些参数://Lu
- nodejs中process.execPath和__dirname差异
Mr_Bobcp
node.jspkg
在使用nodejs的pkg打包工具打包exe包的时候发现引用外部文件做配置文件时需要更改path.join的参数:varconfigInfo=require(path.join(process.execPath,'../data/config.json'));//打包用varconfigInfo=require(path.join(__dirname,'../data/config.json'))
- electron入门之打包exe分发(五)
凌康ACG
electronnode.js多端electron多端node.js
electron入门到入土,前面配置阿里镜像加速。为了防止我们打包下载龟速,所以需要给electron配置阿里镜像加速。参考配置阿里云镜像https://blog.csdn.net/weixin_44480167/article/details/123670219这是一个普通项目npminstall-gcnpm--registry=https://registry.npmmirror.com全局安
- electron将vue项目打包成exe桌面应用流程及可能出现的问题
z.week
jsvuevue.jselectronjavascript
近期项目需求,把网页(基于vue)打包成exe桌面应用,在网上找到了electron;这里说说我对electron-builder的使用心得electron打包exe程序主要有两种方法:1、electron-packager:初学者入门demo传送门2、electron-builder:稍微复杂一丢丢,需要配置文件#######先将vue项目打包npmrunbuild得到dist文件夹(我这里是w
- Electron入门应用打包exe
野生程序猿_天空蓝色
WindowsElectronelectronexe
Electron入门应用打包exe(windows)Electron入门应用打包exe(windows)最近在学习nodejs,得知Electron是通过将Chromium和Node.js合并到同一个运行时环境中,用HTML,CSS和JavaScript来构建跨平台桌面应用程序的一门技术。对于之前一直从事flashAIR桌面应用开发的我迫不及待的想“尝尝鲜”。首先,我们跟着Electron社区的快
- Electron入门应用打包exe(windows)
weixin_30703911
jsonjavascript操作系统ViewUI
最近在学习nodejs,得知Electron是通过将Chromium和Node.js合并到同一个运行时环境中,用HTML,CSS和JavaScript来构建跨平台桌面应用程序的一门技术。对于之前一直从事flashAIR桌面应用开发的我迫不及待的想“尝尝鲜”。首先,我们跟着Electron社区的快速入门程序(https://electronjs.org/docs/tutorial/quick-sta
- electron从入门到打包exe
爱学习的森
electronjavascript前端
1.安装electronnpm一直失败,我就cnpm安装的2.创建一个简单示例:新建一个文件夹,然后cmd先搞个package.json:npminit-y然后再添加electron依赖cnpminstallelectron然后再写个main.jsconst{app,BrowserWindow,Menu}=require('electron')functioncreateWindow(){cons
- 使用 pyinstall 打包 paddleocr
胡斌附体
pythonaigitee运维windowsocrpaddle
目录零、运行环境介绍一、安装pyinstaller二、编辑spec文件三、编辑入口python文件七、打包后将模型文件、图片移动至文件夹内六、打包后的文件内容截图四、借鉴的文章(对其内容进行修正)PaddleOCR打包exepaddleocr打包exe错误汇总五、总结零、运行环境介绍win10、64位系统、python3.8.0一、首先使用pip安装pyinstallerpipinstallpyi
- Python打包exe可执行程序及常见问题
Zandon Cao
Pythonpython开发语言
1.打包exe文件1)安装pyinstaller打包成exe文件需要使用pyinstaller模块,可通过pip安装pipinstallpyinstaller2)打包常用参数(重点为加粗的参数):-F制作独立的可执行程序(即生成单一的可执行文件,而不是多个)-p添加搜索路径,以便找到依赖文件(import引入的文件,注意不是模块,默认会在当前目录查找)-w制作窗口程序(制作带界面的程序时,不加该参
- Python打包EXE全攻略(中)
平阳小许
3)Python打包带有Scipy程序为exe:这类程序需要把使用hook把scipy显式地导入打包起来。方法如下:在本机python安装目录C:\ProgramFiles\Python36\Lib\site-packages\PyInstaller\hooks里修改hook-scipy.py的内容为:importosimportglobfromPyInstaller.utils.hooksimp
- paddleocr打包exe,结果执行异常问题汇总
稻草人_123456
深度学习人工智能
1.修改.spec2.问题核心问题就是:ModuleNotFoundError:Nomodulenamed'framework_pb2'找不到framework_pb2答案:修改image.py然后重新用pyinstaller打包生成exe,运行发现还是报错,执行下面第2步继续按照上面链接中提到的,将site-packages/paddle/fluid/中的proto文件夹复制到生成的dist/p
- Flutter使用Flutter Distributor打包exe文件
落华X
Flutterflutter
一、背景介绍1.1、flutter正常打包windows应用使用flutterbuildwindows命令即可打包如下:可以看到这里的文件是免安装的、可直接执行的文件,但是如果用来给客户使用,就很不方便,可不可以打包成大家常用的.exe文件,目前我找到的方案是使用FlutterDistributor,除了打包exe,还可以打包其他程序格式,包括进行发布,功能很多,这里只分享如何打包exe,其他功能
- 【Python】使用nuitka打包Python程序为EXE可执行程序
冰冷的希望
pythonpythonnuitka编译pyinstaller
1.说明写好的Python程序如果想要拿到其他电脑上运行,那还得安装一下Python环境和各种库,这是比较麻烦的,所以有必要把它打包成一个可执行的exe文件。可以打包exe的库有好多个,比如说pyinstaller、cx_Freeze等。pyinstaller打包比较简单,如果有需要可以参考之前的文章【Python】使用pyinstaller打包Python程序为EXE可执行程序但是使用pyins
- Go语言基础(Golang快速上手示例)
Cy大秦
编程golangwindows
目录打包exeWindows打包Linux打包Mac打包赋值工程示例-文件解压工程示例-文字信息转发钉钉机器人(模块)打包exe下载golang安装包,msi文件简单安装https://go.dev/dl/如果用于开发建议低版本,不超过go1.17.8版本,避开高版本和IDE“GoSDK不是有效主路经”go语言下载包配置国内镜像指令goenv-wGO111MODULE=ongoenv-wGOPRO
- Pyinstaller 多进程代码打包 exe 出现多个进程解决方案
WMSmile
python
Pyinstaller多进程代码打包exe出现多个进程解决方案在执行项目的根目录添加multiprocessing_win.pyimportosimportsysimportmultiprocessingtry:ifsys.platform.startswith('win'):importmultiprocessing.popen_spawn_win32asforkingelse:importmu
- 使用electron打包vue项目 打包配置,打包exe文件和安转包
Jay_帅小伙
vue.jselectronjavascript
安装依赖yarnaddelectron-packager--devyarnaddelectron--develectron.jspackage.json两个文件将放到打包后的dist目录下在根目录的package.json的script中加脚本"win64":"electron-packager./dist/studyelectron_win64--out./OutApp--platform=wi
- Fastapi打包exe后无限启动导致死机的解决办法
什么都干的派森
fastapiPythonfastapi
文章目录一、问题二、原因三、解决办法一、问题将fastapi服务打包成exe后双击执行,命令行中不断创建服务导致cpu吃满,最后死机二、原因fastapi启动时指定了多个workers进程uvicorn.run(app="jsonp_test:app",host="127.0.0.1",port=12233,workers=5)直接运行python脚本不会报错,也不会导致无限启动的问题,不过一旦打
- 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