java 汉字转拼音
建议使用pinyin4j,作为老牌的拼音转汉字解决方案,个人感觉比较可靠。小站用这个应该够用了。
可以参考该帖子:使用 pinyin4j API 将汉字转换为拼音 (学习笔记)
hutool工具包中有一个PinyinUtil工具类,目前已被弃用,不推荐使用,因为某些汉字可能会被转错,比如下图中的“馨”:

建议使用pinyin4j,作为老牌的拼音转汉字解决方案,个人感觉比较可靠。小站用这个应该够用了。
可以参考该帖子:使用 pinyin4j API 将汉字转换为拼音 (学习笔记)
hutool工具包中有一个PinyinUtil工具类,目前已被弃用,不推荐使用,因为某些汉字可能会被转错,比如下图中的“馨”:

主要参考这篇官方文档:
https://www.rabbitmq.com/monitoring.html
有如下接口:
其他:
1 | rabbitmq-diagnostics |
RabbitMQ常用命令汇总
安装过程略。
注意按照顺序,必须先启动节点
\ rabbitmq-server -detached #后台启动节点\ rabbitmqctl start_app #启动RabbitMQ应用服务, Starts the RabbitMQ application.\
Stops the RabbitMQ application, leaving the runtme (Erlang VM) running.\ rabbitmqctl stop_app #关闭RabbitMQ应用服务\
Shuts down the node, both RabbitMQ and its runtime.\ rabbitmqctl shutdown\
Stops the Erlang node on which RabbitMQ is running.\ rabbitmqctl stop\
\ rabbitmq-plugins enable rabbitmq_management #启动web管理插件\
Returns a RabbitMQ node to its virgin state.\ rabbitmqctl reset\
\ rabbitmqctl join_cluster hare@elena --ram\
\ rabbitmqctl cluster_status\
节点类型只能是disc或是ram\ rabbitmqctl stop_app\ rabbitmqctl change_cluster_node_type ram\ rabbitmqtl start_app\
\ rabbitmqctl join_cluster {rabbit_node_name} (某些低版本可以采用rabbitmqctl cluster {rabbit_node_name})\
\ rabbitmqctl forget_cluster_node {rabbit_node_name}\
\ rabbitmqctl status\
\ rabbitmqctl list_queues [-p vhostpath] [queueinfoitem …]\
queueinfoitem可以为: name, durable, autodelete, arguments, messagesready, messages_unacknowled, messages, consumers, memory.
\ rabbitmqctl list_exchanges [-p vhostpath] [exchangeinfoitem …]\
exchangeinfoitem有:name, type, durable, auto_delete, internal, arguments.
\ rabbitmqctl list_bindings [-p vhostpath] [bindinginfoitem …]\
bindinginfoitem有:sourcename, sourcekind, destinationname, destinationkind, routing_key, arguments.等
\ rabbitmqctl list_connections [connectioninfoitem …]\
connectioninfoitem有:recvoct,recvcnt,sendoct,sendcnt,send_pend等。
\ rabbitmqctl list_channels [channelinfoitem …]\
channelinfoitem有:consumercount,messagesunacknowledged,messagesuncommitted,acksuncommitted,messagesunconfirmed,prefetchcount,clientflowblocked
\ 添加vhost: rabbitmqctl add vhost {name}\ 删除vhost: rabbitmqctl delete vhost {name}\
镜像队列的配置通过添加policy完成,policy添加的命令为:\ rabbitmqctl set_policy [-p Vhost] Name Pattern Definition [Priority]\
-p Vhost: 可选参数,针对指定vhost下的queue进行设置
Name: policy的名称
Pattern: queue的匹配模式(正则表达式)
Definition: 镜像定义,包括三个部分 ha-mode,ha-params,ha-sync-mode
ha-mode: 指明镜像队列的模式,有效值为 all/exactly/nodes
all表示在集群所有的节点上进行镜像
exactly表示在指定个数的节点上进行镜像,节点的个数由ha-params指定
nodes表示在指定的节点上进行镜像,节点名称通过ha-params指定
ha-params: ha-mode模式需要用到的参数
ha-sync-mode: 镜像队列中消息的同步方式,有效值为automatic,manually
Priority: 可选参数, policy的优先级
例如,对队列名称以hello开头的所有队列进行镜像,并在集群的两个节点上完成镜像,policy的设置命令为:\ rabbitmqctl set_policy hello-ha “^hello” ‘{“ha-mode”:“exactly”,“ha-params”:2,“ha-sync-mode”:“automatic”}\
\ rabbitmq-plugins enable {插件名}\
\ rabbitmq-plugins disable {插件名}\
\ rabbitmqctl add_user {username} {password}\
\ rabbitmqctl delete_user {username}\
\ rabbitmqctl change_password {username} {newpassword}\
\ rabbitmqctl set_user_tags {username} {tag} tag可以为administrator, monitoring, management\
\ rabbitmqctl set_permissions [-p vhostpath] {user} {conf} {write} {read}\
conf:一个正则表达式match哪些配置资源能够被该用户访问。
write:一个正则表达式match哪些配置资源能够被该用户读。
read:一个正则表达式match哪些配置资源能够被该用户访问。
\ rabbitmqctl list_permissions [-p vhostPath]\
\ rabbitmqctl list_user_permissions {username}\
\ rabbitmqctl clear_permissions [-p vhostPath] {username}\
示例:\ rabbitmqctl set_permissions -p / root “.*” “.*” “.*”\
工作里打算将代码从svn迁移到git,但svn毕竟用了一段时间,提交记录、tag、release等信息希望还能继续保留。
git官方本身就给了一个教程,参见:
Git与其他系统-迁移到Git
教程本身就交代了前因后果,我就不再赘述,基本按照流程走就可以,我这里只是说下我的步骤以及遇到的坑。
我直接手写的,毕竟提交人不算多,也可以执行官方提供的命令:svn log ^/ --xml | grep -P "^<author" | sort -u | perl -pe 's/<author>(.*?)<\/author>/$1 = /' > users.txt
输入git svn clone命令后,在windows上后依次弹出3个输入框,依次输入:
– windows用户验证框:输入windows登录密码
– svn用户名
– svn密码
输入后等待即可。
我执行的命令如下:
git svn clone svn://xxx.xxx.xxx.xxx/yyy/ –no-metadata –authors-file=users.txt –no-minimize-url -s xxx
git网页上给的命令,有提到--no-metadata是去掉svn的元数据,但如果不加入--no-minimize-url命令,git svn clone这条命令可能会去扫描更上层的svn目录。会有类似这样的提示信息:Initialized empty Git repository in /Users/doc/Test/Demo/.git/ Using higher level of URL: https://xxxxxxx/branch/android/project1 => https://xxxxxxxx/branch/android W: Ignoring error from SVN, path probably does not exist: (160013): Filesystem has no item: '/xxxxxxbranch/android' path not found W: Do not be alarmed at the above message git-svn is just searching aggressively for old history. This may take a while on large repositories ^Cecked through r290000
我记得如果你没权限的话会报错。保险起见,还是在命令行加入–no-minimize-url参数吧,主要是不缩小输入的地址。
如果你输入的authors.txt中用户映射没列全、svn的用户有遗漏,可能有如下报错:Author: xx not defined in users.txt file
此时记得修改authors.txt文件,删除整个文件夹,重新执行git svn clone命令。
git svn clone执行结束、没报任何错误的话,你会在你指定的文件夹内看到你想迁移的svn代码。接下来,按照git给的说明,继续执行后续命令,基本就没啥坑了,汇总命令列表见下面汇总。
基本流程就这样,还是比较简单的
JAVA生成总和及个数确定的一组随机数
转载在博客文章 JAVA生成总和及个数确定的一组随机数
1 |
|
今天安装项目依赖npm install 的时候出现错误:
1 | npm ERR! Unexpected end of JSON input while parsing near '...e":"^23.5.0","listr":' |
方案一:
第一步:
1 | npm cache clean --force |
第二步:(再安装)
1 | npm install --registry=https://registry.npm.taobao.org |
1 | npm cache clean --force |
第二步:(再安装)
1 | npm set registry https://registry.npmjs.org/ |
作者:GeniusLyzh
出处:http://www.cnblogs.com/GeniusLyzh/
本文链接:https://www.cnblogs.com/GeniusLyzh/p/9773440.html\
本文版权归作者和博客园共有,欢迎转载,须保留此段声明,并给出原文链接,谢谢!
如果阅读了本文章,觉得有帮助,欢迎点击右下角推荐
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin\_42941619/article/details/94627644\
1:首先使用npm、cnpm或者yarn下载所需插件,以nodemon这个插件举例
npm install -g nodemon
2: 命令行查询插件版本信息
nodemon –version
3:如果提示‘nodemon’ 不是内部或外部命令解决方法

找到nodejs下的nodemon插件,复制此路径!下面要用到。
4:右击–我的电脑–单击属性–高级系统设置–环境变量

选中用户变量的path,然后编辑,然后将第三步复制的路径添加到path配置中,保存,保存,保存!
5:重新打开命令行工具
nodemon –version

这样就解决了’xxx’插件不是内部或外部命令也不是可运行的程序或批处理文件的问题。
巴拉巴拉:
==主页传送门==
————————————————
版权声明:本文为CSDN博主「雨雪风晴是你」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin\_42941619/article/details/94627644
思路:利用HashSet
代码:
1 | List<String> list = new ArrayList<>(); |
思路:
1 | public static void main(String[] args) { |
1 | List<String> result = Stream.of(Lists.newArrayList("1", "1", "3"), Lists.newArrayList("1", "2")) |
代码很优雅,但是要合并的list内元素是对象需要equals和hashcode方法
参考资料: