自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

成长之路

技术的点滴记录,成长的每个脚步

  • 博客(62)
  • 资源 (3)
  • 收藏
  • 关注

原创 IntelliJ IDEA 常用快捷键 ------ Windows / Mac 对比

前言本文Mac快捷键风格为Intellij IDEA Classic,如不是则首先需要在Preferences中切换一. Mac符号缩写Mac电脑键盘的符号缩写说明如下,下面可能会用到标记 按键 ⌘ Command ⇧ Shift ⇪ CapsLock ⌥ Option ⌃ Control ↩ Retur...

2019-08-28 17:43:34 4733

原创 SQL备忘--通用表表达式

有时在一个SQL内,会存在多个相同的子查询,要反复查询同一份数据。此种情况可以把子查询抽离出来,做成,在SQL内像使用变量一样,多次引用子查询的结果,来更好的精简SQL,提升性能和可读性。

2024-01-15 09:34:05 452

原创 SQL备忘--集合运算

本文讨论的是两个子查询结果的合并问题, 是行维度下的合并处理例如子查询A查出5条记录、子查询B查出3条记录,那么将两个结果合并,则共返回8条记录子查询的列字段是相同的,既要求数量、字段名相同,有要求类型匹配能互相兼容(可以隐式转换匹配)

2024-01-15 09:33:39 525

原创 SQL备忘--Like/逻辑运算/Order By排序/Top N特殊处理备忘

在where 条件中使用LIKE关键字进行匹配WHERE c1 LIKE ‘%end’ //可以匹配到“friend”等单词。

2023-12-27 11:06:18 1137

原创 SQL备忘--子查询与ALL/ANY运算符

此时,可以通过比较运算符(=、!=、<、<=、>、>=)与ALL、ANY的组合,来表示等于、不等于、大于…由此可见子查询用法广泛,可用在SQL基本语句的每个位置。在SQL查询语句中包含了其他的查询语句,出现了SQL语句的嵌套,即为使用了嵌套子查询。此时需确保查询结果不能出现多行或多列的情况,否则sql报错。多行数据时,使用IN、或者ALL、ANY运算符来进行匹配,例如下例子。号判断子查询的结果,只是等号左边要写成多个数据在()内的格式。SQL的子查询中,可能查询到多个结果,因此一般都用IN来匹配。

2023-12-27 10:55:36 982

原创 SQL备忘--函数

COALESCE(exp1, exp2, exp3, …)接收一个输入列表,返回第一个非NULL的参数;SQL Server、SQLite没有提供IF函数,提供的是的IIF函数,用法与Mysql的IF函数一样。MYSQL提供了一个IF(expr1, val1, val2)函数,类似于java的。可以用COALESCE将NULL转换为别的默认值,类似于CASE WHEN。如果指定COUNT()内统计某个字段,则不会统计此字段为NULL的数据。根据某个表达的执行结果,匹配对应的值。类型转换可能会导致精度丢失。

2023-11-03 10:18:07 111

原创 SQL备忘--特殊状态“未知“以及“空值NULL“的判断

使用IN/NOT IN/ALL/ANY时,切记不要在选项中设置NULL。对于子查询做以上匹配结果时,也要注意务必过滤下NULL数据。

2023-11-02 11:22:04 559

原创 Java9集合类新增功能

Java8及Java9在集合Collection类中新增了一些很好用的新方法,能方便程序员更便捷的处理集合数据,本文对其中的一些方法进行总结。

2023-06-30 14:06:30 716

原创 Java8新特性:Stream流处理使用总结

整理下Stream流的常用操作,以备后续处理集合类数据时快速查询和使用

2023-03-10 18:08:44 2881

原创 SpringBoot下HystrixDashboard出现Http401状态码导致“hystrix dashboard Unable to connect to Command”数据无法出现的解决办法

一. 问题描述笔者在用SpringBoot 2.1.4.RELEASE + SpringCloud Greenwich.SR5学习Hystrix时,在Hystrix Dashboard页面出现了一个常见错误:hystrix dashboard Unable to connect to Command Metric Stream,截图如下:而我直接在浏览器中输入hystrix.stream地址:http://localhost:20081/actuator/hystrix.stream 是能访问到接口内

2021-11-13 21:11:16 823

原创 SpringBoot+Freemarker+Security环境下自建/login登录页面,并解决一直302跳转登录首页、无法登录成功的问题

一. 开发步骤最近在学习SpringBoot WebSocket编写群聊天的功能,需要用到用户体系,为了方便直接引入了Security包,具体pom如下: <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version&gt

2021-11-12 17:29:48 3405

原创 webpack5.27:UglifyJsPlugin、webpack-merge、html-webpack-plugin报错解决--《Vue.js实战》采坑

前言博主最近在看《Vue.js实战》(梁灏著,2017年10月01日出版),学习vue框架和webpack编译打包。在进行npm run build编译生产环境包时,出现了很多报错,特此记录采坑和解决方案一. 问题背景书中首先创建webpack.prod.config.js文件,如下var webpack = require('webpack');var HtmlwebpackPlugin = require('html-webpack-plugin');var ExtractTextPlugi

2021-03-28 21:43:20 3166

原创 webpack5.27+vue2.6.12版本处理css文件以及.vue文件的<style>css模块

一. 问题背景用如下命令加载依赖cnpm install --save vuecnpm install --save-dev vue-loadercnpm install --save-dev vue-style-loadercnpm install --save-dev vue-template-compilerwebpack中配置如下:var path = require('path');//用插件const MiniCssExtractPlugin = require('mini

2021-03-27 14:18:29 4396 1

原创 Webpack+babel 报错: Error:Cannot find module ‘@babel/core 解决办法

一. 问题背景通过cmd命令添加babelcnpm install --save-dev babelcnpm install --save-dev babel-loadercnpm install --save-dev babel-corecnpm install --save-dev babel-plugin-transform-runtimecnpm install --save-dev babel-preset-es2015cnpm install --save-dev babel-ru

2021-03-21 21:58:12 2240 2

原创 extract-text-webpack-plugin:TypeError: Cannot set property ‘index‘ of undefined 解决办法

一. 问题背景cnpm install extract-text-webpack-plugin@next在用如上命令安装extract-text-webpack-plugin插件时,会有日志如下:可以看到提示说extract-text-webpack-plugin需要webpack3到4的版本,但是我webpack装的是5.27版本,因此可能会有问题。果然在用npm run dev时,报错:E:\WorkSpace\H5\vue\learn\webpack_demo\node_modules

2021-03-21 21:49:48 2046 1

原创 Webpack: Cannot find module ‘webpack-cli/bin/config-yargs‘ Require 解决办法

一. Cannot find module ‘webpack-cli/bin/config-yargs’ Require使用webpack工具打包资源,启动程序npm run dev此时出现报错:The CLI moved into a separate package: webpack-cli Please install‘webpack-cli’ in addition to webpack itself to use the CLI-> When using npm: npm i

2021-03-21 21:43:59 965

原创 Python爬虫【四】爬取PC网页版“微博辟谣”账号内容(selenium多线程异步处理多页面)

专题系列导引前言  前面专题文章【三】中,我们编写了微博PC网页版单页面内多线程爬取内容的爬虫方式。但执行速度仍然不太可观。因为翻页、下拉也是耗时高的操作,但为单线程执行。尤其是网路不理想的情形下,加载页面格外耗时。  因此我们设想是否可以异步启动多个driver驱动,数量为n;同时将微博辟谣240页数据分割为n份的piece,每个driver驱动负责分析爬取一部分piece,最后再汇总,写入表格  此文我们仍然是基于【二】【三】中的项目进行改造,让其实现selenium多线程异步处理多页面的功能

2021-03-20 16:51:21 1143 1

原创 Python爬虫【三】爬取PC网页版“微博辟谣”账号内容(selenium单页面内多线程爬取内容)

专题系列导引前言  前面专题文章【二】中,我们编写了微博PC网页版单线程的爬虫方式。但执行速度较慢,需要约两个小时才能处理完成。  此文我们对之前的程序略作改造,让其实现在每个页面内爬取45条数据时,进行多线程异步爬取,从而缩短每个页面的爬取时间,进而缩短整个爬取时间。一.改造多线程  对于整个设计流程,之前CrawlHandle串行方法内的逻辑没有问题,仍然是执行五个步骤。前面的启动driver、登录认证,后面的关闭driver、写入数据,都没有变化。1. 入参改造  唯一需要变化的是步骤

2021-03-20 16:50:35 720

原创 Python爬虫【二】爬取PC网页版“微博辟谣”账号内容(selenium同步单线程)

背景笔者曾经遇到一个学习性质的爬虫任务:爬取‘微博辟谣’账号的历史微博。具体要求如下:采集范围: 1. ‘微博辟谣’账号原创或转发的历史全部贴子。 2. 需要踢除微博月度工作报告。剔除的样例如下: 采集格式:采集方框中的如下文本信息。分为4列。每行一条记录。 1. 若为该账号原创帖,则采集账号本身、文本内容、发布时间、转发数。 2. 若为转发的贴子,需要采集包含:原贴发布账号、原贴文本内容、原贴发布时间、原贴转发数。原贴提取内容如下红框转发贴提取内容:一. 爬虫思路首先分

2021-03-20 16:49:35 1787 4

原创 Python爬虫【一】爬取移动版“微博辟谣”账号内容(API接口)

专题系列导引前言  本文我们针对3G4G移动版微博网站(URL: https://m.weibo.cn),爬取"微博辟谣"的数据一. 爬取思路  首先分析P移动版微博的网站设计、Html页面结构、数据请求和加载方式。发现PC网页版特点如下:页面时通过访问API接口,再渲染页面的方式来加载数据的。因此我们可以不管页面展示如何,而去直接调用API接口来提取数据接口中通过page=?的方式来实现不同页面数据的提取;新版页面没有page参数,换用了since_id=?的入参,其实也是相同效果:每次A

2021-03-20 16:48:35 2917 2

原创 Python爬虫【零】问题介绍 -- 对“微博辟谣”账号的历史微博进行数据采集

问题笔者曾经遇到一个学习性质的爬虫任务:爬取‘微博辟谣’账号的历史微博。具体要求如下:采集范围: 1. ‘微博辟谣’账号原创或转发的历史全部贴子。 2. 需要踢除微博月度工作报告。剔除的样例如下: 采集格式:采集方框中的如下文本信息。分为4列。每行一条记录。 1. 若为该账号原创帖,则采集账号本身、文本内容、发布时间、转发数。 2. 若为转发的贴子,需要采集包含:原贴发布账号、原贴文本内容、原贴发布时间、原贴转发数。原贴提取内容如下红框转发贴提取内容:...

2021-03-20 16:47:34 784

原创 @Conditional以及它的家族@ConditionalOnXXX -- 条件选择注入Bean

文章目录前言一、@Conditional的作用1. @Conditional1. Condition接口二、使用示例1. 编写Condition接口的实现2.添加@Conditional注解3. 编写Test测试类4. 测试结果三. @ConditionalOnXXX前言  有一篇文章:《Spring Boot @Condition 注解,组合条件你知道吗》十分值得阅读一、@Conditional的作用1. @Conditional    @Conditional注解可以作用在创建Bean的类

2020-09-04 11:33:15 1484

原创 @Profiles注解 -- 不同运行环境加载对应bean

文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport.

2020-09-03 15:49:07 1123

原创 class文件结构与格式 ------- 思维导图

前言class文件作为操作系统无关的格式文件,是JVM直接识别的字节码文件。它可由java、scala、groovy等语言编译而来,校验后可在JVM中执行。下面我们一起看看class文件的结构与格式规范。1. class文件基本概念2. class文件的结构PS:符号引用的概念3. 字节码指令...

2020-04-26 19:27:44 667 2

原创 JVM垃圾回收思维导图:三. HotSpot垃圾回收算法与实现

前言上一章我们了解了JVM虚拟机的内存区域,可以知道JVM内部分为几块内存区域,每块内存区域有自己的用处。有关JVM垃圾回收的基本知识,可参考文章:《JVM垃圾回收思维导图:一. 基本思想》《JVM垃圾回收思维导图:二. 理论算法》Hotspot垃圾回收理论Hotspot经典垃圾收集器Hotspot低延迟垃圾收集器...

2020-04-16 15:25:07 385

原创 JVM垃圾回收思维导图:二. 理论算法

前言本博客为前一篇文章《JVM垃圾回收一:基本思想------思维导图》的垃圾回收算法具体设计与实现垃圾回收算法思维导图大纲一. 垃圾收集算法1. 理论(假设)基础弱分代假说:绝大多数对象都是朝生夕灭的(活的很短)强分代假说:熬过越多次垃圾收集过程的对象,就越难以消亡跨代引用相对于同代引用来说,仅占极少数2. 虚拟机实现垃圾收集器应该将java堆划分出不同的区域,...

2020-04-10 19:06:27 561

原创 JVM垃圾回收思维导图:一. 基本思想

前言上一章我们了解了JVM虚拟机的内存区域,可以知道JVM内部分为几块内存区域,每块内存区域有自己的用处。具体知识可见:《JVM虚拟机内存区域》JVM垃圾回收思想JVM的内存区域在Java程序运行时,一直发生变化,与CPU等硬件进行着频繁的数据交换与计算。随着Java程序的运行,这些内存区域可能会出现一些不再有用的内存空间;内存资源是宝贵的,虚拟机需要释放掉这些无用的内存空间,回...

2020-04-10 18:36:10 887

原创 OutOfMemoryError分析-------思维导图

前言  OutOfMemoryError是未检测异常的一个子类。在java程序运行时,JVM内存区域内,除了程序计数器之外,其他区域都有可能抛出此异常。JVM内存区域相关知识,见文章:《JVM虚拟机内存区域思维导图-------《深入理解Java虚拟机》2020第三版》  程序员往往需要根据OutOfMemoryError去定位具体是哪个内存区域出现了问题?是内存溢出还是内存泄漏? 只有...

2020-04-07 17:21:20 402

原创 JVM处理Java对象-------思维导图

1. JVM处理Java对象2. JVM创建Java对象流程图

2020-04-07 16:49:45 230

原创 JVM虚拟机内存区域思维导图-------《深入理解Java虚拟机》2020第三版

  周志明老师在2020年1月更新并发布了经典书《深入理解Java虚拟机》的第三版。第二版发布于2013年左右,距今已经有七八年。在新书中,老师加入了许多JVM自JDK8以后发展的新特性与概念。Java虚拟机内存管理方面也有所更新,在此我略微整理了下其中的概念,并做了思维导图,供以后学习  ...

2020-04-05 18:30:22 539

原创 三分钟熟悉@Async注解------Spring多线程异步调用的艺术

同步调用我们写的Java代码,大多数都是同步调用,只启动一个线程。所谓同步调用,举个简单的例子:某个程序一开始执行方法A();当执行到某处,需要调用另一个方法B()时,程序会进入这个方法B()中继续执行步骤,原先方法A()的堆栈会暂时挂起;当方法B()执行完毕,返回结果后,程序才会再跳回原先方法A()调用B()的位置,继续向下执行。异步调用  当我们想多线程执行程序,即执行A()的...

2020-04-03 10:22:45 1604 5

原创 Spring线程池知多少?-------ThreadPoolTaskExecutor类源码浅析

Spring线程池1. 自带线程池源码分析  下面是SpringBoot 2.2.2.RELEASE在启动时的输出日志。可以看到Spring容器启动了一个name为applicationTaskExecutor的bean。  定位此bean的创建过程,其代码放在spring-boot-autoconfigure模块内。创建此bean的@Configuration类如下:@Conditio...

2020-04-03 10:10:21 1798

原创 IntelliJ IDEA自制主题theme--Type Color

在此分享一个我自制的IntelliJ IDEA的配色主题--“Type Color”,此主题适合java开发使用,也适合使用者根据自己的习惯再做修改 此主题基于IntelliJ IDEA的经典主题:“Classic Eclipse”改造而成,着眼于视觉和配色的个性化配置,所以主题中只包含了Theme Color子模块。 主题配色截图示例如下: ...

2019-09-12 13:49:21 1405

原创 Python数据处理:Pandas 学习笔记

一. pandas1. 介绍pandas是建立在Numpy基础上的高效数据分析处理库主要包括:Series 一维带标签的同种类型的数组DataFrame 二维代表前的大小可变的各种数据类型可以不同的二维表格Panel 三维带标签的大小可变的数据数据呈直线排列,并且数据和数据标签在默认情况下是相互对齐的2. pandas引用import pandas ...

2019-03-25 17:31:13 662 1

原创 Python数据处理:Numpy 学习笔记

一. numpy1. 介绍2. numpy引用&amp;quot;&amp;quot;&amp;quot;numpy的主要对象是一个规范格式的多维数组&amp;quot;&amp;quot;&amp;quot;import numpy as np二. 创建numpy数组1. 通过list、tuple或其他序列,创建数组### 通过list、tuple或其他序列,创建数组data = np.array([[1, 2, 3],

2018-12-22 17:41:44 630

转载 Python数据处理:IPython使用学习笔记

Python数据处理:IPython使用学习笔记Python数据处理:Numpy 学习笔记Python数据处理:Pandas 学习笔记转载并改编自《IPython使用学习笔记》,原文写得很好,但有些地方还待完成。我转载过来做了补充,进一步学习下,在此感谢原作者本文是学习《利用python进行数据分析》第三章 IPython:一种交互式计算和开发环境的笔记,共享给大家,同时为自己作...

2018-12-17 21:47:11 560

原创 python基础语法总结(六)-- python类与OOP面向对象特性

python常用系统函数方法与模块python基础语法总结(一)-- python类型转换函数+文件读写python基础语法总结(二)-- 函数functionpython基础语法总结(三)-- 数与字符串python基础语法总结(四)-- list列表python基础语法总结(五)-- 字典dic + 元组tuplepython基础语法总结(六)-- python类与O...

2018-12-14 20:22:46 596 2

原创 python基础语法总结(五)-- 字典dic + 元组tuple

python常用系统函数方法与模块python基础语法总结(一)-- python类型转换函数+文件读写python基础语法总结(二)-- 函数functionpython基础语法总结(三)-- 数与字符串python基础语法总结(四)-- list列表python基础语法总结(五)-- 字典dic + 元组tuplepython基础语法总结(六)-- python类与O...

2018-12-13 11:29:57 852

原创 python基础语法总结(四)-- list列表

python常用系统函数方法与模块python基础语法总结(一)-- python类型转换函数+文件读写python基础语法总结(二)-- 函数functionpython基础语法总结(三)-- 数与字符串python基础语法总结(四)-- list列表python基础语法总结(五)-- 字典dic + 元组tuplepython基础语法总结(六)-- python类与O...

2018-12-13 11:17:43 903 2

原创 python基础(二)-- 函数function

python常用系统函数方法与模块python基础语法总结(一)-- python类型转换函数+文件读写python基础语法总结(二)-- 函数functionpython基础语法总结(三)-- 数与字符串python基础语法总结(四)-- list列表python基础语法总结(五)-- 字典dic + 元组tuplepython基础语法总结(六)-- python类与O...

2018-12-13 10:43:32 1041 1

微博数据采集python+selenium执行程序:WBCrawler.exe

本执行程序exe是工程《Python爬虫【零】问题介绍 -- 对“微博辟谣”账号的历史微博进行数据采集》https://blog.csdn.net/u010086122/article/details/114957255 为Windows编译的可执行程序,基于Python3.7+selenium制作,工程源代码: https://download.csdn.net/download/u010086122/16086467 ----------------------------------------------------------------------------------------- 1. 执行项目前,需要下载selenium对应的浏览器驱动程序(driver.exe),并放在本机环境变量路径中,否则会报错。安装操作具体可见博客专题中的指导【二】 2. 执行程序时,会在系统用户默认路径下,创建一个虚拟的python环境(我的路径是C:\Users\Albert\AppData\Local\Temp\_MEI124882\),因此启动项目所需时间较长(约30秒后屏幕才有反应,打出提示),请耐心等待;也正因如此,执行电脑本身环境是可以无需安装python和selenium依赖包的 3. 本项目采用cmd交互方式执行,因此等到屏幕显示: 选择爬取方式: 1. 移动版微博爬取 2. PC网页版微博爬取(单线程) 3. PC网页版微博爬取(页面内多线程) 4. PC网页版微博爬取(多线程异步处理多页面) 后,用键盘输入1~4,敲回车执行 4. 此exe编译时,工程代码内编写的最终excel记录保存地址为:相对工程根路径下的excel文件夹;因此当本exe执行到最后保存数据时,会因为此excel文件夹路径不存在而报错。若在工程中将保存地址改为绝对路径(例如D:\excel\),再编译生成exe执行,则最终爬取数据可以正确保存

2021-03-31

微博数据采集python+selenium工程:WBCrawler.zip

本项目使用python+selenium技术,对“微博辟谣”账号的历史微博进行数据采集。项目程序爬取了移动版微博和PC网页版两种渠道数据,用到了单线程和多线程(单页面内多线程爬取内容+多线程异步处理多页面)方式。相关专题可见: 《Python爬虫【零】问题介绍 -- 对“微博辟谣”账号的历史微博进行数据采集》https://blog.csdn.net/u010086122/article/details/114957255 博客专题内对源码分析已经比较清楚和全面了,可以满足学习要求。此资源为抛砖引玉,仅为赶时间速成的同学提供完整的项目案例。 ------------------------------------------------------------- 执行项目需要提前安装好python环境(anaconda、pycharm)以及selenium依赖包(pip install selenium),同时还需下载selenium对应的浏览器驱动程序(driver.exe),放在本机环境变量路径中。具体可见博客专题中的指导 -------------------------------------------------------------- 本项目工程编译了windows版本执行程序:[微博数据采集python+selenium执行程序:WBCrawler.exe](https://download.csdn.net/download/u010086122/16277506)

2021-03-25

Type Color Theme.zip

 在此分享一个我自制的IntelliJ IDEA的配色主题--“Type Color”,此主题适合java开发使用,也适合使用者根据自己的习惯再做修改。此主题基于IntelliJ IDEA的经典主题:“Classic Eclipse”改造而成,着眼于视觉和配色的个性化配置,所以主题中只包含了Theme Color子模块。具体效果可见:https://blog.csdn.net/u010086122/article/details/100523898

2019-09-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除