- 故事讲解设计模式:观察者模式
yuanpan
设计模式观察者模式
1.故事背景:在一个小镇上,有一家非常受欢迎的报纸店,老板叫老张。这家报纸店每天都会发布最新的新闻,镇上有很多居民都订阅了这家报纸,他们希望能够第一时间收到最新的消息。2.故事发展:老张的报纸店:老张是报纸店的核心,他负责收集新闻、编辑报纸,并在每天早晨发布。问题:老张需要通知所有订阅者,但订阅者数量可能很多,而且可能会随时增加或减少。订阅者们:镇上有几位居民对新闻非常感兴趣,他们是:小李:喜欢体
- 双指针之滑动窗口
旧念25
算法数据结构
滑动窗口是双指针的一种所谓滑动窗口,就是不断的调节子序列的起始位置和终止位置,从而得出我们要想的结果。给定一个含有n个正整数的数组和一个正整数s,找出该数组中满足其和≥s的长度最小的连续子数组,并返回其长度。如果不存在符合条件的子数组,返回0。示例:输入:s=7,nums=[2,3,1,2,4,3]输出:2解释:子数组[4,3]是该条件下的长度最小的子数组暴力解法两层for循环嵌套,第一层for循
- rust学习笔记16-206.反转链表(递归)
水蜜桃one
学习笔记链表
rust函数递归在14中已经提到,接下来我们把206.反转链表,用递归法实现递归函数通常包含两个主要部分:基准条件(BaseCase):递归终止的条件,避免无限递归。递归步骤(RecursiveStep):将问题分解为更小的子问题,并调用自身来解决这些子问题。//Definitionforsingly-linkedlist.#[derive(PartialEq,Eq,Clone,Debug)]pu
- 从 0 到 1 构建 Python 分布式爬虫,实现搜索引擎全攻略
七七知享
Pythonpython分布式爬虫搜索引擎算法程序人生网络爬虫
从0到1构建Python分布式爬虫,实现搜索引擎全攻略在大数据与信息爆炸的时代,搜索引擎已然成为人们获取信息的关键入口。你是否好奇,像百度、谷歌这般强大的搜索引擎,背后是如何精准且高效地抓取海量网页数据的?本文将带你一探究竟,以Python为工具,打造属于自己的分布式爬虫,进而搭建一个简易搜索引擎,完整呈现从底层代码编写到系统搭建的全过程。通过本文的实践,我们成功打造了Python分布式爬虫,并以
- leetcode刷题日记——轮转数组
许_安
刷题日记leetcode算法排序算法
[题目描述]:[思路]:题目要求将一个整数数组向右轮转k个位置,右边超出的数,从左边插入因为是向右轮转k个位置,所以可以直接遍历数组,将其存放位置index加上k,但index+k可能会超出数组长度,即需要轮转到数组前面。由于数组元素个数为numsSize,也就是数组长度,我们可以通过(index+k)%numsSize取余来确定超出元素的位置运行如下voidrotate(int*nums,int
- 3.1css选择器优先级和常用文本属性
chxii
go语言#前端css前端
在CSS(层叠样式表)中,选择器的优先级决定了当多个选择器应用于同一个元素时,哪个样式的规则会被应用。选择器的优先级是通过特定的规则来计算的,这些规则决定了样式声明的权重。以下是CSS选择器优先级的基本规则:重要性(!important)如果某个样式声明使用了!important,那么它将覆盖没有使用!important的任何规则。例如:p{color:red!important;}在这种情况下,
- 关于kafka常见的问题小结
BAStriver
#Kafka中间件kafka分布式
目录1.Kafka怎么避免重复消费1.1什么时候出现重复消费1.2如何处理重复消费问题2.Kafka怎么保证消息不丢失2.1Producer2.2Broker2.3Consumer3.Kafka怎么保证消息消费的顺序最近面试遇到一些常见kafka问题,所以做一下总结。1.Kafka怎么避免重复消费1.1什么时候出现重复消费1)Kafka的broker上存储的消息都有一个offset作为标记,然后K
- MCP服务器:AI智能体的新时代连接标准
真挺乐
人工智能
在AI技术的不断发展中,MCP(ModelContextProtocol,模型上下文协议)正成为AI智能体与外部系统交互的新标准。MCP的目标是提供一个统一的方法,让AI智能体能够安全、高效地访问各种数据源、API接口和系统工具,从而扩展其能力,提升智能化水平。本文将深入探讨MCP服务器的架构、优势及其在现实世界中的应用。什么是MCP服务器?MCP服务器是MCP架构中的关键组件,它们充当AI智能体
- HarmonyOS实战开发-如何打造购物商城APP。
码牛程序猿
鸿蒙工程师HarmonyOS鸿蒙harmonyosOpenHarmony鸿蒙鸿蒙应用开发华为鸿蒙开发HarmonyOS
今天给大家分享一个非常好的实战项目,购物商城,购物商城是一个集购物、娱乐、服务于一体的综合性平台,致力于为消费者提供一站式的购物体验。各种功能都有涉及,最适合实现学习。做好商城项目,肯定会把开发中遇到的百分之60的技术得到实战的经验。下面介绍一下商城的主要模块:首页1,搜索框,点击进入搜索页面2,顶部分类,通过不同分类查询对应信息3,广告轮播,自动切换图片,可以进行点击进入4,商品列表,展示每个项
- 领域驱动设计(DDD)与MVC架构:理念对比与架构选择
以恒1
mvc架构
领域驱动设计(DDD)与MVC架构:理念对比与架构选择一、架构之争的本质:业务复杂度驱动技术演进在软件开发领域,没有银弹式的完美架构,只有适合当前业务场景的合理选择。MVC与DDD的区别本质上是业务复杂度与架构响应能力的匹配问题。让我们通过一个真实案例展开思考:案例背景某金融科技公司初期采用MVC架构开发支付系统,随着业务扩展,新增跨境支付、分账系统、风控规则等功能后,代码库逐渐演变成"大泥球"架
- MyBatis 中 resultType 的使用详解
旧故新长
windows
MyBatis中resultType的使用详解1.resultType的含义在MyBatis中,resultType指的是每一行查询结果的Java类型,而不是整个结果集的类型。常见的用法:resultType="java.lang.String":表示每一行是一个字符串。resultType="com.example.User":表示每一行是一个User对象。2.resultType与方法返回值类
- 两个常用的用于读写和操作DXF文件C#库:netDxf 和 DXF.NET
CoderIsArt
C#图像与图形处理c#.net开发语言
netDxf和DXF.NET是两个常用的C#库,用于读取、写入和操作DXF文件。以下是它们的详细介绍和用法示例。1.netDxf简介netDxf是一个开源的DXF文件读写库,支持AutoCADDXF格式的读取和写入。它支持大多数DXF实体和对象,并且易于使用。GitHub地址:https://github.com/haplokuon/netDxf特点:支持DXF文件的读取和写入。支持多种实体类型(
- ollama 基本使用教程
海上彼尚
AIai前端
目录1.安装OllamamacOS或LinuxWindows(WSL2)2.基础命令启动与停止更新Ollama3.模型管理下载预训练模型运行模型查看已安装模型删除模型从Modelfile创建自定义模型4.高级功能服务器模式与API多会话管理环境变量配置5.常见问题与技巧加速模型下载查看日志模型参数调整模型导出与分享Ollama是一个开源的大型语言模型服务工具,能够帮助用户在本地运行大模型。通过简单
- kubernetes高级实战
云原生的爱好者
kubernetes容器云原生
一、模拟企业环境进行一个实战部署[root@masternode]#kubectlapply-fpod-tomcat.yamlpod/tomcat-testcreated[root@masternode]#kubectlgetpodsNAMEREADYSTATUSRESTARTSAGEtomcat-test2/2Running02s[root@masternode]#kubectlgetpods-
- Docker网络模式的运用
云原生的爱好者
docker网络容器
一、docker网络模式有哪些?都有什么用?Docker提供了多种网络模式,每种模式适用于不同的场景。以下是Docker的主要网络模式及其作用:---###1.**Bridge模式(默认模式)**-**定义**:Docker会创建一个虚拟网络桥(`docker0`),容器通过这个桥连接到宿主机网络。-**特点**:-容器分配独立的IP地址。-容器之间可以通过IP地址通信。-容器可以通过宿主机的IP
- c语言中longjmp()函数,C语言的反人类函数:setjmp和longjmp的详细剖析
weixin_39822629
c语言中longjmp()函数
我希望看这篇文章的你对C++的传统异常处理,即try...catch...throw有了解(不是WindowsSEH),这样才能方便你最深入的理解这2个C语言的反人类函数。当然如果不了解就先看下面的“C++式的异常处理”,如果感觉自己了解了,可以直接skip看到“C语言中的模拟”。【C++式的异常处理】首先,我们写一个类,请不要想这个类有什么特别的地方,其只是为了打印出来构造和析构。classCF
- python中Flask模块的使用
weixin_30315905
pythonjson
1.简介在服务器上运行Flask接口,就能使用requests模块获取该接口的值。先运行接口文件,再运行requests文件,即可获取值。2.示例2.1一个简单的flask接口1importjson2fromflaskimportFlask,request34#python类型5data={6'name':'John',7'age':18,8'location':'nanjing'910}1112
- mysql-大批量插入数据的三种方式和使用场景
不穿铠甲的穿山甲
mysql数据库
1.批量插入三种方式INSERTINTO…SELECTINSERTINTO…VALUES(…)LOADDATAINFILE‘/path/to/datafile.csv’INTOTABLEtable_name2.批量插入2.1INSERTINTO…SELECT用途:从另一个表中选择数据并插入到目标表中。语法示例:INSERTINTOtarget_table(column1,column2)SELEC
- C语言异常处理就机制setjmp()和longjmp()
red98
C语言基础知识c语言开发语言
C语言setjmp()和longjmp()实现异常处理机制。setjmp()用于保存当前的程序执行状态。longjmp()用于在后面的某个时刻返回到setjmp()点的状态。类似goto。但goto是本地的,只能在函数内部跳转。setjmp()和longjmp()是非局部跳转语句,可在调用栈上,返回到调用路径上的某一个函数中。头文件#include#includestaticjmp_bufbuf;
- 【K8S】ImagePullBackOff状态问题排查。
执键行天涯
K8skubernetes容器云原生
ImagePullBackOff是在使用Kubernetes(K8s)时经常遇到的一种错误状态,下面为你详细介绍其含义、可能的原因及解决办法。含义当你在K8s集群中创建一个Pod时,Kubelet会尝试从指定的镜像仓库拉取所需的容器镜像。如果拉取镜像失败,Kubelet会进行重试。随着重试次数的增加,重试的间隔时间会逐渐变长,这就是所谓的“指数退避”策略。当Kubelet多次尝试拉取镜像都失败后,
- [模拟实现]unique_ptr、shared_ptr智能指针--C++版本的代码实现
北顾南栀倾寒
c++开发语言
一、unique_ptrunique_ptr是在auto_ptr的基础之上,解决了多个智能指针同时指向一个对象,发生管理权转移,只有一个智能指针指向了对象,其他的都是管理的空对象的行为。这里的多个智能指针指向同一个对象是通过拷贝构造或者赋值重载实现的,unique_ptr的解决办法就是将这两种方式禁用掉,不让其进行这类操作,保证了同一时间只有一个智能指针指向该对象。1.构造函数与析构函数std::
- 一文弄懂Python 变量初始化与内存管理
宇寒风暖
python编程python开发语言笔记学习
在Python中,变量的初始化并不一定会开辟新的内存空间。Python的内存管理机制非常灵活,它会根据变量的值、类型以及Python的内部优化策略来决定是否复用已有的内存空间。1.变量初始化的基本概念在Python中,变量是对象的引用。当你初始化一个变量时,Python会执行以下操作:创建一个对象(如果该对象不存在)。将变量名绑定到该对象。例如:a=10b="hello"a是一个整数对象的引用。b
- CLR 线程池
Jditinpc
windows
一、线程池基础线程池是应用程序能使用的线程集合。每CLR一个线程池;这个线程池由CLR控制的所有AppDomain共享。如果一个进程中加载了多个CLR,那么每个CLR都有它自己的线程池。CLR初始化时,线程池中没有线程。线程池维护了一个操作请求队列。创建和销毁线程是一个费时间的操作。应用程序执行一个异步操作时,就调用某个方法,将一个记录项追加到线程池的队列中。线程池的代码就从这个队列中提取记录项,
- 什么是通配符SSL证书?
https
随着网络攻击手段的不断升级,保护用户数据、确保传输安全已成为网站运营者的首要任务。而通配符SSL证书,作为网站安全领域的一项重要技术,正以其独特的优势,成为越来越多网站的选择。一、通配符SSL证书概述通配符SSL证书,是一种能够保护一个主域名及其所有子域名的SSL证书。它通过使用星号作为通配符,实现了对主域名下所有子域名的统一保护。这意味着,无论你的网站有多少个子域名,都只需要一张通配符SSL证书
- GreatSQL 为何选择全表扫描而不选索引
数据库mysql
GreatSQL为何选择全表扫描而不选索引1.问题背景在生产环境中,发现某些查询即使有索引,也没有使用索引,反而选择了全表扫描。这种现象的根本原因在于优化器评估索引扫描的成本时,认为使用索引的成本高于全表扫描。2.场景复现2.1环境信息机器IP:192.168.137.120GreatSQL版本:8.0.32-262.2环境准备通过脚本创建了一个包含100万条数据的表,并在age列上创建了索引id
- 如何用大模型评估大模型——PAI-Judge裁判员大语言模型的实现简介
人工智能机器学习大模型llm
背景:为什么需要一个「裁判员大语言模型」?随着大模型(LLM)技术的爆发式应用,如何快速、客观评估模型回复质量成为行业痛点。对于回答客观问题的LLM,目前业内已经有比较成熟的数据集进行效果评测与模型打榜。但是如何对一个开放式生成LLM进行效果评估,尤其在知识问答、客服对话、内容合规、RAG(检索增强生成)等场景中,目前主流的评测方式仍存在一定的局限性:人工标注:成本高昂、效率低下;传统的自动化评估
- AI编程系列 之Claude 3.5 Sonnet:编码的未来已无限改变! Claude 3.5 Sonnet 即将改变一切!
知识大胖
NVIDIAGPU和大语言模型开发教程AI编程信息可视化claude
简介“编程并不是让你成为一个成功人士的必要条件。”Nvidia首席执行官黄仁勋。正如JensenHuang所说,LLM的最新特点让我们意识到了解编码可能并不像我们想象的那么重要。你知道吗,你可以在2分钟内创建一款贪吃蛇或俄罗斯方块游戏?在本文中,我们将探索Claude3.5Sonnet,你将明白为什么最近每个人都在谈论它。推荐文章《AnythingLLM教程系列之05AnythingLLM允许您创
- 消息中间件:RabbitMQ、Kafka 和 Redis如何选择?一文让您了解!
写bug如流水
架构设计rabbitmqkafkaredis中间件
RabbitMQ、Kafka和Redis是三种常见的消息中间件,它们各自具有不同的特点和适用的场景。以下是对它们使用场景及选择的分析:1.RabbitMQRabbitMQ是一个基于AMQP(AdvancedMessageQueuingProtocol)的消息队列系统,主要用于消息传递和任务分发,具有可靠的消息传递机制。使用场景:复杂的路由机制:RabbitMQ支持多种交换器类型(如fanout、d
- RabbitMQ常见面试题及解析
chi_666
面试RabbitMQ面试
1、什么是RabbitMQ?RabbitMQ是一个开源的消息队列系统,它实现了高级消息队列协议(AMQP)。它允许不同的应用程序之间进行异步通信,通过将消息发送到队列中,让消费者从队列中获取消息并进行处理,从而实现解耦、异步和削峰填谷等功能。2、核心组件与流程**Producer:**发送消息的应用。**Exchange:**接收消息并路由到队列(类型:Direct,Fanout,Topic,He
- 使用arm-linux-gdb进行正确安装和编程
风华绚烂
arm开发linux运维编程
在嵌入式系统开发中,使用适用于ARM架构的调试器是至关重要的。GNU调试器(GDB)是一个功能强大的调试工具,可以用于调试ARM平台上的应用程序。本文将介绍如何正确安装arm-linux-gdb,并提供一些示例源代码,以便您开始进行ARM平台上的编程和调试。步骤1:安装arm-linux-gdb首先,我们需要安装arm-linux-gdb。以下是在Linux上安装arm-linux-gdb的步骤:
- 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