- 博客(40)
- 收藏
- 关注
原创 LuckySheet后端传被依赖数据和公式前端进行测算示例
通过LuckySheet的回调函数workbookCreateAfter,WookBook创建之后将值重新刷新覆盖,json中包含的格子的全部数据,需要将只将公式set回去即可,后端将数据和公式返给前端,前端进行计算,消耗的是本地浏览器的资源,LuckySheet官方文档并没有相关文档来说明前端和后端重新计算的案例。但是如果公式特别大,导致前端计算和渲染特别慢,慢的原因是luckysheet.setCellValue太重了,有很多操作,数据量少可以使用。
2024-06-13 09:04:24
756
原创 Dubbo示例
2.4 快速开始2.4.1 注册中心安装Dubbo可以接入注册中心有Nacos、Zookeeper、Multicast、Redis、Simple等注册中心,官网推荐使用Zookeeper作为注册中心,那么首先先搭建Zookeeper注册中心,当然搭建Zk注册中心非常简单步骤如下:#单机版安装#1. 网站下下载相应的注册中心https://archive.apache.org/dist/zookeeper/ #2. 在zookeeper/bin下启动zkServer.cmd会报Error
2021-11-22 20:23:37
1806
原创 Dubbo概述及架构图
2. Dubbo概述2.1 Dubbo历史Dubbo之前一直作为Alibaba公司内部使用框架2011年Dubbo被托管到Github上2012年宣布停止更新,此后一段时间很多公司开源了自己基于Dubbo的变种版本,例如当当网Dubbo X ,网易考拉 Dubbo K2017年SpringCloud诞生,Dubbo感觉压力,然后更新了几个版本2018年阿里联合当当网将Dubbo和Dubbo X合并2018年除夕阿里将Dubbo贡献给Apache基金会2018年至今,Apache维
2021-11-22 20:19:21
2847
原创 RPC原理
2 RPC概述RPC(Remote Procedure Call)远程过程调用(远程方法调用),是一种进程间通信方式,是一种技术思想而不是规范,允许像调用本地服务一样调用远程服务。例如,两台服务器A(101)、B(102),分别部署不同的应用a,b。当A(User user = userService.getUser(String name))服务器想要调用B服务器应用b提供的方法(User getUser(String name))方法时,由于不在同一个JVM内存空间或不在同一个tomcat下,不能直接
2021-11-21 21:26:06
1431
原创 架构演变过程
架构的发展演变1.3.1 单一应用架构(ORM)当网站流量很小的时候,只需要一个应用,将所有的功能部署在一起,以减少部署节点和成本。缺点:单一的系统架构,使得开发过程中,占有的资源越来越多,可靠性差随着流量的增加难以维护。1.3.2 垂直应用架构(MVC)解决了单一应用架构所面临的扩容问题(拆分互不相干的几个应用),流量能够分散到各个子系统中,且系统的体积可控,一定程度上降低了开发人员协同和维护的成本,提升开发效率。缺点:相同逻辑的代码需要不断复制,不能复用,应用直接不能充分解耦。1.3.3
2021-11-21 21:13:35
1426
原创 HashMap初始化调整算法
(1)演示(2)调整算法static final int tableSizeFor(int cap) { int n = cap - 1; //>>>表示无符号右移,若正数,则高位补0,若负数补0 例1010(10)>>>1 为0101 n |= n >>> 1; n |= n >>> 2; n |= n >>> 4;
2020-11-19 13:00:04
176
原创 xml报文传送和解析
1.xml报文封装//报文封装public Document assemble(String tx,String data,String operator){ //创建document DocumentBuilderFactory documentBuidlerFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder documentBuilder = documentBuidlerFactory.newDocume
2020-11-16 10:42:01
2540
原创 前端页面select标签
前端页面select标签(1)前端页面的select标签disabled=“disabled”时不能向后台传送数据(2)可以采取措施在提交的时候将disabled的属性去除var data = $("#<%=divID %>edit2").find("select[name='holidaySettlementSumFlag']");data.prop("disabled",false);(3)通过添加input标签实现数据传值的操作,input的标签的值随着option标签的值的改
2020-09-03 18:11:04
4358
原创 Dubbo框架以zookeeper作为注册中心程序
(1)Dubbo框架公共接口public interface SayHello { public String hello(String name);}(1)provider pom依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-
2020-08-23 13:03:46
237
原创 eureka中unavailable-replicas分析
(1)开启eurekaserver注解@SpringBootApplication@EnableEurekaServerpublic class EureApplication { public static void main(String[] args) { SpringApplication.run(EureApplication.class,args); }}application.properties文件spring.application.name
2020-08-15 11:47:00
1672
原创 redis存储json格式设置
(1)pom依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>(2)连接redis主机urlspring.redis.host=192.168.78.101
2020-08-11 16:24:18
3289
原创 SpringBoot继承外部tomcat并且可以访问jsp页面
(1)(2)pom依赖<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency>
2020-08-09 15:16:42
294
原创 请求转发和重定向
区别:(1)请求转发可以在服务器内部转发到另外一个网址,是在本服务器内,重定向可以跨域请求(2)请求转发中可以使用request.setAttribute()来设置属性,传到前端页面,而重定向不可以,需要将数据放到session中,才能获取相应的参数;(3)请求转发发送一次请求,而重定向发送了两次;(4)请求转发相对来说高效一些;...
2020-08-09 08:02:42
142
原创 springboot初始化sql执行语句设置
spring: datasource: username: root password: root url: jdbc:mysql://localhost:3307/demo?serverTimezone=UTC driver-class-name: com.mysql.cj.jdbc.Driver initialization-mode: always #开启初始化配置 schema: - classpath:department.sql
2020-08-08 22:22:44
1083
1
原创 java异常问题
一直认为子类的异常,子类自身或其父类可以捕获,但是看到一道题就产生了错误的想法,但是通过调试,自己的想法没有错,因为这块使用了多态,父类引用指向子类对象,可能造成视觉模糊,所以当对一段程序有疑问的时候,一定要自己亲手去尝试写一下,印象更加深刻;动手写代码,动手写代码,动手写代码!!!重要的事说三遍。class Annoyance extends Exception {}class Sneeze extends Annoyance {}class SynchronizedDemo { pub
2020-08-08 08:38:00
128
原创 工厂模式
工厂模式:多态:(1)继承或实现(2)覆盖夫类方法(3)父类接口指向子类引用工厂模式实现类图:class FruitFacotry { static Fruit getFruit(String name){ if ("apple".equals(name.toLowerCase())){ return new Apple(); } else if ("banana".equals(name.toLowerCase())){
2020-07-30 20:46:27
130
原创 java多线程
(1)线程,进程,程序进程:动态,程序运行的基本单位,由CPU,Data,Code组成线程:任务调度和执行多个内存资源共享内存空间和系统资源程序:静态代码线程和进程的区别:线程进程线程是执行和调度资源分配的单位同一线程共享数据和数据空间,线程切换花费时间少进行有独立的代码和数据空间,进程切换有较大的开销在同一应用中有多个线程顺序流执行操作系统中能同时运行多个进程线程是进程的一部分,线程是轻量级进程一个进程拥有多个线程,执行过程不是一条线,而是多条线程共
2020-07-30 16:23:11
106
原创 SpringBoot配置
application.properties application.yml :标记语言,配置文件的作用:修改Springboot的自动配置的默认值YAML:是以数据为中心;K:V:表示一对键值对(空格必须有)以空格的缩进来控制层级关系;表示左对齐的一些列数据,都是同一等级的属性和值也是大小写敏感;K:V字符串默认不加上单引号或者双引号 “ ”:双引号,不会转义字符串里面的特殊字符;特殊字符会作为本身表示的意思 name:“zhangsan \n lisi” :输出;zhan
2020-07-30 15:30:01
360
原创 单例设计模式之总结
单例模式:保证类只有一个实例,不能使用new来创建一个对象,而是提供了一个访问他的全局的访问点getInstance优点:节省系统资源,其中的构造函数为私有使用在:要求产生唯一序列号,数据库连接,spring框架public class SingleTon{ private static final SingleTon INSTANCE = new SingleTon(); public static SingleTon getInstance(){ return .
2020-07-30 06:28:07
135
原创 layui
项目开发过程中layui遇到的坑,一定要注意<script> layui.use(['table','jquery','layer','form'],function () { let table = layui.table; let $ = layui.jquery; let layer = layui.layer; let form = layui.form;
2020-07-18 20:27:00
216
原创 SSM整合详细细节
SSM整合总结:(1)首先是整合的思路是导入Maven依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
2020-07-14 22:24:33
195
原创 mybatis中association和collection标签总结
关于标签association和相同点和不同点如图所示:测试结果集(一)准备阶段(1)实体类(User)package com.jyk.entity;public class User { private Integer id; private String name; private String password; private Address address; public Address getAddress() { return
2020-07-13 08:16:11
2177
1
原创 spring注解总结
Spring注解使用:【步骤一】定义注解扫描文件包 <context:component-scan base-package="com.jyk" ></context:component-scan>【步骤二】实体类添加注解 @Repository@Repositorypublic class User extends ParUser{ private Integer id; private String name; private Strin
2020-07-12 16:38:28
594
原创 Spring相关配置及xml配置总结
Spring相关配置比较简单:直接导入maven包就能使用框架步骤1 添加依赖 <dependencies> <!-- https://mvnrepository.com/artifact/org.springframework/spring-context --> <dependency> <groupId>org.springframework</groupId>
2020-07-12 14:40:28
443
原创 mybatis相应配置
mybatis相应的配置流程如图所示:(1)Pom依赖<dependencies> <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</art
2020-07-12 07:44:35
120
原创 SpringMVC配置
SpringMVC相应配置文档思路如图所示:相应的步骤如下:(1)创建maven项目【方式一】【方式二】(2)配置maven依赖<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version
2020-07-11 23:47:53
195
原创 mybatis中参数userGeneratedKeys属性使用
mybatis中参数userGeneratedKeys属性使用设置 useGeneratedKeys=“true” keyProperty=“id” keyColumn=“id”(1)一直生成1问题, 将主键值注入到实体类对应的主键,<insert id="insert" parameterType="com.jyk.entity.User" useGeneratedKeys="true" keyProperty="id" keyColumn="id"> inser
2020-07-11 20:00:05
3356
1
原创 集合框架知识总结
集合框架(1)Collections:提供了对集合进行排序,遍历等多种算法(2)具体类:List,Map List(ArrayList,LinkedList) Map(HashMap)(3)接口 Collection(List) ,MapSet和List的区别:(1)Set接口实例存储的是无序的,不重复的数据,List接口实例存储的是有序的,可以重复的数据。(2)Set检索效率低下,删除和插入效率高,插入和删除不会引起元素的变化。(3)List和数组类似,可以动态增长,根据实际存储的数据
2020-06-17 07:02:39
215
原创 java数据库连接池
java数据库连接池目的:减少频繁开关连接的时间,提高整个系统的响应能力,通过分析发现应具备几个属性(1)初始大小(2)每次扩容的大小(3)连接池的最大个数(4)空闲连接的死亡时间各种数据库连接池:(1)DBCP(几乎没有公司使用了)官方文档(2)C3P0 官网文档(3)Druid(Alibaba) githun文档 帮助文档(重点)(4)hikariCP github文档(1)dbcp//数据库连接池操作public class DbcpTest { public
2020-06-16 08:42:57
565
1
原创 数据结构单链表
数据结构单链表代码:为了避免同一个头文件被包含(include)多次,C/C++中有两种宏实现方式:一种是#ifndef方式;另一种是#pragma once方式。#pragma once//或者#ifndef __AAAA__#define __AAAA__/**/#endif#pragma once#include <stdio.h>#include &l...
2020-02-16 12:12:42
240
原创 关于百度翻译爬虫的一些感悟
对于爬虫来说首先来说将明确目标,然后确定策略,最后用代码来实现目标,本文以百度翻译为例,也参考了文章百度翻译爬虫这篇文章很好的解决了百度的爬虫,使用谷歌浏览器的开发者选项(f12)然后随意输入一个单词,进行刷新,如图1.1所示 图1.1开发者选项界面在XHR中有sug可直接爬虫,第三个必须解析sign和token参数如下图所示# !/usr/bin/env py...
2019-12-28 18:52:07
983
1
原创 验证码识别总结
现在的验证码有很多形式,然而识别方式也有很多方式,本文就两种方式来进行讲解 (1)tesseract识别方式 这图片已经是二值化的图片有的验证码有很多的反识别措施,例如知乎的验证码点击倒立的文字,还有12306的验证码是点击出现的东西等等。 首先是安装pytesseract库from PIL import Imagefrom pytesseract import *impor...
2018-09-01 15:17:39
3945
1
原创 关于知乎登录(分析)
分析知乎网站登录过程 如图1: 图2: 发现下边还有一个验证码的请求 分析了这么多但是没有弄明白网站发送的数据是什么,因此必须转换思路。 利用以前的方式携带 _xsrf这种凡是完全不能登录了,但是这这之前还有一种方式,当时研究过,因此对此有较深的印象,然后再从寻找signature这个参数开始进行寻找 加密方式为sha1 这里的加密方式为md5,而知乎...
2018-08-31 15:30:09
4204
2
原创 豆瓣登录(分析和总结)
豆瓣登录 关于豆瓣登录,从网站分析入手 图1 图2 图3 图4 分析完开始写代码import requests#爬虫主要用的库from copyheaders import headers_raw_to_dict#非常好的一个制作headers头的一个库import re#正则表达式匹配信息from PIL import Image#用于显示验证码信息ses...
2018-08-30 20:25:06
2567
原创 关于py2exe和pyinstaller打包对比和总结(个人见解)
pyinstaller 打包文件 相信很多小伙伴将写的Python代码打包成 .exe文件时使用Python3的Pyinstaller打包工具,下面是pyinstaller的一些参数和命令 pyinstaller -F 文件.py 生成单个可执行文件 pyinstaller -w 文件.py 去掉控制台窗口,对于执行文件没有多大的用处,一般用于GUI面板代码文件 pyinstaller...
2018-08-30 14:33:05
21675
7
原创 基于Selenium的微博登录代码
Selenium是自动化测试的一个库,可以操控浏览器(本文主讲Chrome),实现相应自动化测试的功能。 有时候Python标准库urllib.request或者requests库无法实现相应的登录功能,例如QQ空间的网页登录,如果使用requests登录post的参数太多而且QQ登录加密算法比较难解决,因此查阅大多数资料,现在登录主要是基于Selenium来实现,微博也是同样的道理。当使用其他...
2018-08-21 15:00:15
922
原创 有道爬虫源代码分析
此方式使用Python 基本的标准库urllib.request进行爬虫,基于Python3 对于有登陆的方式爬虫可以参考下面一段代码 import urllib.request from http import cookiejar cj = cookiejar.Cookjar(‘cookie.txt’) handler = urllib.request.build_opener(url...
2018-08-20 17:35:31
1259
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人