- 博客(40)
- 资源 (4)
- 收藏
- 关注
原创 创建HashMap三种方式
今天看到了HashMap的一种新的创建方式,观察其底层代码后,决定将其记录,并复习了一下HashMap的相关知识。HashMap作为一种常用的数据结构,通常情况下我们通过前两种方法对其进行创建。今天看到了第三种创建方式。
2023-02-27 23:18:58
5324
原创 图书馆系统
从头用腾讯服务器搭了一个图书馆的前后端分离系统,前端使用Vue框架进行开发,后端使用springboot框架进行开发,有些费劲的地方记录一下,之前数据库Error executing DDL那个就是其中的一个。跨域问题后端逻辑运行起来之后,前端对其进行访问,会出现跨域问题。见图跨域问题本质由于浏览器同源策略限制导致的,同源策略见浏览器同源策略,大体是同源策略一种安全策略,帮助阻隔恶意文档,减少可能被攻击的媒介。如果两个 URL 的protocol、port(如果有)和host都相同的话,则这两个UR
2022-01-24 00:23:17
264
原创 Error executing DDL “create table Book(表名)“
问题出自是我的Book类的一个属性名是index,而这个是mysql中的关键字。@Entity@Table(name = "book")public class Book { /*编号(主键)*/ @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id") private int bookId; /*索引号*/ @Column(name = "index
2022-01-20 18:40:16
1239
原创 MySQL
记最惨的面试面了上海字节的后端开发,一位感觉很大佬的人给面的。发现自己只会八股(还不怎么熟),深挖不行。回来补一下MySQL。MySQL事务四大属性:ACID,原子性、一致性、隔离性、持久性。MySQL事务隔离级别:读未提交、读已提交、可重复读、串行化。MySQL索引:哈希或B+树。MYSQL搜索引擎:InnoDB、MyISAM。InnoDB:支持事务,默认可重复读、通过MVCC(多版本并发控制)+ Next-Key Locking防止幻读。主索引是聚簇索引,索引包含数据。支持在线热备份。
2021-08-07 12:51:25
174
原创 最长回文子串——Manacher 算法
找一个字符串中的最长回文子串。输入:s = "babad"输出:"bab"解释:"aba" 同样是符合题意的答案。输入:s = "cbbd"输出:"bb"i>j, 如果j位置的臂长curLen,有j+curLen = length > i。那么可以根据回文,可以直接用 2 * j - i位置的臂长进行一次跳过。点 i 的臂长至少为 min(j + length - i, n:2*j-i处臂长) 臂长:回文一侧的长度。对于偶数回文串,两个字符中间添加#。class Solut
2021-06-15 15:26:35
125
原创 Java IO/NIO
Java IO/NIO概念:阻塞与非阻塞阻塞与非阻塞是描述进程在访问某个资源时,数据是否准备就绪的的一种处理方式。当数据没有准备就绪时:阻塞:线程持续等待资源中数据准备完成,直到返回响应结果。非阻塞:线程直接返回结果,不会持续等待资源准备数据结束后才响应结果。概念:同步与异步同步与异步是指访问数据的机制,同步一般指主动请求并等待IO操作完成的方式。异步则指主动请求数据后便可以继续处理其它任务,随后等待IO操作完毕的通知。概念:BIO、AIO、NIOBIO:同步阻塞(blockin
2021-05-22 22:23:57
198
原创 Java String类
Java String类String类源码如下public final class String implements java.io.Serializable, Comparable<String>, CharSequence { /** The value is used for character storage. */ private final char value[]; /** Cache the hash code for the string */
2021-05-11 14:00:42
111
原创 tmux使用
安装# Ubuntu 或 Debian$ sudo apt-get install tmux# CentOS 或 Fedora$ sudo yum install tmux# Mac$ brew install tmux根据命令使用频率及新建会话新建一个指定名称的会话。$ tmux new -s <session-name>退出按下Ctrl+d或者显式输入exit命令,就可以退出 Tmux 窗口。分离会话在 Tmux 窗口中,按下Ctrl+b d或者输入tmu
2020-12-08 18:28:16
129
原创 Vue读取static文件url
Vue项目在不同的服务器上部署时需要针对该服务器配置请求后端的url路径。在static文件夹下配置config.js文件window.aaa= { baseUrl: 'https://www.baidu.com/',};在URL.ts中static getBaseURL() { return window.aaa.baseUrl;}直接引用会出现问题,TS2339: Property 'aaa' does not exist on type 'Window & ty
2020-11-24 14:02:46
2692
原创 Vue Typescript 实现微信支付
Vue框架下用typescript代替JavaScript,实现微信支付的功能。查询微信开发者文档可知,需要调用WeixinJSBridge实现此功能。但是WeixinJSBridge为微信私有接口,一般情况下WeixinJSBridge内置对象在其他浏览器中无效。难点在于使用TypeScript,如果在JavaScript中,逻辑代码如下所示。router作用在于付款后的页面跳转。static onBridgeReady(result, router) { WeixinJSBridge.in
2020-11-11 22:14:37
1163
原创 Vue报错 Property name “xxx“ is not PascalCase
报错一Property name “my” is not PascalCase首字母需要大写,写成小写的就会报错。报错二Do not use built-in or reserved HTML elements as component id: Component组件名称,不能和html标签重复。由于在模板需要插入到 DOM 中,所以模板中的标签名必须能够被 DOM 正确地解析。主要有三种情况:一是完全不合法的标签名,例如 </>;二是与 HTML 元素重名会产生不确
2020-09-10 10:25:48
9738
原创 Vue数字转汉字
Vue中将阿里伯数字转换为中文表示,一般用作排名使用。目前支持两位数字转换。let toChinese=function(val){ let chin_list=['一','二','三','四','五','六','七','八','九','十'];//所有的数值对应的汉字 let sn = parseInt(val)+1;//这里由于我的后台是从0开始排序 if(sn<=10){ return chin_list[sn-1]; } else if(s
2020-08-21 23:42:17
2487
3
原创 python给定日期判断是星期几
Python获得一给定日期是星期几import datetime;day=datetime.datetime(2020,7,27).strftime("%w");print(day)注:如果是星期天,得到的结果是0
2020-07-27 14:18:34
1634
3
原创 python pandas库数据处理
配置import numpy as npimport pandas as pdimport math读取数据读取excel数据df=pd.read_excel('data/USD_CNY汇率历史数据(1).xlsx')读取csv数据data = pd.read_csv('shopping.csv')取指定数据指定列result=df["收盘价"]符合条件数据dataM=data[data['性别']=='M']处理数据求对数rlog=np.log(result)
2020-07-27 14:12:40
170
原创 Vue v-model修饰符,@change事件
输入框经常受到需求或者客观逻辑的制约,对于输入内容需要就进行优化。v-model.number使用修饰符.number可以将输入的数据转换为Number类型,否则虽然你输入的是数字,但它的类型其实还是string。v-model.trim如果要自动过滤用户输入的首尾空白字符,可以给 v-model 添加 trim 修饰符。@change@change当输入框失焦的时候触发而且在elementUI中使用change时是这样的@visible-change。可以使用于:<input>,
2020-07-23 20:59:19
9074
原创 Scrapy爬虫框架笔记(三)——实例
根据前两篇笔记,Scrapy爬虫框架笔记(二)。以此运用scrapy框架进行爬虫福布斯富豪榜这个网站。网页如图所示,我们爬取排名、姓名、财富值、财富来源、年龄、城市、行业信息。创建项目命令行进入在我们想创建的目录,输入scrapy startproject tutorial即可创建一个tutorial文件夹。然后在spiders文件夹下创建一个dmoz_spider.py文件。item依据我们要获取的信息来定义Itemimport scrapyclass DmozItem(scrapy.It
2020-07-05 22:51:46
278
原创 anaconda+Pycharm
之前在做Scrapy爬虫框架,今天重新用一下之前的程序,用requests+BeautifulSoup来爬起网页,发现报错发现之前的anaconda换电脑了忘记装了。所以就重新装一下anaconda,并且在Pycharm中配置anaconda。下载Anaconda(官网)就是可以便捷获取包且对包能够进行管理,同时对环境可以统一管理的发行版本。Anaconda包含了conda、Python在内的超过180个科学包及其依赖项。去官网点击download下载即可。安装一直下一步就可以,安装位置可以换一下
2020-07-01 22:53:01
384
原创 Scrapy爬虫框架笔记(二)
上一篇记录了配置环境和Scrapy框架最简单的一个小应用,抓取了网页源码。但是在实际的应用中我们需要的是网页上的部分信息,这时我们需要从源码中提取所需要的数据,就需要使用选择器(Selectors)。通过特定的 XPath 或者 CSS 表达式来“选择” HTML文件中的某个部分。XPath 是一门用来在XML文件中选择节点的语言,也可以用在HTML上。 CSS 是一门将HTML文档样式化的语言。选择器由它定义,并与特定的HTML元素的样式相关连。构造选择器为了方便起见,response对象以 .sel
2020-06-30 16:28:31
166
原创 Scrapy爬虫框架笔记(一)
之前一直用requests+BeautifulSoup进行爬虫,想要接触一下Scrapy。配置环境首先需要配置环境,按照Scrapy文档给出的需要安装python+lxml+OpenSSL然后才能安装Scrapy。所以按照步骤安装python3.7之后使用pip install依次安装lxml、OpenSSL、Scrapy。然后命令行进入存储代码的目录中,egH:\python\Scrapy,执行scrapy startproject tutorial。会包含一下文件tutorial/ sc
2020-06-29 16:58:30
184
原创 vdom例子
之前一直使用Vue来做项目,然后需要实现一个查询和获取全部结果的功能,样式如下:一开始加载全部退款结果,然后我们可以输入条件进行查询(eg:输入操作者姓名)。当查询之后我们点击全部按钮,需要使查询条件置空,显示全部内容。并且当我们下一次进入该页面之后,需要加载上次的结果。 例如如果我们上次用操作者姓名为张三进行查找,这时我们去别的页面然后回来进入此页面,则呈现张三查询结果。如果我们先用张三进行查询然后点击全部按钮,则我们去别的页面然后回来进入此页面后,呈现全部的结果。先放关键代码,解释原因之后其余部分代
2020-06-28 23:28:26
184
原创 hexo博客文章带图片问题
hexo+github搭建博客往博客里插入图片的问题。首先在本地hexo目录里面找_config.yml这个文件。找到post_asset_folder将其改为true。然后Git Bash进入该目录,执行npm install hexo-asset-image --save,如果不行则执行npm install -g cnpm --registry=https://registry.npm.taobao.org然后执行cnpm install hexo-asset-image --save。此时执行he
2020-06-14 23:29:06
706
原创 Vue中@keyup事件——输入自动转大写
先说需求,两个输入框,要求输入的小写字母自动变为大写,输入非字母会自动删除。html代码如下<div class="param-box" > <span class="title-box"> <span class="font-blod">允许参加舱位</span> </span> <input v-model
2020-06-09 22:41:56
1870
原创 html改变按钮样式
今天有人问我怎么改样式,需求是三个按钮,一次点一个,要求被点击的按钮和没被点的按钮是两种不同的样式,如图所示。最初三个按钮都没选如图一,然后点击“已读”按钮,“已读”按钮样式改变。再点击“全部”按钮,“全部”按钮样式改变,“已读”按钮变回原样式。按钮的html代码如下<div style="justify-content: space-between;width: 20%" class="flex-row"> <button
2020-05-26 23:17:43
7464
原创 CSS cursor 属性约束光标
在一个页面上,当鼠标触碰不同对象时,往往光标呈现的样式不同,比如输入框一般为 I-Beam(即一条竖线),想呈现不同类型,通过CSScursor属性来进行约定。
2020-05-20 14:32:15
222
原创 html元素隐藏与显示
首先先解释一下两种不显示元素的基础知识,然后在给出一个例子及其实现的代码。先展示一下例子想要的效果。如下图,这个表格最后两列正常情况下是没有显示的。当鼠标移动该行时,该行的最后两列显示出来,如下图红框内显示。接下来介绍两种使得元素不显示的方法。CSS中visibility: hidden和display: none 均可以让我们看不到元素,但是有所不同。作用不同visibilit...
2020-05-08 15:32:31
2330
原创 Vue与父组件通信
接上文,这篇会用到Vue组件里的一些知识要实现策略里面各个按钮及其功能。如下图所示html代码很简单如下,一个div标签下四个button按钮<div style="display: flex;flex-direction: row;justify-content: center;margin: 8px 0;"> <button ...
2020-05-07 00:06:27
134
原创 HTML根据选择控制显示
需要写如下图这样的一个策略页面,要求一开始为空,每次点击做下面的新增按钮即可增加一个策略。然后对于每个增加的策略可以手动选择条件来增加条件。最后不同的策略之间可以上下移动,每个策略可以保存和删除。在整个策略列表要实现增加每个子策略,整个项目使用Vue架构,所以使用了Vue组件。这一篇主要来说如何实现子策略如何实现<template> <div> <...
2020-05-06 14:40:12
2045
原创 html网页输入数字
写网页的时候想要添加一个输入数字的地方,如图所示。在框内想要有汉字提示来指示这个框输入什么,那么仍然使用input来写,html代码如下:<input v-model="activityParam.basePrice" type="number" placeholder="最低价">v-model用来获取输入的数值。...
2020-04-29 13:04:37
2362
1
原创 hexo博客插入音乐播放器
搭建好自己的博客之后,想要在博客中添加音乐播放器。需要hexo-tag-aplayer插件。使用Git Bash进入本地hexo的文件夹。输入以下命令(异常或网络太慢可以考虑将npm换成cnpm)npm install --save hexo-tag-aplayer然后在 Hexo 配置文件 _config.yml 中添加设置:然后输入hexo new page playlist创建一...
2020-04-26 15:00:02
2161
原创 html单选按钮默认选择
页面需要一个选择性别的单选按钮,要求默认是根据后台返回值来选择“男”或“女”,然后可以手动进行修改。注:下图中单选按钮的按钮是图片,根据是否被选中来显示不同的图片。先写出性别里的两个单选按钮。<div class="userBox"> <div class="nameString">性别</div> <input type="radio" ...
2020-04-24 21:21:34
4755
原创 html中div标签放一行
如下图,在网页中要想实现这种布局形式,及所有的框(div标签)放在同一行,有以下方法。方法一:display: inline-block方法二:float: left方法三:display: flex;flex-direction: row;...
2020-04-24 20:45:24
2974
原创 Vue项目input时间类型自动补全
最近Vue项目中出现了设置时间的一个要求,一开始是简单的使用以下代码。<input v-model="activityParam.startTime" type="datetime-local" placeholder="活动时间" >这时时间格式为“yyyy-MM-dd HH:mm”,手动设置时间,如下图所示。但是...
2020-04-21 16:02:13
3021
原创 Gitkraken无法继续使用
随着Gitkraken的更新,下拉仓库时会有提示,需要购买pro版本的才可以继续使用。需要将其卸载,重新下载一个之前的版本,以6.0.0版本为例,成功安装之后找到安装的文件夹删除掉里面的自动升级即可。...
2020-04-16 15:24:09
1400
原创 C++链表
C++链表单链表C++的单链表创建、插入、删除、改变某一值。struct ListNode{ double value; ListNode* next;};ListNode* create(ListNode* head,int n) { ListNode* pre = head; for (int i = 1; i < n; i++) { ListNode* p =...
2019-10-12 16:43:11
160
dosbox,DOSXNT,debug三个的安装包
2018-03-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人