- 揭开Java事件驱动架构的神秘面纱——如何通过增强可观察性提升系统健壮性
墨夶
Java学习资料1java架构开发语言
在当今快速发展的软件开发领域,构建高效、灵活且易于维护的应用程序变得越来越重要。事件驱动架构(Event-DrivenArchitecture,EDA)作为一种新兴的设计模式,因其松耦合、异步通信等特性而受到广泛关注。然而,随着系统的复杂度增加,确保其稳定性和性能成为了开发者面临的重大挑战之一。本文将深入探讨如何利用Java技术栈来增强EDA中的可观察性,从而提高整个系统的透明度和可控性。一、什么
- 云原生周刊:K8s 中的 GPU 共享
云计算
开源项目推荐A2AGoogle的Agent2Agent(A2A)协议是一个开源标准,旨在促进不同框架和供应商构建的AI代理之间的互操作性。它允许代理通过统一的协议安全地交换信息、协同执行任务,并在多种企业平台和云环境中无缝协作。A2A的设计遵循五大原则:支持代理的自然协作方式、构建于现有标准之上、默认安全、支持长时间任务以及支持多种交互方式(如文本、音频、视频)。该协议通过“AgentCard”机
- 【项目实战】各大云厂商的云产品和服务介绍(AWS 亚马逊Amazon)
本本本添哥
C-云原生云计算云产品aws云计算
一、AWS亚马逊Amazon简介亚马逊(Amazon)凭借其全面的云服务套件AWS(AmazonWebServices),已成为云技术领域的领航者,其中,ElasticComputeCloud(EC2)作为标志性服务,广受全球用户的青睐。AWS的云服务阵容不仅限于EC2,它涵盖了从基础架构即服务(IaaS)到无服务器计算的广泛范畴,为不同规模的用户提供了一个强大而灵活的平台,助力他们在成本效率与业
- Java设计模式之观察者模式:从入门到架构级实践
听闻风很好吃
java设计模式java设计模式观察者模式
一、观察者模式的核心价值观察者模式(ObserverPattern)是行为型设计模式中的经典之作,它建立了对象间的一对多依赖关系,让多个观察者对象能够自动感知被观察对象的状态变化。这种模式在事件驱动系统、实时数据推送、GUI事件处理等场景中广泛应用,是实现松耦合设计的利器。核心价值体现:解耦生产者(被观察者)与消费者(观察者)支持动态的观察者注册与注销实现广播通信机制符合开放-封闭原则(对扩展开放
- “十五五”时期,房地产企业数字化转型思考与建议
人工智能
“十五五”时期,随着房地产行业由增转存、筑底企稳,企业只有“开发销售”与“运营回报”并重,才能获得跨越周期的能力。2025年,随着国产大模型厂商以开源的生态促进AI技术的商业化应用,企业推进数字化转型工作需要聚焦“高价值”的应用场景,通过轻量化AI部署,实现内外部信息数据的集成共享,构建“战略引领、场景导向、数据驱动、敏捷转型、开放生态”的转型框架,才能在行业“新周期”中持续巩固和创新培育差异化竞
- 【CS*N是狗】亲测可用!!WIN11上禁用Chrome自动更新IDM插件
可乐LENG
IDMchromeIDM插件
现象:每次打开chrome后IDM会弹出提示插件版本不一致。经过排查后发现是chrome把IDM插件给更新了,导致IDM提示版本不匹配。经过摸索后,得到了可行的方案。第一步,打开Chrome,把IDM插件卸载掉,然后重新安装IDM插件。第二步,彻底关闭Chrome,转到以下目录:C:\Users\(你的用户名)\AppData\Local\Google\Chrome\UserData\Defaul
- 重构代码之提炼函数
MXHKKK
重构提炼函数面向过程面向对象编程范式
重构代码之提炼函数图一图二(接图一)最后,欢迎大家加入设计模式重构技术交流QQ群,群号:809570546点击链接加入群聊【设计模式-重构技术】:https://jq.qq.com/?_wv=1027&k=5nfECS7
- 量子位招聘 | DeepSeek帮我们改的招聘启事
量子位
关注前沿科技量子位未来同事,你好~这是一则招聘帖。如果你与我们志同道合,对AI大模型、具身智能、终端硬件、AI新媒体编辑感兴趣,我们正在招聘这些领域的原创作者。以下岗位均为全职,工作地点:北京中关村。岗位面向:社招、应届毕业生,所有岗位均可实习——表现出色均可转正加分项:乐于探索AI新工具,善用AI新工具;拥有解读论文的能力,能深入浅出讲解原理;有写代码能力;量子位长期读者。加入我们,你可以获得:
- qmoc文件_qt 手动生成moc 文件 | 学步园
weixin_39935903
qmoc文件
今天在我的一个Qt程序中新添加了一个菜单项和对应的signal和slot之后,编译运行发现出现这样的错误:Object::connectNoSuchSlot.......................但是以前定义的signal和slot都能够正常工作。而我把这个菜单项对应的signal与以前定义的slot进行连接,也能够正常运行。那为什么新添加的slot就不可以正常工作呢?Google搜索了一下
- Qt 手动生成moc 文件
梦幻DUO
2.C++GUIQT4
今天在我的一个Qt程序中新添加了一个菜单项和对应的signal和slot之后,编译运行发现出现这样的错误:Object::connectNoSuchSlot…………………..但是以前定义的signal和slot都能够正常工作。而我把这个菜单项对应的signal与以前定义的slot进行连接,也能够正常运行。那为什么新添加的slot就不可以正常工作呢?Google搜索了一下,可能导致这种错误的原因有一
- 设计模式:迪米特法则实现高内聚松耦合
日拱一卒程序猿
设计模式设计模式迪米特法则uml
一、迪米特法则:LOD高内聚,松耦合1、高内聚、松耦合高内聚用来指导类本身的设计,松耦合用来指导类与类之间依赖关系的设计。高内聚就是相近的功能应该放到同一个类中,不相近的功能不要放到同一个类中。相近的功能往往被同时修改,放到同一个类中,修改会比较集中。单一职责原则是实现代码高内聚有效的设计原则。松耦合就是类与类之间的依赖关系简单清晰。即使两个类有依赖关系,一个类的代码改动也不会或者很少导致依赖类的
- 设计模式 - 观察者模式
liangshanbo1215
设计模式设计模式观察者模式
通过观察者模式,我们可以订阅某些对象(即观察者)到另一个对象(称为被观察者)。每当事件发生时,被观察者会通知其所有观察者!可观察对象通常包含4个重要部分:observers:每当发生特定事件时都会收到通知的观察者列表subscribe():一种将观察者添加到观察者列表的方法unsubscribe():一种从观察者列表中删除观察者的方法notify():一种在特定事件发生时通知所有观察者的方法让我们
- 迪米特法则--设计模式
NuyoahChen
设计模式迪米特法则设计模式
1、理论原理迪米特法则(LawofDemeter,LoD),又称最少知识原则(LeastKnowledgePrinciple,LKP),是一种面向对象编程设计原则。它的核心思想是:一个对象应该尽量少地了解其他对象,降低对象之间的耦合度,从而提高代码的可维护性和可扩展性。关于这个设计原则,我们先来看一下它最原汁原味的英文定义:Eachunitshouldhaveonlylimitedknowledg
- 设计模式:单例模式
Pafey
C++设计模式单例模式c++
复习一下:单例模式(SingletonPattern)原理:单例模式确保一个类只有一个实例,并提供一个全局访问点来获取这个实例。它通过将类的构造函数设为私有,防止外部代码直接实例化该类。同时,提供一个静态方法来获取唯一的实例。在首次调用获取实例的方法时,会创建这个实例,之后的调用都返回这个已创建的实例。示例代码:classSingleton{private:staticSingleton*inst
- 设计模式 --- 策略模式
浅陌sss
设计模式设计模式
策略模式(StrategyPattern)是一种行为型设计模式,用于动态切换算法或策略,使得算法可以独立于客户端变化。它通过封装算法策略并使其可互换,提升了系统的灵活性和扩展性,尤其适用于需要多种算法变体或需要避免使用复杂条件分支的场景。优点:1.符合开闭原则扩展性:新增策略时无需修改现有代码,只需添加新的策略类。维护性:修改某个策略的实现不会影响其他策略或上下文逻辑。2.消除复杂条件分支避免大量
- C语言编写线程池的简单实现方法
weixin_33755554
c/c++数据结构与算法python
2019独角兽企业重金招聘Python工程师标准>>>好文章,一起分享——有时我们会需要大量线程来处理一些相互独立的任务,为了避免频繁的申请释放线程所带来的开销,我们可以使用线程池。下面是一个C语言实现的简单的线程池。头文件:1:#ifndefTHREAD_POOL_H__2:#defineTHREAD_POOL_H__3: 4:#include5: 6:/*要执行的任务链表*/7:typedef
- 使用 Function 来编写策略模式:优雅而高效的设计模式实践
魔道不误砍柴功
Java使用与案例分享策略模式设计模式
引言:为什么选择策略模式?策略模式(StrategyPattern)是行为设计模式中的经典之一,它允许我们定义一系列的算法或操作,并使得它们可以互换使用。策略模式的关键思想是将算法的实现与使用它们的上下文分离,使得同一操作可以根据不同的策略来实现。但在Java中,如何实现这个设计模式呢?通常我们会使用接口、抽象类和具体实现来完成,但这往往导致代码复杂、冗长。那么,如何利用Java8引入的Funct
- 设计模式实践:模板方法、观察者与策略模式详解
邪恶的贝利亚
工程问题设计模式策略模式
目录1模板方法1.1模板方法基本概念1.2实验1.2.1未使用模板方法实现代码1.2.2使用模板方法的代码2观察者模式2.1观察者模式基本概念2.2实验3策略模式3.1策略模式基本概念3.2实验1模板方法1.1模板方法基本概念定义:一个操作中的算法的骨架,而将一些步骤延迟到子类中。TemplateMethod使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。要点:最常用的设计模式,子
- Django的MTV架构
python_136
djangopython
Django的MTV架构是Django框架用来组织代码的一种设计模式,它类似于传统的MVC(模型-视图-控制器)架构,但有着自己独特的实现方式。MTV分别代表模型(Model)、模板(Template)和视图(View)。下面是对DjangoMTV架构的详细解释:模型(Model):模型是数据访问的层,它代表了应用程序的数据结构,通常映射到数据库的一张表。在Django中,模型是一个Python类
- 创建型模式:工厂方法模式
Luck_ff0810
Java设计模式工厂方法模式java开发语言
什么是工厂方法模式工厂方法模式是一种创建型设计模式,它定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类的实例化推迟到子类中进行,从而将对象的创建与使用过程分离,使系统更加灵活。为什么需要工厂方法模式当一个类不知道它所必须创建的对象的类时,或者一个类希望由其子类来指定它所创建的对象时,工厂方法模式就派上了用场。例如,一个跨平台的UI框架需要创建不同操作系统下的按钮控件,但具体
- Go规范:Google 风格决策 · 命名
Starwow
gogolang开发语言后端go代码规范
目录命名规则包名称接收者常量缩写词Get方法Getters变量名单字母变量名重复包名vs可导出符号名变量名vs类型外部上下文vs本地名称因为发现自己的变量命名可读性很差,所以整理了一下规范。主要参考GoogleStyleGuides和GoStyle,并且结合了其他的资料和个人理解。命名规则命名必须以字母(a-z,A-Z)或下划线(_)开头,后面可以跟字母、数字(0-9)或下划线。不能使用特殊字符,
- 创建型模式:抽象工厂模式
Luck_ff0810
抽象工厂模式设计模式
什么是抽象工厂模式抽象工厂模式是一种创建型设计模式,它提供一个接口来创建一系列相关或相互依赖的对象家族,而无需指定它们的具体类。简单来说,抽象工厂模式是工厂模式的升级版,它不再只生产一种产品,而是生产一整套产品。抽象工厂vs工厂方法:关键区别工厂方法模式:关注单个产品的创建,一个工厂创建一种产品抽象工厂模式:关注产品族的创建,一个工厂创建多种相关产品这就像一个生产手机的工厂(工厂方法)和一个生产整
- [特殊字符]️设计模式——结构型模式全解析:7大模式重构代码架构!
PGFA
设计模式重构架构结构型模式
️设计模式——结构型模式全解析:7大模式重构代码架构!一、结构型模式总览结构型模式关注类与对象的组合方式,通过优化代码结构实现解耦与复用。本文将用生活化比喻带你快速掌握7种核心结构型模式的要点与应用场景,助你写出更优雅的代码!二、7大结构型模式深度解析适配器模式:代码界的“翻译官”适配器模式的核心在于转换接口,让原本不兼容的类能够协同工作。就像出国旅行需要电源转换插头,它把不同标准的电源接口转换成
- Day24JavaSE——线程池&定时器&设计模式
冰奶茶没有热量
设计模式java并发编程多线程
Day24JavaSE——线程池&定时器&设计模式文章目录Day24JavaSE——线程池&定时器&设计模式Lock锁死锁现象线程间的等待唤醒机制内存可见性问题volatile(了解)CAS算法(了解)线程的状态转换图及常见执行情况(理解)线程池固定几个线程并用匿名内部类创建线程初始化一个线程定时器例程1例程2例程3定时删除文件夹多线程常见面试题设计模式设计模式的概述和分类(了解)简单工厂模式例程
- Java学习——day29(并发控制高级工具与设计模式)
blackA_
java学习设计模式
文章目录1.并发控制高级工具简介1.1CountDownLatch1.2CyclicBarrier1.3Semaphore1.4并发设计模式2.扩展生产者—消费者示例2.1示例代码3.代码详解3.1主类ExtendedProducerConsumerDemo3.2Buffer类3.3Producer类3.4Consumer类4.编译与运行结果4.1编译4.2运行5.总结与思考1.并发控制高级工具简
- 从 0 到 1 的微服务系统建设
铲子Zzz
我不是架构师微服务架构云原生
一,服务端架构的演进我们在聊架构风格之前先明确一个问题,什么是架构?我们为什么要选择架构、用来解决哪些问题?|什么是架构书本定义:“软件的架构是一种抽象的结构,他由软件的各个组成部分和这些部分之间的依赖关系构成”。我的理解是,架构就是根据业务选择合适的技术、中间件,并且按照合适的设计模式对这些模块,进行组装来满足业务特性的需求。|选择架构风格的目的我们选择架构风格的初衷在于“三更原则”(自己的理解
- 设计模式|策略模式 Strategy Pattern 详解
Nita.
设计模式C#策略模式设计模式策略模式c#
目录一、策略模式概述二、策略模式的实现2.1策略接口2.2具体策略类2.3上下文类2.4客户端代码2.5UML类图2.6UML时序图三、优缺点3.1✅优点3.2❌缺点四、最佳实践场景4.1适合场景描述4.2具体场景五、扩展5.1继承复用机制和复合策略5.2对象管理:优化策略类数量增加问题优化5.2.1策略对象数量优化:将无状态策略设计为共享对象(使用Flyweight模式)5.2.2上下文负责维护
- Selenium 4.* 获取网页token
子枫i
selenium测试工具
环境:org.seleniumhq.seleniumselenium-java${selenium.version}java版本11chromeDriver下载地址我使用的版本:https://storage.googleapis.com/chrome-for-testing-public/129.0.6668.58/win64/chromedriver-win64.zip需要安装chrome浏览
- jupyter4.4安装使用
mengyoufengyu
Python应用pythonjupyterlab
一、chrome谷歌浏览器1.安装1.1下载地址:下载地址:https://www.google.cn/intl/zh-CN_ALL/chrome/fallback/2插件markdown-viewer2.1下载地址:下载地址:https://github.com/simov/markdown-viewer/releases2.2设置(打开mermaid渲染)【扩展程序】–>打开【开发者模式】【详
- 华为防火墙安全区域介绍及配置
绿柱石
安全区域介绍防火墙通俗讲是用于控网络之间的隔离,专业讲是用于保护一个安全区域免受另外一个安全区域的网络***和入击行为。从防火墙的定义中可以看出防火墙是基于安全区域的,其它厂商(Cisco,Juniper等)都是有这个概念的。什么是安全区域呢?安全区域(SecurityZone),也称为区域(Zone),是一个逻辑概念,用于管理防火墙设备上安全需求相同的多个接口,也就是说它是一个或多个接口的集合。
- 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