解决 JPA 多表动态查询
前言由于公司一直在使用JPA作为ORM框架,因此分配到需要多表复杂查询或动态查询都很头大。很多人对JPA抱有偏见,比如JPA只能处理简单的单表查询。下面总结下使用过的几种方法,前几种简单略过。EntityManager主要代码:Query query = entityManager.createNativeQuery(sql);List list=query.setFirstResult(star
咱一起来刷一刷leetCode的题吧
leetCode有兴趣的可以去看看,我们直接上干货啦==第一道题-难度(★)输入一个数组跟一个目标值,当数组中某两个数之和等于目标值,返回这两个数的索引(下标)注意这两个数不能相同。(如果内部有多对符合要求的输出一对即可)最简单直观的方式就是来一个O(n²)的for循环嵌套对吧?vartwoSum=function(nums,target){for(leti=0;i
SFTP基于Key多进程批量并发上传文件实现案例(python)
最近在研究Paramiko,Paramiko可以非常方便的实现基于SSH协议的远程连接,可以基于口令,也可以无口令RSA非对称密钥,亦可以实现SFTP上传下载操作,安全高效,再结合多进程或者是多线程就可以实现并行处理,写了一个简单的SFTP基于Key多进程批量并发上传文件的实现案例,供以后参考。安装加密模块和Paramiko模块 下载:pycrypto-2.6.1.tar.gz pa
Linux 下如何调试 Python?
一般开发者都是在IDE中进行程序的调试,当然,有IDE的话,当然首选IDE进行调试。但是,有时我们的业务场景,限制只能在Linux命令行模式进行调试。这时该怎么办呢?今天,就给大家介绍一个Linux下调试Python程序的工具。pdb简介pdb调试器是Python标准库提供的,因此最为方便,不需要安装其他组件,直接import后就能使用。pdb调试器提供了调试所需的大多数功能,如断点、单行步进、堆
深入Spring Boot (十):整合Mybatis框架详解
SpringBoot整合Mybatis支持XML配置和全注解两种方式,本篇将详细解说这两种方式的Mybatis整合,主要包含以下5部分内容:数据源配置;数据库连接池配置;XML配置方式整合;注解方式整合;事务管理。数据源配置数据源配置可以在application.properties或application.yml中配置,例如可以在application.properties中声明以下数据源配置:
4-Java基础语法-流程控制之选择结构
流程控制;流程控制语句:顺序、选择、循环什么是顺序?package cn.mtianyan.flow;public class OctalOutput { public static void main(String[] args) { //定义一一个整型变量n ,值为123 int n; n = 123; System.out.pri
Spark的那些事(四) java操作kudu全示例(含sparksq
上文提到,使用kudu等列式存储将数据以update模式写入kudu.下面说一下java操作kudu的相关demo。java操作kudu在git上有相关demo,而spark操作kudu并没有。cloudera官网的操作中只提到了scala版本。本文列举java操作kudu的全示例,仅供入门参考。(痛苦的是sparksql查询kudu的java实现,官方没有示例,google也不好用)1)pom依
手把手画ROC曲线
假设现在有一个二分类问题,先引入两个概念:真正例率(TPR):正例中预测为正例的比例假正例率(FPR):反例中预测为正例的比例再假设样本数为6,现在有一个分类器1,它对样本的分类结果如下表(按预测值从大到小排序)标签预测值10.910.810.700.300.200.1ROC曲线的横轴为假正例率,纵轴为真正例率,范围都是[0,1],现在我们开始画图——根据从大到小遍历预测值,把当前的预测值当做阈值
Hadoop与常见数据库的区别
想必在数据量情况少的情况下我们首先想到的时擅长于存储的常见数据库如MySQL或者oracle,甚至我们可以将企业的webServer,dbServer都装载到一个服务中,但是随着时间或者公司的成长数据库会越来越满。这时候我们想到了读写分离,使用Master/salve架构,使用Master负责写操作,使用几个Salve负责写操作。但是随着压力增大,Master节点压力也变大,一般我们采用的是进行垂
SpringBoot+Security 发送短信验证码
在core模块下properties包中创建SmsCodeProperties在ValidateCodeProperties中new一个SmsCodeProperties对象,并实现getter、setter方法在core模块下validate包中创建SmsCodeGenerator实现ValidateCodeGenerator接口创建SmsCodeSender接口,定义发送短信的抽象方法实现Sm
jquery 默认替换某些内容
$(document).ready(function(){ $(".boolstate").each(function(){ if($(this).text()=="偏多")
2018年前端最热门的 UI 框架
1.bootstrap:由twitter出品的UI框架。经过多年的发展,社区构建出了一个强大的生态,以及各种各样的插件,基本上你所需要的都能找到。框架主要以css为主,js为辅,js组件部分依赖jquery。也有针对react的适配react-bootstrap和vue的适配bootstrap-vue。2.Semantic-UI:语义化的UI框架。与bootstrap类似,主要以css为主,js为
Tool-生成雪碧图(sprite)
前言网站开发时,我们会使用会多小图标,很多小图标的调用一直都是个问题。小图标使用方法图标字体(例如:阿里出品的iconfont)雪碧图(CSSSprite)等等...雪碧图(CSS雪碧)CSS雪碧即CSSSprite,也有人叫它CSS精灵,是一种CSS图像合并技术,该方法是将小图标和背景图像合并到一张图片上,然后利用css的背景定位来显示需要显示的图片部分。雪碧图优点1.减少加载网页图片时对服务器
使用docker-compose进行python开发
Docker提供了容器级别的资源隔离。由于Python的外部依赖管理中存在的问题,我们通常会使用virtualenv来对不同的项目创建其唯一的依赖环境。这时利用Docker进行Python开发,可以轻松解决不同Python项目之间的依赖隔离问题。 作为应用程序,我们通常需要依赖于多种外部服务,比如数据库、缓存服务等等。Docker-compose就是在Docker容器的基础上,提供了统一的容器编
开源任务管理平台TaskManager介绍
很早之前准备写Quartz系列文章,现在终于能够实现了。从本篇开始将带你实现一款自己的任务管理平台。在工作中你曾经需要应用执行一个任务吗?这个任务每天或每周星期二晚上11:30,或许仅仅每个月的最后一天执行。一个自动执行而无须干预的任务在执行过程中如果发生一个严重错误,应用能够知到其执行失败并尝试重新执行吗?你和你的团队是用.NET编程吗?如果这些问题中任何一个你回答是,那么你应该使用Quar
来聊聊分片Sharding
要解决的问题:比特币以及以太坊网络每秒处理的交易数量有限,需要通过扩容实现增加交易吞吐量。实现方式:什么是扩容呢?扩容,本意是可以通过数据库拆开成小段,改变网络内部各步骤之间的验证方式实现分片,增加吞吐量。Sharding的基本思想就要把一个数据库切分成多个部分放到不同的数据库(server)上,从而缓解单一数据库的性能问题。不太严格的讲,对于海量数据的数据库,如果是因为表多而数据多,这时候适合使
WebBrowser实现网页截图
引用usingSystem.Drawing;usingSystem.Threading;usingSystem.Windows.Forms;代码publicclassWebsiteToImage{privatestringm_Url;privatestringm_FileName=string.Empty;publicWebsiteToImage(stringurl,stringfileName)
WPF 开源项目 【watcher】 守望者,一款监控,统计,分析你每
时隔多年(两年),天天沉迷写PHP的我在连续加薪了逐渐发现自己不怎么写代码了。甚至有一天我发现我连IDE 都没有打开,实在是太堕落了 为了及时悬崖勒马,回头是岸。为了鼓励自己专心写代码,我决定写一款监控自己每天究竟在干嘛的软件。 于是,我重新拾起荒废已久的WPF, 重新打开vs的那一刻,宇宙第一编辑器果然名不虚传,比垃圾PHPstorm好用多了,还是微软的程序员牛逼。废话不多说,进入正题。 首先,
python——asyncio模块实现协程、异步编程(一)
我们都知道,现在的服务器开发对于IO调度的优先级控制权已经不再依靠系统,都希望采用协程的方式实现高效的并发任务,如js、lua等在异步协程方面都做的很强大。python在3.4版本也加入了协程的概念,并在3.5确定了基本完善的语法和实现方式。同时3.6也对其进行了如解除了await和yield在同一个函数体限制等相关的优化。event_loop事件循环:程序开启一个无限的循环,程序员会把一些函数注
Javascript判断一个数字是否在一个区间内
//参数str判断的字符串m最小值n最大值//参数str判断的字符串 m最小值 n最大值function isRangeIn(str,maxnum,minnum ) { debugger; var num = parseFloat(str); if(num =minnum){ return true; } return false;}//笔记用