- 博客(97)
- 资源 (7)
- 收藏
- 关注
原创 LRU缓存结构解题过程
目录0.问题描述1.问题分析2.问题解决3.优化3.1引入新的数据结构3.2代码实现0.问题描述题目描述设计LRU缓存结构,该结构在构造时确定大小,假设大小为K,并有如下两个功能set(key, value):将记录(key, value)插入该结构get(key):返回key对应的value值[要求]set和get方法的时间复杂度为O(1)某个key的set或get操作一旦发生,认为这个key的记录成了最常使用的。当缓存的大小超过K时,移除最不经常使用的记录,即set或get最
2020-12-31 16:49:41
197
原创 变异二分查找解题过程
目录0.问题描述1.问题分析2.问题深化及解决0.问题描述题目描述请实现有重复数字的有序数组的二分查找。输出在数组中第一个大于等于查找值的位置,如果数组中不存在这样的数,则输出数组长度加一。输入 5,4,[1,2,4,4,5]返回值 3说明 输出位置从1开始计算看完题目就确定是二分查找,不用过脑 /** * 二分查找 * @param n int整型 数组长度 * @param v int整型 查找值 * @param a int整型一
2020-12-30 15:26:11
230
原创 PG数据库创建视图并授权给新用户
目录0. 背景1.分析2.实现2.1根据功能创建新视图2.2创建新用户2.3只授权新用户新视图的查询权限2.4 数据库服务器添加配置3.总结0. 背景客户想要几张表的汇总数据,要直接访问数据库获取数据库服务器为 PostgreSQL 11.41.分析原则: 不能直接开放表的任何权限给用户,用户只能查询数据思路是:1.根据功能创建新视图2.创建新用户 3.只授权新用户新视图的查询权限2.实现2.1根据功能创建新视图create view view_students asse
2020-11-19 16:18:41
4595
1
原创 Notepad++实现右键选择格式化JSON
Notepad++实现右键选择格式化JSON0.最终效果1.安装下载插件2.功能添加到右键0.最终效果选中要格式化的json文件,右键选择 Format JSON即可完成Json的格式化1.安装下载插件插件--->Plugin Manager-----> Show Plugin Manager 选项弹出界面后,找到 JSON Viewer 点击右下角的 Install 按钮安装完成会提示重启,重启后生效(安装失败就多安装几次)安装成功的话,点击插件就能看到了但是,每次想要格式
2020-10-15 16:08:06
689
1
原创 面试题——笛卡尔积
0.前言最近参加某公司的面试,问到了一个用到笛卡尔的SQL题目,非常有意思,特此总结如下:1.问题描述现有一个表 t_table,只有一个字段 ID,该表有十条数据 0-9 要求通过Select语句查询,查询结果是0-992.思路首先对查询结果进行分析: 1.0-99 个位和十位都是用了0-9 2.当十位为0-9中任意一个时,个位同样可以为0-9(互相...
2018-09-12 16:40:57
1234
1
原创 MySQL年月日
0.前言最近写SQL语句的过程中,遇到了很多与年月日相关的问题,特此记录如下:1.函数介绍1.1 获取系统当前年月日SELECT CURRENT_DATE;1.2 为某一个时间,增加或者减少年月日SELECT CURRENT_DATE 今天, date_add( CURRENT_DATE, INTERVAL 1 DAY ) 明天,...
2018-08-09 14:06:01
1255
原创 MySQL修改默认数据存储路径
0.前言最近在MySQL数据库里操作了大批量的数据,电脑开始变卡,经查询发现是因为C 盘 被MySQL数据存储文件占用了很多空间,所以,将MySQL默认的数据存储路径进行修改,整理记录如下1.操作步骤1.1 停止MySQL服务1.2修改默认数据存储路径(修改mysql安装路径下的my.ini文件)1.3 将原始 数据存储文件 整体剪切到新路径下...
2018-07-30 17:04:38
3059
原创 mysql导入导出脚本的区别对比
0导出导入运行脚本位置的区别MySQL的数据库的导出:直接在命令行里运行脚本MySQL的数据库的导入:在mysql数据库控制台里运行脚本需要特别注意的是: 脚本导出的文件,由脚本导入 数据库管理工具导出的文件,由数据库管理工具导入 特别说明: 本篇讨论的是导入导出数据库的结构+ 数据,仅仅导入导出'结构'则可以更加灵活1.导入导出整个数据库...
2018-07-30 16:34:20
549
原创 Mysql数据导入大SQL文件问题
0.前言最近工作中经常遇到mysql数据库导入大SQL文件的问题,动辄几个G的SQL文件导入,一些常见的数据库管理工具根本操作不了,而且mysql自身的配置也有局限,特此将整理后的导入过程记录如下:1.修改mysql配置需要修改 my.ini文件,文件在数据库安装目录下:用记事本打开后,在[mysqld]标签下添加如下配置(可以根据情况自行调整)# 导入大于...
2018-07-30 10:28:59
1274
原创 DBLP数据集处理
0.前言最近写论文用到了比较出名的DBLP数据集,详细介绍见DBLP官网DBLP数据集下载地址DBLP是以XML的形式给出的,类似于<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE dblp SYSTEM "dblp.dtd"><dblp> <article
2018-07-13 20:30:20
5109
2
原创 CentOS7 64位配置Redis集群错误处理(1)
0.环境介绍 Linux采用CentOS7 64位 主节点: 192.168.25.137:7000 192.168.25.138:7000 192.168.25.139:7000 从节点 192.168.25.137:7001 192.168.25.138:7001 192.168.25.139:7001 1.现处于的状态...
2018-06-26 21:03:00
444
原创 Linux最常用的基础命令
1.目录1.1切换目录cd usr # 切换到该目录下usr目录 cd ../ # 切换到上一层目录 cd / #切换到系统根目录 cd ~ #切换到用户主目录 cd - #切换到上一个所在目录1.2 目录的增删改查(1)增加目录命令:mkdir 目录名称(2)删除目...
2018-06-23 20:39:04
247
原创 Notepad++ 连接 FTP 实现Windows环境下编辑 Linux单个文件
0.前言最近在Linux环境下有大面积编辑文件的需求,使用vi/vim编辑器不太方便,网上查询到可以使用 Notepad++ 连接 FTP进行文件编辑,特此整理记录如下1.下载并安装插件github 下载 :https://github.com/ashkulz/NppFTP/releases/tag/v0.27.3安装过程将下载后解压的文件夹中的 NppFT...
2018-06-23 20:23:20
987
原创 CentOS-7-x86_64安装配置64位Mysql步骤
centos7 64位裸机安装配置mysql过程1、先检查系统是否装有mysql,如果有删除(正常情况下裸机是没有的)rpm -qa | grep mysql这里返回空值,说明没有安装这里执行安装命令是无效的,因为centos-7默认是Mariadb,所以执行以下命令只是更新Mariadb数据库(不需要执行)yum install mysql删除可用...
2018-06-23 19:13:07
1388
原创 Linux配置JDK错误记录(1)
1.前言首先介绍一下Linux配置JDK的步骤(前提,已经上传jdk压缩包到Linux系统了)1.1解压tar -zxvf jdk-7u55-linux-i586.tar.gz -C /usr/local/java1.2配置jdk环境1.编辑配置文件 vi /etc/profile2.在文件尾部添加:JAVA_HOME= /usr/local/j...
2018-06-21 23:55:53
326
原创 提前预测世界杯冠军
0.前言又一年的世界杯要开始了,不可避免的,我们要对比赛的结果进行预(jing)测(cai),那么如何科(yi)学(ben)严(zheng)谨(jing)的进行呢?首先我们来看一下比赛规则1.比赛规则1.1小组赛阶段32支参赛队通过抽签分为八个小组,每个小组分别有四支球队进行比赛,每支球队都必须和其他三支球队进行且只进行一场比赛,每组4个队循环比赛,共打6场,每...
2018-06-15 15:44:11
1609
原创 判断分数是否为无限循环小数
0.前言之前做编程题,有一个部分需要判断一个分数是否为无限循环小数,挺有意思,特此整理记录如下: 问题描述(大概意思是) 已知分子a和分母b ,判断 分数a/b是否为无限循环小数1.已知结论 将分数化为最简分数后,分母的全部因数(除去1和其自身)没有为2或5以外的数,则该分数就不是无限循环小数;否则为无限循环小数。首先我们看 1/n的实际含义:将 1 分...
2018-06-12 22:42:12
17370
1
原创 java模拟全排列按序输出所有可能的结果
0前言今天在线笔试遇见了一个很有意思的编程题,特此整理记录如下:1.问题描述 问题描述(大概意思是) 给出一组整数(整数范围是1-9,数据不重复),要求按升序输出所有的排序可能性 输入:首先输入一个n表示数据个数,然后是n个整数 输出:按升序一次输出每一种结果例如: 输入 : 3 1 5 9 输出 1...
2018-06-11 21:30:50
3078
原创 Oracle统计每个公司每年的员工信息——另类“两次分组”
1.前言昨天遇到一个统计的问题,数据大概14w条左右,在Excel文件中,原本打算用之前学的python练练手,后来时间紧,就直接导到Oracle数据库里统计了,解决的过程挺有意思,特此记录如下:2.需求 现有3000多家公司2008年-2016年 员工的信息;约有14w条数据;存储在 Excel文件中; 要求统计: 1.每个公司每年的员工数 2.每个...
2018-04-23 11:01:35
1887
原创 重拾Java EE——JQuery(2)高阶
1 筛选选择器可以完成功能,筛选提供相同函数。 选择器 :first 筛选 first()对比: (“div:first”)直接获得第一个div(永远只能操作第一个)(“div:first”)直接获得第一个div(永远只能操作第一个)(“div:first”) 直接获得第一个div (永远只能操作第一个) (“div”).first() 先获得所有的div,从所有的中筛选出...
2018-04-19 21:48:09
226
原创 重拾Java EE——JQuery(1)基础
1 jQuery介绍1.1 JS类库JavaScript 库封装了很多预定义的对象和实用函数。能帮助使用者建立有高难度交互客户端页面, 并且兼容各大浏览器。1.2 当前流行的 JavaScript 库有:jQuery ,最流行EXT_JS,2.0开始收费Dojo ,很多js单独文件,优化:打包。(常见:开发小图标,一张图片)Prototype,对js扩展,框...
2018-04-19 21:23:09
265
原创 重拾Java EE——SSH整合
1 jar整合(总共39个) SSH版本: struts:2.3.15.3 hibernate : 3.6.10 spring: 3.2.01.1 struts(14个)1.1.1基础包(13个)解压一个空的例子,直接拷贝里面的jar包即可路径:struts-2.3.15.3\apps\struts2-blank\WEB-INF\lib...
2018-04-19 00:46:53
227
原创 重拾Java EE——Spring(2)高阶
1 AOP1.1 AOP介绍1.1.1 什么是AOP在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP(面向对象编程)的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各...
2018-04-16 22:17:26
324
原创 重拾Java EE——Spring(1)基础
1 spring框架概述1.1 什么是springSpring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构...
2018-04-11 21:40:27
313
原创 重拾Java EE——Hibernate(4)杂项
1 整合log4j(了解)slf4j 核心jar : slf4j-api-1.6.1.jar 。slf4j是日志框架,将其他优秀的日志第三方进行整合。 整合导入jar包 log4j 核心包:log4j-1.2.17.jar 过渡jar(整合jar):slf4j-log4j12-1.7.5.jar导入配置文件 log4j.properties ,此配置文件通知log4j 如何输...
2018-04-10 22:39:34
158
原创 重拾Java EE——Hibernate(3)进阶篇(下)
1 Hibernate的关联关系映射:(多对多) 以Student 与Course为例,是一个经典的多对多的例子1.1创建实体和映射:Student:public class Student { private Integer sid; private String sname; // 学生选择多门课程. private Set&l...
2018-04-09 22:03:04
159
原创 重拾Java EE——Hibernate(2)进阶篇
1 对象状态与一级缓存1.1 状态介绍hibernate 规定三种状态:瞬时态、持久态、脱管态 状态 瞬时态:transient,session没有缓存对象,数据库也没有对应记录。 OID特点:没有值 持久态:persistent,session缓存对象,数据库最终会有记录。(事务没有提交) OID特点:有值 脱管态:detached,sessio...
2018-03-26 23:01:40
168
原创 重拾Java EE——Hibernate(1)基础篇
1.框架体系结构2.hibernate入门2.1 ORM框架Hibernate是一个数据持久化层的ORM框架. Object:对象,java对象,此处特指JavaBean Relational:关系,二维表,数据库中的表。映射|映射元数据:对象中属性,与表的字段,存在对应关系。2.2 什么是hibernateHibernate是轻量级Ja...
2018-03-26 22:32:24
245
原创 重拾Java EE——Struts 2(4)高阶核心二+其他杂项
一、contextMap中的数据操作1、存数据:需要熟悉ActionContext和valueStack的API。框架为我们存数据。1.1、利用ActionContext存数据1.2、利用ValueStack存数据a、如何获取ValueStack:b、ValueStack中的getRoot()方法:c、CompoundRoot是什么:...
2018-03-17 23:42:19
174
原创 重拾Java EE——Struts 2(3)高级核心一
一、国际化概念(了解)1、什么是国际化软件的国际化:软件开发时,要使它能同时应对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的、符合来访者阅读习惯的页面或数据。2、什么需要国际化程序:需要国际化。数据:是什么样的就是什么样的。比如:用户注册的表单,有用户名,密码这5个汉字,在zh_CN语言环境,显示的就是用户名和密码。但是在en_US语言环境,...
2018-03-13 23:29:48
217
原创 重拾Java EE——Struts 2(2)进阶使用
一、封装请求正文到对象中(非常重要)1、静态参数封装在struts.xml配置文件中,给动作类注入值。调用的是setter方法。原因:是由一个staticParams的拦截器完成注入的。2、动态参数封装:开发时用到的通过用户的表单封装请求正文参数。2.1、动作类作为实体模型实体模型:Entity,对应数据库中表的记录(注意类对应的是表结构,而...
2018-03-12 20:52:29
156
原创 自学Python——Matplotlib
0.简介 “Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。”——百度百科 特别说明:本文包含大量图片,请在WIFI下食用 特别说明:本文包含大量图片,请在WIFI下食用 特别说明:本文包含大量图片,请在WIFI下食用 重要的事情说三遍!!!!!!!1.初识Matplot...
2018-03-10 23:05:39
386
原创 自学Python——Pandas
0.简介 “Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。”——百度...
2018-03-09 16:01:01
355
原创 自学Python——Numpy
0.简介 NumPy系统是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix))。1.初识Numpy“引包”import numpy1.1生成指定元素的数组(矩阵)matrix(1)直接给出元素...
2018-03-07 10:49:44
299
原创 jupyter 安装更换主题时各类问题及解决办法
写在前面jupyter的优点和特点此处就不谈了,目前感觉到的一个比较明显的缺点就是 太亮了,工欲善其事必先利其器,为了更好的编(zhuang)码(B),所以想看看能不能修改一下样式,安装一个插件什么的,改变一下背景颜色和字体。经查询,github上早有大神做过了这样的工作,那么就不需要重复造轮子了 此处先给出地址 https://github.com/dunovank/jupyter-...
2018-02-08 22:03:34
13543
11
原创 Python处理CSV与List的转换
1.读取CSV文件到Listdef readCSV2List(filePath): try: file=open(filePath,'r',encoding="gbk")# 读取以utf-8 context = file.read() # 读取成str list_result=context.split("\n")# 以回车符\n分
2018-01-24 21:13:06
15357
原创 自学Python——函数
1.函数1.1介绍 函数名其实就是指向一个函数对象的引用(地址),完全可以把函数名赋给一个变量,相当于给这个函数起了一个“别名”:a=absprint(a(-12))1.2自定义一个函数 格式:def 函数名(参数名列表):def myMax(a, b): if not isinstance(a, (int, float)):
2018-01-24 21:08:25
291
原创 自学Python——dict和set
1.dict dict 是 map dict 的 key 必须是不可变对象 dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}print(d['Michael'])2.基本操作2
2018-01-24 20:32:44
223
原创 自学Python——有序的集合 List和tuple
1.List基础1.1定义classmates = ['Michael', 'Bob', 'Tracy']print('Max:'+max(classmates))1.2整体和单个输出print(classmates)print(classmates[0])1.3判断某个元素是否存在print("Bob" in classmates)1.
2018-01-24 20:19:23
926
原创 自学Python——Python基础
1.输入输出 if语句 input 接收的只能是字符串,然后用int函数转成int类型a=int(input('a:'))b=int(input('b:'))print(a+b)if判断条件的简写,# 只要x是非零数值、非空字符串、非空list等,就判断为True,否则为False。x=0if x: print(True)else: print
2018-01-24 20:17:27
5476
Notepad++JSON+XML+FTP.zip
2020-11-19
【一套键盘鼠标控制多台电脑的工具】MouseWithoutBordersSetup
2020-11-19
putty-64bit-0.70-installer.rar
2019-09-03
sapjco3的dll和jar 32位、64位复合包.zip
2019-09-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人