如何在 Spring/Spring Boot 中做参数校验?你需要了解
本文为作者原创,如需转载请在文首著名地址,转载请申请开白。springboot-guide:适合新手入门以及有经验的开发人员查阅的SpringBoot教程(业余时间维护中,欢迎一起维护)。数据的校验的重要性就不用说了,即使在前端对数据进行校验的情况下,我们还是要对传入后端的数据再进行一遍校验,避免用户绕过浏览器直接通过一些HTTP工具直接向后端请求一些违法数据。本文结合自己在项目中的实际使用经验,
从头开始复习算法之基础排序
昨天下班了实在是不想学习,想着前几天跟人家讨论问题的时候突然发现我竟然连最基础的排序都不怎么熟练,我感觉对于一个有追求的程序员来讲是很不可思议的。我大概花了一个晚上的时候,重新开始整理了一下:冒泡排序、选择排序、插入排序、堆排序、归并排序和快排。一、冒泡排序首先我们来说一说冒泡排序,首先我们来说一说冒泡排序的思想:首先我们用图表的形式来模拟第一轮变换:操作01234567原始数据48231670第
oracle 12c的Data guard中废弃
下面我们看一篇关于oracle12c的Dataguard中将废弃使用usingcurrentlogfile问题的分析详解,希望这篇文章可以对各位带来一些帮助。问题起源于客户的一个12c的数据库,需要启动到非realtimeapply的模式,但是发现执行:alterdatabaserecovermanagedstandbydatabasecancel;alterdatabaserecovermana
linux下php+mysql开发环境搭建笔记
由于以前的一个软件需要小型化,决定用php重写,把linux下开发环境搭建过程记录下来。操作系统环境:RedHatLinuxEnterpriseAS4,装有gcc等开发工具包。一、安装mysql5从[url]www.mysql.com[/url]下载源码包mysql-5.0.41.tar.gztar-zxvfmysql-5.0.41.tar.gz //解压cdmysql-5.0.41//进入到解压
Docker容器化网络和日志的选型和落地
[TOC]Docker容器化网络和日志的选型和落地网络选型(k8s和mesos)思考&& 痛点可否跨机器访问?跨域访问?flannel可以跨容器通信跨主机的容器互联容器与外部互联是否支持静态ip,固定ip? 域名访问?固定ip的话,那么就需要每次部署或者更新或重启的时候,ip保持不变overlaynetwork,Docker1.6可以实现跨主机通信是否支持dns?4层/7层访问容器库容后的网络ip
Kubernetes监控之Heapster介绍
什么是Heapster?Heapster是容器集群监控和性能分析工具,天然的支持Kubernetes和CoreOS。Kubernetes有个出名的监控agent---cAdvisor。在每个kubernetesNode上都会运行cAdvisor,它会收集本机以及容器的监控数据(cpu,memory,filesystem,network,uptime)。在较新的版本中,K8S已经将cAdvisor功
最简单springmvc全局异常处理
共两种实现接口使用注解(简单)最近做项目在通过异常控制返回值code码,初步思路是定义一个全局异常处理器,上面刚说到有两种方法,先讲第一种.HandlerExceptionResolverspringmvc给我们提供了可以扩展的接口HandlerExceptionResolver,实现此接口,重写处理异常方法.此方法有些不好用的是在返回值上面.强制我们返回modelandview,如果想要返回js
如何进行消息对列的技术选型
1、为什么使用消息队列啊?面试官心理分析:你知道不知道你们系统里为什么要用消息队列这个东西?我之前面试就见过大量的候选人,说自己项目里用了redis、mq,但是其实他并不知道自己为什么要用这个东西。其实说白了,就是为了用而用,或者是别人设计的架构,他从头到尾没思考过。没有对自己的架构问过为什么的人,一定是平时没有思考的人,面试官对这类候选人印象通常很不好。因为进了团队担心你就木头木脑的干呆活儿,不
C语言中,宏定义“define”的一种有趣的用法
在C语言中,宏定义也是一种很重要的概念。可以使用“#define”来定义一个常量,也可以用“#define”来实现一些功能。这一篇文章中,我们将介绍一下,在C语言中,使用宏定义“#define”实现的一个小的例子。我们可以借助“#define”,将很多关键字和函数,甚至是标点符号,来改成别的名字。比如:如下程序所示:在C语言程序中,宏定义“define”的一种有趣的用法上述程序,突然一看,似乎已经
mysql delete limit 使用方法详解
mysqldeletelimit优点:用于DELETE的MySQL唯一的LIMITrow_count选项用于告知服务器在控制命令被返回到客户端前被删除的行的最大值。本选项用于确保一个DELETE语句不会占用过多的时间。您可以只重复DELETE语句,直到相关行的数目少于LIMIT值为止。如果DELETE语句包括一个ORDERBY子句,则各行按照子句中指定的顺序进行删除。此子句只在与LIMIT联用是才
SpringBoot配置WebSocket
简介WebSocket是一种在单个TCP连接上进行全双工通讯的协议。WebSocket通信协议于2011年被IETF定为标准RFC6455,并由RFC7936补充规范。WebSocketAPI也被W3C定为标准。WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocketAPI中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性
SpringCloud 自动生成API文档
使用说明克隆项目下来git clone https://github.com/dounine/japi.git编译打包cd japi/javagradle install -xtest运行JAPI后台管理cd japi/javagradle bootRun运行JAPI文档界面cd japi/nodenode app.js生成RESTFul文档maven项目 com.dounine.japi
【探秘Runtime】Runtime的应用
https://www.jianshu.com/p/4a22a39b69c5博客配图attribute__attribute__是一套编译器指令,被GNU和LLVM编译器所支持,允许对于__attribute__增加一些参数,做一些高级检查和优化。__attribute__的语法是,在后面加两个括号,然后写属性列表,属性列表以逗号分隔。在iOS中,很多例如NS_CLASS_AVAILABLE_IO
鼠标滚轮事件
鼠标滚轮事件和页面滚动事件是有区别的,当你见到一个页面可以用鼠标滚动切换页面内容,但是却没有见到页面内有滚动条,不用奇怪,这个就是用鼠标滚轮事件实现的。 原生的js是支持鼠标滚轮事件的,而我们平时用的jquery版本却不支持,但是强大的jquery竟然不支持这类常用事件,岂不让人大跌眼镜,自然不会,这个事件已经被封装成了jquery的插件,只需在调用时引入这个插件js文件即可正常使用。插
mysql 架构篇系列 4 复制架构一主一从搭建(半同步复制)
一.概述 在mysql5.5之前,mysql的复制是异步操作,主库和从库的数据之间存在一定的延时,这样存在一个隐患:当主库上写入一个事务并提交成功,而从库尚未得到主库推送的Binlog日志时,主库down机了,事务Binlog丢失了,此时从库就缺失了这个事务,从而造成主从不一致。 为了解决这个问题,mysql5.5引入了半同步复制,在mysql5.5之前的异步复制时,主库执行完Commit提
Python爬虫入门 | 6 将爬回来的数据存到本地
1.用Python语句存储数据写文件时,我们主要用到withopen()语句:withopen(name,mode,encoding)asfile: file.write() #注意,withopen()后面的语句有一个缩进name:包含文件名称的字符串,比如:‘xiaozhu.txt’; mode:决定了打开文件的模式,只读/写入/追加等; encoding:表示我们要写入数据的编码,一般为ut
如何在 Linux 中不输入密码运行 sudo 命令
假设你在只有自己使用的计算机上运行Linux系统,比如在笔记本电脑上,在每次调用sudo时需要输入密码,长期下来就会觉得很乏味。因此,在本指南中,我们将描述如何配置sudo命令在运行时而不输入密码。此设置在/etc/sudoers文件中完成,这是使用sudo命令的默认安全策略;在用户权限指定部分。重要:在sudeors文件中,默认打开的authenticate参数用于验证目的。如果设置了它,用户必
专用于jsp到jsp/html的转发控制器
演示二个控制器 首页 姓名 性别
制作淡入淡出效果的JQuery插件
今天为大家介绍的是一款名为diagonalFade的jquery插件。文章详情(附demo和文件下载)关键代码:function slideshow(selector, _f) { var x = parseInt(Math.random() * 2); // 从左到右 var y = parseInt(Math.random() * 2); //从上
小技巧:在Ubuntu 14.04中重置Unity和Compiz设置
如果你一直在试验你的Ubuntu系统,你可能最终以Unity和Compiz的一片混乱收场。在此贴士中,我们将看看怎样来重置Ubuntu14.04中的Unity和Compiz。事实上,全部要做的事,仅仅是运行几个命令而已。重置Ubuntu14.04中的Unity和Compiz打开终端(Ctrl+Alt+T),并使用以下命令来重置compiz:dconf reset -f /org/compiz/重置