- MMORPG游戏中的道具系统开发技术总结
小宝哥Code
MMORPG游戏
MMORPG游戏中的道具系统开发技术总结在MMORPG(大型多人在线角色扮演游戏)中,道具系统是游戏设计的核心组成部分之一。道具系统不仅仅是玩家角色装备与消耗品的管理平台,它还影响着游戏的经济体系、玩家之间的互动、角色的成长等多方面内容。因此,设计一个高效、灵活的道具系统是开发MMORPG时的关键任务。本文将从道具系统的基本设计到性能优化,系统架构等方面进行总结,帮助开发者构建一个健壮且具扩展性的
- JavaScript语言基础教程笔记
fanxbl957
各类语言和技术总结笔记javascript笔记开发语言
JavaScript语言基础教程笔记下面是一个全面的JavaScript教程,适合初学者和有一定编程经验的人士。JavaScript是一种广泛用于网页开发的脚本语言,支持事件驱动、函数式以及基于原型的编程风格。要想深入了解请参考:javascript脚本语言教程。JavaScript入门教程1.简介定义:JavaScript(简称JS)是一种高级编程语言,主要用于网页浏览器中实现复杂的交互功能。用
- Nginx参数TCP_NODELAY详解及服务器应用
TechABC
nginxtcp/ip服务器
Nginx是一款高性能的开源Web服务器和反向代理服务器,在处理大量并发连接时表现出色。其中,TCP_NODELAY是Nginx中一个重要的参数,它对于提高服务器的性能和响应速度起到关键作用。本文将详细介绍TCP_NODELAY参数的含义、作用以及在服务器中的应用,并提供相应的源代码示例。TCP_NODELAY参数简介TCP_NODELAY是一个TCP协议的选项,用于控制是否启用Nagle算法。N
- 生产环境中常用的设计模式
Dolphin_Home
生产环境_场景抽象代码规范SpringBoot设计模式
生产环境中常用的设计模式设计模式目的使用场景示例单例模式保证一个类仅有一个实例,并提供一个访问它的全局访问点-日志记录器-配置管理器工厂方法模式定义一个创建对象的接口,让子类决定实例化哪个类-各种工厂类(如视频游戏工厂模式创建不同类型的角色)抽象工厂模式解决一个系列的工厂,用于创建一组相关或依赖的对象-GUI组件库-汽车组装线建造者模式分离对象的构建过程和表示,允许逐步构造一个复杂对象-构建复杂对
- node.js项目依赖关系分析工具 Depazer 的使用
付星途
node.js
node.js项目依赖关系分析工具Depazer的使用Depazer是一个用于分析和可视化Node.js项目依赖关系的工具。它可以帮助开发者快速了解项目的依赖结构、模块关系,以及可能存在的问题,从而优化代码架构和依赖管理。功能特点依赖关系分析:显示项目的模块依赖关系,包括内部模块和外部模块(NPM包)。帮助识别循环依赖、未使用的依赖、或过度复杂的依赖。可视化图表:生成清晰的依赖关系图,帮助开发者快
- 艾编程coding老师课堂笔记:SpringBoot源码深度解析
艾编程前端技术
spring编程语言
思想:有道无术,术尚可求,有术无道,止于术!Spring开源框架,解决企业级开发的复杂性的问题,简化开发AOP,IOCSpring配置越来多,配置不方便管理!Javaweb---Servlet+tomcat+Struct2SpringMVCSPRINGboot.....所有的技术框架:从一个复杂的场景慢慢的衍生出来一种规范!简单的配置!==SpringBoot:自动配置!==Springboot怎
- JavaScript系列(31)--装饰器详解
陳沉辰陈
JavaScriptjavascript开发语言ecmascript
JavaScript装饰器详解今天,让我们深入探讨JavaScript的装饰器(Decorators)。装饰器是一种用于修改类和类成员的强大语言特性,它让我们能够以声明式的方式增强类的功能。装饰器基础概念小知识:装饰器是一种特殊的声明,可以被附加到类声明、方法、访问器、属性或参数上。装饰器使用@expression的形式,其中expression必须是一个函数,它会在运行时被调用。基本装饰器实现/
- Objective-C语言的多线程编程
Code花园
包罗万象golang开发语言后端
Objective-C语言的多线程编程探索在现代应用程序中,多线程编程是一个不可或缺的部分。它允许我们同时执行多个任务,从而提高应用程序的响应速度和性能。在iOS和macOS应用开发中,Objective-C语言是一个重要的编程语言,虽然Swift逐渐成为主流,但了解Objective-C的多线程编程对于开发者来说依然具有重要意义。本文将详细探讨Objective-C语言的多线程编程,包括其基本概
- C语言中char *str[] 和char *str有什么区别
*TQK*
编程语言知识点c语言
charstr[]和charstr的区别:C语言中charstr和charstr[]的区别-CSDN博客char*str[]和char*str在C语言中有不同的含义和用途,以下是它们的区别:1.char*str类型:这是一个指向字符的指针。用途:通常用于指向一个字符串。字符串在C语言中是一个以空字符'\0'结尾的字符数组。示例:char*str="Hello,World!";在这个例子中,str是
- 史上最全!Python爬虫requests库(附案例)
疯狂的超级玛丽
PythonPython学习Python入门python爬虫开发语言学习Python基础python自学
1.requests库简介如果你正在学习Python并且找不到方向的话可以试试我这一份学习方法+籽料呀!点击领取(不要米米)Requests是一个为人类设计的简单而优雅的HTTP库。requests库是一个原生的HTTP库,比urllib3库更为容易使用。requests库发送原生的HTTP1.1请求,无需手动为URL添加查询串,也不需要对POST数据进行表单编码。相对于urllib3库,requ
- c语言一维数组
磨十三
c语言算法开发语言
一、一维数组的定义类型说明符数组名[常量表达式];(一)类型说明符---数据类型基本数据类型中整型int/short/long/longlong浮点型float/double字符型char其它的数据类型---构造类型(二)数组名//一个名字用来代表这个数组(一组相同类型变量集合的一个名字)(三)常量表达式[]//就表示数组常量表达式//整型的数值---数组中元素的个数---数组长度(四)说明1.数
- 案例3-1.3:求链表的倒数第m个元素(附加代码模式)
Mn_、
链表数据结构
题目描述给你一个链表,链表长度为n,链表内各元素为a1,a2....an,给你一个数m,求链表倒数第m个数是多少。本题是附加代码模式,主函数main的代码会自动附加在同学们提交的代码后面,请同学们在提交的时候注释掉自己的main函数。main函数代码如下:intmain(){//freopen("/config/workspace/answer/in.txt","r",stdin);intn;ci
- Android系统架构
jingling555
Androidandroid系统架构arm开发安卓
Android系统架构:Android系统架构是一个复杂的、分层的结构,旨在提供高度的灵活性和可扩展性。这个架构可以大致分为以下几个主要层次:LinuxKernel(Linux内核):Linux内核是Android系统的底层,提供了系统底层的硬件驱动程序支持,并管理了系统的资源。它包括了各种设备驱动程序(如显示驱动、音频驱动、键盘驱动、电源驱动等)、内存管理、网络管理、电源管理以及系统安全等功能。
- js map函数的使用
itwlz
javascript前端开发语言
1.概念map()方法定义在JavaScript的Array中,它返回一个新的数组。数组中的元素为原始数组调用函数处理后的值。注意:1.map()不会对空数组进行检测2.map()不会改变原始数组2.语法array.map(function(currentValue,index,arr),thisIndex)3.实例3.1把数组l里的每一项转为Number或String或Booleanletlis
- python爬虫scrapy爬取新闻标题及链接_18Python爬虫---CrawlSpider自动爬取新浪新闻网页标题和链接...
珍妮赵
一、爬取新浪新闻思路1、创建scrapy项目2、分析新浪新闻网站静态页面代码3、编写对应的xpath公式4、写代码二、项目代码步骤1、创建scrapy项目scrapystartprojectmycwpjt步骤2、分析新浪网站静态代码随便打开一个新浪新闻网,新闻可以看到地址为http://news.sina.com.cn/gov/xlxw/2018-03-21/doc-ifyskeue0491622
- 驾考神器免登录VIP 版 功能随便用,错题还能教你妙解!
代码简单说
免登录考驾照宝藏软件驾考软件vip版
#驾考练题#错题解析#随时随地刷题最近为了考驾照,我可是把自己“逼”到了极限,找题库、看教学视频、背法规,甚至熬夜刷题,结果发现——用错工具事倍功半!后来一个朋友悄悄推荐了一款神器,简直让我学车从“地狱模式”切换到“简单模式”。这款软件简直就是为考驾照量身定制的VIP级别体验**,而且——VIP功能竟然随便用!功能亮点,助你轻松拿证上千道题目随便刷无论是小车、摩托车,还是火车、客车,这里全都有题!
- Verilog中阻塞赋值和非阻塞赋值的区别?
张小侃
数字IC知识fpga硬件
阻塞赋值“=”对应组合逻辑电路赋值(无存储功能,立即赋值),并且会阻塞后面的赋值操作,非阻塞赋值“<=”对应时序逻辑电路赋值(有存储功能),所有非阻塞赋值操作在同一时刻进行赋值。下面分别通过vivado综合不同情况赋值的代码。第一种:在时序逻辑电路中使用阻塞赋值,通过综合后的电路可以看出非阻塞赋值综合出来的电路时立即执行赋值操作,和组合逻辑电路特性一致,无缓存功能,out_o直接被优化掉了。alw
- 华为OD机试E卷 --字符串分割--24年OD统一考试(Java & JS & Python & C & C++)
飞码创造者
最新华为OD机试题库2024java华为odjavascriptpythonjsc语言
文章目录题目描述输入描述输出描述用例题目解析JS算法源码Java算法源码python算法源码c算法源码题目描述给定一个非空字符串S,其被N个-分隔成N+1的子串,给定正整数K,要求除第一个子串外,其余的子串每K个字符组成新的子串,并用-'分隔。对于新组成的每一个子串,如果它含有的小写字母比大写字母多,则将这个子串的所有大写字母转换为小写字母;反之,如果它含有的大写字母比小写字母多,则将这个子串的所
- vscode 极简Linux下 cmake c++开发环境
丘狸尾
vscodelinuxc++
安装这三插件vscode安装插件clangd后报错无法自动下载服务端Failedtoinstallclangdlanguageserver:FetchError:requesttohttps://api.github.com/repos/clangd/clangd/releases/latestfailed,reason:Failedtoestablishasocketconnectiontopr
- Ubuntu系统,root账户设置远程登录
笑醉踏歌行
系统运维ubuntulinux运维
要允许在Ubuntu系统上通过SSH以root用户身份进行远程登录,需要进行如下设置步骤1:设置root用户密码如果尚未设置root用户的密码,首先需要设置一个密码。在本地终端或者通过已有的非root用户SSH登录后执行:sudopasswdroot系统会提示你输入新的密码,并确认一次。步骤2:编辑SSH配置文件打开SSH守护程序(sshd)的配置文件:sudonano/etc/ssh/sshd_
- NAT类型的判断(RFC3489)
tzhlovesakura
网络协议网络
一、NAT网络分为4大类型:1、FullConeNAT(完全锥形):所有内网的IP和端口的请求,都会被映射成同一个外网IP和端口,并且任何一个外网主机都可以通过这个映射的外网IP和端口号向这台内网主机发送包。2、RestrictedConeNAT(限制锥形):所有内网的IP和端口的请求,都会被映射成同一个外网IP和端口,但是只有内网主动通讯过的外网主机可访问内网主机。3、PortRestricte
- mermaid
Bananices
markdownmarkdownjavascript流程图
使用Mermaid在博客中添加流程图什么是Mermaid?Mermaid是一个基于Javascript的图表绘制工具,通过解析类Markdown的文本语法来实现图表的创建和动态修改。Mermaid诞生的主要目的是让文档的更新能够及时跟上开发进度。流程图在mermaid中可以使用graph和flowchart来绘制流程图,但使用flowchart绘制流程图时候性能更高,详情FlowchartsSyn
- 高级java每日一道面试题-2025年01月16日-框架篇[Mybatis篇]-说说Mybatis的缓存机制?
java我跟你拼了
java每日一道面试题javamybatis缓存一级缓存二级缓存工作原理全局配置
如果有遗漏,评论区告诉我进行补充面试官:说说Mybatis的缓存机制?我回答:在Java高级面试中,MyBatis的缓存机制是一个重要的话题。MyBatis是一个流行的Java持久化框架,它提供了强大的数据库访问能力和灵活的SQL映射配置。为了提高查询性能并减少数据库访问次数,MyBatis引入了缓存机制。下面将对MyBatis的缓存机制进行详细解释:MyBatis缓存机制概述MyBatis的缓存
- Centos Linux 离线安装 MySQL 5.7、使用MySQL
寒水馨
软件解惑mysqlcentos数据库linux
CentosLinux离线安装MySQL5.7、使用MySQL视频教程链接:https://www.bilibili.com/video/BV1Nv4y1m7u4/1.MySQL简介MySQL是一个开源的关系型数据库管理系统,由瑞典MySQLAB公司开发,属于Oracle旗下产品,适合个人和中小型企业使用。2.准备工作2.1.拥有一台CentosLinux机器参考文章:《VMware安装Cento
- FPGA Verilog 阻塞赋值和非阻塞赋值
杭州秃头程序猿
fpga开发嵌入式硬件
阻塞赋值和非阻塞赋值的区别阻塞赋值阻塞赋值(=)必须是阻塞赋值完成后,才进行下一条语句的执行;赋值一旦完成,等号左边的变量值立即变化。串行,立即生效。如b=a;赋值语句执行完后,块才结束。b的值在赋值语句执行完后立刻就改变的。可能会产生意想不到的结果。非阻塞赋值非阻塞赋值(<=),在赋值开始时计算表达式右边的值,在本次仿真周期结束时才更新被赋值变量,即赋值不是立即生效的;非阻塞赋值允许块中其他语句
- 快速排序介绍
max500600
算法算法数据结构排序算法
快速排序(QuickSort)是种高效的基于比较的排序算法,它采用了分治策略(DivideandConquer)。其基本思想是通过选择一个基准值(pivot),将数组分为两部分,小于基准值的元素放在左边,大于基准值的元素放在右边,然后递归地对这两部分进行排序,最终使整个数组有序。1.算法步骤选择基准值:从数组中选择一个元素作为基准值。通常可以选择数组的第一个元素、最后元素或中间元素等,这里以选择第
- matlab代码实现了一个关节型六轴机械臂的仿真
max500600
MATLAB算法开发语言matlab算法人工智能
%%基于MATLAB的关节型六轴机械臂仿真%%参数定义clear;closeall;clc;%角度转换angle=pi/180;%转化为角度制%D-H参数表theta1=0;D1=0.4;A1=0.025;alpha1=pi/2;offset1=0;theta2=pi/2;D2=0;A2=0.56;alpha2=0;offset2=0;theta3=0;D3=0;A3=0.035;alpha3=p
- python 代码实现了一个条件生成对抗网络(Conditional Generative Adversarial Network,CGAN),用于生成与给定的理化值相关的光谱数据
max500600
算法开发语言python生成对抗网络开发语言
importtensorflowastfimportnumpyasnpimportpandasaspdimportosimportmatplotlib.pyplotaspltfromsklearn.model_selectionimporttrain_test_splitfromtensorflow.keras.layersimportAdd,BatchNormalizationos.enviro
- Cursor
一只爱笑的小燕子
ChatGPThtml5java开发语言
一、什么是Cursor官网:Cursor|BuildFastCursor是一个开源的AI编程编辑器。开源地址https://github.com/pricing目前在国内是可以不需要其他东西,可以直接访问的。而且目「下面是官方的介绍:」Cursor是一个为AI编程而做的编辑器。它还处于早期阶段,但现在Cursor可以帮助你做一些事情。编写:使用Copilot更聪明的人工智能生成10-100行代码比
- 单片机实物成品-010 智能宠物喂食系统(代码+硬件+论文)
学个单片机
单片机实物成品单片机宠物嵌入式硬件
项目介绍版本1:oled显示+定时投喂(舵机模拟)+声光报警+显示实时时间---演示视频:智能宠物喂食001_哔哩哔哩_bilibili1.STM32F103C8T6单片机进行数据处理2.OLED液晶显示3,按键1在数据显示界面时按下按键1切换下一个界面,在校准时间界面时按下按键1退出校准时间界面,在设置定时时间界面中如果是处于设置某个时间的状态按下按键1退出否则切换下一个页面。4.按键2数据显示
- 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