- Tensorflow-gpu运行时报错Non-OK-status: GpuLaunchKernel
GEM的左耳返
pythontensorflow深度学习python
Tensorflow-gpu运行时报错Non-OK-status:GpuLaunchKernel(FillPhiloxRandomKernelLaunch,num_blocks,block_size,0,d.stream(),gen,data,size,dist)status:Internal:invaliddevicefunctionFatalPythonerror:Aborted说明你安装的C
- Python爬虫IP被封的5种解决方案
前言做爬虫的朋友都遇到过这种情况:程序跑得好好的,突然就开始返回403错误,或者直接连接超时。十有八九是IP被网站封了。现在的网站反爬虫越来越严格,稍微频繁一点就会被拉黑。今天分享几个实用的解决方案,都是我在实际项目中用过的。方案一:代理IP池这是最直接的办法,换个马甲继续干活。基本实现importrequestsimportrandomimporttimeclassProxyPool:def__
- python3基础语法梳理(三)
幼稚园的山代王
pythonpython开发语言
接上一篇博客猜数字小游戏-Python版游戏规则:系统随机生成一个1到10的整数玩家输入猜测的数字使用if语句判断玩家猜得是否正确提示“猜对了”或“太大/太小了”importrandomsecret_number=random.randint(1,10)attempts=0#尝试次数print("欢迎来到猜数字游戏!")print("我已经想好了一个1到10之间的数字。")print("快来猜一猜
- Educoder–Java 第1关:Object类 第2关:JAVA基础类型包装类-练习 第3关:String&StringBuilder&StringBuffer类-练习 第4关:Random类
文章目录第1关:Object类编程要求答案第2关:JAVA基础类型包装类-练习任务描述编程要求测试说明答案第3关:String&StringBuilder&StringBuffer类-练习任务描述测试说明答案第4关:Random类测试说明答案第1关:Object类编程要求请仔细阅读右侧代码,根据方法内的提示,在Begin-End区域内进行代码补充,具体任务如下:Demo类和Person类已经写好,
- 大学生入门:Random类及其易踩坑的点
和之前提到的Scanner一样,Random同样是java.util包中的一个类。大学生入门:Scanner简单介绍及易踩坑的点_javascanner使用的坑-CSDN博客https://blog.csdn.net/qq_73698057/article/details/149448413?spm=1001.2014.3001.5501主要作用就是用来生成随机数,构造方法和Scanner看上去一
- ESP32+MicroPython随机颜色生成器
sunsunyu03
pythonMicroPythonESP32ESP8266WS2812B
概述本文档将介绍一个基于MicroPython环境下,为ESP32(基本含有MicroPython环境中都可以使用)开发板上的WS2812B灯珠设计的随机颜色生成器。此生成器包括了一个自定义的随机数生成器Random类和一个用于生成随机颜色的RandomColor类。该方案特别适合于那些固件中未包含标准随机数生成功能的情况。优点独立性:由于集成了自定义的随机数生成器,使得代码在缺乏系统级随机数支持
- java:数组的冒泡排序
小鹿快跑~
Javajava
eclipse使用Java实现数组的冒泡排序文章目录前言方案代码实现前言声明一个数组,包含10个元素,给每个元素赋值0~99的随机整数,使用冒泡算法对数组进行升序排序,并输出排序后的值方案生成随机数:arr[i]=(int)(Math.random()*100);//生成0~99的随机整数代码实现具体代码如下:packageday05;publicclassBubbleSort{publicsta
- [Java集合]------ArrayList的扩容机制源码分析
麦兜仔
Java基础java
一、ArrayList的简介publicclassArrayListextendsAbstractListimplementsList,RandomAccess,Cloneable,java.io.SerializableArrayList实现了List、RandomAccess、Cloneable、java.io.Serializable接口Lits:说明ArrayList是一个有序可重复的集合
- 如何将 Python代码打包成 exe程序
索拉里斯最强共鸣者
基础pythonpygame开发语言
这篇文章主要介绍了如何把python代码打包成可执行软件,具有一定借鉴价值,需要的朋友可以参考下。1.首先python代码需要能运行。importpygameimportrandomimportsys#初始化Pygamepygame.init()#游戏常量WIDTH,HEIGHT=800,600GRID_SIZE=20GRID_WIDTH=WIDTH//GRID_SIZEGRID_HEIGHT=H
- Pytorch实现目标检测
importosimportrandomimportpandasaspdimportnumpyasnpimportcv2fromsklearn.model_selectionimporttrain_test_splitimporttorchfromtorch.utils.dataimportDataset,DataLoaderimporttorch.nnasnnimporttorch.nn.fun
- PYTHON从入门到实践-16数据视图化展示
定制开发才有价值
pythonwindowsecharts
在数据分析和可视化领域,CSV和JSON是两种最常用的数据格式。本文将介绍如何使用Python处理这两种格式的数据,并利用Matplotlib和Cartopy等库生成专业的可视化图表。一、CSV数据处理与温度变化图1.1生成模拟天气数据我们首先创建一个生成模拟天气数据的Python脚本,将结果保存为CSV格式:python复制下载importcsvimportrandomfromdatetimei
- python学习DAY22打卡
星仔编程
python学习打卡学习
作业:自行学习参考如何使用kaggle平台,写下使用注意点,并对下述比赛提交代码kaggle泰坦尼克号人员生还预测importwarningswarnings.filterwarnings("ignore")#忽略警告信息#数据处理清洗包importpandasaspdimportnumpyasnpimportrandomasrnd#可视化包importseabornassnsimportmatp
- 机器学习-SVM支持向量机
支持向量机是一类监督学习算法,实现二分类,其决策边界是对学习样本求解的最大边距超平面。课程代码:importnumpyasnpmy_seed=2017np.random.seed(my_seed)importrandomrandom.seed(my_seed)importmatplotlibimportmatplotlib.pyplotaspltmatplotlib.rcParams['font.
- python之模块(Module)和包(Package)
一、模块1.概念什么是模块(Module)?Python模块就是一个.py文件,其中可以包含函数、类、变量、执行语句等,用于组织和复用代码。比如:#文件my_module.pydefhello():print("Hellofrommodule!")2.分类模块可分为三类类型描述示例内置模块Python自带,不用安装math,os,sys,random第三方模块需通过pip安装requests,nu
- Python贪吃蛇游戏开发全解析 上
我才六年级
python后端游戏程序游戏
由于要分析的代码太多了,所以我分了上中下三部分来分析代码,完整版在下里面,可以去我个人主页去找。写一篇好文章不容易所以------------------------------》求赞求关注六年级毕业有点伤心。如果你不想让一片好的文章被埋没,那就把他免费共享出来。正文开始1.导入模块要编写这个程序前我们要导入这三个模块。importturtleimporttimeimportrandomturtl
- PRBS(伪随机码)是什么?
巧~·
Test测试fpga开发testlink
PRBS是什么?PRBS是“伪随机二进制序列”的缩写,即Pseudo-RandomBinarySequence。它是一种由数字序列组成的信号,看起来在统计特性上类似于随机信号,但实际上是由特定的算法生成的确定性序列。在通信、测试和数字信号处理等领域中,PRBS经常被用作测试模式或者用于伪装数据,以评估系统的性能、检测错误或者进行其他分析。PRBS序列在信号处理和通信领域中有着广泛的应用。什么是伪随
- 零依赖Python爬虫代码,已通过100%黑盒测试,保证复制即用:
黑科技Python
爬虫python
#-*-coding:utf-8-*-"""终极零依赖爬虫解决方案验证结果:已通过32种异常场景测试最后更新:2025-7-26"""importurllib.requestimporturllib.errorimporthashlibimporttimeimportrandomclassUltraCrawler:"""
- Tensorflow的基础知识(二)
climb66的夏天
1.张量的索引与切片操作通过索引与切片操作可以提取张量的部分数据,它们的使用频率非常高。1.1索引操作在Tensorflow中,支持基本的[i][j]···标准索引方式,也支持通过逗号分隔索引号的索引方式。例如:x=tf.random.normal([4,32,32,3])x[0]#取第一张图片的数据x[0][1]#取第一张图片的第二行x[0][1][2]#取第一张图片,第二行,第三列的数据x[2
- VB.NET学习笔记:使用Random类生成随机数(不重复、数字、字母)
zyjq52uys
Random不重复随机数数字字母随机数随机数种子
VB6.0升级到VB.NET后,发现随机数函数也发生了变化,在VB.NET中Random类是一种能够产生满足某些随机性统计需求的数字序列的伪随机数生成器。在代码把光标定位到单词Random,点F1键获取帮助。一、Random类常用知识点(以下内容来源于帮助,点击进入Random类帮助网页):1、构造函数:(1)、Random()使用与时间相关的默认种子值,初始化Random类的新实例。(2)、Ra
- Logic BIST (LBIST) 和Memory BIST(MBIST) 的核心区别是什么
MCU的奇妙之旅
驱动开发车规芯片MCUBISTLBISTMBISTBuildInSelfTest
Built-InSelf-Test(BIST)中的LogicBIST(LBIST)和MemoryBIST(MBIST)的核心区别在于它们设计用于测试的目标结构以及相应的测试方法和电路:测试目标结构(TargetStructure):LBIST:主要针对随机逻辑(RandomLogic)。这包括处理器核心、控制逻辑、数据通路等由大量门电路(AND,OR,XOR,Flip-Flops等)组成的复杂组合
- kafka4.0集群部署
我变秃了也没变强
kafka
kafka4.0是最新版kafka,可在kafka官网下载,依赖的jdk版本要求在jdk17及jdk17以上tar-xzfkafka_2.13-4.0.0.tgzmvkafka_2.13-4.0.0kafkacdkafka#随便一台节点运行生成随机uuid,后面每台节点都要使用此uuidbin/kafka-storage.shrandom-uuid生成的uuid(IyyjPwZcTa2LHKkV1
- 用 K-means 算法实现水果分堆
wh_xia_jun
AI+医疗算法kmeans机器学习
先看运行效果:importnumpyasnpimportmatplotlib.pyplotaspltfromsklearn.clusterimportKMeans#生成模拟数据(两个高斯分布的混合点集)np.random.seed(42)X1=np.random.randn(100,2)+np.array([2,2])#第一簇数据,中心在(2,2)X2=np.random.randn(100,2)
- BSCAN 在糖尿病患者数据聚类分析中的应用
wh_xia_jun
AI+医疗机器学习支持向量机人工智能
完整代码:importnumpyasnpimportmatplotlib.pyplotaspltfromsklearn.clusterimportDBSCANfromsklearn.preprocessingimportStandardScalerfromsklearn.datasetsimportmake_blobs#设置随机种子,确保结果可复现np.random.seed(42)#1.生成模拟
- Operators功能介绍
天高云淡_fa55
Operators(运算)1.()+(),计算两个数字相加的结果执行下面的脚本,小猫会说“7”2.()-(),计算两个数字相减的结果3.()*(),计算两个数字相乘的结果4.()/(),计算两个数字相除的结果*试一试,5/0看看能得到什么结果?5.pickrandom1to10,从1到10之间随机取一个数字,最小值是1,最大值是106.()(),判断左边的数字是否大于右边的数字9.()and(),
- 学习小结记录
歪歪驴
学习网络
一、TLS(TransportLayerSecurity)握手是建立安全通信通道的关键过程,确保客户端与服务器之间的通信加密和身份验证。以下是TLS1.2和TLS1.3的握手流程详解及对比:TLS1.2握手流程目标:协商加密套件、交换密钥、验证身份步骤:1.ClientHello-客户端发送支持的TLS版本、加密套件列表(如`AES256-GCM-SHA384`)、随机数(ClientRandom
- 138. 复制带随机指针的链表
秃头哥编程
2021-07-22LeetCode每日一题链接:https://leetcode-cn.com/problems/copy-list-with-random-pointer/标签:哈希表、链表题目给你一个长度为n的链表,每个节点包含一个额外增加的随机指针random,该指针可以指向链表中的任何节点或空节点。构造这个链表的深拷贝。深拷贝应该正好由n个全新节点组成,其中每个新节点的值都设为其对应的原
- 【干货】pythonJA3指纹绕过
kisloy
爬虫逆向python爬虫
requests/scrapyJA3指纹绕过requests绕过importrequestsimportrandomfromrequests.adaptersimportHTTPAdapterfromrequests.packages.urllib3.util.ssl_importcreate_urllib3_contextORIGIN_CIPHERS=("ECDH+AESGCM:DH+AESGC
- GEE土地分类——利用landsat 8 和随机森林方法进行土地分类
此星光明
gee土地分类专栏前端gee机器学习土地分类随机森林Landsat土地利用
目录简介代码解释代码函数ee.Classifier.smileRandomForest(numberOfTrees,variablesPerSplit,minLeafPopulation,bagFraction,maxNodes,seed)Arguments:Returns:Classifier结果简介GEE土地分类——利用landsat8和随机森林方法进行土地分类代码解释这段代码是用Google
- 【深度强化学习】MIP-DQN 实现案例(完整Python代码)
目录MIP-DQN算法概述建模基础训练阶段(Training)部署阶段(OnlineExecution)DNN网络转化为MIP表达式性能指标完整Python代码实现主函数:random_generator_battery模型函数:MIP_DQN基础/专用库包安装模型运行(完整Python代码)参数设置函数:Parameters参考本博客根据论文《Optimalenergysystemschedul
- 缓存三剑客解决方案
爱学习的小熊猫_
缓存redis
缓存三剑客解决方案1.缓存雪崩定义:大量缓存数据在同一时间点集体失效,导致所有请求直接穿透到数据库,引发数据库瞬时高负载甚至崩溃。解决方案:设置过期随机值,避免大量缓存同时失效。//缓存雪崩防护:随机过期时间+双层缓存//设置随机过期时间(基础时间+随机偏移)Randomrandom=newRandom();longexpire=baseExpire+random.nextInt(5*60*100
- 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