- Hive SQL 精进系列:解锁 Hive SQL 中 KeyValue 函数的强大功能
进一步有进一步的欢喜
HiveSQL精进系列hivesqlhadoop
目录一、引言二、KeyValue函数基础2.1语法结构详解形式一:`keyvalue(string,[string,string,]string)`形式二:`keyvalue(string,string)`2.2参数详解2.3返回值规则三、丰富的应用场景3.1解析学生成绩信息3.2处理员工考勤数据3.3分析网站访问参数3.4提取设备配置信息四、使用注意事项4.1分隔符的准确性4.2空值处理4.3多
- 4A架构之间的关系和集成
chuixue24
架构设计架构
首先我们还是来看业务架构业务域,大家都知道在业务架构里面其实有三个核心的内容,一个是价值流,一个是业务能力,一个是业务流程。价值流往往就是顶端的流程,业务能力的分解往往是2~4级,对于详细的业务流程的分解往往就到了5~7级,只是原来在业务架构里面,我们没有太强调流程架构,实际上从架构的Y模型里面可以看到,在业务架构里面是有两个视角,一个就是业务能力的视角,一个是业务流程的视角。所以说我在这个地方专
- LeetCode 每日一题 2025/3/10-2025/3/16
alphaTao
Exerciseleetcode算法
记录了初步解题思路以及本地实现代码;并不一定为最优也希望大家能一起探讨一起进步目录3/102269.找到一个数字的K美丽值3/112012.数组美丽值求和3/123305.元音辅音字符串计数I3/133306.元音辅音字符串计数II3/143340.检查平衡字符串3/153110.字符串的分数3/162272.最大波动的子字符串3/102269.找到一个数字的K美丽值依次判断defdivisorS
- 计算机二级c语言选择题1
xu_hhh_
计算机二级c语言选择题c语言开发语言
c语言源程序后缀:.c计算机能执行的程序:可执行程序c语言主要借助定义函数实现模块化结构化算法可以解决任何复杂的问题高级语言都有与之对应的编译程序或解释程序用任何一种计算机高级语言都可以把算法转换为程序计算机不可以直接执行由任意高级语言编写的程序c语言常量:(1)字符可以有两个eg:‘72’(如果单引号里面的字符有多个,以最后一个为准,打印时只打印最后一个)(2)1.2e0.5e后面不能为小数,必
- 工厂方法模式的C++实现示例
香菇滑稽之谈
C++笔记工厂方法模式c++设计模式
核心思想工厂方法模式是一种创建型设计模式,它定义了一个用于创建对象的接口,但让子类决定实例化哪一个类。工厂方法模式将对象的实例化过程推迟到子类,从而使得子类可以根据需要决定创建哪种对象。**Product:**定义产品的接口。**ConcreteProduct:**实现Product接口,是具体的产品。**Factory:**定义工厂方法,返回一个Product对象。**ConcreteFacto
- 新兴技术对 TCP/IP 链路层性能提升的影响研究
wire290
网络
目录软件定义网络(SDN)对链路层性能的优化灵活的流量调度快速的故障恢复网络功能虚拟化(NFV)在链路层的优势体现降低硬件成本与灵活部署提升资源利用率5G技术对链路层的革命性影响超高速率与低延迟传输海量连接支持在数字化时代浪潮中,网络技术日新月异,新兴技术不断涌现。这些技术正逐步渗透到TCP/IP协议栈的各个层面,其中链路层作为网络通信的基础,受到的影响尤为显著。从提升传输速率到增强网络稳定性,新
- Spring Cloud Security 实战,退出登录时如何借助外力使JWT令牌失效?
敲代码的程序狗
Java程序员java程序员springcloudspring
今天这篇文章介绍一下如何在修改密码、修改权限、注销等场景下使JWT失效。文章的目录如下:解决方案JWT最大的一个优势在于它是无状态的,自身包含了认证鉴权所需要的所有信息,服务器端无需对其存储,从而给服务器减少了存储开销。但是无状态引出的问题也是可想而知的,它无法作废未过期的JWT。举例说明注销场景下,就传统的cookie/session认证机制,只需要把存在服务器端的session删掉就OK了。但
- RabbitMQ相关的面试题
努力的搬砖人.
javarabbitmq后端
以下是150道RabbitMQ相关的面试题及简洁回答:RabbitMQ基础概念1.什么是RabbitMQ?RabbitMQ是一个开源的AMQP(高级消息队列协议)实现,用于在分布式系统中进行消息传递和通信。它允许应用程序通过网络发送和接收消息,实现异步处理、解耦合和扩展性。RabbitMQ使用Erlang语言开发,具有高可用性和容错性,适用于各种规模的应用程序。2.RabbitMQ的核心组件有哪些
- Linux运维(七)Linux Shell脚本编程:从“Hello World”到“万能脚本大师”
带上一无所知的我
运维linux
LinuxShell脚本编程:从“HelloWorld”到“万能脚本大师”引言如果你还在用鼠标点来点去,那你可能还没体会到Shell脚本的魅力。Shell脚本就像是Linux世界的“魔法咒语”,只需几行代码,就能让系统乖乖听你的话。今天,我们从“HelloWorld”开始,一步步升级到“万能脚本大师”,让你在Linux的世界里呼风唤雨!第一章:HelloWorld!——脚本的起点1.第一个脚本创建
- (二)Reactor核心-前置知识1
糖心何包蛋爱编程
响应式编程java响应式编程Lambda表达式干货分享
本章是Reactor核心-前置知识(第一期),主要讲解Lambda表达式。回忆上一章我们学习了什么是响应式编程、基础概念、必读知识。一篇文章我不想写得太长了,文章不像是视频或者图片比较生动,文章太长了容易犯困。所以我直接上干货,能插图的地方我尽量插图,希望您能坚持看完。觉得有用的话点赞加藏关注,这就是我文思泉涌的动力。一、lambda表达式Lambda表达式是Java8引入的一个重要特性,它是一种
- 只用过传统搜索方式?来试试url持久化搜索
Mebius1916
前端开发javascript前端前端框架react.jsvue.js
本文为开发开源项目的真实开发经历,感兴趣的可以来给我的项目点个star,谢谢啦~具体博文介绍:开源|Documind协同文档(接入deepseek-r1、支持实时聊天)Documind一个支持实时聊天和接入-掘金传统搜索方式从搜索框拿到数据后直接传给后端查询import{NextResponse}from'next/server';exportasyncfunctionPOST(request:R
- 瓷的史诗:7000年窑火中的文明基因与全球共振
喝醉酒的小白
破万卷学习
目录瓷的史诗:7000年窑火中的文明基因与全球共振一、技术革命:从土到玉的嬗变(前5000年-1840年)二、中国篇:瓷的文明塑形(经济/文化/政治)三、全球篇:瓷的文明共振(技术/艺术/社会)四、沉船考古:瓷的全球航行实证五、现代性转化:瓷的文明重生六、学术前沿:瓷的物质文化研究结语:瓷的文明语法最出名?一、**宋代五大名窑:瓷器美学的天花板**二、**元青花:改写世界陶瓷史的里程碑**三、**
- 突破编程_C++_设计模式(抽象工厂模式)
breakthrough_01
突破编程_C++_设计模式c++设计模式抽象工厂模式
1抽象工厂的基本概念在C++中,抽象工厂(AbstractFactory)提供了一种方式来封装一系列相互关联或相互依赖的对象创建过程,而无需指定它们具体的类。抽象工厂模式允许客户端代码使用抽象接口来创建一系列相关的对象,而无需了解这些对象的具体实现。抽象工厂模式通常包含以下几个组成部分:(1)抽象工厂(AbstractFactory):这是一个接口或抽象类,它声明了创建一系列相关对象的方法。这些方
- SpringBoot2.0实战 | 第二十八章:整合SpringSecurity之前后端分离使用JWT实现登录鉴权
死牛胖子
#SpringBootspringBootspringSecurityjwttokenmybatis
在前面的文章中,我们已经使用token实现前后端分离的系统登录及访问鉴权。第二十四章:整合SpringSecurity之最简登录及方法鉴权第二十五章:整合SpringSecurity之基于数据库实现登录鉴权第二十六章:整合SpringSecurity之前后端分离使用JSON格式交互第二十七章:整合SpringSecurity之前后端分离使用Token实现登录鉴权登录成功后,服务端会生成一个toke
- 设计模式2之c++抽象工厂模式(示例代码)
小激动. Caim
设计模式设计模式c++抽象工厂模式
抽象工厂模式(AbstractFactoryPattern)是一种创建型设计模式,它提供了一种创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。在抽象工厂模式中,一个工厂类可以创建多个产品族,每个产品族包含多个产品。抽象工厂模式的角色:抽象工厂(AbstractFactory):定义了创建产品族的接口。具体工厂(ConcreteFactory):实现抽象工厂接口,创建具体产品。抽象产品(
- 如何解决 Babel 转译失败的问题?
几何心凉
前端入门之旅前端javascript
聚沙成塔·每天进步一点点本文回顾⭐专栏简介如何解决Babel转译失败的问题?1.常见的Babel转译失败问题1.1缺少必要的Babel插件或预设问题描述错误示例解决方案1.2Babel配置错误问题描述解决方案1.3缺少Babel运行时(BabelRuntime)问题描述解决方案1.4不兼容的插件或版本冲突问题描述错误示例解决方案1.5转译代码中的语法错误问题描述错误示例解决方案2.调试Babel转
- 抽象工厂模式实现(C++)
HqsHack
抽象工厂模式c++java
抽象工厂模式是一种创建型设计模式,它提供了一种将相关对象组合起来创建的方式,而无需指定具体实现类。该模式通过定义抽象工厂和一组具体工厂来实现,每个具体工厂都负责创建一组相关的对象。在这篇文章中,我们将使用C++编程语言来实现抽象工厂模式。我们将创建一个汽车制造工厂的示例,其中包括两个具体工厂:Toyota工厂和BMW工厂。每个工厂都负责生产一种类型的汽车:Toyota工厂生产丰田汽车,BMW工厂生
- Web 开发都需要学什么?
Duiz33237
前端html5css3web
Web开发是指开发和构建用于互联网的网站和应用程序的过程。它涉及使用各种编程语言、框架和技术来创建功能丰富、用户友好的网站和应用程序。常见的web开发技术包括HTML、CSS和JavaScript。HTML用于创建网页的结构,CSS用于样式和布局,而JavaScript用于实现交互和动态效果。此外,还有许多其他的编程语言和框架,如Python、PHP、Ruby、React、Angular等,用于开
- Solana
倒霉男孩
Solana区块链web3
文章目录概要Solana的核心技术特点1.历史证明(ProofofHistory,PoH)2.混合共识机制3.低费用模型4.开发者生态5.存储模式Solanavs其他主流链的关键区别1.性能对比2.开发模型对比3.去中心化与安全性4.生态应用方向三、Solana的优缺点总结优势劣势概要Solana是近年来快速崛起的高性能区块链平台,其核心设计目标是通过技术创新突破传统区块链的性能瓶颈(如以太坊的低
- Java程序开发之Spring Security实战:JWT实现登录鉴权
微风不留尘
javajavaspringjava入门springsecurity
一、JWT与安全认证核心原理1.JWT结构解析Header(头部){"alg":"HS256","typ":"JWT"}Payload(负载){"sub":"user123","exp":1680403200,"roles":["USER","ADMIN"]}Signature(签名)HMACSHA256(base64UrlEncode(header)+"."+base64UrlEncode(pa
- Python-自定义装饰器
玉米丛里吃过亏
python装饰器
什么是装饰器?装饰器本质是一个函数,它可以在不改变原来的函数的基础上额外的增加一些功能。如常见的@classmethod,@staticmethod等都是装饰器,接下来记录下如何自定义个装饰器:刚刚说过了,装饰器的本质就是一个函数,所有想要自定义一个装饰器,首先自定义一个函数defdecorate(func):defwrapper(*args,**kwargs):print("定义一个装饰器")f
- 如何在Linux中查询 DNS 记录,这三个命令可谓是最常用、最经典的三剑客
wljslmz
Linux技术linux运维服务器DNS
在进入正题之前,先聊聊为什么我们需要检查DNS记录。DNS是互联网的基石,它负责把域名解析成IP地址,确保你的浏览器能找到目标服务器。如果DNS出问题,可能导致网站打不开、邮件发不出去,甚至某些服务完全瘫痪。在Linux终端检查DNS记录,可以帮你:诊断网络问题:网站访问不了?可能是DNS解析出了岔子。验证配置:刚设置好一个域名,想确认MX记录是否正确指向邮件服务器。学习和探索:搞清楚某个域名背后
- Python+Peewee 中 Model 操作的常见方法
爱搬砖的程序猿.
python数据库
Peewee是一个轻量级的PythonORM(对象关系映射)库,它允许开发者使用Python类和对象来与数据库进行交互。在Peewee中,Model是一个核心概念,代表数据库中的一张表,下面详细介绍Peewee中Model操作的常见方法。1.创建表(create_table)该方法用于在数据库中创建与Model类对应的物理表。frompeeweeimport*#连接SQLite数据库db=Sqli
- 贵重资产跟踪和监测领域的市场机会点
番茄老夫子
物联网
一、技术创新驱动带来的机会点随着全球卫星导航系统(GNSS)不断完善,如北斗系统的高精度定位服务愈发成熟,定位精度可达到亚米级甚至厘米级。在贵重资产运输,像高价值艺术品、精密医疗器械等领域,这种高精度定位能够实时精准掌握资产位置,防止运输途中的丢失与被盗风险,为资产所有者提供更高的安全保障,由此催生对高精度定位设备与服务的需求。室内定位技术,如基于蓝牙、Wi-Fi的定位方案不断优化,在大型仓库、物
- Python接入支付宝支付
I am not people
python开发语言
Python接入支付宝支付简介支付宝是一家早已在中国非常流行的在线支付服务提供商,近年来发展速度越来越快。由于支付宝提供的安全性和便利性,越来越多的用户开始在网站、移动应用程序等服务上使用支付宝支付,因此接入支付宝支付已成为许多业务的必要选择。在此文中,我们将介绍如何使用Python接入支付宝支付的基础步骤,包括:设置支付宝开发者帐号集成支付宝SDK创建支付请求向支付宝发起支付1.设置支付宝开发者
- python 自定义装饰器 详解
Panda_Boy_yi
pythonpython自定义装饰器
先看一个例子defdeco(func):print("beforemyfunc()called.")func()print("aftermyfunc()called.")returnfunc@decodefmyfunc():print("myfunc()called.")#myfunc=deco(myfunc)#与上面的@deco等价myfunc()print("***********")myfu
- bugku_简单的rsa
岁岁的O泡奶
python算法密码学bugkursa
简单的rsa题目:首先解压压缩包后会获得一个后缀为.pyc的文件要去一个把.pyc转换成.py的网站网站给你们了https://tool.lu/pyc/解压后发现p和q都给出来了那就非常简单了直接写脚本#导入库importgmpy2fromCrypto.Util.numberimportlong_to_bytes#已知参数p=0xED7FCFABD3C81C78E212323329DC1EE2BE
- install gdal in python
拙云
pythonGISpythongdalbuild
1.Preparespython27vcforpython27http://download.microsoft.com/download/7/9/6/796EF2E4-801B-4FC4-AB28-B59FBF6D907B/VCForPython27.msigdal1111sourcecode2.pre-installs2.1numpyinVisualC++2008commandprompt,r
- F4拉力赛(滑动窗口)
lanmaoki
华为算法题c++算法开发语言
题目描述F4拉力赛在一个环形公路上举行,主办方为了拉来更多赞助,在环形公路每间隔一米就设立一块广告牌。假设赛车的速度为x米/秒,请问赛车在一秒内经过最多数量的广告牌编号是什么?输入描述第一行输入一个数组,数组元素是环形公路上的广告牌编号,数组头尾元素可以认为相邻。输入格式见用例。数组长度最大1000000。数组元素是正整数不大于100。第二行输入赛车速度x米/秒。用例保证x不大于数组长度。输出描述
- ShadCN UI
酒江
ui
ShadCNUI是一个用于构建现代Web应用的开源UI组件库,旨在为开发者提供一组简洁、易于使用且高度可定制的组件。ShadCNUI提供了许多常见的UI元素(如按钮、表单、模态框等),并且具备良好的设计规范和开发支持,尤其适用于React项目。主要特点:基于TailwindCSS:ShadCNUI使用了TailwindCSS作为样式框架。这意味着它的所有组件都遵循Tailwind的utility-
- 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