- 设计模式—责任链模式
Luo_xguan
设计模式责任链模式
目录1.概述2.结构3.案例4.优缺点5.源码解析1.概述在现实生活中,常常会出现这样的事例:一个请求有多个对象可以处理,但每个对象的处理条件或权限不同。例如,公司员工请假,可批假的领导有部门负责人、副总经理、总经理等,但每个领导能批准的天数不同,员工必须根据自己要请假的天数去找不同的领导签名,也就是说员工必须记住每个领导的姓名、电话和地址等信息,这增加了难度。这样的例子还有很多,如找领导出差报销
- tomcat责任链设计模式 FilterChain原理解析
mengxiangsun
java
转自:http://javapolo.iteye.com/blog/1287747今天晚上花了些时间debug了下tomcat,注意观察了下tomcat内部过滤器的实现,其实tomcat内部过滤器采用了责任链的设计模式,(其实struts2拦截器那一块采用了相似的设计模式),以下是个人对源码的解读,ApplicationFilterChain详解首先是对该类的定义的介绍/***Implementa
- 【Python】使用SQLAlchemy操作Mysql数据库
m0_74824044
数据库pythonmysql
一、SQLAlchemy介绍SQLAlchemy是Python的SQL工具包和对象关系映射(ORM)库,它提供了全套的企业级持久性模型,用于高效、灵活且优雅地与关系型数据库进行交互。使用SQLAlchemy,你可以通过Python类来定义数据库表的结构,并通过这些类与数据库进行交互,而无需编写复杂的SQL语句。以下是SQLAlchemy的一些主要特点和功能:ORM(对象关系映射):SQLAlche
- 泛型和通配符详解
重生之我在成电转码
java开发语言
在Java中,**泛型(Generics)和通配符(Wildcard)**是用于增强类型安全性和代码复用的强大特性。它们允许类、接口和方法在定义时不指定具体类型,而是在使用时指定类型参数。通过泛型和通配符,Java可以在编译时进行类型检查,从而避免运行时错误。下面我将详细解释这两个概念,包括其用法、区别、以及各种常见的模式。1.泛型(Generics)泛型是一种在定义类、接口或方法时使用类型参数的
- 免登录H5快手商城系统/抖音小店商城全开源运营版本
云深不知处㊣
源码专区免登录商城源码
内容目录一、详细介绍二、效果展示1.部分代码2.效果图展示三、学习资料下载一、详细介绍最近因为直播需要然后在互站花500买了一套仿抖音的商城系统,感觉确实还可以,反正都买了所以就分享给有需要的人以下是互站那边的网站介绍可以了看一下,还是很不错的1、无需登录直接可以购买商品2、独立后台支持分站3、修复已知问题完美运营4、支持对接第三方支付:易支付、码支付、虎皮椒等。二、效果展示1.部分代码代码如下(
- Socket通讯协议理解及客户端服务器程序流程
luckyext
网络tcp/ip网络协议
Socket通讯我们可以从以下几个方面简单理解1.Socket是网络通信中的一项重要技术,它提供了在网络上进行数据交换的接口。用C#、Java、C++等开发语言,都可以开发Socket网络通信程序。2.Socket(套接字)是计算机网络编程中的一种抽象,它允许不同的计算机或网络设备通过网络进行数据交换。Socket在应用层和传输层之间提供了一个接口,用于实现进程之间的通信。在网络通信中,Socke
- 深入理解C# 异步编程与async/await机制
lichangjun2017
c#数据库javac语言
前言在现代应用程序开发中,异步编程已经成为提高性能、响应速度的重要手段。特别是在处理I/O密集型任务时,如网络请求、文件读写等,使用异步编程能够避免阻塞线程,提高应用程序的运行效率。在本文中,我们将深入了解C#中的async和await关键字,掌握异步编程的基础和实战技巧。一、为什么需要异步编程?在传统的同步编程中,应用程序在执行某些耗时任务(如文件读取或网络请求)时,会阻塞当前线程,直到任务完成
- 揭密 scaling laws
deardao
机器学习
ScalinglawsOpenAI在其早期的关于scalinglaws的论文[1]中提出了基础理论,但该文缺乏一些具体的求解过程,且未能在更大规模的模型上进行验证。与此同时,后续研究,例如DeepMind的ChinChilla[2]还提出了不同的结论。论文题目:UnravelingtheMysteryofScalingLaws:PartI论文地址:https://arxiv.org/abs/240
- 算法面试题
阿芯爱编程
面试算法算法
以下是一些常见的算法面试题:一、排序算法请简述快速排序算法的时间复杂度和空间复杂度,并说明其稳定性。答案:时间复杂度:平均情况:O(nlogn)O(nlogn)O(nlogn),其中nnn是待排序元素的数量。这是因为快速排序每次划分大致将数组分成两半,需要进行lognlognlogn次划分,每次划分的操作近似为线性时间。最坏情况:O(n2)O(n^2)O(n2),当每次划分都极度不平衡(例如已经有
- 前端面试题
阿芯爱编程
面试前端
以下是一些前端面试题:一、HTML/CSS部分请描述HTML的语义化标签的重要性,并列举一些常用的语义化标签。答案:重要性:对搜索引擎优化(SEO)有帮助,搜索引擎能够更好地理解页面结构,从而提高网站在搜索结果中的排名。提高代码的可读性和可维护性,使开发者更容易理解页面布局和功能逻辑。对于辅助技术(如屏幕阅读器)更友好,能够准确地向用户传达页面内容。常用语义化标签::定义页面或区域的头部内容,通常
- vue高级面试题
阿芯爱编程
js技巧面试vue.jsjavascript前端
以下是一些Vue高级面试题:一、Vue组件相关Vue组件通信有哪些方式?答案:Props和Events:父组件通过props向子组件传递数据,子组件通过$emit触发事件向父组件发送消息。Vuex(状态管理库):适用于复杂应用中跨组件的状态共享。组件可以从store中获取状态(使用computed属性),也可以通过mutations或actions修改状态。Provide/Inject:这是一种在
- 一篇文章带你理解黑客、骇客、白客、红客的区别和作用
编程小亦
黑客PHPphpweb安全安全
遵循AI写法主编:hurrycry黑客(Hacker)黑客一词最早可以追溯到20世纪60年代的麻省理工学院(MIT)。当时,一群才华横溢的计算机爱好者,他们热衷于探索计算机系统的奥秘。这些人被称为黑客,他们最初的目的是为了更好地理解计算机的工作原理,通过编写程序来解决复杂的技术问题。他们以自己的技术能力为傲,并且有着强烈的好奇心和求知欲。例如,早期的黑客会尝试优化计算机的操作系统,或者找到新的方法
- pymodbus Server和Client示例
漫无目的行走的月亮
python前端服务器
PyModbus是一款功能强大且易于使用的Modbus协议实现库,适用于工业自动化、物联网、能源管理和数据分析等领域。Server:frompymodbus.serverimport(ModbusTcpServer,)frompymodbus.datastoreimport(ModbusSequentialDataBlock,ModbusServerContext,ModbusSlaveConte
- socket io 前后端样例
漫无目的行走的月亮
python开发语言
Socket.IO是一个用于实现实时双向通信的库,最初是为Node.js开发的,用于解决WebSocket在不同浏览器和网络环境中的兼容性问题。它提供了一个统一的API,使得开发者可以轻松实现实时双向通信,而不必担心底层传输协议的差异。目前,Socket.IO不仅支持Node.js,还扩展到了Python、Java、.NET等多种编程语言和平台。Socket.IO主要由服务器端和客户端两部分组成:
- SQLAlchemy中常用的查询方法[示例学习]
铁松溜达py
数据库
SQLAlchemy是一个强大的PythonORM(对象关系映射)工具,它提供了多种方法来执行数据库查询操作。以下是SQLAlchemy中常用的查询方法的总结:session.query():使用session.query(Model)来创建一个查询对象,其中Model是你要查询的数据库模型类。filter():在查询对象上使用filter()方法可以添加过滤条件,例如filter(Model.c
- 华为云obs sdk 开发,在windows下使用ObsClient obs=new ObsClient(AK,SK,ENDPOINT);表现正常,同样的代码编译后放在linux中运行,报错
阳光正好2024
vue相关开发若依框架使用华为云
obssdk开发,在windows下使用ObsClientobs=newObsClient(AK,SK,ENDPOINT);表现正常,同样的代码编译后放在linux中运行,报错,内存溢出,有什么东西循环了。报错信息:转移文件耗时:114:23:22.836[http-nio-19999-exec-28]ERRORc.r.f.w.e.GlobalExceptionHandler-[handleExc
- 360智算中心:万卡GPU集群落地实践
ZVAyIVqt0UFji
360智算中心是一个融合了人工智能、异构计算、大数据、高性能网络、AI平台等多种技术的综合计算设施,旨在为各类复杂的AI计算任务提供高效、智能化的算力支持。360智算中心不仅具备强大的计算和数据处理能力,还结合了AI开发平台,使得计算资源的使用更加高效和智能化。360内部对于智算中心的核心诉求是性能和稳定性,本文将深入探讨360智算中心在万卡GPU集群中的落地实践过程,包括算力基础设施搭建、集群优
- PyTorch `.pth` 转 ONNX:从模型训练到跨平台部署
MO__YE
人工智能
PyTorch.pth转ONNX:从模型训练到跨平台部署在深度学习里,模型的格式决定了它的可用性。如果你是PyTorch用户,你可能熟悉.pth文件,它用于存储训练好的模型。但当你想在不同的环境(如TensorRT、OpenVINO、ONNXRuntime)部署模型时,.pth可能并不适用。这时,ONNX(OpenNeuralNetworkExchange)就必不可少。本文目录:什么是.pth文件
- C语言学习记录(4)青年歌手大奖赛_评委会打分
舌尖上的五香
C语言
C语言学习记录前言一直自己没有学习做笔记的习惯,所以为了加强自己对知识的深入理解,决定将学习笔记写下来,希望向各位大牛们学习交流!不当之处请斧正!在此感谢!这边就先从学习C语言写起,自己本身对程序语言方面不擅长,所以决定对此从基础开始学习,大牛们对此文可以忽略!学校的OJ上的题青年歌手大奖赛_评委会打分题目描述青年歌手大奖赛中,评委会给参赛选手打分。选手得分规则为去掉一个最高分和一个最低分,然后计
- 【linux numa】 NUMA 绑核
Dayu_log
linuxlinux
1.NUMA的前世今生NUMA(NonUniformMemoryAccess)和UMA(UniformMemoryAccess)是两种CPU相关的硬件架构。在早期的UMA架构中,CPU通过前端总线(FSB,FrontSideBus)连接到北桥芯片,然后北桥芯片连接到内存,即内存控制器集成在北桥芯片中。外部IO设备与南桥芯片相连,南桥芯片与北桥芯片通过内部总线相连。下图为UMA架构图下图为早期的UM
- 设计模式之建造者模式
Forget the Dream
设计模式设计模式建造者模式c++java
概念建造者模式(BuilderPattern)是一种创建型设计模式,它将一个复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示。该模式允许你逐步构建复杂对象,同时将构建步骤的具体实现封装起来,客户端只需要指定要构建的对象类型,而不需要关心对象的具体构建细节。优缺点优点封装性和可维护性高:将对象构建过程封装,降低模块耦合,客户端无需了解细节,便于代码维护。可扩展性强:构建与表示分离,新增
- DeepSeek 从入门到精通
DS_Watson
aiAI
DeepSeek火了,资料分享给大家通过网盘分享的文件:DeepSeek链接:https://pan.baidu.com/s/1NHpM2E3m6bvLMoEfa-HAgg?pwd=h3if提取码:h3if我用夸克网盘分享了「DeepSeek」链接:https://pan.quark.cn/s/8a4654b23504提取码:ip6S
- 数据库-第一范式、第二范式、第三范式、BC范式、第四范式简析
DS_Watson
数据库
在设计与操作维护数据库时,最关键的问题就是要确保数据能够正确地分布到数据库的表中。使用正确的数据结构,不仅有助于对数据库进行相应的存取操作,还可以极大地简化应用程序中的其他内容(查询、窗体、报表、代码等),按照“数据库规范化”对表进行设计,其目的就是减少数据库中的数据冗余,以增加数据的一致性。泛化时在识别数据库中的一个数据元素、关系以及定义所需的表和各表中的项目这些初始工作之后的一个细化的过程。常
- JavaScript系列(75)--代理模式专题
ᅟᅠ 一进制
JavaScriptjavascript代理模式开发语言
JavaScript代理模式专题JavaScript的Proxy提供了强大的对象代理能力,能够拦截和自定义对象的基本操作。本文将深入探讨Proxy的各种模式、应用场景和最佳实践。代理基础小知识:代理模式允许我们创建一个对象的代理,从而可以控制对这个对象的访问。JavaScript的ProxyAPI提供了13种基本操作的拦截器(trap),使我们能够自定义对象的行为。//基础代理操作consttar
- 抖音自动取关助手,自动取关取消点赞
2501_90701262
其他经验分享
抖音一键自动取关助手是一款旨在帮助用户快速取消关注抖音账号的工具。通过该工具,用户可以一键取消关注,节省大量手动操作的时间,提高管理关注列表的效率。二、核心功能(一)一秒取关该工具的核心功能是一秒取关,用户可以通过简单的操作,快速取消关注大量账号。这对于需要清理大量无用关注的用户来说,非常便捷。三、设备要求抖音一键自动取关助手支持多种设备,包括安卓手机、鸿蒙手机、模拟器和云手机。用户可以根据自己的
- Go算法之希尔排序
思远久安
Go数据结构与算法小白入门算法golang后端排序算法
一、什么是希尔排序希尔排序有点像插入排序的升级版,它的主要就是,我们一开始先确定一个步长(某个长度),然后让i(初始为0)和该步长位置的值比较大小,让i不断++,再用个变量为i+该步长。接着比较之后,缩短步长大小,最终排序到合理位置。在Go语言中实现希尔排序,可以按照以下步骤进行:选择增量序列:增量序列决定了元素之间的间隔。常见的增量序列有希尔增量(初始增量为数组长度的一半,之后每次减半,直到增量
- 华为云OBS配置方法
芊言凝语
数据库网络服务器
华为云对象存储服务(ObjectStorageService,OBS)是一种海量、安全、低成本、高可靠的云存储服务。以下是华为云OBS配置的详细步骤及相关说明:创建OBS桶登录华为云控制台后,在搜索框中输入“对象存储服务”,选择对应的服务进入OBS管理页面。点击“创建桶”按钮,进入创建桶的配置页面。基本信息桶名称:输入一个全局唯一的桶名称,例如可以采用项目名称或业务名称相关的命名方式,方便识别和管
- 责任链模式解析FilterChain
DanceDonkey
责任链模式
分析:过滤器链的调用过程A过滤器调用chain.doFilter此时会进入到下一个过滤器B过滤器继续调用chain.doFilter会继续进入下一个过滤器当所有过滤器都执行完成后,会进入目标方法。既然chain.doFilter能进入下一个过滤器,那本质上就是方法的调用压栈和弹栈,一个方法的调用入口会执行完成所有的方法栈后才完成。所以chain内肯定知道下一个filter是哪个,同时chain肯定
- 【Python】成功解决NameError: name ‘XXX’ is not defined
云天徽上
python运行报错解决记录python开发语言pandas机器学习numpy
【Python】成功解决NameError:name‘XXX’isnotdefined欢迎莅临我的个人主页这里是我深耕Python编程、机器学习和自然语言处理(NLP)领域,并乐于分享知识与经验的小天地!博主简介:我是云天徽上,一名对技术充满热情的探索者。多年的Python编程和机器学习实践,使我深入理解了这些技术的核心原理,并能够在实际项目中灵活应用。尤其是在NLP领域,我积累了丰富的经验,能够
- 什么是Scaling Laws(缩放定律);DeepSeek的Scaling Laws
ZhangJiQun&MXP
教学2024大模型以及算力2021论文人工智能自然语言处理神经网络语言模型深度学习
什么是ScalingLaws(缩放定律)ScalingLaws(缩放定律)在人工智能尤其是深度学习领域具有重要意义,以下是相关介绍及示例:定义与内涵ScalingLaws主要描述了深度学习模型在规模(如模型参数数量、训练数据量、计算资源等)不断扩大时,模型性能与这些规模因素之间的定量关系。它表明,在一定条件下,模型的性能会随着模型规模的增加而以某种可预测的方式提升,通常表现为模型的损失函数值随模型
- 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