1月
07
下载地址
https://www.jetbrains.com.cn/idea/download/other.html
IDEA的ultimate(最终版)与community(社区版)的区别
https://blog.csdn.net/blbyu/article/details/118201500
IDEA 全称 IntelliJ IDEA,是java编程语言的集成开发环境。
- community(社区版):免费的IntelliJ IDEA community版本是基于开源代码构建的,可以用于纯JVM 和 Android 开发,拥有大部分开发中所需要的功能,但是不能够提供前端css和js的技术支持。
- ultimate(最终版):付费的 IntelliJ IDEA ultimate版本可以支持web端和企业端的开发使用,能支持众多前端和后端框架和技术,可以提供分析和数据库工具、HTTP客户端,允许免费使用30天(①购买正版;②可每30天卸载重新安装哦;)
破解尝试
https://www.hereitis.cn/articleDetails/867
https://www.hereitis.cn/soft/intellijidea
1月
02
eclipse 和 maven
https://maven.apache.org/download.cgi
打开页面,选择对应的版本下载。这里 apache-maven-3.8.7-bin.zip
下载好后,打开 eclipse, 打开 Window → Preferences → Maven → Installations,点击 Add,将刚才下载的 maven 配置进去就可以。因为从零开始,啥都喜欢用最新的。
再来配置 Window → Preferences → Maven → User Settings
/Users/vini123/Java/eclipse/apache-maven-3.8.7/conf/settings.xml
参考
代码补全提示
https://cloud.tencent.com/developer/article/1795246
安装 PropertiesEditor
https://blog.csdn.net/sayyy/article/details/104780196
12月
29
mysql 5.7 之后,默认 only_full_group_by 生效。也就是 select 的字段和 group by 的字段一样,额外的聚合函数除外。这样一来,很影响我们数据输出的需要。比如我想知道上海市每个区有多少家店,要展示区名字,店名字,区号。数据库里边存储的字段有店名、区号、区名字等。这个时候 only_full_group_by 严格模式下,直接请求就会有错误。这里是,可以有两种方法来解决。一是关掉 only_full_group_by 模式。二是使用 ANY_VALUE 函数。不错就是使用 ANY_VALUE 函数。
解决方法
个人喜欢使用 ANY_VALUE 来搞定。
SELECT COUNT(*) AS count, 区号, ANY_VALUE(区名字), ANY_VALUE(店名字) FROM 店表 GROUP BY 区号;
12月
13
2022年 10月25日后发布的小程序,无论通过 wx.getUserProfile 还是 wx.getUserInfo 获取到的的用户的信息中(之前也仅能获取头像和昵称。性别地区啥的都会没有),只会有昵称为微信用户,头像为灰色头像的有用信息。说实话,对于开发者,这种搞法太过恶心。
但实践中发现有部分小程序,在用户刚打开小程序时就要求收集用户的微信昵称头像,或者在支付前等不合理路径上要求授权。如果用户拒绝授权,则无法使用小程序或相关功能。在已经获取用户的 openId 与 unionId 信息情况下,用户的微信昵称与头像并不是用户使用小程序的必要条件。为减少此类不合理的强迫授权情况,作出如下调整。
你把你审核的锅摔给开发者,你可以审核的时候不让这种小程序上架不就可以了。记得2019年的时候,就有这样的说明。必须登录注册才能使用的用户不给上架的说明。现在搞什么飞机。
官方相关说明和解决方法
https://developers.weixin.qq.com/community/develop/doc/00022c683e8a80b29bed2142b56c01
https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/userProfile.html
12月
10
11月
30
数组
sort() 方法对数组的项目进行排序。
排序顺序可以是按字母或数字,也可以是升序(向上)或降序(向下)。
默认情况下,sort() 方法将按字母和升序将值作为字符串进行排序。
如:
let fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();
# 输出 ['Apple', 'Banana', 'Mango', 'Orange']
fruits.reverse();
# 输出 ['Orange', 'Mango', 'Banana', 'Apple']
不过基于数字的排序,是按字符串来排序的。比如 33 排序比 123 要后。 如果非要基于数字大小来排。可以通过传入函数的方式来解决。
比如:
let arr = [1, 123, 22,5, 32];
arr.sort((a,b)=>(a-b));
# 输出 1, 5, 22, 32, 123
# 这样就可以基于数字来排序了
如果是基于数组里的 object ,也可以通过这种方式来排序。
Object 呢
对 object 按键值排序,一般在做加密验证的时候会用到。
有了数组的排序,object 也一样可以。
let param = {
name: 'vini123',
gender: 1,
time: 1669796346
}
let sorted = {};
Object.keys(param).sort().forEach(key => {
sorted[key] = param[key];
});