- 疯狂的 Web 应用开源项目
lxzo123
web开发webgoogle网络wordpresstwitter平台
本文收藏自酷壳:http://coolshell.cn/articles/5132.html下面是一个Web应用的开源列表。没什么可说的,太疯狂了。尤其是Web2.0那一堆。我不知道你怎么想,有些开源项目的源码写得挺不好的,尤其是性能方面。或许你会以为改一改他们就可以成为为自己所用,不过,改这些开源的项目还真不容易。玩玩还可以。数字媒体相册(Flickr,Picasa)Gallery,基于PHP+
- Unix传奇
cqbamboo
unixlinuxlinux内核语言systemfreebsd
本文转载自,陈皓酷壳–CoolShell.cn了解过去,我们才能知其然,更知所以然。总结过去,我们才会知道我们明天该如何去规划,该如何去走。在时间的滚轮中,许许多的东西就像流星一样一闪而逝,而有些东西却能经受着时间的考验散发着经久的魅力,让人津津乐道,流传至今。要知道明天怎么去选择,怎么去做,不是盲目地跟从今天各种各样琳琅满目前沿技术,而应该是去——认认真真地了解和回顾历史。Unix是目前还在存活
- 疯狂的 Web 应用开源项目
一个生命
Web开发Cookieweb开源项目应用
原文作者:陈皓原文链接:http://coolshell.cn/articles/5132.html#more-5132文章来源:Best“mustknow”opensourcestobuildthenewWeb。个人感觉这个收集贴收集成相当的全。学习HTML5编程和设计★HTML5Rocks:MajorFeatureGroups的学习HTML5的资源(HTML5演示,教程).源码很不错的HTML
- 程序员技术练级攻略
bo o ya ka
操作系统设计模式python
转自:http://coolshell.cn/articles/4990.html前言你是否觉得自己从学校毕业的时候只做过小玩具一样的程序?走入职场后哪怕没有什么经验也可以把以下这些课外练习走一遍(朋友的抱怨:学校课程总是从理论出发,作业项目都看不出有什么实际作用,不如从工作中的需求出发)建议:不要乱买书,不要乱追新技术新名词,基础的东西经过很长时间积累而且还会在未来至少10年通用。回顾一下历史,
- 语法分析器的生成器——Bison
跟 屁 虫
RPC框架
文章目录前言概述Bison的语法初步深入语法树一、导言二、递归的一些思想高级yylval:union有歧义的文法前言做个编译器:https://coolshell.cn/articles/1547.htmlhttps://www.ctolib.com/docs/sfile/diy-c-compiler/1.htmlBNF&递归thrift的complier采用bison语法分析生成器来生成语法分析
- 从面向对象的设计模式看软件设计
一个生命
Web开发Cookie软件设计设计模式软件开发designpattern设计
原文作者:陈皓(酷壳–CoolShell.cn)原文链接:从面向对象的设计模式看软件设计前些天发了一篇《如此理解面向对象编程》的文章,然后引起了大家的热议。然后我在微博上说了一句——“那23个经典的设计模式和OO半毛钱关系没有,只不过人家用OO来实现罢了……OO的设计模式思想和Unix的设计思想基本没什么差别”,结果引来了一点点争议。所以,我写下这篇文章把我的观点说明一下。我希望这样可以让大家更容
- zz从面向对象的设计模式看软件设计
anjuenz87013
设计模式shell操作系统
原贴:https://coolshell.cn/articles/8961.html前些天发了一篇《如此理解面向对象编程》的文章,然后引起了大家的热议。然后我在微博上说了一句——“那23个经典的设计模式和OO半毛钱关系没有,只不过人家用OO来实现罢了……OO的设计模式思想和Unix的设计思想基本没什么差别”,结果引来了一点点争议。所以,我写下这篇文章把我的观点说明一下。我希望这样可以让大家更容易地
- k8s基础知识
信安成长日记
kubernetes容器云原生
理解docker[二]-namespace-知乎KubernetesController机制详解(一)-赵化冰的博客|ZhaohuabingBlogK8S之自定义Controller-知乎Controller-K8S-知乎https://coolshell.cn/articles/17010.html/comment-page-2#comment-2133157https://windsock.i
- ARTS第四周
测试游记
Algorithm。主要是为了编程训练和学习。每周至少做一个leetcode的算法题(先从Easy开始,然后再Medium,最后才Hard)。进行编程训练,如果不训练你看再多的算法书,你依然不会做算法题,看完书后,你需要训练。关于做Leetcode的的优势,你可以看一下我在coolshell上的文章Leetcode编程训练-酷壳-CoolShell。Review:主要是为了学习英文,如果你的英文不
- “努力就会成功”
dideng8675
网络操作系统java
转自coolshell原文来源:https://coolshell.cn/articles/19271.html那一年,我加入了某知名公司的某知名部门,在办公室中,我看到了到处都挂着——“努力就会成功”的条幅,这个部门中大多数员工的邮件签名都会有“努力就会成功”,我感到一种热血沸腾的气氛,这是我在多年工作来都没有感受到的,当时挺高兴地能和这样一群人工作,也没多想。直到有一天,我看到这些高级的软件工
- 努力就会成功
我了个去啊啊
ps:1.以解决问题为出发点;2.出卖技能而不是出卖劳动力---------------------------------------------------------以下是转载的正文------------------------------------------------------------https://coolshell.cn/articles/19271.html那一年,我加
- Vim初探索
长尾票夹
本文作者是按照下面的文章来学习Vim的https://coolshell.cn/articles/5426.html本文主要目的是记录实践Vim的点滴,以及对上文进行一定的补充。现在正文开始第一级--存活从一行中的当前位置复制到该行末尾:y$s删除一个字符并进入插入模式FT往回找字符串替代替换当前行:s/str1/str2/替换当前行第一个str1->str2:s/str1/str2/g替换当前行
- Lisp的永恒之道
wh62592855
Programminglisp语言编译器编程javaxml
本文转自:http://coolshell.cn/articles/7526.htmlLisp之魅长久以来,Lisp一直被许多人视为史上最非凡的编程语言。它不仅在50多年前诞生的时候带来了诸多革命性的创新并极大地影响了后来编程语言的发展,即使在一大批现代语言不断涌现的今天,Lisp的诸多特性仍然未被超越。当各式各样的编程语言摆在面前,我们可以从运行效率、学习曲线、社区活跃度、厂商支持等多种不同的角
- 如何重构多重嵌套“箭头型”代码
cugwyman
c-c++重构c-c++程序设计多重嵌套优化
本文转载自酷壳–CoolShell陈皓。所谓箭头型代码,基本上来说就是下面这个图片所示的情况。那么,这样“箭头型”的代码有什么问题呢?看上去也挺好看的,有对称美。但是……关于箭头型代码的问题有如下几个:1)我的显示器不够宽,箭头型代码缩进太狠了,需要我来回拉水平滚动条,这让我在读代码的时候,相当的不舒服。2)除了宽度外还有长度,有的代码的if-else里的if-else里的if-else的代码太多
- 01-研读《程序员练级攻略:开篇词》
GIS程序媛—椰子
程序员练级攻略笔记
目录1)提炼文章要点2)扩展材料阅读3)个人心得体会去年这个时候我接触了ARTS打卡,追根溯源到陈皓老师,之所以称老师,是因为他真的在编程这条路上一直引领着我。后来今年初,很不幸听到他去世的消息,对于这样一位行业大佬的离开真的感到很惋惜。看他的分享,在他的博客发现了“程序员练级攻略”。觉得写得很好,打算一边研读一边分享出来。这里是他11年写的简易初版:https://coolshell.cn/ar
- TCP协议知识图谱
丑人林宗己
总结一些常用的参数以及工具:image.pngLinux收发包核心流程:liunx收发包.drawio.png资料内容:1、耗子叔的关于TCP协议的上下文章:https://coolshell.cn/articles/11564.html2、邵亚方老师的linux内核实战课3、胜辉老师的网络排查可4、内功系列文章:https://mp.weixin.qq.com/s/wThfD9th9e_-YGH
- Web工程师的工具箱(z:coolshell)
weixin_34192993
本文出自IvanZuzak的《TheWebengineer’sonlinetoolbox》,作者给了一个各种可以用来进行开发、测试、调试以及文档编排的在线工具集。(注:我发现CSDN上已经有了这篇文章《Web工程师必备的18款工具》,但可惜的是这篇文章并不全(原文后来被更新到了33个工具),而且其中并没有包括原文评论中出现的所有工具,所以,我一并补全了更出来,一共40多个工具)Web工程师在线工具
- 【C++】整型溢出问题
LittelMing
【C++】整型溢出C++溢出
转自:http://coolshell.cn/articles/11466.html/comment-page-1#comments整型溢出有点老生常谈了,bla,bla,bla…但似乎没有引起多少人的重视。整型溢出会有可能导致缓冲区溢出,缓冲区溢出会导致各种黑客攻击,比如最近OpenSSL的heartbleed事件,就是一个bufferoverread的事件。在这里写下这篇文章,希望大家都了解一
- 使用Flex Bison 和LLVM编写自己的编译器
chuifuhuo6864
数据结构与算法c/c++
使用FlexBison和LLVM编写自己的编译器译者:赵锟原文:http://coolshell.cn/?p=1547(酷壳)本文由赵锟翻译,酷壳发布,转载请注明译者和出处,请勿用于商业用途原文出处:http://gnuu.org/2009/09/18/writing-your-own-toy-compiler1、介绍我总是对编译器和语言非常感兴趣,但是兴趣并不会让你走的更远。大量的编译器的设计概
- <转载>九个PHP很有用的功能
一梦三四年lyp
转载:https://coolshell.cn/articles/2394.html下面是九个PHP中很有用的功能,不知道你用过了吗?1.函数的任意数目的参数你可能知道PHP允许你定义一个默认参数的函数。但你可能并不知道PHP还允许你定义一个完全任意的参数的函数下面是一个示例向你展示了默认参数的函数://两个默认参数的函数functionfoo(``$arg1=''``,$arg2=''``){e
- 程序员提高效率的工具和习惯分享
trigger333
常用工具程序员人工智能习惯提升效率的工具
文档待完善....思维方式X-YProblem|酷壳-CoolShell程序员如何把控自己的职业|酷壳-CoolShell笔记软件语雀:多平台,云同步,md文档,在线协作;一键启动必要的软件:bat脚本电脑重启后可以一键启动必要的软件。ChatGPT用它来帮助你阅读代码,编写代码,修复代码;在日常工作中有什么问题第一个先问它;xshell篇在开发时经常需要登录到服务器上查看一些log、数据,服务器
- HTTP API 认证授权术
沉默羔羊121
转自https://coolshell.cn/articles/19395.html我们知道,HTTP是无状态的,所以,当我们需要获得用户是否在登录的状态时,我们需要检查用户的登录状态,一般来说,用户的登录成功后,服务器会发一个登录凭证(又被叫作Token),就像你去访问某个公司,在前台被认证过合法后,这个公司的前台会给你的一个访客卡一样,之后,你在这个公司内去到哪都用这个访客卡来开门,而不再校验
- 左耳耗子-陈皓
ClarkLinus
coolshell程序人生
想写一个专栏,用于记录一下阅读大神陈皓博客的笔记。一来做阅读笔记和督促自己定期的跟随大神学习,二来让更多的人接触到神人耗子叔1、大神博客左耳耗子-陈皓的酷壳coolshell酷壳–CoolShell.cn2、皓叔简介2003年开始写技术博客。曾任职汤森路透、Amazon研发经理、阿里巴巴深专家,现在自创公司MegaEase。负责电商云平台、开放平台,云监控和电商多媒体平台。技术擅长C/C++/Ja
- 技术文章推荐
六如虫子
作者:陈皓推荐理由:了解unix等操作系统及GNU历史UNIX传奇(上篇)https://coolshell.cn/articles/2322.htmlUNIX传奇(下篇)https://coolshell.cn/articles/2324.htmlAuthorUnknownAliceinUNIXLandhttp://neil.franklin.ch/Jokes_and_Fun/Alice_in_
- linux namespace and cgroup
weixin_34364071
操作系统运维git
namespace参考coolshell.cn/articles/17…coolshell.cn/articles/17…www.infoq.com/cn/articles…www.ibm.com/developerwo…yeasy.gitbooks.io/docker_prac…coolshell.cn/articles/17…www.infoq.com/cn/articles…www.info
- 0055__C++ 虚函数表解析
*_潇_*
0016__C/C++网络
C++虚函数表解析|酷壳-CoolShellC++对象的内存布局|酷壳-CoolShell
- 一个技术大佬的个人网站,纪念一下
budapest
文军随笔程序人生
酷壳–CoolShell.cn他的友情链接WelcometoOSDTBlog|开源开发工具技术博客(OSDTBlog)Http幂等性介绍https://www.cnblogs.com/weidagang2046/archive/2011/06/04/idempotence.htmlhttps://www.raychase.net/四火的唠叨–一个纯正程序员的啰嗦
- 现有c++ 库
SetFireTorain
c++面试问题
【本文系外部转贴,原文地址:http://coolshell.info/c/c++/2014/12/13/c-open-project.htm】留作存档下次造轮子前先看看现有的轮子吧值得学习的C语言开源项目-1.WebbenchWebbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并
- c/c++推荐框架或库
sophia_xw
c++库c++学习资源c++备份
下次造轮子前先看看现有的轮子吧【本文系外部转贴,原文地址:http://coolshell.info/c/c++/2014/12/13/c-open-project.htm】留作存档值得学习的C语言开源项目-1.WebbenchWebbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并
- 值得推荐的C/C++框架和库
daiafei
综合C/C++C++框架和库源码资源
文章来源:http://www.cppblog.com/merlinfang/archive/2014/12/26/209311.aspx【本文系外部转贴,原文地址:http://coolshell.info/c/c++/2014/12/13/c-open-project.htm】留作存档下次造轮子前先看看现有的轮子吧值得学习的C语言开源项目-1.WebbenchWebbench是一个在linux
- SAX解析xml文件
小猪猪08
xml
1.创建SAXParserFactory实例
2.通过SAXParserFactory对象获取SAXParser实例
3.创建一个类SAXParserHander继续DefaultHandler,并且实例化这个类
4.SAXParser实例的parse来获取文件
public static void main(String[] args) {
//
- 为什么mysql里的ibdata1文件不断的增长?
brotherlamp
linuxlinux运维linux资料linux视频linux运维自学
我们在 Percona 支持栏目经常收到关于 MySQL 的 ibdata1 文件的这个问题。
当监控服务器发送一个关于 MySQL 服务器存储的报警时,恐慌就开始了 —— 就是说磁盘快要满了。
一番调查后你意识到大多数地盘空间被 InnoDB 的共享表空间 ibdata1 使用。而你已经启用了 innodbfileper_table,所以问题是:
ibdata1存了什么?
当你启用了 i
- Quartz-quartz.properties配置
eksliang
quartz
其实Quartz JAR文件的org.quartz包下就包含了一个quartz.properties属性配置文件并提供了默认设置。如果需要调整默认配置,可以在类路径下建立一个新的quartz.properties,它将自动被Quartz加载并覆盖默认的设置。
下面是这些默认值的解释
#-----集群的配置
org.quartz.scheduler.instanceName =
- informatica session的使用
18289753290
workflowsessionlogInformatica
如果希望workflow存储最近20次的log,在session里的Config Object设置,log options做配置,save session log :sessions run ;savesessio log for these runs:20
session下面的source 里面有个tracing 
- Scrapy抓取网页时出现CRC check failed 0x471e6e9a != 0x7c07b839L的错误
酷的飞上天空
scrapy
Scrapy版本0.14.4
出现问题现象:
ERROR: Error downloading <GET http://xxxxx CRC check failed
解决方法
1.设置网络请求时的header中的属性'Accept-Encoding': '*;q=0'
明确表示不支持任何形式的压缩格式,避免程序的解压
- java Swing小集锦
永夜-极光
java swing
1.关闭窗体弹出确认对话框
1.1 this.setDefaultCloseOperation (JFrame.DO_NOTHING_ON_CLOSE);
1.2
this.addWindowListener (
new WindowAdapter () {
public void windo
- 强制删除.svn文件夹
随便小屋
java
在windows上,从别处复制的项目中可能带有.svn文件夹,手动删除太麻烦,并且每个文件夹下都有。所以写了个程序进行删除。因为.svn文件夹在windows上是只读的,所以用File中的delete()和deleteOnExist()方法都不能将其删除,所以只能采用windows命令方式进行删除
- GET和POST有什么区别?及为什么网上的多数答案都是错的。
aijuans
get post
如果有人问你,GET和POST,有什么区别?你会如何回答? 我的经历
前几天有人问我这个问题。我说GET是用于获取数据的,POST,一般用于将数据发给服务器之用。
这个答案好像并不是他想要的。于是他继续追问有没有别的区别?我说这就是个名字而已,如果服务器支持,他完全可以把G
- 谈谈新浪微博背后的那些算法
aoyouzi
谈谈新浪微博背后的那些算法
本文对微博中常见的问题的对应算法进行了简单的介绍,在实际应用中的算法比介绍的要复杂的多。当然,本文覆盖的主题并不全,比如好友推荐、热点跟踪等就没有涉及到。但古人云“窥一斑而见全豹”,希望本文的介绍能帮助大家更好的理解微博这样的社交网络应用。
微博是一个很多人都在用的社交应用。天天刷微博的人每天都会进行着这样几个操作:原创、转发、回复、阅读、关注、@等。其中,前四个是针对短博文,最后的关注和@则针
- Connection reset 连接被重置的解决方法
百合不是茶
java字符流连接被重置
流是java的核心部分,,昨天在做android服务器连接服务器的时候出了问题,就将代码放到java中执行,结果还是一样连接被重置
被重置的代码如下;
客户端代码;
package 通信软件服务器;
import java.io.BufferedWriter;
import java.io.OutputStream;
import java.io.O
- web.xml配置详解之filter
bijian1013
javaweb.xmlfilter
一.定义
<filter>
<filter-name>encodingfilter</filter-name>
<filter-class>com.my.app.EncodingFilter</filter-class>
<init-param>
<param-name>encoding<
- Heritrix
Bill_chen
多线程xml算法制造配置管理
作为纯Java语言开发的、功能强大的网络爬虫Heritrix,其功能极其强大,且扩展性良好,深受热爱搜索技术的盆友们的喜爱,但它配置较为复杂,且源码不好理解,最近又使劲看了下,结合自己的学习和理解,跟大家分享Heritrix的点点滴滴。
Heritrix的下载(http://sourceforge.net/projects/archive-crawler/)安装、配置,就不罗嗦了,可以自己找找资
- 【Zookeeper】FAQ
bit1129
zookeeper
1.脱离IDE,运行简单的Java客户端程序
#ZkClient是简单的Zookeeper~$ java -cp "./:zookeeper-3.4.6.jar:./lib/*" ZKClient
1. Zookeeper是的Watcher回调是同步操作,需要添加异步处理的代码
2. 如果Zookeeper集群跨越多个机房,那么Leader/
- The user specified as a definer ('aaa'@'localhost') does not exist
白糖_
localhost
今天遇到一个客户BUG,当前的jdbc连接用户是root,然后部分删除操作都会报下面这个错误:The user specified as a definer ('aaa'@'localhost') does not exist
最后找原因发现删除操作做了触发器,而触发器里面有这样一句
/*!50017 DEFINER = ''aaa@'localhost' */
原来最初
- javascript中showModelDialog刷新父页面
bozch
JavaScript刷新父页面showModalDialog
在页面中使用showModalDialog打开模式子页面窗口的时候,如果想在子页面中操作父页面中的某个节点,可以通过如下的进行:
window.showModalDialog('url',self,‘status...’); // 首先中间参数使用self
在子页面使用w
- 编程之美-买书折扣
bylijinnan
编程之美
import java.util.Arrays;
public class BookDiscount {
/**编程之美 买书折扣
书上的贪心算法的分析很有意思,我看了半天看不懂,结果作者说,贪心算法在这个问题上是不适用的。。
下面用动态规划实现。
哈利波特这本书一共有五卷,每卷都是8欧元,如果读者一次购买不同的两卷可扣除5%的折扣,三卷10%,四卷20%,五卷
- 关于struts2.3.4项目跨站执行脚本以及远程执行漏洞修复概要
chenbowen00
strutsWEB安全
因为近期负责的几个银行系统软件,需要交付客户,因此客户专门请了安全公司对系统进行了安全评测,结果发现了诸如跨站执行脚本,远程执行漏洞以及弱口令等问题。
下面记录下本次解决的过程以便后续
1、首先从最简单的开始处理,服务器的弱口令问题,首先根据安全工具提供的测试描述中发现应用服务器中存在一个匿名用户,默认是不需要密码的,经过分析发现服务器使用了FTP协议,
而使用ftp协议默认会产生一个匿名用
- [电力与暖气]煤炭燃烧与电力加温
comsci
在宇宙中,用贝塔射线观测地球某个部分,看上去,好像一个个马蜂窝,又像珊瑚礁一样,原来是某个国家的采煤区.....
不过,这个采煤区的煤炭看来是要用完了.....那么依赖将起燃烧并取暖的城市,在极度严寒的季节中...该怎么办呢?
&nbs
- oracle O7_DICTIONARY_ACCESSIBILITY参数
daizj
oracle
O7_DICTIONARY_ACCESSIBILITY参数控制对数据字典的访问.设置为true,如果用户被授予了如select any table等any table权限,用户即使不是dba或sysdba用户也可以访问数据字典.在9i及以上版本默认为false,8i及以前版本默认为true.如果设置为true就可能会带来安全上的一些问题.这也就为什么O7_DICTIONARY_ACCESSIBIL
- 比较全面的MySQL优化参考
dengkane
mysql
本文整理了一些MySQL的通用优化方法,做个简单的总结分享,旨在帮助那些没有专职MySQL DBA的企业做好基本的优化工作,至于具体的SQL优化,大部分通过加适当的索引即可达到效果,更复杂的就需要具体分析了,可以参考本站的一些优化案例或者联系我,下方有我的联系方式。这是上篇。
1、硬件层相关优化
1.1、CPU相关
在服务器的BIOS设置中,可
- C语言homework2,有一个逆序打印数字的小算法
dcj3sjt126com
c
#h1#
0、完成课堂例子
1、将一个四位数逆序打印
1234 ==> 4321
实现方法一:
# include <stdio.h>
int main(void)
{
int i = 1234;
int one = i%10;
int two = i / 10 % 10;
int three = i / 100 % 10;
- apacheBench对网站进行压力测试
dcj3sjt126com
apachebench
ab 的全称是 ApacheBench , 是 Apache 附带的一个小工具 , 专门用于 HTTP Server 的 benchmark testing , 可以同时模拟多个并发请求。前段时间看到公司的开发人员也在用它作一些测试,看起来也不错,很简单,也很容易使用,所以今天花一点时间看了一下。
通过下面的一个简单的例子和注释,相信大家可以更容易理解这个工具的使用。
- 2种办法让HashMap线程安全
flyfoxs
javajdkjni
多线程之--2种办法让HashMap线程安全
多线程之--synchronized 和reentrantlock的优缺点
多线程之--2种JAVA乐观锁的比较( NonfairSync VS. FairSync)
HashMap不是线程安全的,往往在写程序时需要通过一些方法来回避.其实JDK原生的提供了2种方法让HashMap支持线程安全.
- Spring Security(04)——认证简介
234390216
Spring Security认证过程
认证简介
目录
1.1 认证过程
1.2 Web应用的认证过程
1.2.1 ExceptionTranslationFilter
1.2.2 在request之间共享SecurityContext
1
- Java 位运算
Javahuhui
java位运算
// 左移( << ) 低位补0
// 0000 0000 0000 0000 0000 0000 0000 0110 然后左移2位后,低位补0:
// 0000 0000 0000 0000 0000 0000 0001 1000
System.out.println(6 << 2);// 运行结果是24
// 右移( >> ) 高位补"
- mysql免安装版配置
ldzyz007
mysql
1、my-small.ini是为了小型数据库而设计的。不应该把这个模型用于含有一些常用项目的数据库。
2、my-medium.ini是为中等规模的数据库而设计的。如果你正在企业中使用RHEL,可能会比这个操作系统的最小RAM需求(256MB)明显多得多的物理内存。由此可见,如果有那么多RAM内存可以使用,自然可以在同一台机器上运行其它服务。
3、my-large.ini是为专用于一个SQL数据
- MFC和ado数据库使用时遇到的问题
你不认识的休道人
sqlC++mfc
===================================================================
第一个
===================================================================
try{
CString sql;
sql.Format("select * from p
- 表单重复提交Double Submits
rensanning
double
可能发生的场景:
*多次点击提交按钮
*刷新页面
*点击浏览器回退按钮
*直接访问收藏夹中的地址
*重复发送HTTP请求(Ajax)
(1)点击按钮后disable该按钮一会儿,这样能避免急躁的用户频繁点击按钮。
这种方法确实有些粗暴,友好一点的可以把按钮的文字变一下做个提示,比如Bootstrap的做法:
http://getbootstrap.co
- Java String 十大常见问题
tomcat_oracle
java正则表达式
1.字符串比较,使用“==”还是equals()? "=="判断两个引用的是不是同一个内存地址(同一个物理对象)。 equals()判断两个字符串的值是否相等。 除非你想判断两个string引用是否同一个对象,否则应该总是使用equals()方法。 如果你了解字符串的驻留(String Interning)则会更好地理解这个问题。
- SpringMVC 登陆拦截器实现登陆控制
xp9802
springMVC
思路,先登陆后,将登陆信息存储在session中,然后通过拦截器,对系统中的页面和资源进行访问拦截,同时对于登陆本身相关的页面和资源不拦截。
实现方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23