后端开发
文章平均质量分 63
编程语言、Web框架
Cicada128
这个作者很懒,什么都没留下…
展开
-
Python获取全部基金前十大持仓股并进行选股分析
选股逻辑股市有风险,投资需谨慎。投资方向:跟随基金机构进行选股,简单来说,就是优先筛选那些基金公司重仓持有的股票。目标设定获取全部基金前十大持仓股的持股数、市值等信息,分析出排名比较靠前的基金重仓股。爬取全部基金代码信息注:使用python内置sqlite数据库建表存储基金代码信息-- 全部标的信息create table if not exists targets_all( uid string, name string, id s原创 2021-08-16 23:31:01 · 3448 阅读 · 8 评论 -
Django-数据库配置
Django-数据库配置支持的数据库Django默认使用内置的sqlite数据库,也可以使用外置的MySql、Oracle、SqlServer、PostgreSql、CockroachDB、Firebird等。设置使用的数据库通过修改settings.py内的DATABASES参数,可以修改使用的数据库。DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': BAS原创 2021-08-15 15:36:06 · 587 阅读 · 0 评论 -
Django-setting配置参数
# 项目根目录BASE_DIR = Path(__file__).resolve().parent.parent# 密钥SECRET_KEY = 'django-insecure-8g3#e88i6&wudgfo53e_f!r4vc0fz=w1opk_ik#h28(0#&qa@('# 是否开启 Debug,生产环境尽量关闭DEBUG = True# 允许调用的白名单ALLOWED_HOSTS = []# 项目内启用的 APPINSTALLED_APPS = [ 'd原创 2021-08-15 15:11:37 · 301 阅读 · 0 评论 -
Django-安装、入门
安装pip install Django验证python>>> import django>>> print(django.get_version())3.2.6入门Django 使用 MVC 设计模式。概念Model 层** ORM(object-relational mapper)关系型对象映射器 **Django可以不使用外置数据库,默认使用内置的sqlite数据库。ORM简单来说,通过代码描述数据模型,以此来代替数据库。示例:fro原创 2021-08-15 14:37:09 · 135 阅读 · 0 评论 -
Springboot输出Mybatis中Sql语句(IDEA)
IDEA安装插件:Mybatis Log Plugin配置Mybatis输出Sql语句application.properties# 添加如下:mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl配置日志输出Sqllogback.xml# 添加如下: <logger name="com.apache.ibatis" level="DEBUG"/> <logg原创 2020-09-23 20:51:41 · 1285 阅读 · 0 评论 -
JVM调试工具-Arthas
下载地址链接:https://pan.baidu.com/s/1CMAR1wto-vSLIeKtlCsXJQ提取码:naza启动Arthas> java -jar arthas-boot.jar --target-ip=0.0.0.0输入序号选择要查看的进程执行该程序的用户需要和目标进程具有相同的权限。比如以admin用户来执行:sudo su admin && java -jar arthas-boot.jar 或 sudo -u admin -EH java原创 2020-09-23 11:00:00 · 1889 阅读 · 0 评论 -
JVM调试工具-jvisualvm
jvisualvm配置安装上传tomcat至服务器并解压> tar -xf apache-tomcat-9.0.14.tar.gz> cd apache-tomcat-9.0.14/bin修改catalina.sh,添加如下语句:JAVA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=10086 -Dcom.sun.management.jmxremote.ssl=fal原创 2020-09-21 11:25:05 · 643 阅读 · 0 评论 -
JVM调试工具-jstack
jstack常用命令打印栈信息> jstack 237662020-09-17 09:07:23Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.191-b12 mixed mode):..."GC task thread#22 (ParallelGC)" os_prio=0 tid=0x00007fd21c049000 nid=0x5cef runnable"VM Periodic Task Thread" os_p原创 2020-09-21 11:16:35 · 749 阅读 · 0 评论 -
JVM调试工具-jps
jpsJava Virtual Machine Process Status Tool命令用法: jps [options] [hostid] options:命令选项,用来对输出格式进行控制 hostid:指定特定主机,可以是ip地址和域名, 也可以指定具体协议,端口。 [protocol:][[//]hostname][:port][/servername]功能描述: jps是用于查看有权访问的hotspot虚拟机的进程.当未指原创 2020-09-21 11:12:53 · 550 阅读 · 0 评论 -
JVM调试工具-jmap
jmapjmap命令是一个可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本。打印出某个java进程(使用pid)内存内的,所有‘对象’的情况(如:产生那些对象,及其数量)。命令用法:jmap [option] (to connect to running process) 连接到正在运行的进程jmap [option] <executable <core> (to connect to a core file) 连接到核心文件jm原创 2020-09-21 11:04:40 · 1769 阅读 · 0 评论 -
SpringBoot启动远程调试(IDEA)
Maven打包上传jar包至服务器启动远程jar包java -Xdebug -Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=n -jar dataqualityassessment-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod验证远程接口IDEA添加调试配置启动调试...原创 2020-09-21 10:57:25 · 327 阅读 · 0 评论 -
SpringBoot使用slf4j注解(IDEA环境)
使用lombok插件引入POM依赖<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.16.18</version></dependency>安装并启用lombok插件File->Settings->Plugins->Lombo原创 2020-09-21 10:50:14 · 635 阅读 · 0 评论 -
Canal安装配置
资源下载链接:https://pan.baidu.com/s/1wKqJ0VypFxKd6WnJxIoEqg提取码:wrmf配置Mysql新建canal库CREATE USER canal IDENTIFIED BY 'canal';GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';FLUSH PRIVILEGES;解压至目录> tar -xf canal.deployer-1.1.5原创 2020-09-21 10:44:48 · 542 阅读 · 0 评论 -
Java实现多个文件打包成gz包
POM引用引用 <!-- 打包 --> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-compress</artifactId> <version>1.9</version> </de原创 2020-07-18 17:44:14 · 1334 阅读 · 0 评论 -
Java实现文件夹监控
/** * 监控指定文件目录 * * dirPath 指定目录路径 **/public boolean watchDirectory(String dirPath) { // 判断要监控的目录是否存在 if (!(new File(dirPath).exists())) { log.error(MessageFormat.format("目录{0}不存在!", dirPath)); return false;原创 2020-07-18 17:40:05 · 745 阅读 · 0 评论 -
Scala中拆分操作partition、grouped、groupBy和sliding函数
拆分操作是把一个容器里的元素按一定的规则分割成多个子容器。常用的拆分方法有partition、groupBy、grouped和sliding。partitionpartition方法接受一个布尔函数,用该函数对容器元素进行遍历,以二元组的形式返回满足条件和不满足条件的两个 C[T]类型的集合。 val list=1 to 10 // partition拆分为二元组 println(list.partition(_<5))输出结果(Vector(1, 2, 3, 4原创 2020-06-27 14:19:42 · 2814 阅读 · 1 评论 -
Scala中规约操作reduce与fold函数
规约操作是对容器的元素进行两两运算,将其“规约”为一个值。常用的规约方法有reduce和fold,两个方法唯一的差别是, reduce是从容器的两个元素开始规约,而fold则是从提供的初始值开始规约。同样地,对于无序容器而言, fold方法不保证规约时的遍历顺序,如要保证顺序,请使用foldLeft和foldRight,其中,关于匿名函数参数的定义,与reduceLeft和reduceRight完全一样。reduce最常见的规约方法是 reduce方法,它接受一个二元函数f作为参数,首先将f作用在某原创 2020-06-27 13:58:00 · 836 阅读 · 0 评论 -
Scala中过滤操作filter与filterNot函数
Scala中有很多实现不同过滤需求的方法,与过滤操作相关的几个常用函数还包括exists和find。其中,exists方法判断是否存在满足给定条件的元素,find方法返回第一个满足条件的元素。filter最典型的是filter方法,它接受一个返回布尔值的函数f作为参数,并将f作用到每个元素上,将f返回真值的元素组成一个新容器返回。@Test def testFilter(): Unit ={ /** * 测试filter与filterNot */ val li原创 2020-06-27 13:57:10 · 4199 阅读 · 0 评论 -
Scala中映射操作map与flatMap函数
映射操作是针对容器的典型变换操作,通过对容器中的元素进行某些运算来生成一个新的容器。两个典型的映射操作是map方法和flatMap方法,二者区别简而言之在与map直接处理容器内单个元素,flatMap会将元素进一步打碎处理。mapmap方法将某个函数应用到集合中的每个元素,映射得到一个新的元素,因此,map 方法会返回一个与原容器类型大小都相同的新容器,只不过元素的类型可能不同。 @Test def testMap(): Unit = { /** * 测试map与flatMa原创 2020-06-27 13:34:53 · 1211 阅读 · 0 评论 -
Scala中的偏应用函数与Curry函数
偏应用函数有时候一个函数在特殊应用场景下部分参数可能会始终取相同的值,为了避免每次都提供这些相同的值,我们可以用该函数来定义一个新的函数。若保留部分参数,则使用 _:参数类型 代表;注意参数类型必须标记;若保留全部参数,则使用 函数名 _ 进行函数赋值,注意函数名后面有空格。 @Test def testAppFunc(): Unit = { /** * 测试偏应用函数 */ def sum(a: Int, b: Int, c: Int): Int = {原创 2020-06-27 13:17:03 · 251 阅读 · 0 评论 -
Scala中Option类
Scala中提供null值,但尽量避免使用,除非要与Java交互。Scala中可以使用Option来判断是否有值,若值存在则为Some[T],若值不存在则为None, 可以通过isEmpty和isDefined判断是否有值。 @Test def testOptions(): Unit ={ /** * 测试Options类 */ val map:Map[String,Any]=Map("性别"->"男","年龄"-&原创 2020-06-27 12:24:15 · 669 阅读 · 0 评论 -
Scala类构造器
Scala类构造可以使用无参构造,也可以使用有参构造;可以默认的构造器,也可以使用多个辅助构造器无参构造类定义class Person{ def greet(): Unit ={ println("你好,陌生人!") }}以上类定义等同于class Person()class Person(){ def greet(): Unit ={ println("你好,陌生人!") }}使用 // 1. 类名() /原创 2020-06-27 11:50:49 · 525 阅读 · 0 评论 -
Scala文件读写
Scala读文件使用scala.io模块,写文件使用java.io模块写文件 @Test def testFileI(): Unit ={ /** * 测试写文件 */ val printWriter:PrintWriter=new PrintWriter("./src/main/resources/test.txt"); printWriter.println("床前明月光") prin原创 2020-06-27 11:35:24 · 327 阅读 · 0 评论 -
FastAPI学习-Json兼容性编码
当需要将json数据转换为list/dict等数据类型时,我们需要使用json兼容性编码模块jsonable_encoder模块from datetime import datetimefrom fastapi import FastAPIfrom fastapi.encoders import jsonable_encoderfrom pydantic import BaseModelfake_db = {}class Item(BaseModel): title: str原创 2020-06-16 22:54:11 · 810 阅读 · 0 评论 -
DRUID数据库连接池
阿里出品,淘宝和支付宝专用数据库连接池,但它不仅仅是一个数据库连接池,它还包含一个ProxyDriver,一系列内置的JDBC组件库,一个SQL Parser。支持所有JDBC兼容的数据库,包括Oracle、MySql、Derby、Postgresql、SQL Server、H2等等。优势相较于c3p0、dbcp连接池可以监控数据库访问性能,内置StatFilter插件可以详细统计数据库访问情况和SQL执行性能可以加密数据库密码,DruidDruiver和DruidDataSource都支持Pas原创 2020-06-16 21:57:24 · 443 阅读 · 0 评论 -
DBCP数据库连接池使用
DBCP是一个依赖Jakarta commons-pool对象池机制的数据库连接池.DBCP可以直接的在应用程序中使用,Tomcat的数据源使用的就是DBCP。使用使用方式有4种:直接设置数据源参数并建立连接池根据properties参数配置文件并建立连接池XML配置数据源,读取数据源并建立连接池XML配置连接池,获取连接池POM引入依赖<!-- mysql数据库驱动 --><dependency> <groupId>mysql</gr原创 2020-06-16 21:56:32 · 461 阅读 · 0 评论 -
C3P0数据库连接池
C3P0是一个开源的JDBC连接池,它实现了数据源与JNDI绑定,支持JDBC3规范和实现了JDBC2的标准扩展说明的Connection和Statement池的DataSources对象。即将用于连接数据库的连接整合在一起形成一个随取随用的数据库连接池(Connection pool)。使用使用方式有3种:直接设置数据源参数并建立连接池XML配置数据源,读取数据源并建立连接池XML配置连接池,获取连接池POM引入<dependency> <groupId>原创 2020-06-16 21:55:55 · 239 阅读 · 0 评论 -
JDBC数据库连接池
参考:https://www.cnblogs.com/SUN99bk/p/12181493.htmlJDBC传统模式开发存在的主要问题1. 时间和内存资源消耗巨大请求使用->驱动加载->用户验证->…->断开连接普通的JDBC数据库连接使用DriverManager来获取,每次向数据库建立连接的时候都要将Connection加载到内存中,再根据JDBC代码(或配置文件)中的用户名和密码进行验证其正确性。这一过程一般会花费0.05~1s,一旦需要数据库连接的时候就必须向数据库请原创 2020-06-16 21:55:13 · 397 阅读 · 0 评论 -
Spring中使用AOP的几种方式
在Spring中使用AOP进行切面编程主要有以下几种方式:XML配置XML+注解纯注解XML配置新建实体类XmlAopBean及切片类XmlAopService实体类XmlAopBeanpackage XmlAopBean;import java.text.MessageFormat;public class XmlAopBean { public void runWithoutArgs() { System.out.println("这是无参方法。");原创 2020-06-15 22:39:19 · 815 阅读 · 0 评论 -
Spring中execution语法
语法格式execution(修饰符 返回类型 切入点类 切入点方法(参数) 异常抛出)修饰符: 可选,支持通配符,(public/private/protected)返回类型: 必填,支持通配符,可以使用 * 来匹配所有的返回值类型切入点类: 可选,支持通配符,指定切入点类切入点方法: 必填,支持通配符,指定要匹配的方法名,可以使用"*"通配符来匹配所有方法参数: 若无可不填,指定方法声明中的形参列表,支持两个通配符,即*和…其中*代表一个任意类型的参数,而…代表零个或多个任意类型的参数原创 2020-06-15 22:38:47 · 3379 阅读 · 0 评论 -
Spring中AOP相关概念
Join point(连接点)所谓连接点是指那些被拦截到的点。在 Spring中这些点指的是方法,可以看作正在访问的,或者等待访问的那些需要被增强功能的方法。Spring 只支持方法类型的连接点。Pointcut(切入点)所谓切入点是一个规则,定义了我们要对哪些 Joinpoint 进行拦截。因为在一个程序中会存在很多的类,每个类又存在很多的方法,而哪些方法会应用 AOP 对该方法做功能增强呢?这就需要依据我们配置的切入点规则。Advice(通知)所谓通知是指拦截到 Joinpoint 之后所要原创 2020-06-15 22:38:15 · 174 阅读 · 0 评论 -
FastAPI学习-Path操作配置
FastAPI学习-Path操作配置在Path中可以配置状态码、标签、概述、详细描述、是否遗弃状态码状态码可以直接使用数字,也可以使用有语义描述的枚举from typing import Setfrom fastapi import FastAPI, statusfrom pydantic import BaseModelapp = FastAPI()class Item(BaseModel): name: str description: str = None原创 2020-06-15 22:33:55 · 893 阅读 · 0 评论 -
FastAPI学习-错误处理
FastAPI针对错误的处理有以下几种方式:默认异常处理使用Exception模块,注意:返回使用raise,而不是returnfrom fastapi import FastAPI, HTTPExceptionapp = FastAPI()items = {"foo": "The Foo Wrestlers"}@app.get("/items/{item_id}")async def read_item(item_id: str): if item_id not in ite原创 2020-06-14 20:19:06 · 2512 阅读 · 0 评论 -
FastAPI学习-Form数据 文件请求
接收From数据需要安装第三方模块:pip install python-multipart字段参数Form使用方法与Query Path Cookie一样,但需要引入Form模块from fastapi import FastAPI, Formapp = FastAPI()@app.post("/login/")async def login(*, username: str = Form(...), password: str = Form(...)): return {"us原创 2020-06-11 00:44:50 · 3224 阅读 · 0 评论 -
Kafka彻底删除topic
kafka默认仅做删除标记,并没有真实删除,若要真实删除topic方法一:修改配置文件server.properties并进行重启server.properties添加:delete.topic.enable=true,然后重启删除测试# 创建topic> ./bin/kafka-topics.sh --create --zookeeper 127.0.0.1:2180 --replication-factor 1 --partitions 1 --topic testCreated原创 2020-06-10 21:57:10 · 3437 阅读 · 0 评论 -
Linux下安装Kafka单机伪集群
前提:已安装zookeeper,参考:https://pandora.blog.csdn.net/article/details/106675933kafka下载链接:https://pan.baidu.com/s/1YbeWcNLKhabz-1dF9_XEMQ提取码:rhxw解压> tar -xf kafka_2.12-2.3.0.tgz修改配置config/server.properties# 9090节点broker.id=0listeners=PLAINTEXT://.原创 2020-06-10 21:56:02 · 314 阅读 · 0 评论 -
Linux下安装Zookeeper单机伪集群
前提:已安装JDK环境Zookeeper下载链接:https://pan.baidu.com/s/1BRw6cZpe949UpTqQZ7QX7A提取码:tdjs解压> tar -xf apache-zookeeper-3.6.1-bin.tar.gz修改配置文件> cd conf> cp zoo_sample.cfg zoo.cfg修改参数dataDir=/owl/data/zookeeper-3.6.1/2180dataLogDir=/owl/data/z.原创 2020-06-10 21:54:20 · 399 阅读 · 0 评论 -
Spring中Bean别名使用方法
Bean别名有两种配置方式使用bean标签,name属性,多个别名使用逗号隔开使用alias标签,name属性为参考bean,alias属性为别名别名测试新建AliasBean包,AliasBean类package AliasBean;import java.text.MessageFormat;public class AliasBean { public void run() { System.out.println(MessageFormat.format原创 2020-06-08 21:09:36 · 3176 阅读 · 0 评论 -
Spring中将类声明为Bean的注解
Spring中将类声明为Bean的注解有以下4个:@Component@Repostory@Service@Controller注解说明@Componnet用于普通组件,定位不明@Repository一般用于持久层DAO,数据库交互@Service一般用于服务层Service,封装服务@Controller一般用于控制层Controller,用于与前端交互四者使用没有区别,区别在于定位,后三者为Spring预留,后期可能会进行功能增强。注解测试新建ClassAnnotat原创 2020-06-08 21:07:39 · 1980 阅读 · 0 评论 -
Spring中Bean自动装配的几种方式
Spring3.0以后的版本中,Bean自动装配的有以下几种方式:autowire参数byName 根据id/namebyType 根据类名constructor 根据构造参数no 人工指定(默认)autodetect方法在3.0版本以后已被遗弃根据id/name自动装配新建AutowiredBean包,新建NameBean类、WireByNameBean类新建autowiredBean.xml新建单元测试AutowiredBeanTestNameBean类pac原创 2020-06-08 21:06:35 · 5812 阅读 · 0 评论