一分钟学会spring注解之@Conditional注解
@Conditional注解是可以根据一些自定义的条件动态的选择是否加载该bean到springIOC容器中去,如果看过springBoot源码的同学会发现,springBoot中大量使用了该注解2,@Conditional注解怎么使用查看@Conditional源码你会发现它既可以作用在方法上,同时也可以作用在类上,源码如下:@Target({ElementType.TYPE,ElementTy
优秀的Markdown引擎-MUME
因项目需要,尝试了[markdown.js]和[GitHub的MarkdownWebAPI],都不尽如人意,于是将目标对准了大名鼎鼎MarkdownPreviewEnhanced插件,翻其源码,最终挖出的背后功臣MUME。如此优秀的Markdown引擎,其在GitHub上的Star仅有83个,着实让人意外。调用简单以导出为html为例://引入const mume = require("@shd1
pm2快速部署Django项目
以前写过一篇部署django全攻略,后来被人吐槽,整个流程手动部署下来需要花20多分钟,如果能像pythonmanagerunserver一行命令启动就好了Django项目的开发阶段,可以使用pythonmanagerunserver启动Django内置的web服务,但Django内置的web服务很容易挂到,所以我们需要给它加一个守护进程解决之道:pm2是一个进程管理工具,它可以为你的脚本创建守护
JS学习系列 07 - 标签声明(Label Statement)
1.引言假设有这么一道题:for (var i = 0; i
Android 深入理解Loader机制
Android开发者都经历过APPUI开发不当会造成overDraw,导致APPUI渲染过慢,但是很多人却没听过overLoad,overLoad一般是由于开发者在主线程操作耗时操作,导致程序变慢甚至出现的anr的现象,那么android早已为这种现象提供完美的解决方案,就是今天给大家说的Loader机制。一LoaderAndroid的装载器(loader)是从Android3.0新引入的API,
关于JQUERY的选择器中的特殊字符
今天用JQUERY写一个小功能时遇到了问题,就是我的选择器是这样的$(a[href='title']),我使用的是JQ1.3.2 发现无法识别,我也考虑到了转义问题,于是对特殊字符进行转义,但也不行,看了JQ源码,发现JQ的正则匹配并没有包括=特殊字符,于是到网上查了查,发现这类问题还是很多见的,于是用了新版的JQ1.7.1 问题解决,新版中这些问题都得到了很好的解决
Java并发编程之AbstractQueuedSynchronizer
J.U.C学习的第二篇AQS。AQS在Java并发包中的重要性,毋庸置疑,所以单独拿出来理一理。本文参考总结自《Java并发编程的艺术》第五章第二节队列同步器。什么是AbstractQueuedSynchronizer?AbstractQueuedSynchronizer是JUC并发包中锁的底层支持,AbstractQueuedSynchronizer是抽象同步队列,简称AQS,是实现同步器的基
自定义滚动条样式
哪些地方会出现滚动条滚动条通常会出现在这些地方1、iframe2、任何元素的设置成块元素,overflow设置成scroll3、页面内容超过浏览器视窗的大小4、textarea内容过多时滚动条的组成::-webkit-scrollbar滚动条整体部分::-webkit-scrollbar-thumb滚动条里面的小方块,能上下左右移动(取决于是垂直滚动条还是水平滚动条)::-webkit-scrol
戏说js之名字空间荐
先从简单的js代码开始: 无标题文档 //请养成var的好习惯 var a=123; alert(window.a); var b="hello"; alert(window.b); window.c=true; alert(window.c); 这个简单的代码我想大家都明白,这里全局范围内声明的2个变量,等于为全局对象window附加2个属性.关于为什么强调要使用var,后面
单链表复制早已难不到你,但若我们再加个指针...
面试18:复杂链表的复制(剑指Offer第26题)在上一篇推文中,我们留下的习题是来自《剑指Offer》的面试题26:复杂链表的复制。请实现复杂链表的复制,在复杂链表中,每个结点除了next指针指向下一个结点外,还有一个sibling指向链表中的任意结点或者NULL。比如下图就是一个含有5个结点的复杂链表。 image.png提前想好测试用例依旧是我们熟悉的第一步,先想好我们的测试用例:输入一个n
SQLSERVER手动增长日志文件和数据文件
手动增长日志文件,实际上就是修改日志文件的大小 size的单位是MB下面设置日志文件大小是2048MBALTER DATABASE [GPOSDB] MODIFY FILE(name=GPOSDB_Log,size=2048)EXECsys.[sp_helpdb]@dbname=[GPOSDB]--sysname--收缩日志文件 USE [GPOSDB] GO ALTER DATABASE [GP
看菜谱点餐,迭代设计模式(Iterator)
生活在城市,平时少不了去餐馆吃饭。或是加班下班之后,难免吃上宵夜之后,才回家。在餐馆或是大排档坐下,老板一般都会在第一时间,给你上茶水以及菜谱(在此博文中,这是重点)。我们接过菜谱之后,都会把菜谱遍历一遍,不放过任一美味与自己喜欢吃的佳肴。遍历一遍,此就是一种开发的设计模式,叫迭代器设计模式。迭代器模式,它提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示。我们接过菜谱,使用两
Fuchsia 对 Android 意味着什么
Fuchsia可能是下个会替代Android或ChromeOS的系统。猜测有很多,JackWallen对此补充了一些给Google的赞誉和告诫。Image:JackWallenGoogle总是以“Google”的方式解决或者做某件事。因此,当他们开始做一个让很多人挠头的项目时,大家是不觉得奇怪的。该项目被称为 Fuschia,大多数密切关注Google和Android的人都知道这个新平台。对于那些
如何取得批量插入的IDENTITY号码
SQLServer,可以使用SCOPE_IDENTITY方法取得最后一笔记录的Identity号码,但是如果想取得批量插入的IDENTITY号码,那得想些这个SCOPE_IDENTITY就有些困难了,只有把inserted虚拟表导入到一个真实存在的表,临时表或是表变量中,方可解决问题。 下面代码,是return最后一笔的IDENTITY号码,INSERT INTO dbo.Member VALU
把布尔值转为通俗显示
某些值在数据库存储为BIT,在asp.net显示时,它会显示为True或False。但实际情况之下,我们需要它显示通俗语言表达。如某种状态为开或关等。在asp.net显示,可以有好几种去显示,第一种,你可以使用CheckBox来表示状态,True将显示选中的效果,反之,是非选中的效果。而使用CheckBox也有两种情形,一种是CheckBox摆放在非Data控件模板中,直接放在网页中 cs:thi
为ASP.NET MVC创建一个基于Unity
谈到IoC和ASP.NET的集成,很多人会先后想到Ninject,不过我们个人还是倾向于Unity。这篇文章简单地介绍如果创建基于Unity的ControllerFactory。如下面的代码所示,我们通过直接继承DefaultControllerFactory创建一个自定的UnityControllerFactory。构造函数指定的是配置的UnityContainer的名称,如果没有显式指定则采用
mysql 删除操作(delete+TRUNCATE)
delete语法单表语法:DELETE[LOW_PRIORITY][QUICK][IGNORE]FROMtbl_name [WHEREwhere_definition] [ORDERBY...] [LIMITrow_count]多表语法:DELETE[LOW_PRIORITY][QUICK][IGNORE] tbl_name[.*][,tbl_name[.*]...] FROM
Windows环境下打开PHP Mb_String的方法
Windows环境下打开PHPMb_String的方法1.确保你的Windows/system32下有php_mbstring.dll这个文件,没有就从你Php安装目录extensions里拷入Windows/system32里面。2.在windows目录下找到php.ini打开编辑,搜索mbstring.dll,找到;extension=php_mbstring.dll然后将前面的;号去掉,打开
mysql不重启的情况下修改参数变量
通常来说,更新mysql配置my.cnf需要重启mysql才能生效,但是有些时候mysql在线上,不一定允许你重启,这时候应该怎么办呢?看一个例子:mysql>showvariableslike'log_slave_updates';+-------------------+-------+|Variable_name |Value|+-------------------+-------+
INSERT INTO更新多行记录
如果在INSERT语句末尾指定了ONDUPLICATEKEYUPDATE,并且插入行后会导致在一个UNIQUE索引或PRIMARYKEY中出现重复值,则执行旧行UPDATE;如果不会导致唯一值列重复的问题,则插入新行。例如,如果列a被定义为UNIQUE,并且包含值1,则以下两个语句具有相同的效果:复制代码代码如下: INSERTINTOTABLE(a,b,c)VALUES(1,2,3)ONDUPL