SpringBoot纯后台生成Echarts图片(一)
在实际的生产应用中,我们常常需要将数据进行可视化,生成一些图文报表以供前端使用与查看。而我们使用的最多的图表生成插件工具就是Echarts。为了生成相关的图文报表,我们可以通过前端结合js等来生成,另外也可以使用纯后台(Java代码)来生成。这里我们就介绍使用SpringBoot框架通过API传递参数的方式,纯Java代码而不使用前端来生成相关的图表。本篇以生成柱状图为例:一、项目的工程结
阿里一面:关于【缓存穿透、缓存击穿、缓存雪崩、热点数据失效】问题的解决
正好这位同学面试前学习了笔者之前出的一套Java面试突击教程,里面就涉及到了关于缓存的一些问题。这篇文章,是这位同学对自己阿里一面的总结,大家可以参考一下,同时也感谢乔二爷同学的分享。1前言昨天晚上接到阿里的电面电话,过程中就问到了关于缓存相关的问题。虽然以前接触过,多多少少了解了一些。但是之前自己并没有好好记录这些内容,在真正面试的时候,并没有回答得出来。今天记录一下,长长记性。在我们的平常的项
3.25 创建报名表和课程表
USEXK2016GO--创建Department部门表CREATTABLEDepartment(DepartNonvarchar(2)NOTNULL, DepartNamenvarchar(2)NOTNULL,)GO--创建Course课程表CREATTABLECourse(CouNonvarchar(3)NOTNULL, CouNamenvarchar(30)NOTNULL, kindnvar
Android LayoutInflater.inflate各个参数作
Layinflater概述LayoutInflater这个类相信大家都不陌生,当我们平时需要加载layout文件来转换成View的场景都会用到它,其中最常用的有如下两个加载方法:Viewinflate(intresource,ViewGrouproot)Viewinflate(intresource,ViewGrouproot,booleanattachToRoot)可能一直在使用,却并未了解其
Android帝国—四大天王(RxAndroid) 2
写文章是一件比较麻烦的事。好处就是让你不仅巩固所学。还能够更深刻地理解所学的,如果理解不好,在写的过程中就暴露出来了。这和代码差不多。 线程理解起来(在这里,其实很难的)也不是那么难,这里我们完全可以将线程想象交通道路。每逢周末下班,或小长假时,回家路或高速上一定会堵车,想早点回家的心情都是可以理解,程序也是跑在线程上的车,如果所有的操作都跑在一个线程会是什么样,尤其在这个缺乏耐心的年头。(
PHP开发环境 03 - 使用KFKDock搭建PHP项目环境
KFKDockDocker容器化应用,根据自定义配置文件快速搭建PHP环境。简化一步步手动配置服务器的过程。GitHub地址https://github.com/kfkme/kfkdock视频教程使用KFKDock搭建PHP项目环境包含的软件[x]PHP5.6/7.1[x]Nginx[x]Mysql5.6/5.7(默认密码:kfkdock)[x]MongoDB[x]Redis[x]Memcache
不停机处理oracle超过最大processes数故障
在做oracle数据库管理的时候,经常会有用户遇到超过最大进程数的错误,表现为新的连接无法登入数据库。一致提示超过最大的process数。其实这个问题,如果用户是测试环境,好解决。直接关闭数据库或者直接kill掉所有的“LOCAL=NO”的进程。 但是很多情况是,用户无法接受停机,或者kill掉所有的远端连接。基于以上情况,写了如下脚本#!/usr/bin/perl#writebywulei
C#转换Datetime为 UnixTimeStamp方法和坑点
获取当前时间UnixTimeStampDateTime.UtcNow返回以UTC表示的当前时间,Kind属性是DateTimeKind.Utcprivate static readonly long Jan1St1970Ms = new DateTime(1970,1,1,0,0,0,DateTimeKind.Utc).Ticks;public static long CurrentSecond
Spring Cloud入门教程(五):API服务网关(Zuul) 上
微服务场景下,每一个微服务对外暴露了一组细粒度的服务。客户端的请求可能会涉及到一串的服务调用,如果将这些微服务都暴露给客户端,那么客户端需要多次请求不同的微服务才能完成一次业务处理,增加客户端的代码复杂度。另外,对于微服务我们可能还需要服务调用进行统一的认证和校验等等。微服务架构虽然可以将我们的开发单元拆分的更细,降低了开发难度,但是如果不能够有效的处理上面提到的问题,可能会造成微服务架构实施的失
专访豆瓣网首席架构师洪强宁:Python,简单的力量
【51CTO独家报道】豆瓣网对互联网用户来说是知名的Web2.0社区,但对开发者而言,更重要的是一个应用Python打造的非常成功的Web2.0站点。Python诞生已有20年的历史,目前国内的Python发展状况如何?与其他语言(平台)相比,Python有哪些显而易见的优点?豆瓣应用Python进行Web开发有哪些成功经验可以借鉴?带着这些问题,51CTO记者在Qcon2010会场有幸采访到豆瓣
go os.FileMode()传值问题
linux中的权限rwx分别对应421,相加的值为7,习惯了linux中权限命令使用,会将os.FileMode(777)误解等价于777权限,但是将777传入os.FileMode,你会发现打印出来的不是-rwxrwxrwx可能会想只要在编程的时候,在前面加个0不就行了?但是有情况是这样的,就是外部传入一个变量值是十进制数777package mainimport ( "fmt" "
SQL Server优化必备之任务调度
在前面两篇文章中( 浅谈SQLServer内部运行机制 and浅谈SQLServer数据内部表现形式 ),我们交流了一些关于SQLServer的一些术语,SQLSever引擎与SSMS抽象模型,SQLServer内部存储机制和SQLServer内部体系结构等。讨论的这些问题,均可以归为一个问题,即"SQLServer是怎么执行客户端输入的SQL语句的?”,其中,重点讨论了下图(SQLServer体
Spark Streaming Failed to read chec
现象使用spark-submit提交一个SparkStreamingApplication至yarn集群,报错Caused by: java.lang.ClassNotFoundException: XXXStartup$$anonfun$9 at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.UR
Scala - DataFrame
基本概念What'sDataFrameADataFrameisequivalenttoarelationaltableinSparkSQL[1]。DataFrame的前身是SchemaRDD,从Spark1.3.0开始SchemaRDD更名为DataFrame[2]。其实从使用上来看,跟RDD的区别主要是有了Schema,这样就能根据不同行和列得到对应的值。WhyDataFrame,Motivit
Git 系列(五):三个 Git 图形化工具
在本文里,我们来了解几个能帮你在日常工作中舒服地用上Git的工具。我是在这许多漂亮界面出来之前学习的Git,而且我的日常工作经常是基于字符界面的,所以Git本身自带的大部分功能已经足够我用了。在我看来,最好能理解Git的工作原理。不过,能有的选也不错,下面这些就是能让你不用终端就可以开始使用Git的一些方式。KDEDolphin里的Git我是一个KDE用户,如果不在Plasma桌面环境下,就是在F
网站购物车界面(div+css实现)
叮咚网购物车.main{width:100%;height:590px;border:1pxsolid#000;text-decoration:none;}.top{width:100%;height:52px;border:1pxsolid#000;}.downMenu{width:100%;height:30px;font:normalnormal20px"宋体";color:#fff;bac
jquery连接html页面做一个弹出框输入
开发中遇到一个功能金额满10000元会弹出一个身份验证,前端jq实现代码:art.dialog.open('html页面连接地址',{ title: '身份验证', cancelVal: '关闭', okVal: '提交', width: '500px', height: '200px', lock: true, fixed: true, drag: false,
推荐代码调试工具 Xdebug
写代码总绕不过需要调试,除了UnitTest外,我们还是需要借助Xdebug进行调试。所以今天来说说如何基于本地Docker环境下,使用Xdebug。这里的使用,是分别整合到VSCode和PHPStorm下。安装Xdebug还是基于神级武器——Laradock。我们先看看Laradock官网是怎么安装Xdebug。InstallxDebug#1-FirstinstallxDebugintheWor
一个Activity显示多个Activity
setContentView(R.layout.activity_main); radiogroup = (RadioGroup) findViewById(R.id.mainRadioGroup); radioBtn1 = (RadioButton) findViewById(R.id.radioBtn1); radioBtn2 = (RadioButt
jquery的一些小技巧
$("ulli:first").css('color','red'); //只匹配第一次, $("ulli:first-child").css('color','red'); //匹配每个符合要求的对象 5),$().html()和$().text() $().html()取得第一个匹配元素的html内容。这个函数不能用于XML文档。但可以用于XHTML文档。 $().text()结果是由所有匹