- 深入理解备忘录模式:状态保存与恢复的艺术
vvilkin的学习备忘
设计模式备忘录模式
备忘录模式(MementoPattern)是一种强大的行为设计模式,它允许我们在不破坏封装性的前提下捕获并外部化对象的内部状态,以便后续能够将对象恢复到先前的状态。这种模式在需要实现撤销操作、历史记录或状态恢复功能的系统中具有重要价值。一、备忘录模式概述备忘录模式由三个核心角色组成:Originator(发起人):需要保存和恢复状态的对象Memento(备忘录):存储Originator内部状态的
- Kubernetes存储入门
目录前言一、Volume的概念二、Volume的类型常见的卷类型Kubernetes独有的卷类型三、通过emptyDir共享数据1.编写emptyDir的Deployment文件2.部署该Deployment3.查看部署结果4.登录Pod中的第一个容器5.登录Pod中的第二个容器查看/mnt下的文件6.删除此Pod四、使用HostPath挂载宿主机文件1.编写Deployment文件,实现Host
- 实现分布式锁
在黑马点评项目中,在实现分布式锁的时候提到了实现的几种方式,本文来简单了解一下。一、MySQL、Redis、ZooKeeper是不是都是“数据库”?严格来说,三者的定位和功能差异很大,但广义上都可以视为“数据存储系统”,不过它们的核心设计目标和适用场景完全不同。我们可以从“数据模型”和“核心用途”两个维度区分:类型MySQLRedisZooKeeper核心定位关系型数据库(OLTP,事务型存储)内
- 每日面试题01 HashMap的底层原理
℡余晖^
每日面试题java开发语言
一、HashMap的核心存储结构HashMap是基于数组+链表+红黑树的复合数据结构实现的(JDK1.8及以后)。其核心设计目标是通过哈希函数将键(Key)映射到数组的某个下标位置,从而实现O(1)时间复杂度的增删改查操作(理想情况)。初始结构:动态数组HashMap底层维护一个Node[]table数组(JDK1.8起),默认初始容量为16(DEFAULT_INITIAL_CAPACITY=11
- 深入解析Hadoop中的Region分裂与合并机制
码字的字节
hadoop布道师hadoop大数据分布式Region分裂合并
Hadoop与Region的基本概念Hadoop的分布式架构基础作为大数据处理的核心框架,Hadoop通过分布式存储和计算解决了海量数据的处理难题。其架构核心由HDFS(HadoopDistributedFileSystem)和MapReduce组成,前者负责数据的分布式存储,后者实现分布式计算。在HDFS中,数据被分割成固定大小的块(默认128MB)分散存储在集群节点上,而MapReduce则通
- 大数据技术关键技术组件
大数据技术是一组用于处理、分析和管理大规模数据集的复杂方法和技术。这些数据集的特点是容量大、增长速度快,且结构多样化,包括结构化、半结构化和非结构化数据。传统数据库管理和分析工具在处理此类数据时效率低下或无法胜任,因此需要专门的大数据技术栈来支持高效的数据处理和智能决策。大数据技术的关键组件通常包括:分布式存储系统:HadoopDistributedFileSystem(HDFS):一个高度可扩展
- 大数据领域HDFS的集群资源管理优化
大数据洞察
大数据与AI人工智能大数据AI应用大数据hdfshadoopai
大数据领域HDFS的集群资源管理优化关键词:HDFS;集群资源管理;存储优化;性能调优;副本策略;负载均衡;NameNode优化摘要:HDFS(Hadoop分布式文件系统)作为大数据领域的基石,承载着海量数据的存储与管理重任。随着数据规模爆炸式增长和业务复杂度提升,HDFS集群的资源管理面临着"存不下、跑不快、管不好"的三重挑战:存储资源浪费与不足并存、计算与存储资源匹配失衡、集群运维效率低下。本
- 深入探索Hadoop技术:全面学习指南
引言在大数据时代,高效地存储、处理和分析海量数据已成为企业决策与创新的关键驱动力。Hadoop,作为开源的大数据处理框架,以其强大的分布式存储和并行计算能力,以及丰富的生态系统,为企业提供了应对大规模数据挑战的有效解决方案。本文旨在为初学者和进阶者提供一份详尽的Hadoop技术学习指南,涵盖HDFS、MapReduce、YARN等核心组件,以及Hive、Pig、HBase等生态系统工具,助您踏上H
- MySQL高可用集群SSRK:5步打造无感知故障切换
墨瑾轩
一起学学数据库【一】mysqladb数据库
关注墨瑾轩,带你探索编程的奥秘!超萌技术攻略,轻松晋级编程高手技术宝库已备好,就等你来挖掘订阅墨瑾轩,智趣学习不孤单即刻启航,编程之旅更有趣大家好!今天我们要聊的是MySQL高可用集群的一种高级形态——SSRK(SuperSimpleandReliableKeepalived)。SSRK集群结合了InnoDBCluster、MySQLRouter和Keepalived,不仅提供了高可用性,还实现了
- mysql mgr搭建_MySQL MGR集群搭建
本文来自网易云社区,转载务必请注明出处。本文将从零开始搭建一个MySQLGroupReplication集群,包含3个节点。简单介绍如何查询MGR集群状态信息。并介绍如何进行MGR节点上下线操作。先贴一份MySQL配置文件,如下:explicit_defaults_for_timestamp=ON#serverconfigurationdatadir=/home/innosql/innosql/d
- 【PCIe】6: PCIe prefetchable和nonprefetchable
smartvxworks
PCIe高速总线专栏PCIePCI串行高速总线
目录1.什么是prefetchable2.什么是nonprefetchable3.PCIe中的使用1.什么是prefetchableprefetchable可预取指的是CPU可缓存它的内容并且对它做所有类型的优化;可预取性内存是指存储器空间的可预取能力。例如如果读操作没有副作用(即如同从RAM中读数据一样不会破坏数据),则称存储器空间可预取。2.什么是nonprefetchablenonprefe
- 【MySQL高可用集群】MySQL的MGR搭建
架构师之路魂
数据库mysql数据库MGR高可用集群
前情提要:MySQL官方在5.7.17版本正式推出组复制(MySQLGroupReplication,简称MGR),使用类似zookeeper的多于一半原则。在一个集群由2N+1个节点共同组成一个复制组,一个事务的提交,必须经过N+1(也就是集群节点数/2+1)个节点决议并通过后才可以提交。这是目前MySQL数据库高可用与高扩展的最优解决方案。MGR有以下几个限制条件:1、存储引擎必须为Innod
- 微信二维码扫描登录流程详解
黑塞123
QT二维码登录流程
二维码扫描登录流程细节(项目经验)1:获取二维码信息PC会优先存放服务器生成的唯一密钥:比如source、secret以密文形式存储大致发送字段:sourcesecretmac(mac地址)服务器生成二维码信息:二维码字符、二维码过期时间、二维码状态。并将mac与二维码信息绑定后2:获取二维码状态、校验二维码是否过期客户端解析二维码信息生成二维码开启定时器1:轮询检测二维码过期时间(二维码过期暂停
- JavaSE -- 数组详细讲解(数组介绍,Arrays常用方法,二维数组创建)
数组简介数组是引用数据类型,是一种容器。是一组相同类型数据的组合,将这一组数据做统一管理。栈内存中只存有数组的引用(地址)数组中的变量类型如果是基本数据类型(int,double),则基本类型元素值直接存在堆内存的数组对象内部如果是引用数据类型(String),则这些引用类型的地址(引用)存储在堆内存的数组对象内部。而这些引用数据单独存储在堆内存的其他位置,数组中的地址指向他们。数组声明数组创建出
- Linux系统启动流程以及基础命令下一些根目录的含义
Linux系统启动流程:1.开机自检,BIOS,在主板上的ROM芯片上存储2.加载MBR\UEFI3.GRUB2引导菜单4.加载内核5.启动init(初始化)0~6·0关机·1无网络的单用户模式(root)·2无网络的多用户模式·3有网络的多用户模式·4(无)保留模式·5GUI有网络多用户模式·6重启模式6.启动内核模块7.启动不同级别的脚本8.启动成功(sshd)Linux系统启动过程详解一、启
- SpringBoot 实现 Redis读写分离
RedisTemplate的哨兵模式在Sentinel集群监管下的Redis主从集群,其节点会因为自动故障转移而发生变化,Redis的客户端必须感知这种变化,及时更新连接信息。Spring的RedisTemplate底层利用lettuce实现了节点的感知和自动切换。1.在pom文件中引入redis的starter依赖:org.springframework.bootspring-boot-star
- 数据结构入门指南:程序世界的基石
Mikhail_G
数据结构python开发语言
大家好!在计算机的世界里,数据结构就像我们日常生活中的收纳系统——它决定了数据如何被存储、组织和使用。无论你是刚接触编程的新手,还是希望巩固基础的开发者,理解数据结构都是提升编程能力的关键一步。一、什么是数据结构?数据结构是计算机中组织、管理和存储数据的方式,它定义了数据元素之间的关系以及对数据进行操作的方法。简单来说,数据结构就是数据的“容器”,不同的容器适合存放不同类型的数据,就像书架适合放书
- Redis入门教程(一):基本数据类型
一、Redis是什么?为什么你需要它?Redis(RemoteDictionaryServer)是一个开源的内存数据结构存储系统,它可以用作数据库、缓存和消息中间件。与传统的关系型数据库不同,Redis将数据存储在内存中,使其读写速度达到惊人的11万次读/秒和8.1万次写/秒。同时支持数据持久化,重启后数据不丢失,完美平衡了速度与可靠性。Redis的五大核心优势:丰富的数据结构:支持字符串(Str
- Milvus向量数据库集合操作初尝试
麦克阿建
milvus
目录1.集合(Collection)2.字段(Field)3.索引(Index)4.分区(Partition)5.实体(Entity)6.代码示例6.1集合创建6.2向量插入6.3向量查询6.4向量删除1.集合(Collection)集合是Milvus中存储数据的最基本单元。它类似于数据库中的一个表(table)。集合定义了数据的整体结构,包括数据类型、字段、索引等。作用:集合是你数据的容器,用来
- 如何构建高效的向量数据库以优化大模型检索能力
学习ing1
数据库
1.构建向量数据库的基础架构1.1确定数据存储需求构建高效的向量数据库以优化大模型检索能力,首先要明确数据存储需求。大模型通常涉及海量的参数和数据,例如一个拥有10亿参数的模型,其存储需求可能达到数百GB。根据数据的规模和类型,需要确定存储的容量、速度和可靠性。对于大规模数据,分布式存储是常见的选择,它可以将数据分散存储在多个节点上,提高存储效率和数据访问速度。同时,数据的读写频率也是重要因素,高
- CCF-GESP 等级考试 2025年6月认证Python四级真题解析
1单选题(每题2分,共30分)第1题2025年4月19日在北京举行了一场颇为瞩目的人形机器人半程马拉松赛。比赛期间,跑动着的机器人会利用身上安装的多个传感器所反馈的数据来调整姿态、保持平衡等,那么这类传感器类似于计算机的()。A.处理器B.存储器C.输入设备D.输出设备解析:答案:C。所有传感器都用于采集数据,属于输入设备,故选C。第2题小杨购置的计算机使用一年后觉得内存不够用了,想购置一个容量更
- 【速通RAG实战:数据库】6.RAG向量数据库原理
无心水
速通RAG实战!解锁AI2.0高薪密码速通RAG实战RAG快速开发实战RAGRAG向量数据库相似度FAISSChroma
在RAG(检索增强生成)系统中,向量数据库扮演着至关重要的角色,它负责存储文本经过Embedding处理后的向量表示,并能高效地进行向量检索,以找出与查询向量最相似的文档。1.向量数据库原理1.向量表示在RAG系统里,文本首先会通过Embedding模型(如OpenAIEmbeddings、SentenceTransformers等)转化为固定维度的向量。这些向量能够捕捉文本的语义信息,使得语义相
- 集群技术笔记-HAProxy 与 Keepalived 高可用负载均衡实战
目录前言HAProxy一、HAProxy介绍(一)定义(二)核心优势(三)调度算法速查表(四)工作模式(五)配置文件结构(六)健康检查字段二、搭建负载均衡集群(一)准备基本环境(二)配置流程配置真实服务器配置代理服务器(三)客户端验证三、配置健康检查页面(一)修改配置文件追加配置内容(二)重启服务(三)浏览器访问验证Keepalived一、Keepalived介绍(一)定义(二)功能(三)工作原理
- lvs调度算法(10种)
beyoundout
lvs算法
一、静态算法(不考虑后端真实服务器的负载情况,按算法该谁就分配给谁)1.rr(RoundRobin)轮询算法算法原理:将外部请求按顺序轮流分配到集群中的真实服务器上,它均等地对待每一台服务器,而不管服务器上实际的连接数和系统负载举例:就像在食堂打饭,有三个打饭窗口。学生们排成一队从餐厅门口进入食堂,依次到第一个窗口、第二个窗口、第三个窗口打饭,后面的学生再从第一个窗口循环,每个窗口平等地接待学生,
- Spring Boot+Redis+Caffeine 二级缓存架构的终极实现方案、包含万级QPS下的黄金配置参数、全文超过2500字(博君一赞)
夜雨hiyeyu.com
javaspringbootredis架构后端javaspringcloudspring
SpringBoot+Redis+Caffeine二级缓存架构的终极实现方案、包含万级QPS下的黄金配置参数、全文超过2500字(博君一赞)一、架构设计原理(10万QPS基石)设计优势:二、Caffeine本地缓存原子级配置1.高性能缓存构造器2.容量智能计算算法3.动态TTL策略三、Redis集群极致优化(支撑百万OPS)1.Lettuce连接池配置2.Redis服务端关键配置3.Pipelin
- 为什么越来越多的人喜欢做小程序?
发财北
营销小程序
小程序开发火爆的底层逻辑,全在这了!在移动互联网飞速发展的当下,小程序开发正呈现出前所未有的火爆态势。从电商巨头到街边小店,从大型企业到创业团队,纷纷投身于小程序开发的热潮之中。那么,究竟是什么原因让小程序开发如此炙手可热呢?便捷性:无需下载,即用即走传统APP的使用,用户往往需要经历繁琐的下载、安装、注册等流程,不仅耗费时间,还占用大量手机存储空间。而小程序则完美避开了这些痛点,它无需下载安装,
- 大数据领域 Kafka 入门指南:从安装到基础使用
大数据洞察
大数据与AI人工智能大数据kafkalinqai
大数据领域Kafka入门指南:从安装到基础使用关键词:Kafka、消息队列、分布式系统、大数据处理、实时数据流、生产者消费者模型、ZooKeeper摘要:本文是一篇全面介绍ApacheKafka的入门指南,从基本概念到实际应用。我们将详细讲解Kafka的核心架构、工作原理,并提供从安装配置到基础使用的完整实践指导。文章包含Kafka的生产者-消费者模型实现、集群部署策略、性能优化技巧,以及在大数据
- 为什么阿里巴巴Java开发手册禁止使用存储过程?
需要重新演唱
SQLjavajava开发语言
阿里巴巴Java开发手册中禁止使用存储过程的原因主要基于以下几个方面的考虑:1.可维护性差复杂性:存储过程通常包含复杂的逻辑,随着业务逻辑的增加,存储过程的复杂性也会不断增加,导致维护成本高。调试困难:存储过程的调试通常比应用程序代码更困难,尤其是在分布式系统和微服务架构中。版本控制:存储过程的版本控制和变更管理相对复杂,难以与应用程序的版本控制流程集成。2.可移植性差数据库依赖:存储过程的语法和
- 不用存储过程怎么处理大批量数据?读取大批量数据
liu_111111
ASP.Net高级
解决方案一:可以从几个方面着手:第一,减少网络的数据传输量第二,减少服务器的计算时间消耗第三、使用存贮过程可以有效的减少指令的数据量。第四、没有更新冲突的需求,那么请去掉检查数据库更新冲突的选项。这样可以减少数据传输量,并能减少服务器的计算时间。解决方案二:1、建立一个临时表2、把数据插入临时表3、写一个存储过程,把对应删除老表数据后,插入临时表数据4、执行上述存储过程
- 存储过程都有什么替代方案?
瑞信卡券提货系统
存储过程
存储过程的替代方案主要有以下几种:ORM(对象关系映射):ORM框架,如Hibernate、EntityFramework等,在客户端逻辑和数据库之间插入了一个层。这些框架能够生成SQL语句以在数据库上执行,从而避免了直接编写存储过程。使用ORM,开发人员可以在应用层表达复杂的业务逻辑,而无需将逻辑分散到存储过程中。ORM框架允许开发人员使用面向对象的方式操作数据库,提供了更高层次的抽象,使得代码
- 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