- 博客(518)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 springboot idea 热部署配置
springboot idea 热部署配置国庆节放假 但我们仍然不能忘记学习 今天分享给大家如何在idea下springboot项目进行热部署配置1.加入依赖pom文件中添加: <!--热部署--> <dependency> <groupId>org.springframework.boot</groupI...
2019-10-03 14:31:53
367
原创 indows npm ERR! gyp ERR! find Python Python is not set from command line or npm configuration npm ER
gyp ERR!npm ERR!gyp ERR!npm ERR!gyp ERR!npm ERR!gyp ERR!npm ERR!npm ERR!gyp ERR!npm ERR!gyp ERR!npm ERR!gyp ERR!npm ERR!gyp ERR!npm ERR!gyp ERR!npm ERR!gyp ERR!
2023-06-21 16:07:42
866
转载 springboot全局配置Jackson实现时间格式化
https://blog.csdn.net/qq_43842093/article/details/122504158
2023-05-26 17:47:11
230
原创 语言并不是使用Serverless跨不去的门槛
有了上面的安装依赖的过程,要解决我们让FaaS支持我们自定义的语言就没那么难了。要让Serverless支持某种语言,我们需要做的就是在FaaS中创建我们需要的运行环境,怎么创建呢,FaaS不帮我们做这件事情,我们能控制的就是函数,那么我们把这些运行环境和函数一起打包部署在FaaS平台中,然后告诉FaaS函数启动时需要运行的文件。至于触发器触发函数的问题,在你自定义的语言中的函数实现一个Http服务,FaaS平台会将触发器事件转发到这个http服务中,与我们自定义的运行时之间是通过http请求进行通信的。
2022-10-23 23:05:22
253
1
原创 回溯算法高效需要注意这两点
这在这类题目的关键也就是我们上面说的两点,找到解空间,然后找到剪枝函数,解空间的大小和剪枝函数决定我们回溯算法是否高效。这篇文章我们简单讲解了回溯算法,了解到回溯算法需要让我们找到解空间和剪枝函数,这有利于回溯算法的提高。
2022-10-19 23:23:20
512
原创 想学算法吗少年,跟我来吧
这篇文章我们讲了为什么要学算法,算法有哪些特点,以及算法的时间复杂度和空间复杂度这两个重要指标是怎么进行计算的,并举了几个小示例,这些知识点是学习算法的基础知识,让我们一起了解算法基础知识,跟着我走进算法的神秘殿堂吧。
2022-10-18 23:18:36
404
原创 工欲善其事必先利其器,Apache Kylin原来支持这么多可视化工具
Apache Kylin对很多BI报表软件都支持,我们这篇文章简单讲述了对zeppelin的支持,对Tableau的支持和对Superset的支持,除此以外还有很短数据分析的软件像是QlikView的进化版Qlik Sense、Redash等,这些软件的功能都大同小异,本周就是连接Apache Kylin,查询数据然后展示出来给用户看,进行数据分析工作,选择合适的BI报表工具分析这些数据即可。
2022-10-07 22:16:07
927
原创 查询数据,Apache Kylin支持这三种方式
这篇文章讲了Apache Kylin支持的三种查询数据的方式,有ODBC,JDBC还有REST 请求的方式,JDBC和REST请求的方式可能是我们比较熟悉的方式,JDBC方式的步骤和连接MySQL查询数据的方式差不多,都是同一个目模板,只是数据库不同,对应的jar包不同而已。
2022-10-06 22:01:41
1110
原创 优化Cube,除了剪枝还可以这么做
这篇文章讲了Cube除了剪枝以外的其他优化的功能,这些优化的手段让我们在构建Cube的时候要注意更多的细节,随着查询业务的实践,我们出现查询变慢的时候可能就知道选用什么样的优化手段了,在实践中成长。
2022-10-05 21:44:58
297
原创 springsecurity默认用户生成
springboot背后默默做了很多事情:SpringSecurity定义UserDetails接口来规范开发者自定义的用户对象负责提供用户数据源的接口是UserDetailsServicespringSecurity为UserDetailsService提供了默认实现,默认是InMemoryUserDetailsManagerspringboot之所以零配置使用SpringSecurity 是因为他提供了很多自动化配置,针对UserDetailsService的自动化配置是UserDetailsServi
2022-07-03 11:02:17
423
原创 源码角度了解ConcurrentSkipListMap
ConcurrentSkipListMap的key是有序的,它是基于跳查表来进行实现的map,跳查表可以实现无锁的链表,我们知道链表的操作插入元素的时候直接修改前一个位置的节点,指向这个节点,然后这个节点又指向下一个节点,删除元素的时候直接修改前一个位置的节点指向删除节点的下一个节点,当插入和删除并发执行的时候,可能出现问题,把插入的节点删除。如图,插入8 ,删除3这个操作同时进行的话,插入8操作的是3的后继节点,删除3操作的是3的前驱节点,这个操作互相感知不到,这样会出现并发的问题,因此Concurren
2022-06-01 21:57:32
465
原创 springsecurity默认用户生成
文章目录springsecurity默认用户生成默认用户生成springsecurity默认用户生成springboot背后默默做了很多事情:开启springSecurity自动化配置,开启后,会自动创建一个名为SpringSecurityFilterChain的过滤器,并注入到spring容器中,这个过滤器将负责所有的安全管理,包括用户的认证,授权,重定向到登录页面等(springSecurityFilterChain实际上代理了SpringSecurity中的过滤器链)创建一个UserDeta
2022-05-03 17:31:16
300
原创 【无标题】
项目场景:mac jdk1.8 javaswing问题描述:空指针at com.apple.laf.AquaMenuPainter.paintSelectedMenuItemBackground(AquaMenuPainter.java:153)解决方案:public addressBook() throws Exception { con = Dbu.getCon(); //得到一个JDBC的链接 initialize(); String className = "javax.sw
2022-01-05 12:00:56
561
1
转载 git回滚
-- 本地分支回滚到指定版本git reset --hard <commit ID号>-- 强制推送到远程分支git push -f origin <branch name>https://www.cnblogs.com/liliuyu/p/13823675.html
2021-09-28 20:02:08
166
转载 springcloud gray 灰度
https://blog.csdn.net/weixin_33870147/article/details/112269724https://blog.csdn.net/dweizhao/article/details/117378997
2021-09-14 16:38:30
243
转载 feign调用 打印header信息
在feign接口配置 configuration@FeignClient(name = "tope-uid-admin-v2", url = "${feign_api_url.internalGatewayUrl}" + "/uid",configuration = FeignConfiguration.class, fallbackFactory = UidGeneratorFeignFallBackFactory.class)public interface UidGeneratorFeign {
2021-09-08 19:46:27
1012
原创 LeetCode214. 最短回文串
思路: 将原始字符串逆序,然后比较对应的子串即可判断是否是回文串 从开头开始的最长回文串也就找到了, 接下来只需要使用之前的方法。将末尾不是回文串的部分倒置加到原字符串开头即可。//给定一个字符串 s,你可以通过在字符串前面添加字符将其转换为回文串。找到并返回可以用这种方式转换的最短回文串。//////// 示例 1://////输入:s = "aacecaaa"//输出:"aaacecaaa"////// 示例 2://////输入:s = "abcd"//输出:"dcb
2021-07-30 12:52:10
219
原创 LeetCode23. 合并K个升序链表
思路:优先队列//给你一个链表数组,每个链表都已经按升序排列。//// 请你将所有链表合并到一个升序链表中,返回合并后的链表。//////// 示例 1://// 输入:lists = [[1,4,5],[1,3,4],[2,6]]//输出:[1,1,2,3,4,4,5,6]//解释:链表数组如下://[// 1->4->5,// 1->3->4,// 2->6//]//将它们合并到一个有序链表中得到。//1->1->2-&
2021-07-30 12:26:44
206
原创 LeetCode89. 格雷编码
//格雷编码是一个二进制数字系统,在该系统中,两个连续的数值仅有一个位数的差异。//// 给定一个代表编码总位数的非负整数 n,打印其格雷编码序列。即使有多个不同答案,你也只需要返回其中一种。//// 格雷编码序列必须以 0 开头。//////// 示例 1://// 输入: 2//输出: [0,1,3,2]//解释://00 - 0//01 - 1//11 - 3//10 - 2////对于给定的 n,其格雷编码序列并不唯一。//例如,[0,2,3,1] 也是一个有效
2021-07-29 14:43:15
96
原创 LeetCode面试题 02.04. 分割链表
//给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。//// 你应当 保留 两个分区中每个节点的初始相对位置。//////// 示例 1://////输入:head = [1,4,3,2,5,2], x = 3//输出:[1,2,2,4,3,5]////// 示例 2://////输入:head = [2,1], x = 2//输出:[1,2]////////// 提示://
2021-07-29 12:56:51
211
原创 LeetCode646. 最长数对链
思路:贪心算法 不太懂//给出 n 个数对。 在每一个数对中,第一个数字总是比第二个数字小。//// 现在,我们定义一种跟随关系,当且仅当 b < c 时,数对(c, d) 才可以跟在 (a, b) 后面。我们用这种形式来构造一个数对链。//// 给定一个数对集合,找出能够形成的最长数对链的长度。你不需要用到所有的数对,你可以以任何顺序选择其中的一些数对来构造。//////// 示例://////输入:[[1,2], [2,3], [3,4]]//输出:2//解释:最长的数
2021-07-29 12:45:14
170
原创 LeetCode64. 最小路径和
思路:动态规划 只关注左边和上边//给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。//// 说明:每次只能向下或者向右移动一步。//////// 示例 1://////输入:grid = [[1,3,1],[1,5,1],[4,2,1]]//输出:7//解释:因为路径 1→3→1→1→1 的总和最小。////// 示例 2://////输入:grid = [[1,2,3],[4,5,6]]//输出:1
2021-07-28 13:08:35
92
原创 LeetCode46. 全排列
思路:回溯法//给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。//////// 示例 1://////输入:nums = [1,2,3]//输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]////// 示例 2://////输入:nums = [0,1]//输出:[[0,1],[1,0]]////// 示例 3://////输入:nums = [1]//输
2021-07-28 12:52:08
86
原创 LeetCode31. 下一个排列
思路:下一个排列”的定义是:给定数字序列的字典序中比原来大的里面最小的一个//实现获取 下一个排列 的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。//// 如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。//// 必须 原地 修改,只允许使用额外常数空间。//////// 示例 1://////输入:nums = [1,2,3]//输出:[1,3,2]////// 示例 2://////输入:nums = [3,2,1]//
2021-07-28 12:31:59
74
原创 LeetCode70. 爬楼梯
思路:动态规划爬到第 xx 级台阶的方案数是爬到第 x - 1x−1 级台阶的方案数和爬到第 x - 2x−2 级台阶的方案数的和//假设你正在爬楼梯。需要 n 阶你才能到达楼顶。//// 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?//// 注意:给定 n 是一个正整数。//// 示例 1://// 输入: 2//输出: 2//解释: 有两种方法可以爬到楼顶。//1. 1 阶 + 1 阶//2. 2 阶//// 示例 2://// 输入:
2021-07-27 12:33:37
75
原创 LeetCode53. 最大子序和
思路:动态规划//给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。//////// 示例 1://////输入:nums = [-2,1,-3,4,-1,2,1,-5,4]//输出:6//解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。////// 示例 2://////输入:nums = [1]//输出:1////// 示例 3://////输入:nums = [0]//输出:0////
2021-07-27 12:23:12
64
原创 LeetCode69. x 的平方根
思路:二分法//实现 int sqrt(int x) 函数。//// 计算并返回 x 的平方根,其中 x 是非负整数。//// 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。//// 示例 1://// 输入: 4//输出: 2////// 示例 2://// 输入: 8//输出: 2//说明: 8 的平方根是 2.82842...,// 由于返回类型是整数,小数部分将被舍去。//// Related Topics 数学 二分查找// ????
2021-07-27 11:16:06
93
原创 LeetCode35. 搜索插入位置
思路:二分法//给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。//// 请必须使用时间复杂度为 O(log n) 的算法。//////// 示例 1://////输入: nums = [1,3,5,6], target = 5//输出: 2////// 示例 2://////输入: nums = [1,3,5,6], target = 2//输出: 1////// 示例 3://////
2021-07-26 19:38:44
119
原创 LeetCode14. 最长公共前缀
//编写一个函数来查找字符串数组中的最长公共前缀。//// 如果不存在公共前缀,返回空字符串 ""。//////// 示例 1://////输入:strs = ["flower","flow","flight"]//输出:"fl"////// 示例 2://////输入:strs = ["dog","racecar","car"]//输出:""//解释:输入不存在公共前缀。//////// 提示:////// 0 <= strs.length <
2021-07-26 12:59:06
116
原创 LeetCode7. 整数反转
//给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。//// 如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。//假设环境不允许存储 64 位整数(有符号或无符号)。//////// 示例 1://////输入:x = 123//输出:321////// 示例 2://////输入:x = -123//输出:-321////// 示例 3://////输入:x = 120//输出:21
2021-07-26 12:41:05
65
原创 LeetCode29. 两数相除
思路:60/8 = (60-32)/8 + 4 = (60-32-16)/8 + 2 + 4 = 1 + 2 + 4 = 7100/3100>3 100>6 100>12 100>24 100>48 100>96 100<192 ---- 使用了 2^5 = 32 个3,还剩 100 - 96 = 4 需要被除4>3 4<6 ---- 使用了 2^0 = 1 个3,
2021-07-23 15:59:59
170
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人