- 网络编程中的 Protobuf 和 JsonCpp 全面解析
筏.k
c++asio网络编程网络开发语言c++服务器
文章目录前言一、为什么需要序列化?序列化的好处:常见序列化格式包括:二、JsonCpp与Protobuf对比三、JsonCpp简介与示例(客户端通信)JsonCpp使用示例(客户端发送请求):JsonCpp使用示例(服务器解析请求):四、Protobuf简介与示例(服务器通信)定义消息格式(user.proto)编译生成代码:服务器端序列化&发送数据接收端解析数据五、使用建议总结前言在网络编程中,
- 缓存三兄弟和布隆过滤器
想躺平的咸鱼干
redis缓存哈希算法算法javaintellij-idea
缓存三兄弟缓存穿透:大量的请求查询数据库中不存在的数据,缓存直接从机数据库,导致数据库压力过大甚至宕机解决方案:布隆过滤器:在缓存层前加入布隆过滤器,预存合法数据的Key,请求到达时先通过布隆过滤器查看是否存在,查看是否拦截。缓存空对象:对数据库中不存在的数据,缓存一个短期的空值。需要结合异步线程定期清理无效空值,避免长期占用内存。缓存空对象缓存空对象:是一种解决缓存穿透问题的策略,当查询某个不存
- 刘洺松成长记17
向着太阳歌唱啦啦啦
刘洺松今天105天啦!上午,妈妈带你去医院测评了,医生阿姨为你做了各项评估,测试得分为94分,正常。是不是所有妈妈都认为自己的孩子是超人呢?在妈妈心中,你就是superboy.永远是superboy.刘洺松健康快乐长大,爸爸妈妈爱你!
- 钉钉 Ubuntu x64 版本安装与应用
本文还有配套的精品资源,点击获取简介:钉钉是阿里巴巴集团推出的企业通讯和协作平台,集成了即时通讯、日程管理等功能。本Ubuntux64版为64位Linux系统用户提供了专属的安装包。通过简单的命令行安装步骤,用户可以享受到支持窗口缩放的便捷应用体验。该软件包已经经过测试,确保兼容Ubuntu系统,并随附readme.txt文件以指导用户安装。1.钉钉应用简介钉钉是阿里巴巴集团推出的企业通讯与协同办
- 前后端分离场景下的用户登录玩法&Sa-token框架使用
两种方案的token、用户登录信息都存储在redis中!!方案一该方案是前端把token和token有效期一起加密存储到浏览器的localStorage中,每次请求时调用前端的getTokenIsExpiry()获取token并检查token是否过期,过期则remove并跳转登录页,这样前端有个问题就是前端也要知道token的有效期,需要和后端的token有效期保持一致,而后端则提供两个拦截器,分
- STM32精确控制步进电机
目的:学习使用STM32+电机驱动器+步进电机,进行电机运动精确控制。测试环境:MCU主控芯片STM32F103RCT6;A4988步进电机驱动器模块;微型2相4线步进电机10mm丝杆滑台,金属丝杆安装有滑块。10mm二相四线微型步进电机电机的输入接线是4个引脚,需要自己焊线,相电阻53欧,步进角度估计18度,丝杆滑块行程32mm,丝杆转一圈铜滑块大约移动行程0.4mm。步进电机重约7.3g。主要
- 关于Spring RestTemplate
一、概述RestTemplate是SpringFramework提供的一个同步HTTP客户端工具,用于简化与RESTfulAPI的交互。它封装了底层HTTP通信细节,提供了统一的API来发送各种HTTP请求(GET、POST、PUT、DELETE等),并自动处理响应数据的序列化和反序列化。二、依赖配置如果使用Maven项目,需要在pom.xml中添加以下依赖:xml org.springfram
- DataLoader
在PyTorch中,DataLoader是torch.utils.data模块中的一个重要类,用于将数据集包装成可迭代对象,在训练和测试模型时提供了高效、便捷的数据加载和批处理功能。主要作用:批量处理数据:将数据集中的样本整理成一个个批次(batch),方便模型进行一次处理多个样本,加速训练过程。例如,设置batch_size=32,就会每次从数据集中取出32个样本组成一个批次。数据打乱:在训练过
- PHP手册之clone
killtl
前言PHP手册系列文章,会挑选一些手册中有意思的评论进行翻译手册目录:语言参考---类与对象---clone参考详情评论当类内部调用__clone对属性进行同类实例clone时,会造成循环clone,但是实际代码不会这样任由你胡作非为,但是经过本人测试,会造成clone循环调用classFoo{var$that;function__clone(){$this->that=clone$this->t
- 认识时间教学反思
真真_3e13
认识时间教学反思今天是认识时间,这个单元坚持一周的日子,从上周五到今天整整一周的时间在学习二年级上册认识时、分、几时几分和简单的解决问题。在今天下午的测试中,通过孩子们的共同错误的,我有一下几点反思:共同错误点:看到时针指向几就是几时错误示例有时候眼睛看到的不一定是真相。上面这个题看着时针指向9,就误认为是九时多,其实这是错误的,在一年级认识钟表中就学习了,当分针在12的左边时是会几时了,所以打通
- 小架构step系列14:白盒集成测试原理
秋千码途
集成测试java架构
1概述这里的白盒测试是指开发编写测试代码来进行测试,集成测试是指从Controller开始对http接口调用的整个流程进行测试。这个流程就是对一个http请求的响应流程,正常运行的时候是通过springboot内嵌的tomcat来启动一个webserver来监听http请求,然后响应该http请求。在测试的时候,如果也需要启动一个webserver来监听请求,那么测试就更加困难了一些。还好spri
- Redis面试精讲 Day 3:Redis持久化机制详解
在未来等你
Redis面试专栏Redis面试题持久化RDBAOF数据库缓存
【Redis面试精讲Day3】Redis持久化机制详解文章标签Redis,面试题,持久化,RDB,AOF,数据库,缓存,后端开发,分布式系统文章简述本文是"Redis面试精讲"系列第3天内容,深入解析Redis持久化机制这一面试高频考点。文章从基础概念出发,详细剖析RDB和AOF两种持久化方式的实现原理、触发机制和优缺点对比,提供多语言客户端操作示例和性能测试数据。针对"如何选择持久化策略"、"A
- 一直在追梦的路上
随梦起航
自大学毕业至今,始终如一地在追逐梦想的征程路上奔波,似乎不敢懈怠。怕自己的一时疏忽而与机遇失之交臂。其实,对于我们来说,所谓的奔波,不是朝九晚五工作中身体上的透支、也不是背着超出体能负荷量的行李爬山涉水、更不是为了生计而在风雨兼程中的奔波劳碌。而它是实现梦想过程中必经之路的一个代名词,对于每个人来说再熟悉不过的人生测试,从童年到少年到青年,每个阶段的升华都通过它来步步向前,就因为它,美好的童年时光
- C++ 实现多继承和组合
uj_
C++C++继承和组合
设计一个计算机系统类,由软件和硬件组合而来使用c++的继承和组合思路首先定义一个硬件和软件类,包含各自的数据成员和成员函数采用多继承实现计算机系统类采用组合实现计算机系统最后在main()中进行测试#include#includeusingnamespacestd;classCHard{public:CHard(char*bn){strcpy(bodyname,bn);}CHard(CHard&h
- 为什么说永远也不要考验人性
孤_b0d8
很多著名的实验都告诉我们一个道理,人性经受不住考验。在《ThePush》这档真人秀中,达伦布朗选择了四名没有犯罪前科,没有情绪问题的正常人当小白鼠,作为试验对象,看能不能在72小时把他们变成一个杀人犯。结局很让人震惊,四个实验对象,三个人都成为了“杀人犯,”仅仅只是72个小时,就能让一个正常人变成杀人犯,让人不寒而栗。在实验开始的时候,通过一个小小的测试,达伦布朗选择了4名顺从度高的人,并告知他们
- 跨界——信任是把双刃剑
黔工匠曾旭
图片发自App寒风带着冰雨在这个以高寒凝冻而闻名地区的区医院工地肆虐。又到了冬季开始数九的时节。年底了,施工现场已经不再热闹,就如同这冰冷的天气。手术室净化装修已经完工一段时间,另两个重要的工程,信息化及弱电系统工程停停走走,电梯工程的十几台电梯有一半也因为多方扯皮无法安装,已长时间处于停工状态。医院方等不及已经进入手术室,对设施进行初步运行测试。手术间,走廊照明灯大面积瘫痪,自动感应洗手池不工作
- 打卡信奥刷题(1150)用C++实现信奥 P2085 最小函数值
P2085最小函数值题目描述有nnn个函数,分别为F1,F2,…,FnF_1,F_2,\dots,F_nF1,F2,…,Fn。定义Fi(x)=Aix2+Bix+Ci(x∈N∗)F_i(x)=A_ix^2+B_ix+C_i(x\in\mathbbN*)Fi(x)=Aix2+Bix+Ci(x∈N∗)。给定这些AiA_iAi、BiB_iBi和CiC_iCi,请求出所有函数的所有函数值中最小的mmm个(如
- 测试工程师面试技巧几点分享
未寄的舟
软件测试面试职场和发展
很多软件测试工程师在面试的时候都会遇到考官给的各种各样的面试题,这也反应了测试工程师对企业的重要性,面试通常分为以下几个方面,由于篇幅有限,在这里就只给大家分享一些比较常见通用的问题。一、自我介绍这里不分享如何自我介绍、话术之类,相信大家都比较熟悉套路,这里分享几个细节1、自我介绍时需要有底气有些同学明明技术很厉害,但是一面试就紧张,一直低头,不敢直视面试官,更为紧张者都说不出话,这样的表现面试官
- 全栈Todo应用实战:从零到一的本地部署与深度解析
全栈Todo应用实战:从零到一的本地部署与深度解析前言在现代Web开发中,全栈应用已成为主流。本文将以一个经典的Todo(待办事项)应用为例,详细记录从项目下载、环境配置、后端启动、数据库交互到前端运行的完整流程。我们将深入探讨在此过程中遇到的一个典型问题——CORS与API请求失败,并提供从“快速修复”到“最佳实践”的解决方案。这不仅是一份操作指南,更是一次宝贵的实战经验总结。你将从本博客中学到
- 飞算 JavaAI 深度体验:开启 Java 开发智能化新纪元
♡喜欢做梦
飞算JavaAI炫技赛Java开发
个人主页:♡喜欢做梦欢迎点赞➕关注❤️收藏评论目录一、引言二、飞算JavaAI初印象与功能概览(一)初识(二)核心功能模块概览三、智能代码生成功能深度体验(一)基础场景测试(二)复杂业务逻辑场景(三)代码生成功能总结四、代码优化建议功能测评(一)测试用例准备(二)优化建议(三)进一步复杂代码测试(四)代码优化功能总结五、故障诊断与修复功能实践(一)模拟常见Java故障场景一、引言在当今软件开发领域
- pytest-bdd 行为驱动自动化测试
东汉末年出bug
pytestpythonpytest-bdd
引言pytest-bdd是一个专为Python设计的行为驱动开发(BDD)测试框架,它允许开发人员使用自然语言(如Gherkin)来编写测试用例,从而使测试用例更易于理解和维护。安装通过pip安装pipinstallpytest-bdd介绍特性文件(FeatureFile):定义了要测试的系统功能。通常以.feature为扩展名,并使用Gherkin语言编写。特性文件包含特性名称、描述以及一个或多
- 【python做接口测试的学习记录day6——pytest+yaml+allure自动化测试框架之URL拼接】
小丫么小二郎~
学习pytestpython功能测试测试工具
在之前的测试框架中,可以发现的是,我们的yaml数据中所有的url中的除了路径不同外,其余都是相同的,我们想办法将这一部分自动化,这样的yaml中写用例url的时候就不用再每次都写上域名,只需要输入路径即可首先我们需要更改下之前的用例yaml文件中的url,将域名删除只留下路径即可,例如:接下来我们在根目录创建一个config.yam文件,用于存储我们的URL中的公共部分,这里由于公司相关,我隐藏
- 【python做接口测试的学习记录day9——pytest自动化测试框架之yaml数据驱动封装】
小丫么小二郎~
pytestpythonpycharm接口测试用例
之前我们的框架中,如果有多个测试用例,则需要在yaml文件中写入多个用例,而每个用例可能不同的仅仅只是个别参数值,这就导致很多重复代码,现在我们使用数据驱动就可以解决这个问题了。我依旧采用之前的登录接口为例,简单记录一下数据驱动封装的全过程一、DDT数据驱动yaml文件在根目录下创建包datas,用来存放我们的数据驱动yaml文件,在datas下新建一个get_token_data.yaml文件,
- 临时节点授权方案实际应用中可能面临的安全问题和对应的防范策略
Alex艾力的IT数字空间
网络架构中间件安全运维功能测试安全架构
一、核心安全风险与防御方案1.重放攻击(ReplayAttack)风险场景:攻击者截获有效授权令牌后重复发送请求,导致权限被恶意复用防御措施:动态令牌机制:在授权节点ID中嵌入时间戳(timestamp)和随机数(nonce),服务端校验时间差(如±5分钟)并记录已使用nonce值签名验证:使用HMAC-SHA256对nodeId+timestamp+secretKey生成签名,防止参数篡改示例代
- FPGA芯片厂商及关键的开发测试工具
Chip Design
xPUChipDesignfpga开发
以下是结合2025年技术动态整理的。一、FPGA芯片主要厂商及产品系列厂商芯片系列典型特点目标市场AMD/XilinxVersal,Kintex,Artix,Zynq高性能异构计算(AI引擎+FPGA+CPU)数据中心、5G、航空航天Intel(Altera)Stratix,Arria,Agilex,Cyclone高带宽内存集成(HBM),支持CXL协议网络加速、边缘计算LatticeCertus
- 单音信号、双音信号及多音信号
单音信号:单音信号是一种只包含单一频率的信号,通常表现为一个纯粹的正弦波。它的频谱是一个单一的谱线,位于其基频处。单音信号的时域波形是正弦波形状,呈现出周期性和连续性。单音信号常用于测试设备性能、校准仪器以及作为某些通信系统的基础载波信号。双音信号:双音信号是一种包含两个频率的信号,也称为二进制音信号或多频信号。它是通过同时产生两个具有不同频率的正弦波信号来生成的。双音信号的频谱包含两个
- 工具篇:(八)MacOS 上使用 Docker 容器化 Node.js 应用的完整指南
全栈探索者chen
工具macosdockermacosdockernode.js程序人生容器
MacOS上使用Docker容器化Node.js应用的完整指南在现代应用开发中,Docker已成为一种流行的工具,它使得开发、测试和部署应用程序变得更加高效和灵活。本文将详细介绍如何在MacOS上安装Docker,并演示如何将Node.js应用容器化、构建Docker镜像以及管理容器。一、安装Docker下载DockerDesktop前往Docker官方网站下载适用于MacOS的DockerDes
- 超级实用!汇总pytest中那些常用的参数
测试开发Kevin
Python自动化测试测试开发单元测试pytest
刚开始使用pytest的同学,可能感觉最复杂的点就是其提供的各种参数,丰富的命令行参数在带来了灵活控制测试行为的同时也增加了对于新手的上手难度。在这里,我总结了一下pytest常用参数的分类,并提供详细的使用方法!如果读者是pytest小白,可以参考下面的文章,快速上手pytest:用最精简的例子带您快速了解Pytest框架中最核心的功能-CSDN博客一、基础运行参数指定运行范围pytest运行指
- Paimon:Range Partition and Sort优化无主键表(Append-Only Table)查询
lifallen
Paimon数据库大数据数据结构javaapache
这个优化是通过对数据进行全局排序,从而让查询时能够跳过大量不相关的数据文件(DataSkipping),极大地减少I/O,提升查询速度。只需要在执行INSERT语句时,通过OPTIONSHint来启用和配置这个功能即可。RangePartitionAndSortForUnawareBucketTableITCase测试文件本身就是最好的例子。比如测试中的这句SQL:INSERTINTOtest_t
- 测试学习之——Pytest Day3
别在内卷了
测试学习pytestpython
引言Pytest作为Python中最受欢迎的测试框架之一,以其简洁的语法、强大的功能和丰富的插件生态系统,极大地提升了自动化测试的效率和可维护性。在本文中,我们将深入探讨Pytest的两大核心特性:Fixture和插件管理,帮助您更高效地编写和管理您的测试用例。一、夹具fixtureFixture是Pytest中一个非常强大的特性,它允许您定义在测试用例执行之前或之后自动运行的代码。这对于设置测试
- 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