- window NT - WDM - WDF 驱动概念
指掀涛澜天下惊
c++驱动程序windowsc++驱动开发
NT是驱动模型:NT式驱动程序模型是一种比较老式的驱动程序模型,但适用于现有的Windows系统。NT式驱动模型没有固定的形式,最简单的NT式驱动程序模型这一特点,程序开发者可以编写一个完全不支持硬件工作的驱动程序,却可以将代码运行在内核模式中。NT设备驱动程序的动态加载主要是由服务控制管理程序组件来完成的。Windows服务可以在系统启动时加载,用户也可以按需在服务控制平台开启或者关闭服务。程序
- 【react】进阶教程02
咔咔库奇
reactreact.js前端前端框架
目录一、深度性能优化1.列表渲染优化(虚拟列表)2.使用WebWorkers处理CPU密集型任务二、复杂状态管理场景1.全局状态分层(Context+useReducer)2.异步状态管理中间件(ReduxThunk)三、高级组件模式扩展1.控制反转(InversionofControl)2.Headless组件模式四、服务端渲染与静态生成(Next.js集成)1.基础SSR实现2.静态生成(SS
- 高并发环境下的C++ 定时器解决方案
深度Linux
C/C++全栈开发linuxC/C++红黑树定时器
在当今数字化时代,互联网应用如潮水般涌现,高并发场景随处可见。从电商平台的促销抢购,到在线游戏的实时对战,再到金融交易系统的频繁交互,海量的用户请求蜂拥而至,这对系统的性能和响应速度提出了前所未有的挑战。在这些高并发应用的背后,C++定时器扮演着至关重要的角色,它就像一位精准的时间管理者,掌控着任务的执行节奏,确保系统有条不紊地运行。今天,我们就一起来深入探讨高并发环境下的C++定时器解决方案,揭
- 一次vue2项目打包构建优化过程
糖糖老师436
程序员前端vue前端vue
记一次vue2项目构建优化过程。项目基本情况项目是一个vue2+webpack4的管理平台,接下来看一下项目的打包耗时情况和产物依赖情况耗时情况首先使用SpeedMeasurePlugin来看一下项目的构建过程中各个阶段的耗时情况。ini复制代码constSpeedMeasurePlugin=require("speed-measure-webpack-plugin");constsmp=newS
- Python 爬虫实战案例 - 获取BOSS直聘网招聘职位信息
西攻城狮北
python爬虫BOSS直聘招聘信息
引言在当今竞争激烈的职场环境中,无论是求职者渴望找到理想工作,还是企业力求招揽优秀人才,精准、及时的招聘信息都至关重要。BOSS直聘作为国内知名的在线招聘平台,汇聚了海量的职位资源,涵盖各行各业、各个层级。对于求职者,这里宛如一座蕴藏无限机会的宝库,能助其快速锚定契合自身发展的岗位;对于企业,它则是发现千里马的优质猎场,可精准匹配所需人才。而Python爬虫技术恰似一把神奇钥匙,能开启这座宝库的大
- 论文解读(全头皮重建方向):3DCMM
FLOWVERSE
3d3D人头补全
从面部到完整头部:3DCMM的技术原理解析引言在计算机图形学和人体工学领域,3D头部模型的需求日益增加。无论是虚拟化身的创建还是头盔的个性化设计,仅有面部模型往往不足以满足要求,完整的头部几何(包括头皮)才是关键。传统的3D可变形模型(3DMM)多集中于面部重建,头皮区域因数据稀缺和技术限制常被忽略。2022年发表于VRCAI’22的论文《3DCMM:3DComprehensiveMorphabl
- 使用 Docker 部署 Flask 应用
lozhyf
面试工作学习docker
使用Docker部署Flask应用一、引言在现代软件开发中,应用的部署和环境管理是至关重要的环节。传统的部署方式常常会遇到“在我机器上能运行,在你机器上不行”的问题,而Docker的出现很好地解决了这个痛点。Docker是一个用于开发、部署和运行应用程序的开放平台,它使用容器化技术将应用及其依赖打包在一起,确保应用在不同环境中都能一致运行。本文将详细介绍如何使用Docker部署一个简单的Flask
- from flask_session import Session 为什么是Session(app)这么用?
图书馆钉子户
flaskmybatispython
在Flask中,fromflask_sessionimportSession和Session(app)的用法是为了配置和使用Flask-Session扩展,将用户的会话(Session)数据存储到服务器端(如Redis、数据库或文件系统),而不是默认的客户端Cookie中。为什么是Session(app)这么用?Flask-Session的工作机制:Flask默认将Session数据存储在客户端的
- 强大的 solidity 框架:Foundry 轻松上手
代码搬运媛
区块链
Foundry简介Foundry是一个强大的Solidity开发框架,帮助开发者高效地构建、测试和部署智能合约。优势以solidity为第一公民,可以完全使用solidity开发与测试强大的测试功能,方便模拟各种情况,支持模糊测试使用rust语言编写,包含一系列可以与Ethereum交互的工具安装Foundryup是foundry工具包的安装器,通过它我们来完成foundry的安装,首先,在终端执
- ArcGIS Server HTTP与HTTPS端口(6080/6443)使用及Nginx升级HTTPS时的问题与解决
GISX
arcgishttphttps网络协议arcgisnginx
目录前言一、ArcGISServer中http与https二、nginx中升级https的配置项三、ArcGISServer中设置安全策略四、问题解决的关键点五、总结前言本文记录了在项目Web平台从HTTP协议升级到HTTPS协议过程中,解决ArcGISServer服务无法访问的问题一、ArcGISServer中http与httpsArcGISServer官网中对http与https的描述如下:H
- DeepSeek技术解析:降本增效的“双刃剑”如何重塑AI产业?
爱吃青菜的大力水手
人工智能
DeepSeek技术解析:降本增效的“双刃剑”如何重塑AI产业?正面影响分析算力需求与成本大幅降低DeepSeek通过算法优化(如稀疏计算、知识蒸馏)和模型压缩技术,将云端训练算力需求降至传统大模型的35%,车端推理芯片需求减少至65%。例如,某车企使用高通8650平台后,智驾系统成本显著下降。这种优化使得中小企业能以更低成本部署AI,甚至支持本地化私有化部署(如金融行业案例),同时减少对英伟达高
- DeepSeek:突破闭源封锁,引领大模型新时代
fanstinmsl
算法语言模型
近年来,人工智能领域蓬勃发展,大模型作为其中的核心技术,其重要性不言而喻。然而,大模型的训练和部署往往面临着硬件依赖性强、成本高昂、效率低下等挑战。DeepSeek的出现,为解决这些问题提供了全新的思路和方案。DeepSeek的核心优势:1.减少硬件依赖:DeepSeek通过算法优化和架构创新,降低了对高性能硬件的依赖,使得大模型的训练和部署可以在更广泛的硬件平台上进行,极大地降低了应用门槛。**
- Haxe:OpenFL框架与Haxe游戏开发_2024-07-15_07-13-55.Tex
chenjj4003
游戏开发2网络游戏引擎c++开发语言深度学习
Haxe:OpenFL框架与Haxe游戏开发Haxe简介Haxe语言概述Haxe是一种开源的、多范式编程语言,它被设计为一种高级语言,用于编写跨平台的应用程序。Haxe的独特之处在于它的编译器,能够将Haxe代码编译成多种目标语言,包括JavaScript、C++、Java、PHP、Python、C#和ActionScript。这种能力使得开发者能够使用相同的代码库为不同的平台生成代码,极大地提高
- Vulkan:Vulkan物理模拟与碰撞检测技术教程_2024-07-20_15-47-39.Tex
chenjj4003
游戏开发microsoft网络服务器linux前端数据结构
Vulkan:Vulkan物理模拟与碰撞检测技术教程Vulkan基础与环境搭建Vulkan库的简介与特性Vulkan是一个跨平台的2D和3D图形与计算API。它由KhronosGroup开发,旨在提供高性能的图形渲染和计算能力,同时减少CPU的开销,提高GPU的利用率。Vulkan的特性包括:低级API:Vulkan提供了对硬件的直接访问,允许开发者精细控制GPU资源,从而实现更高的性能和效率。多
- Vulkan:Vulkan资源管理与纹理映射_2024-07-20_14-46-07.Tex
chenjj4003
游戏开发服务器前端javascript数据结构androidjava网络
Vulkan:Vulkan资源管理与纹理映射Vulkan资源管理基础创建Vulkan设备和队列在Vulkan中,设备(Device)和队列(Queue)是进行图形和计算操作的核心组件。设备代表了物理设备的逻辑实例,而队列则是提交命令缓冲区到设备进行处理的通道。创建Vulkan设备创建Vulkan设备涉及选择一个物理设备(PhysicalDevice),然后基于该物理设备创建一个逻辑设备。物理设备的
- Vulkan:Vulkan基础架构与环境搭建_2024-07-20_13-37-15.Tex
chenjj4003
游戏开发网络服务器linux前端数据结构androidjava
Vulkan:Vulkan基础架构与环境搭建Vulkan简介Vulkan的历史与发展Vulkan是一个跨平台的2D和3D图形及计算API,由KhronosGroup开发。KhronosGroup是一个由多家公司组成的非营利性行业联盟,负责制定和维护多种开放标准,包括Vulkan、OpenGL、OpenCL等。Vulkan的设计目标是提供更高效、更直接的硬件访问,以减少CPU在图形渲染中的开销,同时
- YashanDB安装前准备
数据库
本文内容来自YashanDB官网,原文内容请见https://doc.yashandb.com/yashandb/23.3/zh/%E5%BF%AB%E9%80%9F%...本章节将介绍个人版单机形态YashanDB服务端安装部署所需的前期准备,安装前请根据本文所述内容进行相关配置。演示环境如下:操作系统CPU内存CentOSLinuxx86\_6432G服务器准备下表为个人开发环境最小配置,请根
- 嵌入式软件架构设计分层思路
轻松学C语言
嵌入式单片机ubootframeworkqt
在正规的项目开发中,项目往往是并行开发的,也就是说硬件设计、底层软件设计、应用软件设计等是同步进行的。比如说在开发板上调试模块驱动,在其他平台上调试应用程序再移植到目前这个平台等。嵌入式专栏1为什么很少看见嵌入式软件架构师职位在招聘网站搜索架构师,会出现各种系统架构师:web架构师,后台服务端架构师等等,但是唯独很难看到嵌入式软件架构师。嵌入式软件不需要架构吗,驱动不需要架构吗?答案当然是需要,不
- 单片机程序的模块化设计
_祥子@
单片机嵌入式硬件
单片机程序的模块化设计是提高代码可维护性、可复用性和可扩展性的关键方法。以下是实现模块化的具体方法,结合技术要点和实际案例说明:1.功能拆分与模块划分原则:按功能或硬件外设划分独立模块(如LED、按键、UART、ADC等)。案例://模块示例:LED驱动模块//led.h#ifndefLED_H#defineLED_HvoidLED_Init(void);voidLED_Toggle(uint8_
- 单片机程序的分层设计方法
_祥子@
单片机嵌入式硬件
分层设计是单片机程序模块化的核心方法之一,通过将不同职责的代码分离到不同层次,能够显著提升代码的可维护性、可移植性和可扩展性。以下是分层设计的具体方法、实现步骤和实际案例:1.分层设计的核心思想目标:将代码按抽象级别分层,每一层只关注特定职责,上层依赖下层接口,但不依赖具体实现。优势:降低耦合:修改底层硬件时,上层业务逻辑无需改动。提高复用:同一驱动层可适配不同硬件(如STM32和ESP32)。简
- 知识库搭建与文化融合:如何促进组织知识共享
在快速变化的商业环境中,知识已成为企业最宝贵的资产之一。有效的知识管理不仅能够提升员工的工作效率,还能促进组织内部的创新和协作。知识库搭建作为知识管理的重要组成部分,与文化融合紧密结合,能够极大地促进组织内的知识共享。本文将深入探讨如何通过知识库搭建与文化融合,实现知识的有效共享。一、知识库搭建:奠定知识共享的基础知识库是一个集中存储、组织和分享组织知识的平台。它包含了文档、政策、流程、最佳实践、
- STM32实战开发(126):智能液位检测 - 使用STM32实现液位检测
嵌入式开发项目
stm32嵌入式硬件单片机javascript音视频
1.引言液位检测技术广泛应用于工业自动化、环境监测、水处理、智能家居等领域。在这些应用中,实时准确地检测液体的液位变化至关重要。液位检测不仅关系到生产过程中的自动化控制,还能保证设备和人员的安全,避免因液位异常导致的设备损坏或事故。STM32作为一种高性能、低功耗的微控制器,因其强大的处理能力和丰富的外设接口,成为液位检测系统开发中的首选平台。本博客将详细介绍如何使用STM32实现智能液位检测系统
- 告别 `if - else`:策略模式与 `return` 语句的深度解析与应用
银之夏雪丶
策略模式javascript前端reactjsvue.jsreact.js
一、引言在编程领域,if-else语句我们再熟悉不过了。它简单易用,是构建程序逻辑的常用方式。可一旦业务变得复杂起来,大量嵌套的if-else代码就会像乱麻一样,把代码的可读性、可维护性和扩展性都搞得一团糟。本文就来好好讲讲怎么用策略模式和合理运用return语句,把代码从这团乱麻里解救出来,让代码结构更清晰、更高效。二、return语句:简化if-else的得力助手(一)代码瘦身与逻辑明晰当if
- Matlab 三维网格数据读取写入
程序员杨弋
Matlab应用篇matlab开发语言
三维网格数据在计算机图形学、计算机辅助设计等领域中广泛应用,在Matlab中读取和处理三维网格数据是一项重要的任务,本文将介绍如何使用Matlab读取、处理和写入三维网格数据。一、读取三维网格数据Matlab提供了许多函数用于读取三维网格数据,常见的格式包括STL、OBJ、PLY等,这里以STL格式为例,介绍如何使用Matlab读取三维网格数据。1、使用stlread函数读取STL文件stlrea
- PageForge v2025.1.6 发布:支持 KaTeX 数学公式渲染
静态网站
我们很高兴地宣布PageForge2025.1.6正式发布。PageForge是一款现代化的静态页面生成与部署平台,致力于为用户提供从创建到部署的一站式解决方案。新增功能支持KaTeX数学公式渲染(#10)新增switch扩展功能支持banner多数据源配置问题修复修复有序列表无法正确解析的问题链接GitHub:https://github.com/devlive-community/pagefo
- Anaconda 2025 最新版安装与Python环境配置指南(附官方下载链接)
waicsdn_haha
程序员教程pythonlinuxjupyterfpga开发javawindows
一、软件定位与核心功能Anaconda2025是Python/R数据科学集成开发平台,预装1500+科学计算库,新增AI模型可视化调试、多环境GPU加速等特性。相较于传统Python安装,其优势包括:环境隔离:通过conda工具实现多版本Python环境共存包管理:一键安装NumPy/Pandas/Scikit-learn等工具链跨平台支持:Windows/macOS/Linux统一操作逻辑二、安
- <tauri><rust><GUI>基于rust和tauri的图片显示程序(本地图片的加载、显示、保存)
机构师
rust开发语言后端taurijavascript
前言本文是基于rust和tauri,由于tauri是前、后端结合的GUI框架,既可以直接生成包含前端代码的文件,也可以在已有的前端项目上集成tauri框架,将前端页面化为桌面GUI。环境配置系统:windows10平台:visualstudiocode语言:rust、javascript库:tauri2.0概述本文基于tauri框架,创建一个图片显示器程序。要实现的功能是,如何从本地路径加载、显示
- 数字信道化过程中多相滤波器组matlab代码及测试
�时过境迁,物是人非
matlab算法开发语言
数字信道化过程中多相滤波器组matlab代码及测试列表polyPhaseFilter/polyPhaseFilter.m , 1894polyPhaseFilter/test_polyPhaseFilter.m , 792
- Pytorch:以CIFAR-10分类为例,给出了神经网络的训练流程
Xiao_Ya__
深度学习pytorchpytorch分类神经网络
下面给出了神经网络的训练流程,包括数据加载与预处理、网络定义、损失函数和优化器定义、网络训练和网络测试。importtorchastimporttorchvisionastvimporttorchvision.transformsastransformsfromtorchvision.transformsimportToPILImageimporttorch.nnasnnimporttorch.n
- Tensorflow2.x框架-神经网络八股扩展-acc曲线与loss曲线
诗雨时
loss/loss可视化,可视化出准确率上升、损失函数下降的过程博主微信公众号(左)、Python+智能大数据+AI学习交流群(右):欢迎关注和加群,大家一起学习交流,共同进步!目录摘要一、acc曲线与loss曲线二、完整代码摘要loss/loss可视化,可视化出准确率上升、损失函数下降的过程一、acc曲线与loss曲线history=model.fit(训练集数据,训练集标签,batch_siz
- [黑洞与暗粒子]没有光的世界
comsci
无论是相对论还是其它现代物理学,都显然有个缺陷,那就是必须有光才能够计算
但是,我相信,在我们的世界和宇宙平面中,肯定存在没有光的世界....
那么,在没有光的世界,光子和其它粒子的规律无法被应用和考察,那么以光速为核心的
&nbs
- jQuery Lazy Load 图片延迟加载
aijuans
jquery
基于 jQuery 的图片延迟加载插件,在用户滚动页面到图片之后才进行加载。
对于有较多的图片的网页,使用图片延迟加载,能有效的提高页面加载速度。
版本:
jQuery v1.4.4+
jQuery Lazy Load v1.7.2
注意事项:
需要真正实现图片延迟加载,必须将真实图片地址写在 data-original 属性中。若 src
- 使用Jodd的优点
Kai_Ge
jodd
1. 简化和统一 controller ,抛弃 extends SimpleFormController ,统一使用 implements Controller 的方式。
2. 简化 JSP 页面的 bind, 不需要一个字段一个字段的绑定。
3. 对 bean 没有任何要求,可以使用任意的 bean 做为 formBean。
使用方法简介
- jpa Query转hibernate Query
120153216
Hibernate
public List<Map> getMapList(String hql,
Map map) {
org.hibernate.Query jpaQuery = entityManager.createQuery(hql);
if (null != map) {
for (String parameter : map.keySet()) {
jp
- Django_Python3添加MySQL/MariaDB支持
2002wmj
mariaDB
现状
首先,
[email protected] 中默认的引擎为 django.db.backends.mysql 。但是在Python3中如果这样写的话,会发现 django.db.backends.mysql 依赖 MySQLdb[5] ,而 MySQLdb 又不兼容 Python3 于是要找一种新的方式来继续使用MySQL。 MySQL官方的方案
首先据MySQL文档[3]说,自从MySQL
- 在SQLSERVER中查找消耗IO最多的SQL
357029540
SQL Server
返回做IO数目最多的50条语句以及它们的执行计划。
select top 50
(total_logical_reads/execution_count) as avg_logical_reads,
(total_logical_writes/execution_count) as avg_logical_writes,
(tot
- spring UnChecked 异常 官方定义!
7454103
spring
如果你接触过spring的 事物管理!那么你必须明白 spring的 非捕获异常! 即 unchecked 异常! 因为 spring 默认这类异常事物自动回滚!!
public static boolean isCheckedException(Throwable ex)
{
return !(ex instanceof RuntimeExcep
- mongoDB 入门指南、示例
adminjun
javamongodb操作
一、准备工作
1、 下载mongoDB
下载地址:http://www.mongodb.org/downloads
选择合适你的版本
相关文档:http://www.mongodb.org/display/DOCS/Tutorial
2、 安装mongoDB
A、 不解压模式:
将下载下来的mongoDB-xxx.zip打开,找到bin目录,运行mongod.exe就可以启动服务,默
- CUDA 5 Release Candidate Now Available
aijuans
CUDA
The CUDA 5 Release Candidate is now available at http://developer.nvidia.com/<wbr></wbr>cuda/cuda-pre-production. Now applicable to a broader set of algorithms, CUDA 5 has advanced fe
- Essential Studio for WinRT网格控件测评
Axiba
JavaScripthtml5
Essential Studio for WinRT界面控件包含了商业平板应用程序开发中所需的所有控件,如市场上运行速度最快的grid 和chart、地图、RDL报表查看器、丰富的文本查看器及图表等等。同时,该控件还包含了一组独特的库,用于从WinRT应用程序中生成Excel、Word以及PDF格式的文件。此文将对其另外一个强大的控件——网格控件进行专门的测评详述。
网格控件功能
1、
- java 获取windows系统安装的证书或证书链
bewithme
windows
有时需要获取windows系统安装的证书或证书链,比如说你要通过证书来创建java的密钥库 。
有关证书链的解释可以查看此处 。
public static void main(String[] args) {
SunMSCAPI providerMSCAPI = new SunMSCAPI();
S
- NoSQL数据库之Redis数据库管理(set类型和zset类型)
bijian1013
redis数据库NoSQL
4.sets类型
Set是集合,它是string类型的无序集合。set是通过hash table实现的,添加、删除和查找的复杂度都是O(1)。对集合我们可以取并集、交集、差集。通过这些操作我们可以实现sns中的好友推荐和blog的tag功能。
sadd:向名称为key的set中添加元
- 异常捕获何时用Exception,何时用Throwable
bingyingao
用Exception的情况
try {
//可能发生空指针、数组溢出等异常
} catch (Exception e) {
 
- 【Kafka四】Kakfa伪分布式安装
bit1129
kafka
在http://bit1129.iteye.com/blog/2174791一文中,实现了单Kafka服务器的安装,在Kafka中,每个Kafka服务器称为一个broker。本文简单介绍下,在单机环境下Kafka的伪分布式安装和测试验证 1. 安装步骤
Kafka伪分布式安装的思路跟Zookeeper的伪分布式安装思路完全一样,不过比Zookeeper稍微简单些(不
- Project Euler
bookjovi
haskell
Project Euler是个数学问题求解网站,网站设计的很有意思,有很多problem,在未提交正确答案前不能查看problem的overview,也不能查看关于problem的discussion thread,只能看到现在problem已经被多少人解决了,人数越多往往代表问题越容易。
看看problem 1吧:
Add all the natural num
- Java-Collections Framework学习与总结-ArrayDeque
BrokenDreams
Collections
表、栈和队列是三种基本的数据结构,前面总结的ArrayList和LinkedList可以作为任意一种数据结构来使用,当然由于实现方式的不同,操作的效率也会不同。
这篇要看一下java.util.ArrayDeque。从命名上看
- 读《研磨设计模式》-代码笔记-装饰模式-Decorator
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
import java.io.BufferedOutputStream;
import java.io.DataOutputStream;
import java.io.FileOutputStream;
import java.io.Fi
- Maven学习(一)
chenyu19891124
Maven私服
学习一门技术和工具总得花费一段时间,5月底6月初自己学习了一些工具,maven+Hudson+nexus的搭建,对于maven以前只是听说,顺便再自己的电脑上搭建了一个maven环境,但是完全不了解maven这一强大的构建工具,还有ant也是一个构建工具,但ant就没有maven那么的简单方便,其实简单点说maven是一个运用命令行就能完成构建,测试,打包,发布一系列功
- [原创]JWFD工作流引擎设计----节点匹配搜索算法(用于初步解决条件异步汇聚问题) 补充
comsci
算法工作PHP搜索引擎嵌入式
本文主要介绍在JWFD工作流引擎设计中遇到的一个实际问题的解决方案,请参考我的博文"带条件选择的并行汇聚路由问题"中图例A2描述的情况(http://comsci.iteye.com/blog/339756),我现在把我对图例A2的一个解决方案公布出来,请大家多指点
节点匹配搜索算法(用于解决标准对称流程图条件汇聚点运行控制参数的算法)
需要解决的问题:已知分支
- Linux中用shell获取昨天、明天或多天前的日期
daizj
linuxshell上几年昨天获取上几个月
在Linux中可以通过date命令获取昨天、明天、上个月、下个月、上一年和下一年
# 获取昨天
date -d 'yesterday' # 或 date -d 'last day'
# 获取明天
date -d 'tomorrow' # 或 date -d 'next day'
# 获取上个月
date -d 'last month'
#
- 我所理解的云计算
dongwei_6688
云计算
在刚开始接触到一个概念时,人们往往都会去探寻这个概念的含义,以达到对其有一个感性的认知,在Wikipedia上关于“云计算”是这么定义的,它说:
Cloud computing is a phrase used to describe a variety of computing co
- YII CMenu配置
dcj3sjt126com
yii
Adding id and class names to CMenu
We use the id and htmlOptions to accomplish this. Watch.
//in your view
$this->widget('zii.widgets.CMenu', array(
'id'=>'myMenu',
'items'=>$this-&g
- 设计模式之静态代理与动态代理
come_for_dream
设计模式
静态代理与动态代理
代理模式是java开发中用到的相对比较多的设计模式,其中的思想就是主业务和相关业务分离。所谓的代理设计就是指由一个代理主题来操作真实主题,真实主题执行具体的业务操作,而代理主题负责其他相关业务的处理。比如我们在进行删除操作的时候需要检验一下用户是否登陆,我们可以删除看成主业务,而把检验用户是否登陆看成其相关业务
- 【转】理解Javascript 系列
gcc2ge
JavaScript
理解Javascript_13_执行模型详解
摘要: 在《理解Javascript_12_执行模型浅析》一文中,我们初步的了解了执行上下文与作用域的概念,那么这一篇将深入分析执行上下文的构建过程,了解执行上下文、函数对象、作用域三者之间的关系。函数执行环境简单的代码:当调用say方法时,第一步是创建其执行环境,在创建执行环境的过程中,会按照定义的先后顺序完成一系列操作:1.首先会创建一个
- Subsets II
hcx2013
set
Given a collection of integers that might contain duplicates, nums, return all possible subsets.
Note:
Elements in a subset must be in non-descending order.
The solution set must not conta
- Spring4.1新特性——Spring缓存框架增强
jinnianshilongnian
spring4
目录
Spring4.1新特性——综述
Spring4.1新特性——Spring核心部分及其他
Spring4.1新特性——Spring缓存框架增强
Spring4.1新特性——异步调用和事件机制的异常处理
Spring4.1新特性——数据库集成测试脚本初始化
Spring4.1新特性——Spring MVC增强
Spring4.1新特性——页面自动化测试框架Spring MVC T
- shell嵌套expect执行命令
liyonghui160com
一直都想把expect的操作写到bash脚本里,这样就不用我再写两个脚本来执行了,搞了一下午终于有点小成就,给大家看看吧.
系统:centos 5.x
1.先安装expect
yum -y install expect
2.脚本内容:
cat auto_svn.sh
#!/bin/bash
- Linux实用命令整理
pda158
linux
0. 基本命令 linux 基本命令整理
1. 压缩 解压 tar -zcvf a.tar.gz a #把a压缩成a.tar.gz tar -zxvf a.tar.gz #把a.tar.gz解压成a
2. vim小结 2.1 vim替换 :m,ns/word_1/word_2/gc  
- 独立开发人员通向成功的29个小贴士
shoothao
独立开发
概述:本文收集了关于独立开发人员通向成功需要注意的一些东西,对于具体的每个贴士的注解有兴趣的朋友可以查看下面标注的原文地址。
明白你从事独立开发的原因和目的。
保持坚持制定计划的好习惯。
万事开头难,第一份订单是关键。
培养多元化业务技能。
提供卓越的服务和品质。
谨小慎微。
营销是必备技能。
学会组织,有条理的工作才是最有效率的。
“独立
- JAVA中堆栈和内存分配原理
uule
java
1、栈、堆
1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制.2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中。)3. 堆:存放所有new出来的对象。4. 静态域:存放静态成员(static定义的)5. 常量池:存放字符串常量和基本类型常量(public static f