- B/S架构和C/S架构概述与优缺点
此方konata
架构php开发语言
B/S架构(Browser/Server架构)定义B/S架构是一种通过浏览器访问服务器的架构模式。客户端(通常是浏览器)与服务器之间通过HTTP/HTTPS协议进行通信。优点易于部署和维护:客户端只需要安装浏览器,无需单独安装客户端软件。服务器端的更新和维护只需在一个地方进行,客户端自动生效。跨平台性:只要支持HTTP协议的浏览器,就可以访问应用程序,不受操作系统限制。提高了应用程序的可用性和灵活
- 地址解析协议(ARP):深入理解网络的“地址翻译官”
leo·li
路由交换技术笔记ARP网络通信IP与MAC局域网ARP欺骗网络排错协议原理
地址解析协议(ARP,AddressResolutionProtocol)是网络通信中的“幕后翻译”,负责在局域网中将IP地址转换为MAC地址。作为TCP/IP协议栈的基础组件,ARP在数据帧传输中起着关键作用。本文将从零开始,详细剖析ARP的原理、过程及应用,通过丰富的示例带你彻底掌握这一“地址翻译官”的工作奥秘。一、ARP的基本概念:IP与MAC的“桥梁”在局域网中,设备通信靠的是二层地址(M
- 二层网络类型及协议
wuqing_5450
华为数通路由交换HCIPp2p网络网络协议
数据链路层网络类型(根据协议及规则划分):P2P:在一个网段内只能存在两个节点。点到点MA多路访问:在同一个网段内,节点的数量不限制正常需要存在二层地址,否则无法单播。多点接入。有以下两种BMA--广播型多路访问NBMA--非广播型多路访问网络类型基于数据链路层选用的技术进行区分:部分虚拟技术以太网BMA帧中继MGRE(虚拟)NBMAPPP/HDLCPPPOE、GRE(虚拟)点到点
- [BMS]国标快充协议GBT27930
LIN-JUN-WEI
BMS网络汽车安全
物理层与数据格式CAN250K扩展帧小端充电机BMS快充流程充电机每250ms发送0x1826f456充电机握手报文(CHM)BMS收到充电机握手报文之后回复182756f4BMS握手报文(BHM)握手完成后充电机每250ms发送充电辨识报文1801F456(CRM00)当BMS收到充电辨识报文1801F456(CRM00)后向充电机发送BRM报文因为超出八个字节故分为多个包按传输协议功能传输先发
- [通讯协议]Modbus协议
LIN-JUN-WEI
通讯协议物联网网络协议c语言
Modbus协议简介 Modbus是一个总线协议,属于应用层的一层协议。应用层面的协议还有TCP、UDP。因modbus其协议流程简单明了,易于组网被广泛使用,目前应该是在工业上使用的最多的,像是与PLC通信。 嵌入式领域最常见的用法就是硬件电路采用RS485,在此硬件基础上使用Modbus。 Modbus是主从方式通信,通信由主机发起,一问一答式,从机无法主动向主机发送数据。通信方式类似于
- B站自研的第二代视频连麦系统(上)
哔哩哔哩技术
webrtc直播
导读本系列文章将从客户端、服务器以及音视频编码优化三个层面,介绍如何基于WebRTC构建视频连麦系统。希望通过这一系列的讲解,帮助开发者更全面地了解WebRTC的核心技术与实践应用。背景在文章《B站在实时音视频技术领域的探索与实践》中,提到了直播行业从传统娱乐直播发展到教育、电商等新形式,用户对实时互动直播的需求增加。B站基于WebRTC的开发了一套视频连麦系统:这套系统优先选择UDP协议以保证低
- uniapp微信小程序canvas隐藏
Ann_R
uni-app微信小程序小程序
亲测好用~HTML我是把canvas嵌套在view里并被view设置idCSS把它给顶出去#canvas{position:fixed;top:-9999999999999rpx;}本文作者:小泽沐优声本文链接:https://www.cnblogs.com/ooo51o/p/12956678.html版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎2.5中国大陆许可协议进行许可。
- 【嵌入式Bluetooth应用开发笔记】第二篇:上手BLUEZ应用开发
林零七
蓝牙开发笔记bluezBluetoothlinuxdbusgdbus
概述BlueZ是一个开源的蓝牙协议栈,提供了丰富的API和工具,支持Linux系统中的蓝牙应用开发。BlueZ提供的API包括D-BusAPI、HCIAPI、L2CAPAPI、RFCOMMAPI、SDPAPI、MGMTAPI等,开发者可以使用这些API实现自己的蓝牙应用程序。BlueZ的架构由多个模块组成,其中主要的模块包括蓝牙协议栈(BluetoothStack)、蓝牙管理器(Bluetooth
- 蓝牙协议栈BlueZ:Linux下的无线通信利器 /Linux
谢璋声Shirley
蓝牙协议栈BlueZ:Linux下的无线通信利器/LinuxbluezMyblueztree.项目地址:https://gitcode.com/gh_mirrors/bl/bluez项目基础介绍与编程语言BlueZ是一个专为Linux系统设计的蓝牙协议栈,自2000年起,由Qualcomm、MarcelHoltmann等贡献者持续维护与发展。此项目采用C作为主要编程语言,并辅以少量的Python代
- BlueZ - Linux平台上的蓝牙协议栈
邓越浪Henry
BlueZ-Linux平台上的蓝牙协议栈bluezMainBlueZtree项目地址:https://gitcode.com/gh_mirrors/blu/bluezBlueZ是一个开源项目,旨在为Linux平台提供蓝牙协议栈。该项目主要由C语言编写,是Linux系统中实现蓝牙功能的基石。1.项目基础介绍及主要编程语言BlueZ项目托管于GitHub上,源代码仓库地址为:https://githu
- 探秘BlueZ:Linux平台的蓝牙协议栈
司莹嫣Maude
探秘BlueZ:Linux平台的蓝牙协议栈bluezMainBlueZtree项目地址:https://gitcode.com/gh_mirrors/blu/bluezBlueZ是一个强大的开源项目,为Linux提供了全面的蓝牙协议栈支持,由QualcommIncorporated和MarcelHoltmann等开发人员精心打造。它不仅提供了基础的蓝牙功能,还包括了对嵌入式系统和最新蓝牙Mesh的
- 深入解析 BlueZ:Linux 蓝牙协议栈架构、组件与使用
大门口的猴子
驱动开发系统架构信息与通信运维linux
1.引言BlueZ是Linux官方的Bluetooth(蓝牙)协议栈,提供了完整的Bluetooth支持,包括ClassicBluetooth和BluetoothLowEnergy(BLE)。BlueZ由多个组件组成,各组件协同工作,实现Bluetooth设备的发现、配对、连接、数据传输等功能。本文将深入解析BlueZ的架构、各组件的功能、它们之间的关系,以及如何使用这些组件进行Bluetooth
- 访问网页的全过程(从输入网址到页面展示)
重生之我在成电转码
java八股计算机网络
访问网页的全过程(从输入网址到页面展示)当你在浏览器中输入网址(如https://www.example.com)并按下回车后,会经历以下主要步骤,最终在屏幕上显示网页内容。整个过程可以分为DNS解析、TCP连接、HTTP请求、服务器处理、页面渲染等几个关键阶段。1.URL解析与协议检查解析URL:浏览器解析你输入的URL,提取以下部分:协议:http或https。域名:www.example.c
- 如何确保爬虫遵守1688的使用协议
Jason-河山
爬虫
在使用爬虫技术调用1688开放平台的API接口时,确保爬虫遵守平台的使用协议至关重要。这不仅有助于避免法律风险,还能确保数据获取行为的合规性和道德性。以下是确保爬虫遵守1688使用协议的具体方法和注意事项:一、遵守法律法规合法使用数据:确保爬取的数据仅用于合法目的,不得用于任何违法违规的活动。尊重隐私和商业机密:在处理返回的数据时,注意保护用户隐私和商业机密,避免泄露敏感信息。二、合理控制调用频率
- 实现自定义弹窗鸿蒙示例代码
本文原创发布在华为开发者社区。介绍本示例基于Navigation实现以下四种自定义弹窗。用户隐私协议弹窗切换页面弹窗不消失半模态弹窗动态半模态弹窗实现自定义弹窗源码链接效果预览使用说明点击“隐私协议”按钮,会从下往上弹出用户隐私协议。点击“切换页面弹窗不消失”按钮,会弹出弹窗,点击弹窗上的“新页面”按钮,切换到新的页面。点击“半模态弹窗”,跳到新页面,点击“打开弹窗”,弹出半屏弹窗。点击“新弹窗”
- uniapp websocket实现数据实时更新
jonychen1
websocketweb推送uniapp
近期个人在使用uniapp开发一款实时图表的项目,因为涉及到数据的实时刷新,所以起初是考虑使用轮询来实现。不过一旦数据量大起来后,轮询对客户端和服务端的压力都比较大,导致使用轮询的扩展性不佳。搜索了一遍,很多开发者建议使用websocket来实现数据的实时更新。什么是websocketWebSocket是Html5定义的一个新协议,与传统的http协议不同,该协议可以实现服务器与客户端之间全双工通
- Spring Boot 消息队列(以RabbitMQ为例)
珠峰日记
java-rabbitmqspringbootrabbitmq
文章目录RabbitMQ简介与安装1.RabbitMQ简介2.RabbitMQ安装SpringBoot集成RabbitMQ1.创建SpringBoot项目2.配置RabbitMQ3.定义消息队列和交换机4.发送消息5.接收消息6.测试消息发送和接收RabbitMQ简介与安装1.RabbitMQ简介RabbitMQ是一个开源的消息代理和队列服务器,基于AMQP(高级消息队列协议)实现。它具有以下特点
- 使用 Spring Boot 实现前后端分离的海康威视 SDK 视频监控
William Dawson
springboot
使用SpringBoot实现前后端分离的海康威视SDK视频监控系统,可以分为以下几个步骤:1.系统架构设计前端:使用Vue.js、React或Angular等前端框架实现用户界面。后端:使用SpringBoot提供RESTfulAPI,负责与海康威视SDK交互。通信:前后端通过HTTP/WebSocket进行通信。视频流:通过海康威视SDK获取视频流,并使用RTSP/RTMP/HLS等协议推送到前
- 什么是TiDB,什么是分布式数据库?它和 MySQL 比优缺点是什么?
蒂法就是我
数据库tidb分布式
TiDB简介与分布式数据库概念一、什么是分布式数据库?分布式数据库是一种将数据分散存储在多个物理节点上的数据库系统,通过分布式架构实现水平扩展、高可用性和容错能力。核心特点包括:数据分片(Sharding):将数据划分为多个分片,分布到不同节点。多副本冗余:每个分片存储多个副本,确保数据安全与高可用。分布式事务:支持跨节点的ACID事务(如两阶段提交、Percolator协议)。透明访问:用户无需
- 超实用计算机网络面试题,快来学习一下
优人ovo
计算机网络学习
引言计算机网络作为程序员的内功,不仅要做到深入理解,面试题也要详细掌握,跟着作者的节奏好好复盘一下吧1.OSI模型和TCP/IP模型的区别是什么?各层的主要功能是什么?考察点:网络分层架构、协议栈理解答案方向:OSI分为7层(物理层→数据链路层→网络层→传输层→会话层→表示层→应用层),TCP/IP简化为4层(网络接口层→网络层→传输层→应用层)。关键区别:OSI是理论模型,TCP/IP是实际工业
- OpenFlow 流表项
漫谈网络
网络技术进阶通途openflowsdn网络
OpenFlow的流表项(FlowEntry)是交换机数据转发的核心规则,定义了如何匹配和处理数据包。以下是流表项的详细组成、工作机制及其在不同OpenFlow版本中的演进:一、流表项的核心组成每个流表项由以下关键字段构成(以OpenFlow1.3为主):字段说明MatchFields匹配数据包头部的条件(如MAC/IP地址、端口、协议类型等)。Priority优先级值,决定流表项的匹配顺序(值越
- 盛讯美恒usbserver ukey本机 rpa自动化配置与使用
孤独的程序员dis1500
usbserver行业应用rpa自动化运维
1.启动rpa客户端配置2.启动本地自动化服务3.调用本地http协议接口管理盛讯美恒远程usbserver端口设备功能:http://localhost:8001/usbapi/usbpower端口上电断电http://localhost:8001/usbapi/sync/connectusb设备连接断开http://localhost:8001/usbapi/getDeviceList获取设备
- llama-factory生成Meta-Llama-3-8B-Instruct模型api服务
码不动了鸭
llama人工智能transformer
使用llama-factory完成模型的微调训练后,需要开启其api服务进行调用,参考官方https://github.com/hiyouga/LLaMA-Factory/blob/main/examples/inference/llama3_lora_sft.yaml中的内容进行改写API实现的标准是参考了OpenAI的相关接口协议,基于uvicorn服务框架进行开发,使用如下的方式启动:下述为
- 算法系列之数据结构-Huffman树
修己xj
算法算法数据结构java
在数据压缩领域,Huffman编码是一种经典的无损压缩算法,而Huffman树则是实现这种编码的关键数据结构。它以其高效性和简洁性被广泛应用于各种场景,从文件压缩到通信协议,都离不开Huffman树的身影。本文将深入探讨Huffman树的原理、构建过程以及其Java如何实现Huffman树。Huffman树的构建步骤Huffman树(哈夫曼树)又称最优二叉树,是一种带权路径长度最短的二叉树,常用于
- 什么是云互联网
云计算网络
云互联网并非一个孤立的全新概念,它融合了云计算与互联网的特性,以一种创新的架构模式为用户提供服务。简单来说,云互联网是借助云计算技术,对传统互联网的架构、功能以及服务模式进行深度拓展与优化,让信息的存储、传输和处理都在云端大规模数据中心的支持下完成,从而为用户提供更加便捷、高效、灵活且个性化的互联网服务体验。传统互联网侧重于将分散在全球的计算机通过网络协议连接起来,实现信息的传输与共享。而云互联网
- Github 2025-03-07 Java开源项目日报Top7
老孙正经胡说
githubjava开源Github趋势分析开源项目PythonGolang
根据GithubTrendings的统计,今日(2025-03-07统计)共有7个项目上榜。根据开发语言中项目的数量,汇总情况如下:开发语言项目数量Java项目7TypeScript项目1Ruby项目1Java实现的算法集合:使用Gitpod.io进行编辑和贡献创建周期:2883天开发语言:Java协议类型:MITLicenseStar数量:57266个Fork数量:18692次关注人数:5726
- Github 2025-03-02 php开源项目日报Top10
老孙正经胡说
githubphp开源Github趋势分析开源项目PythonGolang
根据GithubTrendings的统计,今日(2025-03-02统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下:开发语言项目数量PHP项目10Blade项目1JavaScript项目1Nextcloud服务器:安全的数据之家创建周期:2796天开发语言:PHP,JavaScript协议类型:GNUAfferoGeneralPublicLicensev3.0Star数量:248
- Github 2024-07-12 Java开源项目日报Top10
老孙正经胡说
githubjava开源Github趋势分析开源项目PythonGolang
根据GithubTrendings的统计,今日(2024-07-12统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下:开发语言项目数量Java项目10Android开源轻量级流媒体前端创建周期:3158天开发语言:Java协议类型:GNUGeneralPublicLicensev3.0Star数量:28641个Fork数量:2896次关注人数:28641人贡献人数:312人Open
- 简要分析Netlink协议
TJ_Dream
基础内核函数分析网络
Netlink协议是Linux内核中用于内核态与用户态进程间通信(IPC)的一种机制,基于套接字的通信接口,提供高效、灵活的双向数据传输能力,常用于内核模块与用户程序之间的实时交互。Netlink协议的核心内容协议基础通信模式:基于消息的通信,支持单播(unicast)、多播(multicast)和广播。协议族(Family)Netlink不是单一协议,而是一组协议族,每个协议族通过唯一的协议号(
- Github 2025-03-06 Go开源项目日报 Top10
老孙正经胡说
githubgolang开源Github趋势分析开源项目PythonGolang
根据GithubTrendings的统计,今日(2025-03-06统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下:开发语言项目数量Go项目10Terraform:基础设施即代码的开源工具创建周期:3626天开发语言:Go协议类型:OtherStar数量:40393个Fork数量:9397次关注人数:40393人贡献人数:358人OpenIssues数量:1943个Github地
- 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