- 软件工程中耦合度
Da_秀
软件工程开发语言后端架构
耦合度(Coupling)是软件工程中一个重要的概念,用来衡量软件系统中不同模块或组件之间相互依赖的程度。耦合度越高,意味着模块之间的依赖关系越紧密;耦合度越低,表示模块之间的依赖关系越松散。具体解释如下:高耦合定义:高耦合指的是模块之间相互依赖程度高,一个模块的代码可能频繁地直接调用、修改另一个模块的内部实现细节,或者两个模块之间存在大量的直接交互和数据共享。缺点:难以维护:当一个模块需要修改时
- 软件系统复杂性应对
Ares-Wang
概念思维
软件系统复杂性应对解决复杂和大规模软件的武器可以被粗略地归为三类:抽象、分治和知识。分治把问题空间分割为规模更小且易于处理的若干子问题。分割后的问题需要足够小,以便一个人单枪匹马就能够解决他们;其次,必须考虑如何将分割后的各个部分装配为整体。分割得越合理越易于理解,在装配成整体时,所需跟踪的细节也就越少。即更容易设计各部分的协作方式。评判什么是分治得好,即高内聚低耦合。抽象使用抽象能够精简问题空间
- 软件建模、设计模式、重构
kingzdm
java设计模式设计模式重构uml
软件建模、设计模式、重构软件建模软件建模体现了软件设计的思想,在需求和实现之间架起了一座桥梁,通过模型指导软件系统的具体实现。模型并不是软件系统的一个完备表示,而是所研究的系统的一种抽象。软件建模通过不同的视角去描述一个系统。软件建模视角:外部视角,交互视角,结构化视角,行为视角。软件建模方法:结构化方法,面向对象方法,基于构建方法,面向服务方法,面向方面方法,模型驱动方法,形式化方法。UML特点
- 领域驱动设计实战:用六边形架构解耦你的Spring Boot应用
lingRJ777
Java技术栈应用javabackendspringbootdddmicroservices
领域驱动设计实战:用六边形架构解耦你的SpringBoot应用引言在复杂的软件系统中,业务逻辑的持续演进和技术栈的不断更迭是两大核心挑战。以一个典型的电商系统为例,其订单处理模块不仅业务规则繁多(如价格计算、库存校验、优惠券使用、订单状态流转),还需与多种外部系统交互(如Web请求、数据库、消息队列、第三方支付接口)。在传统的N层架构中,我们常常会遇到以下核心挑战:技术债与僵化设计:业务逻辑与具体
- 基于YOLOv8深度学习架构的智能农业巡检小车系统—面向农作物与杂草实时精准识别的创新实践
1.科技赋能智慧农业随着全球人口的持续增长和农业生产面临的挑战,精准农业已成为现代农业发展的必然趋势。其中,农作物与杂草的精准识别是实现自动化、智能化管理的关键一环。传统的人工除草效率低下,化学除草则可能带来环境问题。因此,开发高效、精准、环保的智能农业系统迫在眉睫。本文将深入探讨一款基于深度学习和智能硬件集成的农田作业智能小车系统。我们将重点聚焦于其硬件系统设计、软件系统架构、核心算法创新(特别
- 深入解析HarmonyOS5 UIAbility组件:从核心架构到实战应用
颜颜yan_
架构harmonyos鸿蒙鸿蒙系统
⭐本期内容:深入解析HarmonyOS5UIAbility组件:从核心架构到实战应用系列专栏:鸿蒙HarmonyOS:探索未来智能生态新纪元文章目录前言核心定位架构特性分析系统调度的基本单元灵活的多实例架构实际应用场景——智能办公应用综合案例详细的架构设计思路解析总结前言在万物互联的智能时代,HarmonyOS作为面向全场景的分布式操作系统,其独特的架构设计为开发者提供了前所未有的开发体验。其中,
- 探究 Java SPI 原理与实战_打造高扩展性的应用架构
随风九天
javajava架构开发语言JavaSPI
1.引言1.1为什么需要模块化与扩展性设计在大型软件系统中,良好的架构设计是至关重要的。模块化和可扩展性设计使得我们能够:将功能划分为独立的模块;在不修改原有代码的前提下引入新功能;实现松耦合、高内聚的设计目标。Java提供了多种机制来支持这种设计,其中SPI(ServiceProviderInterface)是一种轻量级的服务发现机制,广泛用于构建插件化系统。1.2Java中的常见扩展机制概述扩
- 李工ROBOT架构之扩展 TestController 以支持更多实验(如 TDDB、TC)并增强可扩展性
基于您的需求,我将为半导体可靠性测试机上位机系统提供以下内容的详细实现:扩展TestController以支持更多实验(如TDDB、TC)并增强可扩展性,以及硬件驱动层协议扩展(支持Modbus、UDP)。内容基于.NETCore8.0、WPF、MVVM模式、Prism框架,并使用中文描述,确保代码可落地且易于扩展。我将提供具体代码示例、设计思路和性能优化建议,并实现动态配置切换不同测试模式的功能
- SpringBoot读取大体积Excel文件的最佳实践
Ceramist
springbootexcel后端
SpringBoot读取大体积Excel文件的最佳实践:从上传到应用在Web应用程序中,尤其是使用SpringBoot构建的应用,处理大体积Excel文件的上传、读取、校验和应用是常见的需求。下面,我们将详细阐述一个完整的设计思路,包括接口设计、文件处理流程以及数据的有效性校验。接口设计首先,设计一个用于接收Excel文件的RESTfulAPI接口。这个接口应该能够接受multipart/form
- C#开发的人力资源管理系统实现指南
AR新视野
本文还有配套的精品资源,点击获取简介:在信息化时代,人力资源管理系统对企业运营至关重要。本文详解了基于C#语言的人力资源管理系统,解析其核心功能、设计思路及关键技术。系统包括员工信息、考勤、薪酬、招聘培训和绩效评估等模块,展示了如何利用C#和相关技术实现高效稳定的企业级应用。文章还探讨了提升系统性能和安全性的技术手段,如异步编程和权限控制。1.人力资源管理系统核心功能概述人力资源管理系统(HRMS
- 下一代防火墙
999感冒灵.
网络安全
一.防火墙是什么1.防火墙的定义:防火墙是一个位于内部网络与外部网络之间的安全系统(网络中不同区域之间),是按照一定的安全策略建立起来的硬件或软件系统,用于流量控制的系统(隔离),保护内部网络资源免受威胁(保护)。防火墙的主要用于防止黑客对安全区域网络的攻击,保护内部网络的安全运行。2.防火墙基本性质:①安全区域和接口:一台防火墙具有多个接口每个接口属于一个安全区域,每个区域具有唯一的名称,所以防
- 【软件系统架构】系列四:设备驱动与板级支持包(BSP)
34号树洞
自学软件系统架构系统架构php开发语言
目录1.设备驱动是什么?核心功能:关键特性2.板级支持包是什么?核心组成与功能:关键特性3.系统启动流程中的协作4.设备驱动与BSP的关系与区别5.重要性6.开发实践总结核心目标:让操作系统/应用程序能够透明地、高效地使用硬件资源。1.设备驱动是什么?设备驱动是一段软件代码(通常是内核模块或在某些RTOS中作为任务)。它的核心职责是充当特定硬件设备与操作系统内核或应用程序之间的翻译官和控制器。它直
- AI智能体原理及实践:从概念到落地的全链路解析
you的日常
人工智能大语言模型人工智能机器学习深度学习神经网络自然语言处理
AI智能体正从实验室走向现实世界,成为连接人类与数字世界的桥梁。它代表了人工智能技术从"知"到"行"的质变,是能自主感知环境、制定决策、执行任务并持续学习的软件系统。在2025年,AI智能体已渗透到智能家居、企业服务、医疗健康、教育和内容创作等领域,展现出强大的生产力与创造力。然而,其发展也伴随着技术挑战、伦理困境和安全风险,需要从架构设计到落地应用的全链条思考与平衡。一、AI智能体的核心定义与技
- 动手实践OpenHands系列学习笔记15:无头模式架构
JeffWoodNo.1
笔记架构
笔记15:无头模式架构一、引言无头模式(HeadlessMode)是现代软件系统中的重要架构模式,允许应用程序在没有图形界面的情况下运行,特别适用于自动化场景、CI/CD流水线和系统集成。OpenHands作为先进的AI驱动开发代理平台,提供了强大的无头模式支持。本笔记将探讨无头架构设计原则,分析OpenHands的无头模式实现,并通过实践构建一个使用无头模式API的自动化工作流。二、无头架构设计
- (C++)学生管理系统(正式版)(map数组的应用)(string应用)(引用)(文件储存的应用)(C++教学)(C++项目)
目录源代码:代码详解:学生成绩管理系统实现详解一、系统整体设计思路1.数据结构选择2.功能模块划分二、关键函数实现原理1.文件存储与加载save_file函数load_file函数2.核心数据操作add函数mod函数find和del函数3.数据展示display函数statistics函数三、核心技术详解1.字符串分割技术2.map的使用技巧3.文件格式设计4.错误处理机制源代码:/**头文件部分
- 【前端工程化】前端工作中的业务规范有哪些
前端
在企业级后台系统中,业务逻辑往往复杂、层级多、交互密集。为了保证系统的可维护性与团队协作效率,我们需要在开发过程中遵循统一的业务实现规范。本规范主要围绕应用结构设计和用户交互控制展开,帮助团队在开发过程中形成一致的编码习惯和设计思路。一、应用结构1.分层架构设计UI层(View)负责页面展示和用户交互,由Vue/React组件构成;页面组件存放在views/*,对应具体路由;通用组件存放在comp
- 多个单片机简单通讯框架
✎ ﹏梦醒͜ღ҉繁华落℘
嵌入式软件设计单片机c语言
文章目录一、场景描述二、框架搭建设计思路通信协议设计2号单片机通讯框架框架优化建议三、2号单片机的通讯框架如何处理消息丢失和重传?消息丢失与重传机制设计改进的通信协议重传机制实现关键机制说明优化建议一、场景描述有3个单片机进行通讯,分别为1号,2号,3号。1号与2号可以通讯,2号与3号可以通讯。那么如果1号想通过2号,与3号进行通讯。如何搭建2号的通讯框架,保证1号的通讯能够及时给3号,同时3号也
- Rust凤舞、月光、考古、航母、扫雷、游戏算法开发全攻略
KENYCHEN奉孝
Rust开发语言rust游戏引擎游戏程序
Rust实现凤舞游戏以下是基于Rust实现凤舞游戏(类似音乐节奏游戏)的100个实例框架,涵盖核心模块、功能扩展和优化技巧。每个示例均提供代码片段和设计思路。基础框架搭建usebevy::prelude::*;fnmain(){App::new().add_plugins(DefaultPlugins).add_systems(Startup,setup_game).add_systems(Upd
- Python 开发法律条文咨询APP
Geeker-2025
python
#法律条文咨询APP-Python实现方案我将设计一个基于Python的法律条文咨询应用,提供一个直观的界面让用户轻松查找和浏览法律条文。##设计思路-使用Flask作为后端框架,轻量且高效-SQLite数据库存储法律条文数据-前端使用Bootstrap实现响应式设计-实现关键词搜索和分类浏览功能-提供条文详情展示和书签功能##完整实现代码###文件结构```legal_app/├──app.py
- 基于 Python Flask 的 B/S 架构项目的软件设计思路
文章目录基于PythonFlask的B/S架构项目的软件设计思路1.引言2.B/S架构概述2.1什么是B/S架构2.2B/S架构的组成层次2.3B/SvsC/S架构对比2.4现代B/S架构的发展趋势3.Flask在B/S架构中的定位3.1Flask作为B/S架构的后端框架3.2Flask的架构优势3.3Flask在不同B/S架构模式中的应用传统B/S架构(服务器端渲染)现代B/S架构(前后端分离)
- 宽表设计(Wide Table) 与 子表 + 类型 + 属性表设计(EAV 模型或“属性表”模型)
nbsaas-boot
数据库
在软件系统设计中,属性扩展(尤其是面向动态业务字段的扩展)是一个常见问题。尤其在企业应用、CMS、电商平台等场景中,经常会遇到「某个对象可能会增加不同的字段」的需求,例如:商品新增自定义字段、用户增加扩展信息等。本文将讨论两种主流方案——宽表设计(WideTable)与子表+类型+属性表设计(EAV模型或“属性表”模型),并从可维护性、性能、适用场景等方面进行系统分析。一、方案一:宽表设计(Wid
- git团队开发流程
古道长风248
git团队开发
怎么使用github在团队里进行协同开发使用场景(1)创建项目和软件版本库,在版本库中建立“src”和“doc”两个文件夹,分别存储软件系统的源代码和报告文档(2)建立master、develop以及成员分支(a_branch),将当前版本存入master目录下(3)实践操作参考:组长组员两个人协同开发:组长负责维护开发分支dev,组员向dev上传提交;当dev测试合适后,组长有唯一权限向mast
- Netty案例:HTTP服务器开发方案
目录1、需求2、核心设计思路3、代码实现4、部署与测试5、关键功能说明1、需求Netty服务器监听8080端口,支持浏览器访问、信息恢复和资源过滤功能2、核心设计思路HTTP协议处理:使用Netty的HTTP编解码器资源过滤:通过URI分析实现黑白名单状态恢复:利用ChannelHandlerContext维护请求状态安全控制:过滤危险资源类型和路径遍历攻击3、代码实现importio.netty
- 【软件系统架构】系列四:多核处理器架构与调度(Deep Dive)
34号树洞
自学软件系统架构系统架构嵌入式硬件嵌入式软件
目录一、多核处理器架构1.缓存结构与内存一致性2.超线程技术(Hyper-Threading)3.多核架构的优势二、多核架构类型详解(1)对称多核结构(SymmetricMulti-Processing,SMP)(2)非对称多核结构(AsymmetricMulti-Processing,AMP)(3)混合式多核结构(HeterogeneousMulti-Core)三、多核调度算法与策略1.调度目标
- 盟接之桥EDI软件助力制造企业提质增效的五大关键举措
在当今竞争激烈的制造业环境中,企业面临着前所未有的挑战。如何在降低成本的同时提高效率,成为制造企业生存与发展的关键。盟接之桥EDI(电子数据交换)软件正是为应对这一挑战而生,通过五个核心优势帮助企业实现降本增效的目标。1.简化部署与集成,实现无缝对接传统上,企业在尝试整合新的软件系统时,往往面临复杂的部署过程和高昂的时间成本。然而,盟接之桥EDI软件以其简洁的部署流程脱颖而出。它能够迅速地与现有的
- python协程与异步并发,同步与阻塞,异步与非阻塞,Python异步IO、协程与同步原语介绍,协程的优势和劣势
网小鱼的学习笔记
Pythonpython服务器开发语言
协程与异步软件系统的并发使用异步IO,无非是我们提的软件系统的并发,这个软件系统,可以是网络爬虫,也可以是web服务等并发的方式有多种,多线程,多进程,异步IO等多线程和多进程更多应用于CPU密集型的场景,比如科学计算的事件都消耗在CPU上面,利用多核CPU来分担计算任务多线程和多进程之间的场景切换和通讯代价很高,不适合IO密集型的场景,而异步IO就是非常适合IO密集型的场景,例如网络爬虫和web
- 重构未来开发范式:如何引领 AIGS 时代的技术革命
小爱想睡懒觉
重构
一、AIGS革命:AI重塑企业软件系统的三大趋势行业灵魂拷问:当所有企业系统都需要实时调用大模型能力时,您的开发框架能否支撑百万级并发?在数据安全成为刚需的时代,如何实现AI功能的合规化、私有化部署?JBoltAI的未来宣言:技术演进路径:从AIGC到AIGS的跃迁图谱技术代际核心特征JBoltAI实践成果行业价值AIGC1.0单点内容生成支持文本/代码/图像生成,提供智能客服对话模板效率提升30
- 【iSAQB软件架构】C4模型
C4模型是一种分层架构可视化框架,由SimonBrown提出,用于清晰描述软件系统的静态结构。它通过四级抽象层逐步展开细节,有效平衡全面性与可读性,已成为现代软件架构文档的核心工具。以下是其核心分层及实践指南:C4模型四层结构详解1.系统上下文图(SystemContext)目标:界定系统边界,明确外部依赖元素:✅核心系统(1个)✅用户角色(如Customer,Admin)✅外部系统(支付网关、身
- 论基于架构的软件设计方法(ABSD)及应用
怎么可能-怎么可能
架构
2025年3月22日作题目基于架构的软件设计(Architecture-BasedSoftwareDesign,ABSD)方法以构成软件架构的商业、质量和功能需求等要素来驱动整个软件开发过程。ABSD是一个自顶向下,递归细化的软件开发方法,它以软件系统功能的分解为基础,通过选择架构风格实现质量和商业需求,并强调在架构设计过程中使用软件架构模板。采用ABSD方法,设计活动可以从项目总体功能框架明确后
- Golang微服务性能优化:从代码到架构的全方位提升
Golang编程笔记
架构golang微服务ai
Golang微服务性能优化:从代码到架构的全方位提升关键词:Golang、微服务、性能优化、代码优化、架构优化摘要:本文将全方位地探讨如何对Golang微服务进行性能优化,从代码层面的优化技巧到架构层面的设计思路,通过生动形象的比喻和详细的代码示例,让大家轻松理解复杂的技术概念,帮助开发者提升微服务的性能和稳定性。背景介绍目的和范围在当今数字化的时代,微服务架构越来越受到大家的青睐。Golang以
- 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