- Spring Boot 接口安全设计:接口限流、防重放攻击与签名验证实战
竹林幽深
springboot安全java
大家好,我是一安~前言在当今互联网应用开发中,接口安全至关重要。对于SpringBoot项目而言,保障接口不被恶意调用、数据不被篡改、请求不被重放,是后端开发者必须攻克的安全难题。本文将深入探讨如何设计并实现一套安全、通用、可落地的接口安全方案,涵盖接口限流、防重放攻击与签名验证等关键技术。效果图接口限流为什么需要接口限流在高并发场景下,接口可能面临大量请求的冲击。如果不加以控制,可能导致服务器资
- Spring Boot 接口安全设计:接口限流、防重放攻击、签名验证
小马不敲代码
SpringBootspringboot安全网络
在当今互联网应用开发中,接口安全至关重要。对于SpringBoot项目而言,保障接口不被恶意调用、数据不被篡改、请求不被重放,是后端开发者必须攻克的安全难题。接口限流为什么需要接口限流在高并发场景下,接口可能面临大量请求的冲击。如果不加以控制,可能导致服务器资源耗尽,服务响应变慢甚至崩溃。接口限流的主要目的包括:1、保护后端服务:防止某个接口被恶意请求或突发流量击垮,确保后端服务的稳定性。2、防止
- Python爬虫高阶:Selenium+Scrapy+Playwright融合架构,攻克动态页面与高反爬场景
程序员威哥
python爬虫selenium
随着互联网应用的不断发展,越来越多的网站采用JavaScript动态渲染页面,常见的静态页面数据抓取方式逐渐失效。此外,高反爬技术也使得传统爬虫架构面临着更大的挑战,许多网站通过复杂的反爬机制如验证码、IP屏蔽、请求频率限制等来防止数据抓取。为了应对这些挑战,我们需要采用更为先进和灵活的爬虫架构。在此背景下,结合Selenium、Scrapy和Playwright这三种技术,能够帮助我们突破动态页
- 如何选择数据库?从真实案例看 PostgreSQL 与 MySQL 的优劣权衡
关系型数据库是几乎所有互联网应用的基础。在众多开源选项中,PostgreSQL和MySQL是最常被拿来对比的一对“老对手”。虽然它们都讲SQL,但在设计哲学、性能表现和功能特性上差异明显。本篇文章结合了包括Uber在内的实际案例、AI辅助建模的开发经验,并推荐一些实际工具,帮助开发者更清晰地做出技术选型。为什么数据库选型至关重要?数据库并不是“越强越好”,关键在于是否匹配你项目的业务模型、数据访问
- Golang利用Protocol Buffers优化网络通信
Golang编程笔记
Golang开发实战golang开发语言后端ai
Golang利用ProtocolBuffers优化网络通信关键词:Golang、ProtocolBuffers、网络通信、序列化、性能优化、Protobuf、gRPC摘要:在现代互联网应用中,网络通信的效率直接影响系统性能。本文将带你一步步探索如何用Golang与ProtocolBuffers(简称Protobuf)结合,优化网络通信。我们会从基础概念讲起,通过生活案例理解Protobuf的优势,
- Spring Boot项目中大文件上传的高级实践与性能优化
代码老y
springboot性能优化后端
引言随着互联网应用的不断发展,用户对文件上传功能的要求越来越高,尤其是在处理大文件时。SpringBoot作为一个高效且灵活的开发框架,为实现大文件上传提供了强大的支持。然而,仅仅实现基本的大文件上传功能是不够的,还需要进一步优化性能,提升用户体验,并确保系统的稳定性。本文将深入探讨SpringBoot项目中大文件上传的高级实践和性能优化策略,帮助开发者打造高效、可靠的大文件上传系统。一、大文件上
- Redis 客户端连接
wjs2024
开发语言
Redis客户端连接引言Redis作为一款高性能的内存数据库,在当今的互联网应用中扮演着重要的角色。Redis提供了多种客户端连接方式,以满足不同场景下的使用需求。本文将详细介绍Redis客户端连接的相关知识,包括连接协议、连接方式、连接配置以及连接管理等方面。Redis连接协议Redis支持多种连接协议,包括TCP/IP、Unix域套接字和SSL/TLS。以下是这些协议的简要介绍:1.TCP/I
- Docker容器如何实现分布式微服务:从0到1的深度解析
cda2024
docker分布式微服务
在当今云计算和大数据时代,企业面临的最大挑战之一是如何快速、稳定地部署和管理复杂的软件应用。传统的单体架构已难以满足现代互联网应用的需求,而分布式微服务架构成为了解决这一难题的关键。但问题随之而来:如何高效地构建和管理分布式微服务?Docker容器技术的出现为这个问题带来了新的曙光。它不仅简化了应用程序的打包和部署过程,还为微服务架构提供了强大的支持。本文将深入探讨Docker容器如何实现分布式微
- HTML 语言代码
HTML语言代码引言HTML,即超文本标记语言(HyperTextMarkupLanguage),是构建网页和互联网应用的基础。自1990年发明以来,HTML一直是网页设计和开发的核心技术。本文将详细介绍HTML语言的起源、发展、基本结构、常用标签以及在实际应用中的重要性。HTML语言的起源与发展起源HTML的发明者是蒂姆·伯纳斯-李(TimBerners-Lee),他在1989年发明了万维网(W
- Windows 环境下 Nginx 搭建 HTTPS 图片存储服务器(阿里云域名、SSL 证书与安全配置)
只因在人海中多看了你一眼
摸索学习心得windowsnginxhttps
在互联网应用中,图片存储是至关重要的一环。为了保证图片的安全性和访问速度,搭建一个基于HTTPS的图片存储服务器是最佳选择。本文将详细介绍如何在Windows环境下使用Nginx搭建一个HTTPS图片存储服务器,并涵盖域名购买、DNS解析、SSL证书申请与配置、Nginx部署以及端口开放等关键步骤。一、准备工作Nginx:下载Windows版本的Nginx(建议选择稳定版)。Q1:Nginx(en
- 在小程序中实现实时聊天:WebSocket最佳实践
向明天乄
小程序websocket网络协议
前言在当今互联网应用中,实时通信已经成为一个标配功能,特别是对于需要即时响应的场景,如在线客服、咨询系统等。本文将分享如何在小程序中实现一个高效稳定的WebSocket连接,以及如何处理断线重连、消息发送与接收等常见问题。WebSocket简介WebSocket是HTML5提供的一种在单个TCP连接上进行全双工通讯的协议。相比传统的HTTP请求,WebSocket具有以下优势:持久连接:一次握手,
- 46、C++中的网络编程
甲方克星947
C++网络编程套接字编程多线程
C++中的网络编程1.网络编程基础网络编程是现代软件开发中不可或缺的一部分,尤其是在分布式系统、互联网应用和服务端开发中。C++作为一种高效且灵活的编程语言,非常适合进行网络编程。本章将详细介绍如何使用C++进行网络编程,涵盖从基础概念到高级技术的各个方面。1.1网络编程的基本概念在开始编写网络程序之前,了解一些基本概念是非常重要的。以下是网络编程中的一些关键术语:TCP/IP协议栈:这是网络通信
- 深入浅出:AWS Cognito 认证机制详解
运维开发王义杰
信息安全系统运维awsaws云计算
在当今的互联网应用中,用户认证和管理是不可或缺的一环。无论是Web应用还是移动App,都需要一套安全、可靠且易于扩展的认证系统。AWSCognito正是亚马逊云科技(AWS)提供的一项强大服务,旨在简化用户身份验证、授权和用户管理流程。作为一名科技博主,今天我将带大家深入了解Cognito的认证机制,并通过具体示例和实用建议,助大家轻松构建安全的应用。Cognito核心概念:用户池(UserPoo
- 深入理解Redis
深入理解Redis:高性能内存数据库的核心原理与应用实践1.引言在现代互联网应用中,高性能、低延迟的数据访问是至关重要的。传统的关系型数据库(如MySQL)虽然功能强大,但在高并发场景下往往成为性能瓶颈。Redis(RemoteDictionaryServer)应运而生,作为一个开源的内存键值数据库,它凭借极快的读写速度、丰富的数据结构和灵活的扩展能力,成为缓存、会话存储、消息队列等场景的首选解决
- Go项目限流全攻略:超越中间件的全方位解决方案
码农老gou
golang中间件开发语言
引言:限流在分布式系统中的重要性在当今高并发的互联网应用中,流量控制已成为保障系统稳定性的关键手段。一次突发的流量洪峰可能导致整个系统崩溃,造成不可估量的损失。作为Go开发者,我们常常会面临这样的面试问题:Go项目中如何实现限流?仅仅使用中间件就足够了吗?本文将深入探讨Go项目中的限流策略,分析中间件的局限性,并介绍超越中间件的全方位解决方案。一、常见限流算法解析1.令牌桶算法(TokenBuck
- 《高并发系统性能优化三板斧:缓存 + 异步 + 限流》
猕员桃
10篇关于分布式和高并发性能优化缓存
高并发系统性能优化三板斧:缓存+异步+限流引言在互联网应用的高并发场景下,系统性能面临巨大挑战。以某电商平台会员活动为例,活动期间瞬时QPS可达10万+,若未进行有效优化,服务器将迅速崩溃。本文从缓存、异步、限流三个核心维度,结合实际案例详细解析高并发系统的性能优化策略,并分享全链路压测与问题定位的实战经验。一、缓存策略分层:从本地到分布式的立体防护1.1本地缓存选型与实战(Caffeine)本地
- 《Redis高并发优化策略与规范清单:从开发到运维的全流程指南》
猕员桃
redis运维数据库
Redis高并发优化策略与规范清单:从开发到运维的全流程指南在互联网应用的后端架构中,Redis凭借其高性能、高并发的特性,成为缓存和数据存储的首选方案。无论是电商抢购、社交平台的点赞计数,还是在线旅游平台的实时数据查询,Redis都在支撑着海量请求的快速处理。然而,随着业务规模的扩大和流量的激增,Redis在高并发场景下也面临诸多挑战,如性能瓶颈、内存溢出、缓存雪崩等。为了确保Redis在高并发
- 时序数据库选型分析
沉默的松饼
时序数据库物联网
在当今数字化时代,大量的时间序列数据不断产生,从工业物联网设备的传感器数据,到金融领域的交易记录,再到互联网应用的用户行为日志等。为了高效地存储、管理和分析这些时序数据,选择一款合适的时序数据库至关重要。本文将对几款主流的时序数据库进行选型分析,帮助读者在众多选项中找到最符合自身需求的数据库解决方案。常见时序数据库概述InfluxDBInfluxDB是一款广泛使用的开源时序数据库。它专为处理时间序
- 零基础如何自学MySQL数据库:从入门到精通的详细指南
cda2024
数据库mysql
开篇:为什么要学习MySQL?在当今数据驱动的世界里,掌握数据库技能是每个程序员和数据从业者的必备能力。而MySQL作为最流行的开源关系型数据库管理系统之一,其重要性不言而喻。据统计,全球超过75%的互联网应用都使用了MySQL或其变种。对于零基础的你来说,如何快速有效地自学MySQL呢?本文将为你提供一份详尽的学习路线图。一、设定明确目标确定学习动机首先要问自己为什么要学MySQL?是为了开发网
- 探秘数据桥梁:常用数据库中间件深度解析
琢磨先生David
数据库中间件
在当今数字化浪潮席卷全球的时代,企业与互联网应用对数据的依赖程度达到了前所未有的高度。从电商平台海量的商品交易数据,到社交软件用户的动态信息存储,再到金融机构复杂的账务数据管理,数据的高效存储、读取与管理成为支撑应用系统稳定运行的关键。随着数据量的爆炸式增长以及业务场景的日益复杂,传统的数据库访问模式逐渐暴露出性能瓶颈、扩展性差等问题。在这样的背景下,数据库中间件应运而生,它如同连接应用程序与数据
- 《Redis高并发架构设计:从单机到Cluster的最佳实践》
猕员桃
bootstrap前端html
Redis高并发架构设计:从单机到Cluster的最佳实践在互联网应用快速发展的当下,高并发场景日益普遍,数据的高效存储与读取成为系统性能的关键。Redis作为高性能的内存数据库,其架构设计对系统的可用性、扩展性和性能有着决定性影响。从单机模式到RedisCluster,不同的部署模型适用于不同阶段与需求。本文将系统地介绍Redis基础部署模型,深入剖析Cluster架构核心原理,探讨典型架构痛点
- 高可用高负载高并发的互联网应用的架构设计
AI大模型应用实战
javapythonjavascriptkotlingolang架构人工智能
高可用、高负载、高并发的互联网应用的架构设计关键词:高可用性、高负载、高并发、互联网应用、架构设计、分布式系统、微服务、负载均衡、缓存、数据库1.背景介绍随着互联网技术的飞速发展,用户对网络应用的需求日益增长,对应用的性能、可靠性和可扩展性提出了更高的要求。高可用、高负载、高并发是互联网应用的核心特性,也是构建现代化互联网应用的关键挑战。高可用性是指系统能够在发生故障或异常情况时,仍然能够正常运行
- Python爬虫实战:模拟登录微博 – 通过POST请求获取Cookie
Python爬虫项目
2025年爬虫实战项目python爬虫开发语言seleniumbeautifulsoup
1.引言在现代的互联网应用中,爬虫技术作为数据收集的重要手段,广泛应用于社交媒体、电商平台、新闻网站等各种领域。社交媒体平台,特别是微博,作为中国最受欢迎的社交网站之一,聚集了海量的用户数据和内容。通过爬取微博数据,开发者可以获取到大量的用户信息、热门话题、微博动态等数据,对分析社交趋势、舆情监测、数据挖掘等具有重要意义。在这篇博客中,我们将通过模拟登录微博的方式,爬取需要登录后才能访问的微博数据
- Redis 持久化机制详解:RDB、AOF 原理与面试最佳实践(RDB篇)
Yrrr1
从0到1学会Redisredis数据库缓存面试java
在现代互联网应用中,Redis以其卓越的读写性能成为缓存、消息队列、分布式锁等场景的首选。然而,作为内存数据库,一旦服务重启或宕机,内存中的数据将全部丢失。为解决这一问题,Redis提供了**RDB(RedisDatabase)和AOF(AppendOnlyFile)**两种持久化机制,确保数据在断电、重启等异常情况下仍能恢复。本文将深入解析这两种机制的原理、配置与应用场景,帮助开发者构建高可靠的
- Redis——缓存穿透、击穿、雪崩
jkoya
缓存redis数据库
Redis——缓存穿透、击穿、雪崩:深入剖析与解决方案在当今的互联网应用架构中,Redis作为一款高性能的缓存数据库,被广泛应用于提升系统性能和响应速度。然而,在使用Redis的过程中,我们可能会遇到一些棘手的问题,其中缓存穿透、击穿和雪崩是较为常见且具有较大影响的问题。本文将深入探讨这三个问题的原理、危害,并给出相应的解决方案。一、缓存穿透(一)原理缓存穿透是指客户端请求的数据在缓存中不存在,并
- Redis 实现短信验证码登录功能:高效、安全、可扩展的完整方案
威哥说编程
redis安全bootstrap
在现代互联网应用中,短信验证码登录已成为一种重要的身份验证方式,广泛应用于注册、登录、密码重置等场景。与传统的用户名和密码验证相比,短信验证码具有更高的安全性和便捷性。然而,如何确保短信验证码登录功能的高效、安全和可扩展性,仍然是开发者面临的一个挑战。Redis作为一款高性能的内存数据库,凭借其高效的存储能力、丰富的数据结构和极低的延迟,已成为短信验证码存储和验证的最佳选择。本文将通过一个完整的技
- 第三章 Serverless框架搭建
AI天才研究院
深度学习实战自然语言处理人工智能语言模型编程实践开发语言架构设计
作者:禅与计算机程序设计艺术1.简介Serverless架构是一种服务模型,它允许开发者只关心业务逻辑编写及部署即可,不需要关注底层基础设施的运维管理、弹性伸缩等。Serverless架构最主要的优点就是降低成本,不需要按量付费,节省了大量资源。其主要场景包括移动互联网应用、企业后台系统、运算密集型后台任务处理、事件驱动函数计算、消息队列处理等。Serverless架构也带来了一些新问题,比如开发
- 基于 Golang 实现微信收藏数据操作的同步、获取与删除功能
梦玄网络安全
微信
引言在现代互联网应用中,如何高效地管理用户的收藏数据,已经成为一个重要的功能需求。微信作为一款广泛使用的即时通讯应用,提供了丰富的接口来管理用户的收藏内容。在这篇技术博客中,我们将深入探讨如何通过Golang实现与微信收藏功能相关的操作,包括收藏同步(Sync)、获取收藏项(GetFavItem)以及删除收藏项(Del)等操作。我们会分析这些操作的背后实现,重点讨论如何利用Protobuf实现数据
- 数据库基础知识总结
代码中の快捷键
数据库oracle
一、数据库简介数据库是按照数据结构来组织、存储和管理数据的仓库。它就像是一个精心设计的文件柜,用于存放海量的数据信息,并且能够方便地对这些数据进行操作和检索。在当今数字化的时代,数据库在各个领域都有着至关重要的作用,无论是企业的资源管理、互联网应用的数据存储,还是金融系统的交易记录等,都离不开数据库的支持。二、数据库模型层次模型这是一种以树形结构来组织数据的模型。它有一个根节点,每个父节点可以有多
- Redis三种集群概述:主从复制、哨兵模式与Cluster模式
咖啡啡不加糖
redisredis数据库java后端
引言在当今高并发、大数据量的互联网应用环境中,Redis作为一款高性能的内存数据库,已经成为众多企业不可或缺的技术基础设施。然而,随着业务规模的扩大,单机Redis的局限性日益凸显,包括内存容量瓶颈、单点故障风险以及性能扩展受限等问题。为了解决这些挑战,Redis提供了三种不同的集群解决方案:主从复制模式、哨兵模式和Cluster模式。这三种模式各有特点,适用于不同的应用场景。一、基本概念与作用R
- jvm调优总结(从基本概念 到 深度优化)
oloz
javajvmjdk虚拟机应用服务器
JVM参数详解:http://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html
Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。
- 【Scala十六】Scala核心十:柯里化函数
bit1129
scala
本篇文章重点说明什么是函数柯里化,这个语法现象的背后动机是什么,有什么样的应用场景,以及与部分应用函数(Partial Applied Function)之间的联系 1. 什么是柯里化函数
A way to write functions with multiple parameter lists. For instance
def f(x: Int)(y: Int) is a
- HashMap
dalan_123
java
HashMap在java中对很多人来说都是熟的;基于hash表的map接口的非同步实现。允许使用null和null键;同时不能保证元素的顺序;也就是从来都不保证其中的元素的顺序恒久不变。
1、数据结构
在java中,最基本的数据结构无外乎:数组 和 引用(指针),所有的数据结构都可以用这两个来构造,HashMap也不例外,归根到底HashMap就是一个链表散列的数据
- Java Swing如何实时刷新JTextArea,以显示刚才加append的内容
周凡杨
java更新swingJTextArea
在代码中执行完textArea.append("message")后,如果你想让这个更新立刻显示在界面上而不是等swing的主线程返回后刷新,我们一般会在该语句后调用textArea.invalidate()和textArea.repaint()。
问题是这个方法并不能有任何效果,textArea的内容没有任何变化,这或许是swing的一个bug,有一个笨拙的办法可以实现
- servlet或struts的Action处理ajax请求
g21121
servlet
其实处理ajax的请求非常简单,直接看代码就行了:
//如果用的是struts
//HttpServletResponse response = ServletActionContext.getResponse();
// 设置输出为文字流
response.setContentType("text/plain");
// 设置字符集
res
- FineReport的公式编辑框的语法简介
老A不折腾
finereport公式总结
FINEREPORT用到公式的地方非常多,单元格(以=开头的便被解析为公式),条件显示,数据字典,报表填报属性值定义,图表标题,轴定义,页眉页脚,甚至单元格的其他属性中的鼠标悬浮提示内容都可以写公式。
简单的说下自己感觉的公式要注意的几个地方:
1.if语句语法刚接触感觉比较奇怪,if(条件式子,值1,值2),if可以嵌套,if(条件式子1,值1,if(条件式子2,值2,值3)
- linux mysql 数据库乱码的解决办法
墙头上一根草
linuxmysql数据库乱码
linux 上mysql数据库区分大小写的配置
lower_case_table_names=1 1-不区分大小写 0-区分大小写
修改/etc/my.cnf 具体的修改内容如下:
[client]
default-character-set=utf8
[mysqld]
datadir=/var/lib/mysql
socket=/va
- 我的spring学习笔记6-ApplicationContext实例化的参数兼容思想
aijuans
Spring 3
ApplicationContext能读取多个Bean定义文件,方法是:
ApplicationContext appContext = new ClassPathXmlApplicationContext(
new String[]{“bean-config1.xml”,“bean-config2.xml”,“bean-config3.xml”,“bean-config4.xml
- mysql 基准测试之sysbench
annan211
基准测试mysql基准测试MySQL测试sysbench
1 执行如下命令,安装sysbench-0.5:
tar xzvf sysbench-0.5.tar.gz
cd sysbench-0.5
chmod +x autogen.sh
./autogen.sh
./configure --with-mysql --with-mysql-includes=/usr/local/mysql
- sql的复杂查询使用案列与技巧
百合不是茶
oraclesql函数数据分页合并查询
本片博客使用的数据库表是oracle中的scott用户表;
------------------- 自然连接查询
查询 smith 的上司(两种方法)
&
- 深入学习Thread类
bijian1013
javathread多线程java多线程
一. 线程的名字
下面来看一下Thread类的name属性,它的类型是String。它其实就是线程的名字。在Thread类中,有String getName()和void setName(String)两个方法用来设置和获取这个属性的值。
同时,Thr
- JSON串转换成Map以及如何转换到对应的数据类型
bijian1013
javafastjsonnet.sf.json
在实际开发中,难免会碰到JSON串转换成Map的情况,下面来看看这方面的实例。另外,由于fastjson只支持JDK1.5及以上版本,因此在JDK1.4的项目中可以采用net.sf.json来处理。
一.fastjson实例
JsonUtil.java
package com.study;
impor
- 【RPC框架HttpInvoker一】HttpInvoker:Spring自带RPC框架
bit1129
spring
HttpInvoker是Spring原生的RPC调用框架,HttpInvoker同Burlap和Hessian一样,提供了一致的服务Exporter以及客户端的服务代理工厂Bean,这篇文章主要是复制粘贴了Hessian与Spring集成一文,【RPC框架Hessian四】Hessian与Spring集成
在
【RPC框架Hessian二】Hessian 对象序列化和反序列化一文中
- 【Mahout二】基于Mahout CBayes算法的20newsgroup的脚本分析
bit1129
Mahout
#!/bin/bash
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information re
- nginx三种获取用户真实ip的方法
ronin47
随着nginx的迅速崛起,越来越多公司将apache更换成nginx. 同时也越来越多人使用nginx作为负载均衡, 并且代理前面可能还加上了CDN加速,但是随之也遇到一个问题:nginx如何获取用户的真实IP地址,如果后端是apache,请跳转到<apache获取用户真实IP地址>,如果是后端真实服务器是nginx,那么继续往下看。
实例环境: 用户IP 120.22.11.11
- java-判断二叉树是不是平衡
bylijinnan
java
参考了
http://zhedahht.blog.163.com/blog/static/25411174201142733927831/
但是用java来实现有一个问题。
由于Java无法像C那样“传递参数的地址,函数返回时能得到参数的值”,唯有新建一个辅助类:AuxClass
import ljn.help.*;
public class BalancedBTree {
- BeanUtils.copyProperties VS PropertyUtils.copyProperties
诸葛不亮
PropertyUtilsBeanUtils
BeanUtils.copyProperties VS PropertyUtils.copyProperties
作为两个bean属性copy的工具类,他们被广泛使用,同时也很容易误用,给人造成困然;比如:昨天发现同事在使用BeanUtils.copyProperties copy有integer类型属性的bean时,没有考虑到会将null转换为0,而后面的业
- [金融与信息安全]最简单的数据结构最安全
comsci
数据结构
现在最流行的数据库的数据存储文件都具有复杂的文件头格式,用操作系统的记事本软件是无法正常浏览的,这样的情况会有什么问题呢?
从信息安全的角度来看,如果我们数据库系统仅仅把这种格式的数据文件做异地备份,如果相同版本的所有数据库管理系统都同时被攻击,那么
- vi区段删除
Cwind
linuxvi区段删除
区段删除是编辑和分析一些冗长的配置文件或日志文件时比较常用的操作。简记下vi区段删除要点备忘。
vi概述
引文中并未将末行模式单独列为一种模式。单不单列并不重要,能区分命令模式与末行模式即可。
vi区段删除步骤:
1. 在末行模式下使用:set nu显示行号
非必须,随光标移动vi右下角也会显示行号,能够正确找到并记录删除开始行
- 清除tomcat缓存的方法总结
dashuaifu
tomcat缓存
用tomcat容器,大家可能会发现这样的问题,修改jsp文件后,但用IE打开 依然是以前的Jsp的页面。
出现这种现象的原因主要是tomcat缓存的原因。
解决办法如下:
在jsp文件头加上
<meta http-equiv="Expires" content="0"> <meta http-equiv="kiben&qu
- 不要盲目的在项目中使用LESS CSS
dcj3sjt126com
Webless
如果你还不知道LESS CSS是什么东西,可以看一下这篇文章,是我一朋友写给新人看的《CSS——LESS》
不可否认,LESS CSS是个强大的工具,它弥补了css没有变量、无法运算等一些“先天缺陷”,但它似乎给我一种错觉,就是为了功能而实现功能。
比如它的引用功能
?
.rounded_corners{
- [入门]更上一层楼
dcj3sjt126com
PHPyii2
更上一层楼
通篇阅读完整个“入门”部分,你就完成了一个完整 Yii 应用的创建。在此过程中你学到了如何实现一些常用功能,例如通过 HTML 表单从用户那获取数据,从数据库中获取数据并以分页形式显示。你还学到了如何通过 Gii 去自动生成代码。使用 Gii 生成代码把 Web 开发中多数繁杂的过程转化为仅仅填写几个表单就行。
本章将介绍一些有助于更好使用 Yii 的资源:
- Apache HttpClient使用详解
eksliang
httpclienthttp协议
Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们再讨论),它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口(基于Http协议的),即提高了开发的效率,也方便提高代码的健壮性。因此熟练掌握HttpClient是很重要的必修内容,掌握HttpClient后,相信对于Http协议的了解会
- zxing二维码扫描功能
gundumw100
androidzxing
经常要用到二维码扫描功能
现给出示例代码
import com.google.zxing.WriterException;
import com.zxing.activity.CaptureActivity;
import com.zxing.encoding.EncodingHandler;
import android.app.Activity;
import an
- 纯HTML+CSS带说明的黄色导航菜单
ini
htmlWebhtml5csshovertree
HoverTree带说明的CSS菜单:纯HTML+CSS结构链接带说明的黄色导航
在线体验效果:http://hovertree.com/texiao/css/1.htm代码如下,保存到HTML文件可以看到效果:
<!DOCTYPE html >
<html >
<head>
<title>HoverTree
- fastjson初始化对性能的影响
kane_xie
fastjson序列化
之前在项目中序列化是用thrift,性能一般,而且需要用编译器生成新的类,在序列化和反序列化的时候感觉很繁琐,因此想转到json阵营。对比了jackson,gson等框架之后,决定用fastjson,为什么呢,因为看名字感觉很快。。。
网上的说法:
fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。
- 基于Mybatis封装的增删改查实现通用自动化sql
mengqingyu
DAO
1.基于map或javaBean的增删改查可实现不写dao接口和实现类以及xml,有效的提高开发速度。
2.支持自定义注解包括主键生成、列重复验证、列名、表名等
3.支持批量插入、批量更新、批量删除
<bean id="dynamicSqlSessionTemplate" class="com.mqy.mybatis.support.Dynamic
- js控制input输入框的方法封装(数字,中文,字母,浮点数等)
qifeifei
javascript js
在项目开发的时候,经常有一些输入框,控制输入的格式,而不是等输入好了再去检查格式,格式错了就报错,体验不好。 /** 数字,中文,字母,浮点数(+/-/.) 类型输入限制,只要在input标签上加上 jInput="number,chinese,alphabet,floating" 备注:floating属性只能单独用*/
funct
- java 计时器应用
tangqi609567707
javatimer
mport java.util.TimerTask; import java.util.Calendar; public class MyTask extends TimerTask { private static final int
- erlang输出调用栈信息
wudixiaotie
erlang
在erlang otp的开发中,如果调用第三方的应用,会有有些错误会不打印栈信息,因为有可能第三方应用会catch然后输出自己的错误信息,所以对排查bug有很大的阻碍,这样就要求我们自己打印调用的栈信息。用这个函数:erlang:process_display (self (), backtrace).需要注意这个函数只会输出到标准错误输出。
也可以用这个函数:erlang:get_s