- 【面试】【详解】计算机网络(TCP 三次握手,四次挥手)
患得患失949
面试考题专栏(前后端)面试计算机网络tcp/ip
一、计算机网络详解(一)计算机网络概述定义:计算机网络是通过传输介质将多台计算机连接起来,以实现数据通信和资源共享的系统。功能:(1)数据通信:实现不同设备之间的数据传输。(2)资源共享:硬件资源(如打印机)和软件资源(如数据库)共享。(3)分布式处理:多台计算机协作完成任务。(二)TCP三次握手1.定义TCP(三次握手)是建立可靠连接的重要步骤,确保双方准备好通信并初始化必要的参数。2.过程详解
- 「QT」经验篇 之 界面代码与逻辑代码的分离思想
何曾参静谧
「QT」QT5程序设计qt系统架构数据库
✨博客主页何曾参静谧的博客(✅关注、点赞、⭐收藏、转发)全部专栏(专栏会有变化,以最新发布为准)「Win」Windows程序设计「IDE」集成开发环境「定制」定制开发集合「C/C++」C/C++程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「UG/NX」BlockUI集合「Py」Python程序设计「Math」探秘数学世界「PK」Paras
- 使用 Azure Functions 开发 Serverless 应用:详解与实战
孟章豪
azureserverlessflask
使用AzureFunctions开发Serverless应用:详解与实战随着云计算的发展,Serverless(无服务器架构)已成为构建现代应用的重要模式。它能够让开发者专注于业务逻辑,而不需要关注底层的服务器管理、扩展等问题。AzureFunctions是微软提供的Serverless计算服务,具有高度的可扩展性和易用性。本篇博客将详细介绍如何使用AzureFunctions开发Serverle
- 游戏底层逻辑,运动&&寻路(四)
PureDesigner
AIcocos2dx游戏算法
接着上次的来,我们在群体算法之前把基本的个体运动解决掉。9、WallAvoidance避开墙壁此处的墙被抽象为一条线段,不论你的游戏使用的是一条线段作为墙面的碰撞检测,或者用一个几何形状作为墙面,几何形状我们可以看作多条线段的集合,都可以用此方法。墙类的实现首先是线段类,作为基类,拥有几种几何计算的方法,便于计算平面线段的交点,不多说。structSeg{Seg(Pointp1,Pointp2):
- Kotlin语言之let、with、run、apply、also内联函数
mysimplelove
学无止境Androidkotlin内联函数letwithrunapplyalsolambda
前言:随着公司项目对主开发语言切换的需要,本人也是在持续的对Kotlin语言进行深入全面的学习和使用。相比Java,Kotlin提供了不少高级语法特性,在Kotlin中的源码标准库(Standard.kt)中提供了一些Kotlin扩展的内置函数可以优化kotlin的编码。Standard.kt是Kotlin库的一部分,它定义了一些基本函数。这个源代码文件虽然一共不到50行代码,但是这些函数功能都非
- Nginx Stream模块的安装与配置
m0_74823947
nginx运维
首先检查是否启用Stream模块如果你的系统上没有找到ngx_stream_module.so文件,这可能意味着在你的Nginx安装中没有启用Stream模块。Stream模块用于处理TCP和UDP流量,通常用于代理、负载均衡和其他网络层级的操作。要启用Stream模块,你需要重新编译Nginx并在编译选项中包含--with-stream。这将确保Stream模块被编译并生成ngx_stream_
- 激石官网是哪个?
jishigw
行业资讯区块链业界资讯
在互联网时代,官方网站是公司形象和信息传递的关键平台。今天,我们来介绍激石的官网。激石官网地址激石的官网地址是平台集成了激石的产品信息、新闻动态、客户服务等,方便用户获取最新资讯和服务。官网地址变更由于国内网络政策的变化,激石官网地址可能会定期更新。如果无法访问官网,可能是网址已更改或暂时的网络问题。如何获取最新官网地址获取激石最新官网地址的方法很简单:可以联系在线客服,我们会即时提供更新的官网链
- Python中的23种设计模式:详细分类与总结
拾工
Python设计模式软件设计设计模式
设计模式是解决特定问题的通用方法,分为创建型模式、结构型模式和行为型模式三大类。以下是对每种模式的详细介绍,包括其核心思想、应用场景和优缺点。一、创建型模式(CreationalPatterns)创建型模式关注对象的创建,旨在解耦对象的创建过程,提高灵活性和可扩展性。1.单例模式(Singleton)核心思想:确保一个类只有一个实例,并提供全局访问点。应用场景:数据库连接、配置管理器、日志记录器。
- RabbitMQ实战
ikt4435
Java程序员编程javajava-rabbitmqrabbitmq
1.1、作用解耦:在项目启动之初来预测将来会碰到什么需求是极其困难的。消息中间件在处理过程中间插入了一个隐含的、基于数据的接口层,两边的处理过程都要实现这一接口,这允许你独立地扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束即可冗余〈存储)有些情况下,处理数据的过程会失败。消息中间件可以把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险。在把个消息从消息中间件中删除之前
- AI Agent的工具调用体系:打造可扩展的能力框架
技术出海录
人工智能AIaiagent
在上一篇文章中,我们讨论了AIAgent的记忆系统。今天,我想分享一下如何设计和实现一个灵活的工具调用体系。说实话,这个模块我重构了好几次,每次都有新的感悟。从简单到复杂最开始实现工具调用时,我用的是最简单的方式:defrun_tool(name:str,args:dict)->str:ifname=="search":returnsearch_function(**args)elifname==
- 【Unity 天空和昼夜循环系统插件】Procedural Sky Shader & Day Night Cycle - Jupiter 旨在为游戏项目提供动态、真实的天际效果和昼夜变化
Unity游戏资源学习屋
Unity插件
ProceduralSkyShader&DayNightCycle-Jupiter是一款专为Unity开发的程序化天空和昼夜循环系统插件,旨在为游戏项目提供动态、真实的天际效果和昼夜变化。该插件使用程序生成的方式实时模拟天空的变化,提供了多种自定义选项,帮助开发者创建美丽且自然的环境光照和大气效果,适用于各种游戏类型,包括开放世界、冒险、角色扮演等。核心功能程序化天空生成插件采用程序生成方法,能够
- C语言中的常见数据类型(char)
卷卷的小趴菜学编程
c语言c语言开发语言
一、char类型1.字符表示:char类型变量可以存储任何ASCII码或扩展ASCII码字符,取值范围是-128到127或0到255(分为signedchar和unsignedchar),占一个字节,8个比特位。注意:char是否有符号取决于编译的实现,绝大部分的编译器上char为signedchar。2.默认值:未初始化的char变量默认值为'\0',表示空字符。注意:在用printf打印时,\
- 「Py」进阶语法篇 之 Python中的异常捕获与处理
何曾参静谧
「Py」Python程序设计python数据库开发语言
✨博客主页何曾参静谧的博客(✅关注、点赞、⭐收藏、转发)全部专栏(专栏会有变化,以最新发布为准)「Win」Windows程序设计「IDE」集成开发环境「UG/NX」BlockUI集合「C/C++」C/C++程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「UG/NX」NX定制开发「Py」Python程序设计「Math」探秘数学世界「PK」Pa
- c++常见设计模式之装饰器模式
_DCG_
c++c++设计模式装饰器模式
基础介绍装饰器模式是结构型设计模式,从字面意思看装饰器设计模式就是用来解决在原有的实现基础上添加一些额外的实现的问题。那么正统的概念是什么呢?装饰器模式允许我们动态的向对象添加新的行为,同时不改变其原有的结构。它是一种比继承更灵活的扩展对象功能的方式。举个简单的例子,比如手机作为一个产品,希望在基础手机的基础上实现新增两个功能1,且不希望改变类原有的结构,这种情况下就需要使用到装饰器模式。实现原理
- python给PDF添加水印
icon920
javapdf
#添加水印fromPyPDF2importPdfReader,PdfWriterfromcopyimportcopysy=PdfReader("C:\\test\\watermark.pdf")#水印所在位置mark_page=sy.pages[0]#水印所在的页数#读取添加水印的文件file_reader=PdfReader("C:\\test\\PDF.pdf")#需要添加水印的PDFfile
- MySQL实现Oracle merge into函数
咸鱼的倔强
MySQLmysqloracle数据库
MySQL实现Oraclemergeinto函数之前有撰文Oracle、MySQL兼容–mergeinto,其中介绍了MySQL用INSERT…ONDUPLICATEKEYUPDATE和存储过程实现mergeinto,本文介绍其它的两种方法实现mergeinto。1、replaceinto语法同insertinto,使用简单,但有限制,replaceinto是根据主键去匹配,故replaceint
- 嵌入式音视频开发——视频篇(三)
程序猿玖月柒
音视频音视频
本笔记来源于学习韦东山团队课程,自己选择性摘抄加深记忆和学习的效果。帧率与时间戳帧率(framerate)是指视频播放中每秒显示的图像帧数。测量单位为“每秒显示帧数”(framepersecond,FPS)或“赫兹”,一般来说FPS用于描述影片、电子绘图或游戏每秒播放多少帧。人类视觉的时间敏感性和分辨率根据视觉刺激的类型和特征而变化,并且在个体之间是不同的。由于人类眼睛的特殊生理结构,如果所看画面
- 什么是分布式架构?
找藉口是失败者的习惯
分布式架构
文章目录前言一、什么是分布式架构?1.分布式架构的类型微服务架构:2.服务导向架构(SOA)3.点对点架构4.客户端-服务器架构架构对比分布式架构优缺点总结前言随着互联网的快速发展,越来越多的应用程序需要处理大量用户请求和数据。这促使开发者采用分布式架构,以提高系统的可扩展性和可靠性。本文将通过一个简单的在线外卖平台案例,深入浅出地解释分布式架构的基本概念和优势。提示:以下是本篇文章正文内容,下面
- oracle12c merge into,Oracle MERGE INTO的使用方法
俊銘
oracle12cmergeinto
非常多时候我们会出现例如以下情境,假设一条数据在表中已经存在,对其做update,假设不存在,将新的数据插入.假设不使用Oracle提供的merge语法的话,可能先要上数据库select查询一下看是否存在,然后决定怎么操作,这种话须要写很多其它的代码,同一时候性能也不好,要来回数据库两次.使用merge的话则能够一条SQL语句完毕.1)主要功能提供有条件地更新和插入数据到数据库表中假设该行存在,运
- 【oracle】-函数:merge into...
知逆
oracle
0、前言我们在业务中可能碰到这种情况:如果用户在数据库中不存在,那么就进行插入;否则就进行修改。按我们平时的做法可能是在业务层先查询用户存不存在,如果存在,那么就更新。那我们下面讲一种在oracle数据库层面的条件判断–mergeinto。1、语法MERGEINTO表AUSING与表A产生关联字段值ON进行和表A的关联WHENMATCHEDTHEN--如果匹配,做更新操作updateset....
- Adobe Animate(常简称为 AN)多媒体创作工具绿色下载安装
sdiSONG
adobe
AdobeAN软件简介AdobeAnimate(常简称为AN)是Adobe公司开发的一款强大的多媒体创作工具。它主要用于制作动画、互动内容以及游戏。AdobeAnimate的前身是FlashProfessional,经过多次版本迭代后,现已成为一款功能丰富、界面友好的专业设计软件。它支持多种平台,包括桌面、移动设备和网页,因而广受动画师和设计师的喜爱。一、软件简介1.1什么是AdobeAnimat
- 分布式架构
linzheda
什么是分布式架构分布式系统(distributedsystem)是建立在网络之上的软件系统。内聚性是指每一个数据库分布节点高度自治,有本地的数据库管理系统。透明性是指每一个数据库分布节点对用户的应用来说都是透明的,看不出是本地还是远程。在分布式数据库系统中,用户感觉不到数据是分布的,即用户不须知道关系是否分割、有无副本、数据存于哪个站点以及事务在哪个站点上执行等。简单来讲:在一个分布式系统中,一组
- Python PDF添加水印
lxccc9
python笔记
PDF添加水印加载模块:fromPyPDF2importPdfFileReader,PdfFileWriterimportosPDF添加水印:watermark_pdf=PdfFileReader('./tests/watermark.pdf')#读取第一页watermark=watermark_pdf.getPage(0)#读取需要加水印的pdf文件input_pdf=PdfFileReader
- 【全栈】SprintBoot+vue3迷你商城-扩展:vue3项目创建及目录介绍
杰九
vue.jsjavascript前端springboot
【全栈】SprintBoot+vue3迷你商城-扩展:vue3项目创建及目录介绍往期的文章都在这里啦,大家有兴趣可以看一下【全栈】SprintBoot+vue3迷你商城(1)【全栈】SprintBoot+vue3迷你商城(2)【全栈】SprintBoot+vue3迷你商城-扩展:利用python爬虫爬取商品数据【全栈】SprintBoot+vue3迷你商城(3)【全栈】SprintBoot+vue
- 【全栈】SprintBoot+vue3迷你商城-扩展:vue的基本用法
杰九
vue.js前端springboot
【全栈】SprintBoot+vue3迷你商城-扩展:vue的基本用法在进行前端开发之前,需要熟悉vue的一些基本用法,这里举例了一些常见的基本用法1.v-if,v-else,v-else-if用于条件渲染元素。当条件为真时,元素会被渲染;否则不会渲染。示例TypeATypeBNotA/B2.v-show也用于条件渲染,但它总是会渲染并保留,只是通过CSS的display属性控制可见性。示例显示/
- 100%全国产化时钟服务器、全国产化校时服务器、全国产化授时服务器
小歆884
服务器运维
全国产化时钟服务器是指采用国产芯片、操作系统、软件等关键技术和组件,实现从硬件到软件的自主可控,能够为各种网络设备和系统提供高精度时间同步服务的设备,以下将从其特点、应用领域、代表产品等维度展开介绍:计算机网络、计算机应用系统、流程控制管理系统、电力厂(站)和电网中心调度的时间统一系统及各种时间显示屏、电子商务系统、B2B网上系统以及数据库的保存及维护等系统、广电、金融、移动通信、石油、电力、交通
- Redis之父学生时代发现的ping漏洞的源码分析
Redis的作者SalvatoreSanfilippo(网名antirez)在意大利西西里岛长大,虽然从小就接触计算机,也有一些编程经验,但在大学期间却选择了建筑学院,可能当时并没有打算走职业程序员的道路吧。然而antirez应该就属于老天爷赏饭的那类人,据说仅仅因为错把显卡买成了网卡,商家又不肯退货,他就放下游戏,拿起了C语言的教材。不久之后,antirez发现了一个ping的漏洞,非root用
- “选择最佳数据库解决方案:MySQL、SQL Server 和 PostgreSQL 的比较与实际应用指南“
AMIOKATT
数据库mysqlpostgresql
目录典型中高端数据库服务器硬件配置CPU内存存储网络操作系统不同数据库系统在上述硬件上的性能表现MySQLPostgreSQLSQLServer具体硬件配置示例示例配置1:中小型Web应用示例配置2:复杂查询和事务处理示例配置3:企业级数据仓库和分析其他优化建议典型中高端数据库服务器硬件配置CPU型号:IntelXeon或AMDEPYC系列核心数:8至32个物理核心(多线程,通常2倍的逻辑核心)主
- Oracle之Merge into函数使用
limts
oracle数据库
Mergeinto函数为Oracle9i添加的语法,用来合并update和insert语句。所以也经常用于update语句的查询优化:一、语法格式:mergeintoAusingBon(A.a=B.a)--注意on后面带括号,且不能更新join的字段whenmatchedthenupdatesetA.b=B.bwhennotmatchedtheninsertA(A.a,A.b)values(B.a
- 282道Python面试八股文(答案、分析和深入提问)整理
ocean2103
面试题python面试开发语言
1.请解释Python中的模块和包。回答在Python中,模块和包是组织代码的重要工具,它们有助于代码的重用和结构化。模块(Module)模块是一个包含Python代码的文件,通常以.py作为文件扩展名。模块可以定义函数、类和变量,也可以包含可执行的代码。通过模块,可以将相关的功能分组到一个文件中,从而使得代码更加结构化和可维护。创建和使用模块创建模块:你可以创建一个Python文件(例如mymo
- 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