- linux为什么不是实时操作系统
lingllllove
linux大数据运维
Linux操作系统以其强大的功能和广泛的应用被广泛使用,但它并不是一个实时操作系统(RTOS)。本文将详细解释为什么Linux不是实时操作系统,并探讨实时操作系统的关键特性和需求。一、实时操作系统的定义和特性1.1实时操作系统定义实时操作系统是一种在规定时间内对外部事件做出响应的操作系统。RTOS通常用于需要高精度时间控制和高可靠性的数据处理场景,如工业控制、航空航天、汽车电子和电信设备等。1.2
- Linux(7)Ubuntu20.04 arm64安装Docker
一歲抬頭
《Linux系统开发入门定制》linuxdockerubuntu
1.更换源vi/etc/apt/sources.listdebhttps://mirror.tuna.tsinghua.edu.cn/ubuntu-ports/focalmainrestricteduniversemultiversedebhttps://mirror.tuna.tsinghua.edu.cn/ubuntu-ports/focal-updatesmainrestricteduniv
- 13.zookeeper开机自启动配置
小黑要上天
pgmpzookeeperlinux分布式
要在Linux(RHEL7.7)系统中设置zookeeper开机自启动,可以创建一个系统服务单元文件。以下是为详细配置部署,假设你已经安装了zookeeper并且可以通过zkServer.sh命令启动它。1.进入/lib/systemd/system目录命令:cd/lib/systemd/system[root@rhel77system]#cd/lib/systemd/system[root@rh
- persistent_homology_cpu.cpython-37m-x86_64-linux-gnu.so: No such file or directory类似问题的解决思路
蛐蛐蛐
深度学习科研工具Python技巧linux运维服务器
这篇博客也就是简单记录一下。由于工作需要,想尝试一下这篇论文的工作:https://github.com/ljj-cyber/TopoGDN发现很多人真是开源不用脑子,自己也不测试一下(当然不是针对这个作者),只是感觉大家都太不认真了(草台班子太严重)。总结一下遇到的问题:首先,看作者这里介绍:Toinstallthisproject,youneedtoinstallthefollowingPyt
- Python 批量下载 ERA-5 Reanalysis 数据
zhe是我呀
数据下载ERA-5数据下载python
ECMWF大气再分析数据集ERA-interim已被ERA-5数据集取代,ERA-5详细信息看这里下面介绍下载的具体步骤:1.要下载ERA-5数据集,需要先注册一个CDS账号。登录之后进入ClimateDataStoreAPI页面复制自己的key和url,如下图2.创建.cdsapirc文件,windows系统就是自己的用户目录下面,linux就是根目录,内容为自己的key和url,示例如下图
- Please install flash attention flash_attn
AI算法网奇
python宝典python
Pleaseinstallflashattentionflash_atten安装pipinstallflash_attnlinux安装成功:版本flash-attn-2.7.0.post2github如果失败:https://github.com/Dao-AILab/flash-attention/releases/download/v2.7.0.post2/flash_attn-2.7.0.po
- Redis | Redis入门
写代码的阿呆
Redis大数据Redis
Redis入门看这篇就够了!1前言2什么是Redis?2.1定义2.2为什么要用Redis?2.3Redis应用场景3如何在Linux环境安装Redis?3.1为什么要在Linux环境安装Redis客户端?3.2如何安装?4Redis相关命令4.1查看所有的keys4.2得到Key对应Value的值4.3随机得到一个key4.4设置一个key-value4.5连接Redis4.6如何在linux中
- 【友好篇】从零开始:了解CMD与WSL命令行,认识Linux与虚拟机技术
泪不是Web妳而流
Web安全从0到1linuxbash
文章目录前言一、概念1、CMD的介绍2、Linux的介绍3、WSL的介绍二、简单使用1.CMD(1)打开命令行(2)cmd命令2.WSL三、总结1、虚拟机(VirtualMachine)2、kaliLinux前言你是否曾经对那些在命令行中自如操作的人感到敬佩,甚至好奇他们是如何轻松应对看似复杂的任务?你是否曾想过,自己也能掌握这项强大的技能,提升工作效率,甚至探索全新的技术领域?命令行不仅是程序员
- 深入解析 ps aux | grep httpd 命令的工作原理
AllenBright
性能测试linux
在Linux系统中,ps和grep是两个非常常用的命令,尤其是在排查系统进程问题时。psaux|grephttpd是一个经典的组合命令,用于查找与httpd相关的进程信息。本文将深入解析这个命令的工作原理,帮助读者更好地理解其背后的机制。1.命令概述1.1命令结构psaux|grephttpd由两个主要部分组成:psaux:列出系统中所有用户的进程信息。grephttpd:从psaux的输出中筛选
- 本地GIT服务器搭建 Gitea安装教程
雪峰同学
服务器linuxcentosnginx
简介Gitea是一个极易安装,运行非常快速,安装和使用体验良好的自建Git服务。采用Go作为后端语言,这使得只要生成一个可执行程序即可。并且他还支持跨平台,支持Linux、macOS和Windows以及各种架构,除了x86,amd64,还包括ARM和PowerPC。Github地址:https://github.com/go-gitea/gitea功能支持活动时间线支持SSH以及HTTP/HTTP
- linux 中建立国内IP白名单避免国外ip攻击
来自于狂人
linuxtcp/ip网络服务器运维
在Linux系统中,可以使用防火墙工具来建立国内IP白名单,以允许特定国内IP地址访问您的系统或服务。以下是使用iptables防火墙工具建立国内IP白名单的一般步骤:首先,确定您要允许的国内IP地址范围。您可以从各个IP地址查询网站或服务提供商获取国内IP地址段。使用以下命令创建一个名为whitelist.txt的文本文件,并将要允许的国内IP地址写入该文件,每行一个IP地址:viwhiteli
- 切换node版本
test猿
前端javascript
一、在Linux上切换Node.js版本有多种实现方法:1.使用nvm(NodeVersionManager):安装nvm:可以通过curl或wget来安装nvm,具体请参考nvm的官方文档。安装不同版本的Node.js:使用nvm可以轻松地安装、管理和切换不同版本的Node.js。例如,要安装Node.js的最新版本,可以使用命令nvminstallnode。要安装特定版本的Node.js,可以
- 如何安装 CUDA Toolkits
Channing Lewis
AIcuda
安装CUDAToolkit的步骤如下,具体步骤根据你的操作系统(Windows/Linux/Mac)有所不同。以下是Windows和Linux系统的安装步骤:Windows系统安装CUDAToolkit前提条件确保你的计算机上已经安装了NVIDIA显卡,并且它支持CUDA。确保你安装了适合你的显卡的NVIDIA驱动程序。下载CUDAToolkit访问NVIDIACUDAToolkit下载页面。选择
- 【技术分享】 hysteria2从服务端到客户端部署教程
爱技术的小伙子
计算机网络
hysteria2从服务端到客户端部署教程前言在如今的网络环境中,尤其是涉及跨国访问的场景中,hysteria2作为一个新兴的传输协议工具,凭借其高效的传输能力和灵活的配置方式,受到了越来越多用户的青睐。本教程将带您一步步完成hysteria2的部署,包括在服务端和客户端的安装与配置,适用于AlmaLinux8和Ubuntu两种常用操作系统。系统要求服务端操作系统:AlmaLinux8或Ubunt
- 深度学习-图像数据标注工具使用(LabelImg和BBox)
AI研习图书馆
方法教程LabelImgBBox图像标注工具
文章与视频资源多平台更新微信公众号|知乎|B站|头条:AI研习图书馆深度学习、大数据、IT编程知识与资源分享,欢迎关注,共同进步~图像数据标注工具的使用教程1.LabelImgLabelImg下载地址:https://github.com/tzutalin/labelImg(下载源码,需要编译)Windows和Linux系统可运行软件:http://tzutalin.github.io/label
- 把Python的pip源修改为国内
亦安✘
python开发语言
我们在用pip下载时访问的是国外pip源超级慢,因此可将源改为国内的镜像,就能飞速的下载,可临时修改,也可永久修改国内pip源:豆瓣http://pypi.douban.com/华中理工大学http://pypi.hustunique.com/山东理工大学http://pypi.sdutlinux.org/中国科学技术大学http://pypi.mirrors.ustc.edu.cn/阿里云htt
- ESP8266开发环境搭建
D_kity
ESP8266iot物联网c语言
1、工具安装sudoapt-getinstallgccgitwgetmakelibncurses-devflexbisongperfpythonpython-serial2、下载编译工具or64-bitLinux:https://dl.espressif.com/dl/xtensa-lx106-elf-gcc8_4_0-esp-2020r3-linux-amd64.tar.gzfor32-bitL
- Linux使用基础
zhou_zhao_xu
Linux
文章目录一、概述1.1Linux的历史1.2Linux开发者1.3Linux发展历史1.4Linux发行版1.4.1Linux版本Ubuntu1.4.2Linux版本RedHatLinux1.4.3Linux版本CENTOS二、Linux安装2.1物理机安装2.2虚拟机安装2.2.1虚化技术2.2.1.1软件层面2.2.1.2硬件层面2.2.2虚拟化平台2.2.2.1virtualbox2.2.2
- C语言Linux线程池代码
astronautli
Linuxlinux多线程队列
C语言实现简易Linux线程池代码,应对TCP高并发一、创建线程池时要解决的问题1.向线程传递任务信息2.任务在子线程之间的分配3.线程的有序退出二、线程池的创建步骤二、线程池的退出三、改进方向一、创建线程池时要解决的问题线程池是为了处理一系列重复且高并发的任务而定义出来的对任务进行分配的数据类型。线程池的核心是对任务进行分配,所以其必须包括任务以及工作线程以及分配的逻辑函数应对高并发任务时,1.
- archlinux 触摸板手势配置
月巴左耳东
archlinuxarchlinux
文章目录@[toc]libinput-gestures安装libinput-gestures加入input组创建配置文件可用手势启动libinput-gestures停止libinput-gestures自启动libinput-gesturesTouchpadSynapticssynaptics.4在/etc/X11/xorg.conf.d/目录下会有默认的触摸板配置文件,如果用的libinput
- openeuler 22.03 lts sp4 使用 kubeadm 部署 k8s-v1.28.2 高可用集群
月巴左耳东
openeulerKuberneteskubernetes
文章目录@[toc]废话篇这篇文章什么时候写的为什么是openeuler为什么是22.03ltssp4高可用架构题外话干活篇环境介绍系统初始化相关关闭防火墙关闭selinux关闭swap开启内核模块开启模块自动加载服务sysctl内核参数调整清空iptables规则安装各种依赖和工具修改.bashrc文件安装kubeadm和kubelet简化kubectl命令启动kubelet安装containe
- 解决 SSH 自动掉线问题:客户端与服务器端配置优化指南
运维开发王义杰
linux系统运维ssh服务器运维
在使用SSH登录Linux云主机时,若遇到连接空闲一段时间后自动掉线的情况,通常是因为SSH客户端和服务器端的配置导致的超时机制。为了避免这种掉线现象,我们可以从客户端和服务器端两个方面进行调整。本文将详细讲解如何配置以保持SSH会话的持续连接,确保运维系统的连续性。一、客户端配置在SSH客户端端,常见的超时问题是由于客户端在空闲一段时间后没有活动,导致服务器主动关闭连接。为了解决这一问题,可以在
- linux telnet rpm 安装包,centos7系统之telnet命令rpm包安装
clowntom
linuxtelnetrpm安装包
#centos7系统之telnet命令rpm包安装[root@ywb~]#cdrpm/[root@ywbrpm]#ll总用量224-rw-r--r--1rootroot5904010月1713:24telnet-0.17-47.el6.x86_64.rpm-rw-r--r--1rootroot3736010月1713:24telnet-server-0.17-47.el6.x86_64.rpm-r
- Android开发入门:基础知识、编程模型、开发流程、组件和系统特性等
AI天才研究院
Python实战自然语言处理人工智能语言模型编程实践开发语言架构设计
作者:禅与计算机程序设计艺术1.简介Android(安卓)是一个开源的移动设备操作系统,由Google主导,是一种基于Linux的手机操作系统,最初叫做HarmonyOS。目前市面上主要的版本包括Nexus、Pixel、SamsungGalaxy系列、HTCOne系列、MIUI等,它已广泛应用于智能手机、平板电脑、路由器等多种终端设备上。2017年,谷歌推出了基于安卓源码的AOSP(Android
- Linux系统中的Rsync服务
入眼皆含月
linux运维服务器
一、Rsync服务概述Rsync是一种功能强大的文件同步工具,广泛应用于Linux系统中的数据备份和文件同步任务。它通过比较文件的修改时间和大小来实现增量备份,大大提高了同步效率,减少了网络带宽的使用,并且支持多种同步选项,如压缩、加密和排除特定文件等。二、Rsync主要特点1、增量同步Rsync通过比较文件的修改时间和大小,只同步发生变化的部分,而不是整个文件。这使得同步过程更加高效,特别是在处
- lxc与docker的区别
xihuaodc
dockerlinux
Docker不是lxc的一个替代方案。“lxc”是指linux内核(尤指命名空间以及Cgroup)的一个特性,它允许其他一些沙盒进程运行在一块相对独立的空间,并且能够方便的控制他们的资源调度。而基于底层的内核特性的基础上,Docker在上层构建了一个更高层次的具备多个强大功能的工具集:可移植的跨机器部署。Docker定义了一个将应用打包的规范,而它的所有依赖都被封装到了一个简单对象里,它可以被传输
- Linux中 端口被占用如何解决
烛照103
Linux专栏相关开发工具开发中的错误解决linux服务器网络
lsof命令查找查找被占用端口lsof-i:端口号#示例lsof-i:8080lsof-i:3306netstat命令查找查找被占用端口netstat-tuln|grep端口号#示例netstat-tuln|grep3306netstat-tuln|grep6379ss命令查找查找被占用端口ss-tunlp|grep端口号#示例ss-tunlp|grep3306终止端口进程kill-9PID#示例
- HBase Shell基本操作
wanglingli95
大数据开发hbase数据库大数据
一、进入HbaseShell客户端先在LinuxShell命令行终端执行start-dfs.sh脚本启动HDFS,再执行start-hbase.sh脚本启动HBase。如果Linux系统已配置HBase环境变量,可直接在任意目录下执行hbaseshell脚本命令,就可进入HBaseShell的命令行终端环境,exit可以退出HBaseShell(我安装的是伪分布式的HBase)。(1)help帮助
- linux升级openssl1.1.1,CentOS 7 升级 openssl 1.1.1
weixin_39730801
CentOS7自带的是openssl1.0.2,某些软件需要更高的版本openssl因此就有了这篇文章。为考虑到系统兼容性,建议不覆盖原来的版本,而采用安装到/usr/local/openssl111的路径。本文安装后不对系统做任何兼容性的破坏,增加的文件和目录如下:/usr/local/openssl111//etc/ld.so.conf.d/openssl111.conf编译后的RPM包名为o
- 协程和进程
sky-开发
python多线程协程python
多进程fork()Unix/Linux操作系统提供了一个fork()系统调用,它非常特殊。普通的函数调用,调用一次,返回一次,但是fork()调用一次,返回两次,因为操作系统自动把当前进程(称为父进程)复制了一份(称为子进程),然后,分别在父进程和子进程内返回。子进程永远返回0,而父进程返回子进程的ID。这样做的理由是,一个父进程可以fork出很多子进程,所以,父进程要记下每个子进程的ID,而子进
- 枚举的构造函数中抛出异常会怎样
bylijinnan
javaenum单例
首先从使用enum实现单例说起。
为什么要用enum来实现单例?
这篇文章(
http://javarevisited.blogspot.sg/2012/07/why-enum-singleton-are-better-in-java.html)阐述了三个理由:
1.enum单例简单、容易,只需几行代码:
public enum Singleton {
INSTANCE;
- CMake 教程
aigo
C++
转自:http://xiang.lf.blog.163.com/blog/static/127733322201481114456136/
CMake是一个跨平台的程序构建工具,比如起自己编写Makefile方便很多。
介绍:http://baike.baidu.com/view/1126160.htm
本文件不介绍CMake的基本语法,下面是篇不错的入门教程:
http:
- cvc-complex-type.2.3: Element 'beans' cannot have character
Cb123456
springWebgis
cvc-complex-type.2.3: Element 'beans' cannot have character
Line 33 in XML document from ServletContext resource [/WEB-INF/backend-servlet.xml] is i
- jquery实例:随页面滚动条滚动而自动加载内容
120153216
jquery
<script language="javascript">
$(function (){
var i = 4;$(window).bind("scroll", function (event){
//滚动条到网页头部的 高度,兼容ie,ff,chrome
var top = document.documentElement.s
- 将数据库中的数据转换成dbs文件
何必如此
sqldbs
旗正规则引擎通过数据库配置器(DataBuilder)来管理数据库,无论是Oracle,还是其他主流的数据都支持,操作方式是一样的。旗正规则引擎的数据库配置器是用于编辑数据库结构信息以及管理数据库表数据,并且可以执行SQL 语句,主要功能如下。
1)数据库生成表结构信息:
主要生成数据库配置文件(.conf文
- 在IBATIS中配置SQL语句的IN方式
357029540
ibatis
在使用IBATIS进行SQL语句配置查询时,我们一定会遇到通过IN查询的地方,在使用IN查询时我们可以有两种方式进行配置参数:String和List。具体使用方式如下:
1.String:定义一个String的参数userIds,把这个参数传入IBATIS的sql配置文件,sql语句就可以这样写:
<select id="getForms" param
- Spring3 MVC 笔记(一)
7454103
springmvcbeanRESTJSF
自从 MVC 这个概念提出来之后 struts1.X struts2.X jsf 。。。。。
这个view 层的技术一个接一个! 都用过!不敢说哪个绝对的强悍!
要看业务,和整体的设计!
最近公司要求开发个新系统!
- Timer与Spring Quartz 定时执行程序
darkranger
springbean工作quartz
有时候需要定时触发某一项任务。其实在jdk1.3,java sdk就通过java.util.Timer提供相应的功能。一个简单的例子说明如何使用,很简单: 1、第一步,我们需要建立一项任务,我们的任务需要继承java.util.TimerTask package com.test; import java.text.SimpleDateFormat; import java.util.Date;
- 大端小端转换,le32_to_cpu 和cpu_to_le32
aijuans
C语言相关
大端小端转换,le32_to_cpu 和cpu_to_le32 字节序
http://oss.org.cn/kernel-book/ldd3/ch11s04.html
小心不要假设字节序. PC 存储多字节值是低字节为先(小端为先, 因此是小端), 一些高级的平台以另一种方式(大端)
- Nginx负载均衡配置实例详解
avords
[导读] 负载均衡是我们大流量网站要做的一个东西,下面我来给大家介绍在Nginx服务器上进行负载均衡配置方法,希望对有需要的同学有所帮助哦。负载均衡先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可以解 负载均衡是我们大流量网站要做的一个东西,下面我来给大家介绍在Nginx服务器上进行负载均衡配置方法,希望对有需要的同学有所帮助哦。
负载均衡
先来简单了解一下什么是负载均衡
- 乱说的
houxinyou
框架敏捷开发软件测试
从很久以前,大家就研究框架,开发方法,软件工程,好多!反正我是搞不明白!
这两天看好多人研究敏捷模型,瀑布模型!也没太搞明白.
不过感觉和程序开发语言差不多,
瀑布就是顺序,敏捷就是循环.
瀑布就是需求、分析、设计、编码、测试一步一步走下来。而敏捷就是按摸块或者说迭代做个循环,第个循环中也一样是需求、分析、设计、编码、测试一步一步走下来。
也可以把软件开发理
- 欣赏的价值——一个小故事
bijian1013
有效辅导欣赏欣赏的价值
第一次参加家长会,幼儿园的老师说:"您的儿子有多动症,在板凳上连三分钟都坐不了,你最好带他去医院看一看。" 回家的路上,儿子问她老师都说了些什么,她鼻子一酸,差点流下泪来。因为全班30位小朋友,惟有他表现最差;惟有对他,老师表现出不屑,然而她还在告诉她的儿子:"老师表扬你了,说宝宝原来在板凳上坐不了一分钟,现在能坐三分钟。其他妈妈都非常羡慕妈妈,因为全班只有宝宝
- 包冲突问题的解决方法
bingyingao
eclipsemavenexclusions包冲突
包冲突是开发过程中很常见的问题:
其表现有:
1.明明在eclipse中能够索引到某个类,运行时却报出找不到类。
2.明明在eclipse中能够索引到某个类的方法,运行时却报出找不到方法。
3.类及方法都有,以正确编译成了.class文件,在本机跑的好好的,发到测试或者正式环境就
抛如下异常:
java.lang.NoClassDefFoundError: Could not in
- 【Spark七十五】Spark Streaming整合Flume-NG三之接入log4j
bit1129
Stream
先来一段废话:
实际工作中,业务系统的日志基本上是使用Log4j写入到日志文件中的,问题的关键之处在于业务日志的格式混乱,这给对日志文件中的日志进行统计分析带来了极大的困难,或者说,基本上无法进行分析,每个人写日志的习惯不同,导致日志行的格式五花八门,最后只能通过grep来查找特定的关键词缩小范围,但是在集群环境下,每个机器去grep一遍,分析一遍,这个效率如何可想之二,大好光阴都浪费在这上面了
- sudoku solver in Haskell
bookjovi
sudokuhaskell
这几天没太多的事做,想着用函数式语言来写点实用的程序,像fib和prime之类的就不想提了(就一行代码的事),写什么程序呢?在网上闲逛时发现sudoku游戏,sudoku十几年前就知道了,学生生涯时也想过用C/Java来实现个智能求解,但到最后往往没写成,主要是用C/Java写的话会很麻烦。
现在写程序,本人总是有一种思维惯性,总是想把程序写的更紧凑,更精致,代码行数最少,所以现
- java apache ftpClient
bro_feng
java
最近使用apache的ftpclient插件实现ftp下载,遇见几个问题,做如下总结。
1. 上传阻塞,一连串的上传,其中一个就阻塞了,或是用storeFile上传时返回false。查了点资料,说是FTP有主动模式和被动模式。将传出模式修改为被动模式ftp.enterLocalPassiveMode();然后就好了。
看了网上相关介绍,对主动模式和被动模式区别还是比较的模糊,不太了解被动模
- 读《研磨设计模式》-代码笔记-工厂方法模式
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
package design.pattern;
/*
* 工厂方法模式:使一个类的实例化延迟到子类
* 某次,我在工作不知不觉中就用到了工厂方法模式(称为模板方法模式更恰当。2012-10-29):
* 有很多不同的产品,它
- 面试记录语
chenyu19891124
招聘
或许真的在一个平台上成长成什么样,都必须靠自己去努力。有了好的平台让自己展示,就该好好努力。今天是自己单独一次去面试别人,感觉有点小紧张,说话有点打结。在面试完后写面试情况表,下笔真的好难,尤其是要对面试人的情况说明真的好难。
今天面试的是自己同事的同事,现在的这个同事要离职了,介绍了我现在这位同事以前的同事来面试。今天这位求职者面试的是配置管理,期初看了简历觉得应该很适合做配置管理,但是今天面
- Fire Workflow 1.0正式版终于发布了
comsci
工作workflowGoogle
Fire Workflow 是国内另外一款开源工作流,作者是著名的非也同志,哈哈....
官方网站是 http://www.fireflow.org
经过大家努力,Fire Workflow 1.0正式版终于发布了
正式版主要变化:
1、增加IWorkItem.jumpToEx(...)方法,取消了当前环节和目标环节必须在同一条执行线的限制,使得自由流更加自由
2、增加IT
- Python向脚本传参
daizj
python脚本传参
如果想对python脚本传参数,python中对应的argc, argv(c语言的命令行参数)是什么呢?
需要模块:sys
参数个数:len(sys.argv)
脚本名: sys.argv[0]
参数1: sys.argv[1]
参数2: sys.argv[
- 管理用户分组的命令gpasswd
dongwei_6688
passwd
NAME: gpasswd - administer the /etc/group file
SYNOPSIS:
gpasswd group
gpasswd -a user group
gpasswd -d user group
gpasswd -R group
gpasswd -r group
gpasswd [-A user,...] [-M user,...] g
- 郝斌老师数据结构课程笔记
dcj3sjt126com
数据结构与算法
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
- yii2 cgridview加上选择框进行操作
dcj3sjt126com
GridView
页面代码
<?=Html::beginForm(['controller/bulk'],'post');?>
<?=Html::dropDownList('action','',[''=>'Mark selected as: ','c'=>'Confirmed','nc'=>'No Confirmed'],['class'=>'dropdown',])