如何给博客添加看板娘(二)
只有跨越了来自人类自身恐惧的人,才有资格被称为站在顶峰的人。我是这样认为的。——迪奥·布兰度 这次就非常简单啦 首先你得准备模型文件 然后把这段代码粘贴过去 1234567891011121314151617181920<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><!-- Live2DCubismCore script --><script src="https://VampireAchao.github.io/js/live2dcubismcore.js"></script><!-- Build script --><script src="https://VampireAchao.github.io/j...
springboot中VO属性别名
路是脚踏出来的,历史是人写出来的。人的每一步行动都在书写自己的历史。——吉鸿昌 使用springboot进行开发时,使用的VO有时候会更改别名,如果我们直接更改属性名,就需要把引用的地方都改了,较为麻烦 springboot默认使用jackson进行序列化/反序列化参数 所以我们可以使用com.fasterxml.jackson.annotation.JsonProperty注解 给我们的VO起一个别名,然后我们请求就可以使用别名keyword 我们发送请求后debug可以看到确实接收到了
mysql中条件函数
世上有味之事,包括诗、酒、哲学、爱情,往往无用。吟无用之诗,醉无用之酒,读无用之书,钟无用之情,终于成一无用之人,却因此活得有滋有味。——周国平《风中的纸屑》 在我们日常开发中,有时可能会在SQL中写一些条件,例如这里一个例子 这里有这样一张表,数据如下: 如果我们需要把未认证(状态为NOT_AUTH)的用户放到前面排序显示,在不影响分页的情况下,我们可以这么写 1SELECT *,IF(status='NOT_AUTH','NOT_AUTH',null) AS sort FROM `user` ORDER BY sort DESC 这里使用到了MYSQL的IF函数 1IF([条件],[为true时值],[为false时值]) 例如我们需要整体排序,认证中的在最前,然后是未认证的,最后是已认证的 我们则可以使用MYSQL中的CASE、WHEN、THEN、ELSE、END一套去做 12345SELECT *,( CASE WHEN STATUS = 'AUTHING' THEN 0 WHEN STATUS = ...
gson坑
一直只做自己会做的,就什么也做不成。最重要的是,你自己有没有兴趣——《碧蓝之海》 前两天使用Gson中遇到一个坑 同事使用 1Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create(); 创建gson对象 所以到我这,出现了字段不序列化,或者反序列化不了的问题 例如下面这个类 1234567891011@Datapublic static class User implements Serializable { private static final long serialVersionUID = 509877226276918727L; @Expose private String firstName; @Expose(serialize = false) private String lastName; @Expose(serialize = false, deserialize = false) private Stri...
git放弃变更
度之住事,验之来事,参之平素,可则决之。一一《鬼谷子》 我们有时想放弃本地的变更,直接从远端仓库pull代码到本地覆盖 可以使用 1git checkout -f 去放弃所有变更 当然,-f可以使用文件(夹)路径替换,这样的话只放弃指定的文件(夹)中的变更 但如果你新增了文件,想要放弃新增则可以使用 1git clean -df 如果需要指定文件(夹),则可以在其中加入文件(夹)名,例如 1git clean xxx.txt -df 然后就可以pull覆盖本地啦
获取系统信息
人不读书,则尘俗生其间,照镜则面目可憎,对人则语言无味。一一北宋·黄庭坚 首先是依赖 123456<!-- 获取系统信息 --><dependency> <groupId>com.github.oshi</groupId> <artifactId>oshi-core</artifactId> <version>3.9.1</version></dependency> 然后是工具类 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511...
springboot-RabbitMQ发送短信
天不为人之恶寒也辍冬,地不为人之恶辽远也辍广。——《荀子》 常见名词Virtual Hosts——虚拟主机,一个虚拟主机下可有多个队列 Exchange——交换机,分发消息到队列中 管理界面使用默认账户guest密码guest登录RabbitMQ管理界面 这里可以看到我们的端口和相关信息 15672——管理界面 25672——RabbitMQ集群通信端口号 5672——RabbitMQ内部通信端口号 快速入门引入依赖 123456<!-- https://mvnrepository.com/artifact/com.rabbitmq/amqp-client --><dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client</artifactId> <version>5.10.0</version></dependency> 简单队列 生产者 12345678910111...
android让返回按钮失效
先发制人,后发制于人。——《汉书》 我们可以重写Activity中的onBackPressed方法去实现 例如 ...就是这样
replaceAll坑
学如弓弩,才如箭镞,识以领之,方能中鹄。一一袁枚 前两天遇到一个坑,在使用String.replace()和replaceAll的时候 因为没有看过API和注释,拿着就开用,结果造成一个bug 这里留做记录 场景是这样的,我对一个字符串进行替换,将[idea]替换为""时使用了replaceAll,导致其他不该被替换的字符也被替换了 这段代码 123String str = "Hino Supa and ruben";System.out.println(str.replace("[idea]", ""));System.out.println(str.replaceAll("[idea]", "")); 输出的结果为 12Hino Supa and rubenHno Sup n rubn 可以看到,replaceAll把我们的[idea]当做了正则表达式… 点进源码一看注释,好家伙 第一句就是 123Replaces each substring of...
RabbitMQ安装
万物各得其和以生,各得其养以成。一一《荀子》 介绍使用异步多线程方案会导致CPU竞争强烈,故使用MQ 使用MQ能够大大降低项目耦合 名词: Producer:生产者,发消息的 Consumer:消费者,收消息干活的 Broker:MQ本体 Topic:主题 Queue:消息队列,先进先出 Message:消息报文(内容,一般为json) 单机版本MQ原理 12345678910111213141516171819202122232425262728293031323334353637383940414243package com.ruben.mq;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;import java.util.Optional;import java.util.UUID;import java.util.concurrent.LinkedBlockingDeque;/** * @ClassName: RubenThreadMQ * @Description: 我还...
