- 分层架构 IM 系统之消息收发功能设计与实现
棕生
IM系统分层架构IM系统分层架构消息收发生产消息阶段推送消息阶段确认消息阶段电话模型
“消息收发”是IM系统最最核心的业务逻辑模块,本篇文章是整个“分层架构IM系统”的核心!IM,即“即时通讯”,要求消息具备“及时性”和“可靠性”:及时性,要求消息的收发需要很低的延时,在线双方通过消息交流时,没有明显的滞后感。可靠性,要求消息不能丢失;对于消息发送方来说,只要消息发送成功了,消息就会一直存在服务端,不会丢失(除非因产品策略,删除久远的历史消息);对于服务端来说,只要接收方在线,一定
- C++面试知识点总结
Ivy_belief
面试必备c++面试开发语言
目录1、面向对象(OO)编程的基本原则:SOLID原则2、面向对象四大基本特性3、重载与覆盖的区别4、谈一下虚函数;4.1为什么析构函数是虚函数?4.2而构造函数不能为虚函数?5、四种强制转换6、C++11新特性7、C++14新特性:在C++11基础上做了小改动8、C++17新特性:9、指针和引用:面向对象编程思想(OOP)1、面向对象(OO)编程的基本原则:SOLID原则(1)单一职责原则;S:
- Java高频面试之SE-11
牛马baby
java面试python
hello啊,各位观众姥爷们!!!本牛马baby今天又来了!哈哈哈哈哈嗝Java中是引用传递还是值传递?在Java中,方法参数传递是通过值传递的方式实现的,但这可能会引起一些误解,尤其是在处理引用类型(对象)时。为了更好地理解这一点,让我们详细探讨一下:1.基本数据类型对于基本数据类型(如int、float、char等),Java采用值传递的方式。这意味着:当你将一个基本数据类型的变量作为参数传递
- IT人应该学的厚黑学
wenhuihhwh
杂文工作生活教育电话网络游戏游戏
教你怎样混社会很多人混到现在一事无成,或自认为一事无成。还有很多人混到现在感觉很失败,或不成功。还有很多人混到现在就觉得过得没意思,过得很机械,过得已经不会思考和心动。我们羡慕着社会上每一个成功人士,羡慕着身边的有钱人,羡慕着身边每一辆呼啸而过的名车。我们时常有这样的念头:他妈的,我怎么混得这么差?是啊,我怎么会混得这么差?当年班里(周围)不如我的那个家伙怎么现在这么发达?收起你酸酸的目光,让我来
- pycharm2021.1 突然打不开解决办法以及破解方法
小树苗啦
pycharm
之前pycharm用得好好的,突然打不开了,从网上找了各种方法,都不能解决,最后通过删除pycharm.vmoptions文件解决,具体方法如下:1.找到存放pycharm.vmoptions的路径,一般是在/Users/{替换成自己的用户名}/Library/ApplicationSupport/JetBrains/PyCharm2021.1注:cd到ApplicationSupport时提示找
- c语言编程题经典100例——(96~100例)
十启树
C语言技术c语言开发语言
1,写一个函数,从键盘输入两个整数,计算它们的和并输出。从键盘输入两个整数,计算它们的商并输出:#includevoidcalculate_quotient(){intnum1,num2,quotient;printf("请输入两个整数:\n");scanf("%d%d",&num1,&num2);if(num2==0){printf("除数不能为0,请重新输入\n");}else{quotien
- 前端大文件OSS上传注意事项
前端
大文件上传是一个比较重要的交互场景,如上传入库比较大的Excel表格数据、上传影音文件等。如果文件体积比较大,或者网络条件不好时,上传的时间会比较长(要传输更多的报文,丢包重传的概率也更大),用户不能刷新页面,只能耐心等待请求完成。1.利用上传控件inputtype="file"绑定一个change事件,在回调中通过事件对象的e.target.files拿到这个文件对象,进行文件对象的slice方
- Python的元组和字典
汤姆666
测试工具测试软件测试python
1.元组Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。格式:变量名=(,,,,)案例aTuple=(23,35,56,34,11,21)1.1访问元组通过索引取数据索引值存在aTuple=(23,35,56,34,11,21)print(aTuple[2])结果561.2查询个数count查询出现的个数aTuple=('b','c','d','e',
- 产生式系统实验头歌实验测试不通过解决(人工智能)
兜里没有一毛钱
人工智能pythonnumpy数据分析人工智能机器学习
任务描述本关任务:编写一个使用产生式方法识别动物的系统。编程要求根据提示,在右侧编辑器补充代码,完成产生式系统——动物识别系统的操作,最后达到输入动物特征,输出动物类型的结果。特别说明在这个实验中,存在一个实验现象,就是你的自测运行输出结果与实验要求输出结果一模一样也不能通过,为什么呢?答:这个不知道算不算是头歌实验平台存在bug,一般我们在编写程序代码中,要求格式都是英文格式,但是在这个实验测试
- 垃圾佬-万兆网络整体改造
FUNNET超有趣
网络网络协议网络安全
1.需求1)服务器硬盘偶尔出现故障,需要硬盘冗余2)某台服务器需要大量的硬盘空间,有些服务器又不需要大硬盘,硬盘使用不够充分3)手工调整CPU、内存资源,需要进行迁移虚拟机环境,往往迁移就要一个多小时4)某台服务器挂掉,不能迅速启用。5)折腾使用快乐。。。。服务器插内存2.拓扑3.购买设备网络万兆升级、服务器万兆网卡、服务器购买。在预算有限情况精力做到满足需求的基础上做到未来可扩容。3.1.万兆交
- 《利用python进行数据分析》——3.1数据结构和序列——元组、列表、字典、集合——读书笔记
pillow_L
python数据分析
第3章Python的数据结构、函数和文件3.1数据结构和序列Python中常见的数据结构可以统称为容器。序列(如列表和元组)、映射(如字典)以及集合(set)是三类主要的容器。1.元组——tuple元组是一个固定长度,不可改变的Python序列对象。元组与列表一样,也是一种序列,唯一不同的是元组不能被修改(字符串其实也有这种特点)元组Tuple,一经初始化,就不能修改,没有列表List中的appe
- Python基础06(字符串格式化/操作方法)
XYX的Blog
Pythonpython开发语言
字符串在Python中,字符串属于不可变有序序列,使用单引号、双引号、三单引号或三双引号作为定界符,并且不同的定界符之间可以互相嵌套。除了支持序列通用方法(包括双向索引、比较大小、计算长度、元素访问、切片、成员测试等操作)以外,字符串类型还支持一些特有的操作方法,例如字符串格式化、查找、替换、排版等等。字符串属于不可变序列,不能直接对字符串对象进行元素增加、修改与删除等操作,切片操作也只能访问其中
- JS中const有没有变量提升
lvbb66
javascript前端开发语言
在JavaScript中,const关键字用于声明一个只读的常量,其值在初始化后不能被重新赋值。关于变量提升(Hoisting),它是JavaScript中一个重要的概念,指的是无论变量或函数声明在何处,它们都会被“提升”到其所在作用域的最顶部。但是,这个规则不完全适用于const和let声明的变量。变量提升(Hoisting)的传统理解在ES6之前,JavaScript只有var关键字用于声明变
- 第五篇 vue3 ref 与 reactive 对比
小画家~
前端vue.js
ref若需要自动加载.value,那么就要在底部菜单中设置选项选择vue勾选:AutoInsert:DotValueAuto-completeRefvaluewith`.value`.注意点:ref不能写越过value.必须要在valeu前面进行定义通过reactive来修改整体名称的值letcarad=reactive({brand:"小汽车",price:"1888"})//通过reactiv
- python窗体设计插件_Python 界面生成器 wxFormBuilder 的入门使用(wxPython的界面设计工具的初学笔记)...
黎边
python窗体设计插件
环境,Win10,python3.7.3,wxPython4.0.4,wxFormBuilder3.91、准备一个窗体。点击wxformbuilder上方的标签“forms”,并点击标签下方的第一个类似窗体的图标“Frame”然后,下面就会出现一个窗体。但是现在还不能直接往窗体上添加各种控件。咱们还需要给窗体添加布局器BoxSizer。2、添加布局器点击wxformbuilder上方的标签“Lay
- Servlet中配置和使用过滤器
一只蜗牛儿
servlethivehadoop
在Servlet中,过滤器(Filter)是一种用于在请求到达Servlet或响应返回到客户端之前进行处理的机制。过滤器可以用于多种功能,如身份验证、日志记录、性能监控、输入输出编码转换等。1.什么是Servlet过滤器?过滤器是一个接口,允许我们在请求和响应链中对请求进行处理或者修改响应。过滤器可以在请求到达Servlet前、响应返回客户端前对请求和响应进行处理。过滤器本身不能直接处理请求和响应
- IOS开发之沙盒机制和文件操作
liudongshizhang
IOS开发
引用于https://www.jianshu.com/p/d1715cad3d00沙盒也叫沙箱,英文standbox,其原理是通过重定向技术,把程序生成和修改的文件定向到自身文件夹中。每个iOS应用程序在安装时,都会创建属于自己的沙盒文件,应用程序不能直接访问其他应用程序的沙盒文件,当应用程序需要向外部请求或接收数据时,都需要经过权限认证,否则,无法获取到数据。即在沙盒机制下,每个程序之间的文件夹
- VSCODE SSH远程连接报错或无法联网安装.vscode-server
w_melody
IDE篇vscodesshide
问题问题1:"无法与SSH建立连接:XHRFailed"解决篇在有网得情况下ssh连接总是提示如下:问题2:远程linux环境无法联网,不能在线下载解决办法分析:根据报错显示,正在下载“VSCodeserverlocally”时出错,有可能是网络的原因导致服务器端下载出错,解决思路就是手动下载.vscode-server需要得包到服务器执行步骤:1)打开宿主机vscode->帮助->关于选中复制(
- 华为OD机试2024年E卷-补种未成活胡杨[100分]( Java | Python3 | C++ | C语言 | JsNode | Go)实现100%通过率
梅花C
华为OD题库华为od
题目描述近些年来,我国防沙治沙取得显著成果。某沙漠新种植N棵胡杨(编号1-N),排成一排。一个月后,有M棵胡杨未能成活。现可补种胡杨K棵,请问如何补种(只能补种,不能新种),可以得到最多的连续胡杨树?输入描述N总种植数量M未成活胡杨数量M个空格分隔的数,按编号从小到大排列K最多可以补种的数量其中:1<=N<=1000001<=M<=N0<=K<=M输出描述最多的连续胡杨棵树示例1输入52241输出
- 华为OD机试真题---补种未成活胡杨
努力努力再努力呐
算法数据结构华为odjava开发语言算法数据结构
一、题目描述近些年来,我国防沙治沙取得显著成果。某沙漠新种植N棵胡杨(编号1~N),排成一排。一个月后,有M棵胡杨未能成活。现可补种胡杨K棵,请问如何补种(只能补种,不能新种),可以得到最多的连续胡杨树?输入描述:N:总种植数量,1queue=newLinkedListK){intdeadIndex=queue.poll();left=deadIndex+1;}maxContinuous=Math
- 华为OD机试E卷 - 补种未成活胡杨(Java & Python& JS & C++ & C )
算法大师
最新华为OD机试java华为odpythonc语言c++javascript华为OD机试E卷
最新华为OD机试真题目录:点击查看目录华为OD面试真题精选:点击立即查看题目描述近些年来,我国防沙治沙取得显著成果。某沙漠新种植N棵胡杨(编号1-N),排成一排。一个月后,有M棵胡杨未能成活。现可补种胡杨K棵,请问如何补种(只能补种,不能新种),可以得到最多的连续胡杨树?输入描述N总种植数量,1<=N<=100000M未成活胡杨数量,M个空格分隔的数,按编号从小到大排列,1<=M<=NK最多可以补
- c/c++ 左值右值
Tiantangbujimo7
基础c语言c++java
左值(Lvalue):定义:表达式结束后依然存在的持久对象。有名字、有持久性的表达式,它是既能够出现在等号左边,也能出现在等号右边的变量。右值(Rvalue):定义:表达式结束后就不再存在的临时对象。临时的、将亡的值。一般是不可寻址的常量,或在表达式求值过程中创建的无名临时对象,短暂性的。左值和右值主要的区别之一是左值可以被修改,而右值不能。intnumber;number=1在这段代码中numb
- 软件工程的本质特征
夏旭泽
软件工程
1、软件工程关注于大型程序的构造2、软件工程的中心课题是控制复杂性软件所解决的问题十分复杂,通常不得不把问题分解,使得分解出的每个部分是可以理解的,而各个部分之间保持简单的通信关系。这并不能降低问题的整体复杂性,但是却可使它变得可以管理。3、软件经常变化软件系统交付使用后仍然需要耗费成本,而且在开发过程中必须考虑吧软件将来可能的变化。4、开发软件的效率非常重要软件工程的一个重要课题就是,寻求开发与
- mysql timestamp 插入null报错_mysql TIMESTAMP 设置为可NULL字段
白咸明
mysqltimestamp插入null报错
今天遇到问题是mysql新建表的时候TIMESTAMP类型的字段默认是NOTNULL然后上网查了一下发现很多都说就是不能为NULL的这都什么心态其实设置为空很简单只要在字段后面加上NULL就行了eg.CREATETABLE`TestTable`(Column1INTNOTNULLCOMMENT'Column1',Column2TIMESTAMPNULLCOMMENT'Column2',PRIMAR
- ReactNative
青岑lw
JS库react-native
接触ReactNative也已经一段时间了,把自己遇到的一些问题总结出来希望能帮助到正在踩坑的人。ListViewListView是RN中的使用频率非常高的组件,问题却也层出不穷,FlatList等列表组件类似。首先是row中的视图不能随着state或Mobx而实时更新,如果把样式绑定到state中使用this.setState()方法更改数据后会发现,更改数据后视图无法更改,只有新渲染的row才
- Dockerfile -> Docker image -> Docker container
BILLY BILLY
开发必备工具docker
1.Dockfile->Dockerimagedockerbuild-tshuai_image-fxxx/xxx/Dockerfile.(.不能少)出现:[+]Buildingxxx(10/17)=>[internal]loadbuilddefinitionfromDockerfile=>=>transferringdockerfile:…=>=>transferringcontext=>CACH
- 温度保险丝在安装时还需要注意这些?
深圳市顺海科技有限公司
被动元器件电子元器件贴片电容电感保护器件原厂授权一级代理商代理商
被动元器件,保护器件,特殊电阻,采样电阻,电流检测电阻--顺海科技:廖先生温度保险丝一、安装注意事项:1、当使用引线被弯曲,该距离应是弯曲超过6毫米根构件;当弯曲时,不能破坏根部和引线不能被强行拉,推,扭线。2、引线焊接完成时,应将通过加热温度条件限制在最小,注意我们不得在热熔断体上加一个高温;不得强行牵拉、按压、扭拧热熔断体和引线;焊接工作完毕后,应立即冷却30秒以上。3、连接构件应该能够在电器
- 2024年华为OD机试真题- 英文输入法-(C++/Java/python)-OD统一考试(C卷D卷)
dijkstra2023
华为odc++pythonjava
题目描述主管期望你来实现英文输入法单词联想功能,需求如下:依据用户输入的单词前缀,从已输入的英文语句中联想出用户想输入的单词。按字典序输出联想到的单词序列,如果联想不到,请输出用户输入的单词前缀。注意英文单词联想时区分大小写缩略形式如"don’t"判定为两个单词"don"和“t”输出的单词序列不能有重复单词,且只能是英文单词,不能有标点符号输入描述输入两行首行输入一段由英文单词word和标点构成的
- ThreadLocal
666HZ666
Springbootjavajvm开发语言
一、概念ThreadLocal并不是一个Thread,而是Thread的局部变量ThreadLocal为每个线程提供单独一份存储空间,具有线程隔离的效果,只有在线程内才能获取到对应的值,线程外则不能访问二、ThreadLocal工具类publicclassBaseContext{publicstaticThreadLocalthreadLocal=newThreadLocal<>();public
- 使用kubeadm搭建kubernetes单机master,亲测无异常(1)
2301_76238237
程序员kubernetes容器云原生
sudocat/sys/class/dmi/id/product_uuid//每台机器的uuid不能相同ifconfig-a//ip不能相同2.开放端口|协议|方向|端口范围|作用|使用者||—|—|—|—|—||TCP|入站|6443|KubernetesAPI服务器|所有组件||TCP|入站|2379-2380|etcd服务器客户端API|kube-apiserver,etcd||TCP|入站
- 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