自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Spr Chan的博客

There is only one heroism in the world: to see the world as it is and to love it.

  • 博客(95)

原创 Python爬虫实战:汽车导购网站评论爬取(大数据帮你买到心仪好车)

前言四天入门Python(慕课网课:https://www.imooc.com/code/3255),三天入门简单爬虫(慕课网课:https://www.imooc.com/video/10674),八天撸完180行的代码,一路磕磕绊绊,一路的bugbugbug…,索性还是以比较快的速度解决了女票的要求(爬来的数据给女票写小论文用)。直接先码代码贴上,以后有空再对代码进行详解吧…:#爬取爱卡...

2019-07-08 18:11:36 156

原创 Python爬虫实战:京东拍拍验机(帮你买到最完美的二手iPhone)

文章目录网站介绍&使用痛点网站分析项目实施1. 爬取commodityId1.1 失败的爬取思路1.2 改进后的巧妙的爬取思路2. 增加筛选项3. 筛选所有商品网站介绍&使用痛点  如图1所示,京东拍拍二手于近期上线了一个新平台:拍拍验机,顾客可以通过手机京东客户端,在拍拍验机上挑选购买心仪的二手电子产品(目前均为固定品牌的手机,如二手小米8、二手iPhone 7 Plus)。...

2019-05-18 16:35:34 6187 3

原创 【C++】 常对象、常数据成员、常成员函数总结

常数据成员 ◆ 常数据成员必须进行初始化,并且不能被更新。 ◆ 常数据成员不能在声明时赋初始值(普通数据成员也是),常数据成员必须在构造函数初始化列表进行初始化;普通数据成员在初始化列表和函数体中初始化均可。 ◆ PS:类的成员对象若要传入参数初始化,则必须在构造函数初始化列表进行;(成员对象:当一个类的成员是另一个类的对象时,这个对象就叫成员对象。)常对象 ◆ ⭐常对象可以调用常成员函...

2019-03-24 15:07:25 1991 4

原创 三张图搞透第一范式(1NF)、第二范式(2NF)和第三范式(3NF)的区别

第一范式:  列1唯一确定列2、列3、列4…,即列不能再分成其它几列。  假设列1:订单名,列2:商品名,一个订单名里可以有多个商品名,所以这样就不符合第一范式。第二范式:  首先符合1NF,另外包含两部分内容,一是表必须有一个(及以上)主键;二是没有包含在主键中的列必须全部依赖于全部主键,而不能只依赖于主键的一部分而不依赖全部主键。  定义听起来有点绕,不慌,直接看图,只有全部的非...

2019-03-20 00:17:07 16398 19

原创 【虚拟机装黑苹果(第四弹)】解决macOS10.13及以上版本下无法安装VMware Tools的问题

  

2020-05-23 16:28:36 636

原创 【虚拟机装黑苹果(第三弹)】macOS安装镜像格式转换(dmg转iso,非UltraISO方法)
原力计划

前言  关于Wmware虚拟机装黑苹果,不能直接使用dmg格式的macOS安装镜像进行安装,需要把dmg格式转换为iso格式才行。网上部分教程是教你使用UltraISO将dmg格式的镜像转换为iso格式(比如此篇),但是这种方法只适用于版本10.12以下的镜像,10.12及以上版本使用此方法无效。  本文介绍如何正确地把10.12及以上版本的macOS镜像格式转换为iso,注意,下面教程中我所使用的镜像版本为10.12,但是教程代码是适用于所有10.12及以上版本镜像的。具体步骤  把下载好的dmg

2020-05-22 14:53:04 1336

原创 【虚拟机装黑苹果(第二弹)】Win10/macOS环境下制作黑苹果安装U盘(能被Vmware虚拟机识别)
原力计划

  什么值得买有一篇著名的虚拟机装黑苹果教程,这篇文章讲的很好,但是有一个Bug,文中提到用TransMac在“虚拟机装黑苹果(第一弹)”我提到,若要制作能被Vmware识别

2020-05-21 04:04:51 590 1

原创 可能是最详细的Win10+黑苹果双系统安装教程(For Dell 7580)
原力计划

前期准备工具和软件两个U盘安装黑苹果必备EFI文件 [下载地址]黑苹果安装镜像 [下载地址]balenaEtcher [下载地址]DiskGenius 专业版微PE工具箱 2.0 增强版机械硬盘装黑苹果的准备工作  如果你想把win10和黑苹果都安装在固态硬盘中,直接跳过此节到“正式安装”。如果你想在固态硬盘中安装win10,在机械硬盘中安装黑苹果,按如下步骤进行。1.2.正式安装...

2020-05-13 04:15:40 4956 6

原创 【小技巧】PhotoShop + lllustrator制作电子签名矢量图

前言  有时候我们需要制作电子签名并打印,但是往往直接将签名拍照并插入Word中再打印出来的效果很不好,这时就需要将签名转换成矢量图。准备工具手机扫描软件,如Scanner[IOS]PhotoShopAdobe lllustrator教程步骤首先将写在纸上的签名扫描到手机上,然后发送到电脑,如下图所示。打开PhotoShop,打开图片,裁剪出合适的范围。点击:图像-》调整...

2019-09-14 10:20:02 1865

原创 【Java】超严谨论证:为什么自定义类对象存储到Set集合中,要重写hashCode方法和equals方法

前言首先看一下Set集合在存储元素的时候,判断元素是否重复的方法:add方法首先调用元素的hashCode方法获取该元素的哈希值,再判断Set集合中有没有元素的哈希值与之重复。如果没有,就会把新的元素存储到数组中。如果有重复的哈希值(哈希冲突),再调用元素的equals方法和Set中已有的哈希值相同的元素进行比较:如果equals方法返回true,认定两个元素相同,就不会把新元素存储到集...

2019-08-21 22:09:38 419 1

原创 【Java】哈希值相同的变量/对象的地址值也相同吗?

前言  “Java中直接打印对象,输出的是对象的地址值(对象的类没有重写toString方法)”,这是初学者在学Java基础语言的时候,大多数教程都是这么介绍的,初学者也会认为这就是对象在内存中存储的位置,如输出的地址值为:cn.imcyc.person.Person@11ff03但是,其实这种说法是有混淆性的,实际上,打印对象输出的“地址值”并不是对象的物理存储地址,@之后的“11ff0...

2019-08-21 19:49:44 3055 1

原创 【JDBC】使用/不使用数据库连接池获取连接对比

不使用数据库连接池不使用工具类获取连接(以及注册驱动)://注册驱动Class.forName("com.mysql.jdbc.Driver");//把要注册的驱动加载进内存//获取数据库连接对象Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/db3", "root", "4719")...

2019-08-17 19:32:42 935

原创 【JDBC练习】使用用户名和密码登录

前言需求:  1. 通过键盘录入用户名和密码  2. 判断用户是否登录成功分析:  使用sql语句:select * from user where username = " " and password = " ",如果这个sql有查询结果,则成功;反之,则失败。步骤首先创建数据库表user,添加两个用户名及密码作为已注册用户。CREATE TABLE USER( i...

2019-08-15 21:47:02 2362

原创 【JDBC练习】查看表的方法——表的数据封装成对象并装载成集合

前言  在MYSQL的db3数据库中存在表emp,通过可视化软件SQLyog可以方便的查看表的数据,如下图所示。那么如何通过JDBC来查看表?教程步骤首先新建一个Emp类,把emp表的列名当成Emp类的私有数据成员,Emp类的代码如下:package cn.imcyc.domain;import java.util.Date;/** * 封装Emp表数据的JavaBean...

2019-08-14 17:25:39 413

原创 【Hexo + Next】侧边栏添加自定义文件夹(如友链)

前言  如果你刚刚完成博客的搭建,会发现Next主题的侧边栏默认文件夹很少,不过你可以通过配置主题配置文件_config.yml,增加标签、分类、关于等等文件夹,具体教程可参考官方帮助文档,网上亦有大量教程,这里就不赘述了。  当你在浏览一些完成度较高的博客时,会发现有的博客的侧边栏会有一些自定义的文件夹,如图1所示,红框中的是Next主题自带的文件夹,蓝框中的是自定义的。不过,无论是官方...

2019-07-29 16:05:44 1730

原创 【Hexo+Next优化之坑】百度、谷歌收录sitemap站点地图

前言  之前陆陆续续写了一些搭建个人博客道路上遇到的坑,现在终于快把博客优化完了,只剩下CDN和SEO两块,今天就讲讲我在SEO中遇到的坑,文章分成两块——百度收录和谷歌收录。百度收录  按照网上的教程(参考文献[4],[5]),成功部署百度SEO,但是过去了半天,我的sitemap收录依旧是等待状态……,网上有说等几秒就开始收录的,有说等了俩月都没收录的,哎,先放在这里吧,过段时间再来看看...

2019-07-21 19:58:17 750

原创 【Hexo + Next主题】左侧栏友链一行多个显示

前言  Next主题的友链默认排版是一行一个,如图1所示。图1 友链每行单个示意图一旦友链数量过多,那么一行一个的页面排版就不怎么美观了,下面笔者教大家如何一行多个地显示友链。教程步骤  打开你的博客文件夹下的themes/next/layout/_macro/sidebar.swig,sidebar即侧边栏,顾名思义在sidebar.swig文件中我们可以对侧边栏的页面排版进行设置...

2019-07-20 13:44:21 516

原创 【Next7.2.0版权声明大改动】仅需一步!开启内置版权声明(跟繁琐的自定义版权声明说拜拜~)

前言  在之前的Next版本中,只需要到主题配置文件_config.yml中将copyright改为true就能开启版权声明,如图1所示。图1 老版本Next版权声明示意图  但是在最新的Next7.2.0版本中,官方对版权声明的设置做出了大改动,在主题配置文件_config.yml中已经找不到设置版权声明的copyright选项了(新版本的主题配置文件中有一个copyright选项,不...

2019-07-19 14:44:02 1182 1

原创 【Hexo博客搭建 • 篇三】一个自定义域名同时绑定Coding(国内访问) + GitHub(国外访问)

前言  在【Hexo博客搭建 • 篇二】中,笔者详细介绍了GitHub仓库绑定自定义域名的方法,但是由于Github服务器的原因,导致访问个人博客不够稳定。本篇将介绍使用一个自定义域名同时绑定Coding + GitHub 的方法,点击imcyc.top,国内用户访问到的是Coding仓库,而国外用户访问到的则是GitHub仓库,堪称完美的解决方案。hexo托管到coding服务器  将he...

2019-07-09 22:08:39 862

原创 【Hexo博客搭建 • 篇二】GitHub仓库绑定自定义域名

前言  使用Hexo+Github完成个人博客的搭建后,我的博客链接就是“https://spr-chan.github.io”,本文将介绍如何将个人博客链接改为私人定制的域名。准备域名  1. 购买域名,我已经在阿里云购买到域名“imcyc.top”。  2. 解析域名,解析操作如下图所示。注意要添加两条解析,记录值是自己的Github二级域名。配置CNAME方法一(不推荐) ...

2019-07-07 13:13:25 250

原创 【Hexo博客搭建 • 篇一】本地博客主题修改后,推到远端服务器的操作细节

  以MacOS系统为例,在个人博客配置文件夹修改好主题文件后,如何推到远端服务器(github仓库)?网上搜到的答案一般是:    $ hexo clean    $ hexo g    $ hexo dhexo操作三连就行了,但是如果我们直接打开终端输入“hexo clean”是会报错的,正确做法是:首先定位到博客文件夹,输入以下命令并回车:  cd /Users/你的用户文件夹...

2019-07-06 19:21:46 797

原创 【虚拟机装黑苹果(第一弹)】DiskMaker X制作macOS Mojave 10.14.x的U盘启动盘

前言:  在色魔张大妈上看到一篇灰常灰常详细的VMware虚拟机装macOS Mojave10.14.x的教程,但是实操中我也遇到了和帖子下面众多网友所遇到的一样的问题,就是在win10平台下使用TransMac制作的 macOS U盘启动盘,VMware无法识别,从而使整个教程进行不下去。  后来经过一番折腾,发现只有在苹果系统下(无论黑苹果还是白苹果)制作的 macOS U盘启动盘,VMw...

2019-07-04 19:22:42 6200

原创 【Java】框架的基本原理下篇:简单的框架测试(使用注解而不是自定义注解)

案例:简单的框架测试  准备一个Calculator类,一个注解,一个测试类。  Check注解的代码为:package top.imcyc.day07.annotation.demo;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.anno...

2019-07-02 15:29:29 103

原创 【Java】框架的基本原理中篇:注解优化

  在上一篇bolg中,笔者介绍了框架的灵魂:反射机制。使用反射机制,在不改动代码的前提下,只需要改动配置文件中的类名、方法名,就可以创建任意类的对象,可以执行任意方法,这就是框架内部的基本原理。本篇将介绍如何使用注解,将上篇中的配置文件省略并简化代码,达到相同的功能。  首先,我们新建一个Person类,内容与上篇中相同;新建一个注解接口;新建一个测试类。  Person类中的代码为:p...

2019-07-01 23:24:12 157

原创 【Java】框架的基本原理上篇:反射机制

反射:框架设计的灵魂框架:半成品软件。可以在框架的基础上进行软件开发,简化编码;反射:将类的各个组成部分封装为其他对象,这就是反射机制。好处:可以在程序运行过程中,操作这些对象;可以解耦,提高程序的可扩展性。  这里使用一个简单的案例,介绍一下框架的基本原理。准备工作:新建一个Person类、新建一个pro.properties的配置文件、新建一个测试类。  Person类中写...

2019-07-01 15:58:22 288

原创 【Java】练习:使用Predicate接口对String数组元素信息进行筛选的两种方式

题目  数组当中有多条“姓名+性别”的信息如下,请通过Predicate 接口的拼装将符合要求的字符串筛选到集合ArrayList(或List)中,需要同时满足两个条件:  1.必须为女生;  2.姓名为4个字。String[] array = {"迪丽热巴,女", "古力娜扎,女", "马尔扎哈,男", "赵丽颖,女"};  博主自行解答:import java.util.Arra...

2019-06-25 17:31:01 613

原创 【Java1.8】实现类、匿名类、内部类、匿名内部类、Lambda表达式以及优化Lambda表达式比较

  梳理一下实现类、匿名类、内部类、匿名内部类、Lambda表达式以及优化Lambda表达式的关系,仅针对初学者。  自定义一个接口MyFunctionInterface,其中有且仅有一个抽象方法(接口中可以有其他非抽象方法内容),代码实现为:/* 函数式接口:有且只有一个抽象方法的接口,称之为函数式接口; 当然接口中可以包含其他的方法(默认,静态,私有)。 */publi...

2019-06-23 22:25:58 702

原创 【Java】指定编码表的两种方式——String类的构造方法和转换流

使用文件字符输入流+String类构造函数指定编码表import java.io.FileInputStream;import java.io.IOException;import java.util.Arrays;public class Demo05 { public static void main(String[] args) throws IOException {...

2019-06-19 16:34:11 470

原创 【Java】使用文件字节输入/输出流复制文件、使用字节缓冲输入/输出流复制文件的区别

  首先我们来对比一下文件字节输入流和字节缓冲输入流的read方法,可以看到两者的read方法的都继承自InputStream类,且read(bytes[ ] b)方法都没有被子类重写,所以代码执行的效率理论上没有区别。  再来对比文件字节输出流和字节缓冲输出流的write方法,可以看到有所不同:  文件字节输出流的write(bytes[ ] b)是将字节数组中的数据直接写入到此文件输出流...

2019-06-18 17:09:10 880 1

原创 【Java】Java中与C++复制构造函数被调用对应的情况

C++中复制构造函数被调用的三种情况◊ 定义一个对象时,以本类另一个对象作为初始值,发生复制构造;(Java中是将已有对象的地址传给新的对象)◊ 如果函数的形参是类的对象,调用函数时,将使用实参对象初始化形参对象,发生复制构造;(Java中是将实参对象的地址传给形参)◊ 如果函数的返回值是类的对象,函数执行完成返回主调函数时,将使用return语句中的对象初始化一个临时无名对象,传递给主调函...

2019-05-21 14:12:42 62

原创 【win10小技巧之硬盘恢复】硬盘分区里面的文件都变成了乱码

如何恢复硬盘名和里面的数据都变成乱码的硬盘分区?硬盘分区表坏掉了.首先必须注意一定不要再往硬盘写入任何数据;已经不能启动进系统的话,就设置开机光盘或U盘引导电脑进WinPE(需要你有带WinPE的光盘或U盘启动盘,没有就买或自己做一个);能开机的也建议进WinPE,因为实测在win10系统下使用DiskGenius会出错;进PE后,使用DiskGenius>菜单栏>硬盘>重...

2019-04-21 18:50:34 1235

原创 【数据结构】归并排序之一种基于二路归并的归并排序

归并排序适用于向量和列表通用;使用的是分而治之的策略;归:递归。首先将列表一分为二,并不断递归一分为二;并:合并,将当前的两个子序列(已有序)合并的算法;下面是通用的归并排序的模板代码:    template < typename T >    void Vector :: mergeSort(Rank lo, Rank hi) {    if(hi - lo<2)...

2019-04-21 16:06:41 211

原创 【数据结构】稍复杂的级数题

该题求级数的复杂度,简单解析如上图。  为什么0+0+1+2 * 2+3 * 4+4 * 8+…会是一个几何级数呢? 几何级数不是等倍数增长吗? 又是如何推导出O(logn*2^logn)呢?  问题详解  可得S与等比数列求和的复杂度同阶,所以S可以当几何级数处理;而几何级数的复杂度与末项同阶且相等,所以S的复杂度为:  O((logn-1) * 2^logn+1)=O(logn *...

2019-04-08 17:08:34 133

原创 【烤机向】美国大选有没有打成269票平局的情况?

  美国大选到最后阶段,往往都是两个人的角逐,比如上一次的希拉里和川普。大选的规则是只要一个候选人在一个州获胜,那么这个州的所有选票就划归在本州获胜的候选人。从上图可以看出,每个州的选票数量是不一样的,如加利福尼亚州有多达55张选票,最少的州只有3张选票,所有51个选取的总票数是538。  那么问题来了,有没有两个候选人均获得269票打成平局的情况?在数据结构上讲,该问题的复杂度是O(2^5...

2019-04-08 10:38:38 343

原创 C++ “类名 对象1=对象2;”与“类名 对象1(对象2);”的构造方法是一致的

  看代码:#include<iostream>using namespace std;class TV{public: TV(int s=41): size(s){} TV(const TV &r): size(r.size){ cout<<1;} ~TV(){}private: int size;};TV fun(TV &u){...

2019-03-31 20:32:56 281

原创 C++ 不能通过给字符数组名赋值的方法给字符数组赋值

已知有数组定义:char a[3][4];形如:“a[0] = “AAA”;”的赋值语句是错误的,因为在C++中,无法通过给字符数组名赋值来实现给字符数组每一个元素赋值。正确的赋值方法应该是:通过for循环来赋值#include<iostream>using namespace std;int main(){ char a[3][4]; char *p="AAA"...

2019-03-30 21:49:09 1689 1

原创 【C++二级易错题整理】历年真题及最新大纲模拟题之C++篇(二)(零基础,选择题也能35+)

写在最前  在我的上一篇博文:“公共基础知识篇(一)”中,根据历年真题及最新大纲模拟题,个人整理了一些公共基础知识部分的易错题。本文继续介绍C++二级考试选择题部分的“重头戏”,分数值占到选择题总分75%的C++知识部分。文章目录重载、重载运算符重载类型转换运算符常对象、常数据成员、常成员函数常数据成员常对象常成员函数内联函数初始化指针this指针输入输出流模板栈、队列线性表排序面向对象其它非...

2019-03-30 20:13:22 691

原创 【C++二级易错题整理】历年真题及最新大纲模拟题之公共基础知识篇(一)(零基础,选择题也能35+)

写在最前  C++二级大纲规定:单项选择题40分(含公共基础知识部分10分)。而且按照最新的计算机等级考试规定:自2019年3月起,凡选择题部分得分低于20分,则直接按不合格处理。所以考生应当提高对选择题部分的重视。  而选择题中,往往出错率最高的就是公共基础知识部分,因为大部分考生把所有精力都用来复习C++,但是公共基础知识繁杂庞多,想复习也无从下手,所以很多人直接放弃公共基础知识部分的10...

2019-03-30 16:25:09 807

原创 C++ 模板实参中的参数可以省略的情况分析

先来看一道C++二级真题+未来教育解析:关于在调用模板函数时模板实参的使用,下列表述中正确的是()。A)对于虚拟类型参数所对应的模板实参,如果能从模板函数的实参中获得相同的信息,则都可以省略B)对于虚拟类型参数所对应的模板实参,如果它们是参数表中的最后的若干个参数,则都可以省略C)对于虚拟类型参数所对应的模板实参,若能够省略则必须省略D)对于常规参数所对应的模板实参,任何情况下都不能省略...

2019-03-29 16:49:36 1423

原创 【C++】引用可以指向临时无名对象吗?

先来看一道C++二级真题有如下类定义:class MyClass{ public:MyClass(int d=0): val(d) { } ____________ //运算符函数+的声明private: int val;};若要使语句序列MyClass x(2), y(4), z;z=7+y;y=x+3;能够正常运行,横线处的声明语句应为()。A) frien...

2019-03-28 20:29:38 464 1

空空如也

空空如也

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