- 【洛谷】P1886 滑动窗口 /【模板】单调队列
SSL_kyx
#队列数据结构队列单调性ssl算法
题目描述有一个长为nn的序列aa,以及一个大小为kk的窗口。现在这个从左边开始向右滑动,每次滑动一个单位,求出每次滑动后窗口中的最大值和最小值。例如:Thearrayis[1,3,−1,−3,5,3,6,7],and[1,3,-1,-3,5,3,6,7],and[1,3,−1,−3,5,3,6,7],andk=3k=3k=3。输入格式输入一共有两行,第一行有两个正整数n,k。第二行n个整数,表示序
- P1948 [USACO08JAN]Telephone Lines S
玦卿
二分双端队列c++
题目描述多年以后,笨笨长大了,成为了电话线布置师。由于地震使得某市的电话线全部损坏,笨笨是负责接到震中市的负责人。该市周围分布着1#include#include#include#include#include#include#includeusingnamespacestd;inlineintread(){intw=0,f=1;charch=getchar();while(ch'9'){if(c
- [USACO08OCT] Bovine Bones G
拼命鼠鼠
刷题记录算法
[USACO08OCT]BovineBonesG题面翻译贝茜喜欢玩棋盘游戏和角色扮演游戏,所以她说服了约翰开车带她去小商店.在那里她买了三个骰子。这三个不同的骰子的面数分别为s1,s2,s3s_1,s_2,s_3s1,s2,s3。对于一个有SSS个面的骰子每个面上的数字是1,2,3,…,S1,2,3,\ldots,S1,2,3,…,S。每个面(上的数字)出现的概率均等。贝茜希望找出在所有“三个面上
- 单调队列C++(Acwing)
shady1972
c++算法数据结构
代码:#includeusingnamespacestd;constintN=1000010;intn,k;inta[N],q[N];intmain(){scanf("%d%d",&n,&k);for(inti=0;iq[hh])hh++;while(hha[i])tt--;q[++tt]=i;if(i>=k-1)printf("%d",a[q[hh]]);}puts("");hh=0,tt=-1
- 上岸算法 | LeetCode Weekly Contest 第 256 场周赛解题报告
上岸算法
【NO.1学生分数的最小差值】解题思路排序,然后枚举每连续的K个元素即可。代码展示classSolution{publicintminimumDifference(int[]nums,intk){if(nums.length{if(a.length()!=b.length()){returnb.length()-a.length();}for(inti=0;i=0){returnmem[i];}m
- 【洛谷题解】P1134 [USACO3.2] 阶乘问题
杨智123
算法数据结构
题目链接:[USACO3.2]阶乘问题-洛谷题目难度:普及/提高-涉及知识点:阶乘,取模题意:输入样例:12输出样例:6分析:先计算n的阶乘,再判断,最后输出AC代码:#includeusingnamespacestd;intmain(){inta;longlongsum=1;//赋初始值ios::sync_with_stdio(false);//加快cin,coutcin>>a;for(inti
- P1090 [NOIP2004 提高组] 合并果子 / [USACO06NOV] Fence Repair G题解
互联网的猫
哈夫曼编码算法算法c++
题目在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。多多决定把所有的果子合成一堆。每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过n−1次合并之后,就只剩下一堆了。多多在合并果子时总共消耗的体力等于每次合并所耗体力之和。因为还要花大力气把这些果子搬回家,所以多多在合并果子时要尽可能地节省体力。假定每个果子重量都为1
- P6171 [USACO16FEB] Fenced In G 题解
smart_stupid
算法数据结构图论c++
题目我们可以把每一个小方格看做一个点,要拆除一个栅栏就相当于给相邻的点连上一条边,使得这两个点联通,耗费的权值就是这个栅栏的长度。那么要使权值最小,我们就要尽量拆除代价小的边,同时,如果有两个点已经联通,连接这两个点的边就不用拆除了。我们可以用并查集来判断两个点是否联通。我们先建立纵横两个方向的边,再把每一条边按边权从小到大排序,遍历每一条边,如果这一条边连接的两点不联通,就给这两个点合并到一起,
- P3141 [USACO16FEB] Fenced In P题解
smart_stupid
算法c++
题目如果此题数据要小一点,那么我们可以用克鲁斯卡尔算法通过,但是这个数据太大了,空间会爆炸,时间也会爆炸。我们发现,如果用MST做,那么很多边的边权都一样,我们可以整行整列地删除。我们造一个样例解析一下:+-+--+---+||||+-+--+---+||||||||+-+--+---+首先,我们删除第一列的栅栏:+-+--+---+||||++--+---+||||||||+-+--+---+此
- [USACO22JAN] Tests for Haybales G
dygxczn
图论
FarmerJohn的奶牛们决定为FarmerNhoj农场的奶牛们举办一场编程竞赛。为了使问题尽可能有趣,他们花费了大量时间来构造具有挑战性的测试用例。特别是对于一个问题,「Haybales」,奶牛们需要你的帮助来设计具有挑战性的测试用例。这有关解决以下这个有些奇妙的问题:有一个有序整数数组x1≤x2≤⋯≤xNx_1\leqx_2\leq\dotsb\leqx_Nx1≤x2≤⋯≤xN(1≤N≤10
- 蓝桥杯每日一题----单调栈和单调队列
小西yu
蓝桥杯算法
单调栈和单调队列单调栈单调栈即栈内的元素是单调递减或者单调递增的,我们通过一个题目来理解。单调栈模板题题目描述给出项数为n的整数数列a1…ana_1…a_na1…an。定义函数f(i)f(i)f(i)代表数列中第i个元素之后第一个大于aia_iai的元素的下标,即f(i)=miniaijf(i)=min_{ia_i}{j}f(i)=miniaij。若不存在,则f(i)=0f(i)=0f(i)=0。
- 2.17状压dp有关考试总结
Flame♡
考试
前言:该考试主要是对于寒假所学习的内容所进行的考试寒假所学习的内容主要是dp字符串相关(hashkmp而此次考试则侧重于考察寒假所学的dp内容包括但不只包括:区间dp,状压dp,树形dp,单调队列优化dp等-考试内容分析t1音量调节给定初始值在不超过最大值且不小于0的前提下,将初值加上或减去每个读入的数,使结果最大,若定会超过最大值或小于0,则输出-1分析:感觉是dp求最大值很有dp那味。但是感觉
- 华为23年9月笔试原题,巨详细题解,附有LeetCode测试链接
阿辉不一般
阿辉的的刷题日志华为leetcode算法
文章目录前言思路主要思路关于f函数的剖析Code就到这,铁子们下期见!!!!前言铁子们好啊!今天阿辉又给大家来更新新一道好题,下面链接是23年9月27的华为笔试原题,LeetCode上面的hard难题,阿辉带大伙来拿下它!!!你可以安排的最多任务数目思路二分和单调队列以及一丢丢贪心主要思路先按照任务难度和工人能力排序二分的范围是[l,r)左闭右开,l=0,r=n+1,最多完成n个任务,n取任务数与
- 牛客周赛 Round 32 解题报告 | 珂学家 | 状压 + 前缀和&异或map技巧
珂朵莉MM
牛客周赛解题报告java算法力扣leetcode开发语言
前言整体评价属于补题,大致看了下,题都很典。欢迎关注珂朵莉牛客周赛专栏珂朵莉牛客小白月赛专栏A.小红的01背包思路:数学题v,x,y=list(map(int,input().split()))print(v//x*y)B.小红的dfs思路:枚举其实横竖都有dfs字符,只有3种情况第一行,第一列为dfs第二行,第二列为dfs第三行,第三列为dfs枚举取最小代价即可grids=[]foriinran
- 力扣 第 384 场周赛 解题报告 | 珂学家 | 贪心构造 + KMP板子
珂朵莉MM
力扣周赛解题报告leetcode算法职场和发展java开发语言矩阵
前言整体评价因为是新春过年,所以题目出的相对简单一些,T4和上周一样,是字符串匹配模板题。T1.修改矩阵思路:模拟按要求模拟即可classSolution{publicint[][]modifiedMatrix(int[][]matrix){inth=matrix.length;intw=matrix[0].length;int[]cols=newint[w];Arrays.fill(cols,I
- P3612 [USACO17JAN] Secret Cow Code S题解
互联网的猫
递推与递归算法专题算法c++
题目奶牛正在试验秘密代码,并设计了一种方法来创建一个无限长的字符串作为其代码的一部分使用。给定一个字符串,让后面的字符旋转一次(每一次正确的旋转,最后一个字符都会成为新的第一个字符)。也就是说,给定一个初始字符串,之后的每一步都会增加当前字符串的长度。给定初始字符串和索引,请帮助奶牛计算无限字符串中位置N的字符。第一行输入一个字符串。该字符串包含最多30个大写字母,数据保证N≤。第二行输入N。请注
- 上岸算法 I LeetCode Weekly Contest 219解题报告
上岸算法
No.1比赛中的配对次数解题思路模拟过程即可,较简单。代码展示classSolution{publicintnumberOfMatches(intn){intres=0;while(n>1){res+=n/2;n=(n+1)/2;}returnres;}}No.2十-二进制数的最少数目解题思路取决于最大的数字是多少。代码展示classSolution{publicintminPartitions(
- [Leetcode] 741. Cherry Pickup 解题报告
魔豆Magicbean
IT公司面试习题Leetcode解题报告DynamicProgramming
题目:InaNxNgridrepresentingafieldofcherries,eachcellisoneofthreepossibleintegers.0meansthecellisempty,soyoucanpassthrough;1meansthecellcontainsacherry,thatyoucanpickupandpassthrough;-1meansthecellcontai
- 代码随想录算法训练营第13天|● 239. 滑动窗口最大值● 347.前 K 个高频元素
strive340
数据结构
239.滑动窗口最大值解一(暴力解):假设窗口为k,数组大小为n,每次在一个窗口找最大值,遍历n-k次,则时间复杂度O(kn)优解:时间消耗大的还是在找最大值方面,定义一个单调(从大到小单调减)队列,队列里面仅维护当前窗口可能的最大值。时间复杂度O(n)单调队列遵循规则:pop():队列非空,且并且当前value值等于单调队列的队头元素,则弹出队头元素push(value):value值必须大于队
- 单调队列优化dp
再写一题就睡觉
c++算法开发语言
背景——引入单调队列滑动窗口分析对于这样一个问题,我们采用单调队列来解决。那么什么是单调队列。如其名就是具有单调性的队列。维护这样一个队列的好处是,当我们想求最大值的时候,我们只需要保证队列是单调递增的,于是每次取出队头就是我们的最大值。比起直接遍历,极大提高了效率。接下来我们以滑动窗口这个例子来一起了解一下具体怎么实现。首先我们定义一个数组用来存储元素的下标。之后第一步就是把第一个元素的下标存储
- 单调队列优化DP
荼白777
DP算法
模型求一段区间(窗口)最值的时候,当然这个窗口不需要固定大小,只要保证首尾是递增的即可;见经典模型滑动窗口;如何使用按照常规DP思路定义好状态,写好转移方程(保证正确性)和其他优化方式一样,对转移方程做等价变换;例题最大子序和题面思路时间复杂度是O(n)O(n)O(n)的;注意一个点,子序列的长度不能为空!!因此我们滑动窗口的右边框是当前点iii往左边移动一个位置;Code#include#inc
- 单调队列优化DP问题
Williamtym
C++算法集训算法c++开发语言蓝桥杯icpcacm
目录1.滑动窗口2.最大子序和3.旅行问题4.烽火传递5.绿色通道6.修剪草坪7.理想的正方形1.滑动窗口154.给定一个大小为n≤106的数组。有一个大小为k的滑动窗口,它从数组的最左边移动到最右边。你只能在窗口中看到k个数字。每次滑动窗口向右移动一个位置。以下是一个例子:该数组为[13-1-35367],k为33。窗口位置最小值最大值[13-1]-35367-131[3-1-3]5367-33
- 【单调队列优化 DP】
慕容青峰
动态规划算法leetcodec++动态规划
LeetCode41场双周赛1687.从仓库到码头运输箱子算法:单调队列优化DP下文简称最大装货数量maxBoxesmaxBoxesmaxBoxes为mxcmxcmxc,简称最大载重量maxWeightmaxWeightmaxWeight为mxwmxwmxw(二者均大等于111),w[i]w[i]w[i]表示前iii个物品重量的前缀和(注意www数组要开longlonglong\spacelong
- 烽火传递——单调队列优化dp问题
束照
算法基础学习算法c++图论
烽火传递定义状态:fi:第i个点燃状态下,从1-i的最小花费,从前fi-m中转移过来。每次求最小,所以阔以用单调队列进行优化。代码:#includeusingnamespacestd;constintN=2e5+10;intn,m;intw[N];intf[N];intq[N];intmain(){scanf("%d%d",&n,&m);for(inti=1;i=f[i])tt--;q[++tt]
- 洛谷P1200 [USACO1.1] 你的飞碟在这儿 Your Ride Is Here
lingyunzhenxian
算法数据结构c++
题目描述众所周知,在每一个彗星后都有一只UFO。这些UFO时常来收集地球上的忠诚支持者。不幸的是,他们的飞碟每次出行都只能带上一组支持者。因此,他们要用一种聪明的方案让这些小组提前知道谁会被彗星带走。他们为每个彗星起了一个名字,通过这些名字来决定这个小组是不是被带走的那个特定的小组(你认为是谁给这些彗星取的名字呢?)。关于如何搭配的细节会在下面告诉你;你的任务是写一个程序,通过小组名和彗星名来决定
- 洛谷P1518 [USACO2.4] 两只塔姆沃斯牛 The Tamworth Two
shscsjsbk
算法
[USACO2.4]两只塔姆沃斯牛TheTamworthTwo题目描述两只牛逃跑到了森林里。FarmerJohn开始用他的专家技术追捕这两头牛。你的任务是模拟他们的行为(牛和John)。追击在10×1010\times1010×10的平面网格内进行。一个格子可以是:一个障碍物,两头牛(它们总在一起),或者FarmerJohn。两头牛和FarmerJohn可以在同一个格子内(当他们相遇时),但是他们
- 一、基础数据结构——2.队列——3.双端队列和单调队列2
鸥梨菌Honevid
Algorithm数据结构
参考资料:《算法竞赛》,罗勇军郭卫斌著本博客作为阅读本书的学习笔记,仅供交流学习。建议关注罗勇军老师博客3.单调队列与最大子序和问题不限制子序列长度问题——贪心法或动态规划HDOJ1003MAXSUMMaxSumTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)ProblemDescriptionGiven
- 蓝桥杯每日一题------背包问题(二)
小西yu
蓝桥杯算法数据结构
前言本次讲解背包问题的一些延申问题,新的知识点主要涉及到二进制优化,单调队列优化DP,树形DP等。多重背包原始做法多重背包的题意处在01背包和完全背包之间,因为对于每一个物品它规定了可选的个数,那么可以考虑将完全背包的第三维修改一下,j2表示选择的当前物品的个数,给它限制为s[i]。代码如下所示,importjava.util.Scanner;publicclassMain{publicstati
- 牛客周赛 Round 8 解题报告 | 珂学家 | 构造 + 树形DP
huaxinjiayou
java
题解|#牛牛队列成环#本题知识点分析:1.链表前驱结点和后继结点2.链表遍历3.快慢指针本题解题思路分析:1.利用慢指针走一步,快指针走两步2.遍历同时判断两个指针的值是否相等,如果题解|#草原上的牛群#/***代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可***@paramnumsint整型一维数组*@retu题解|#牛群分隔#该题考察的知识点包括:单链表的遍历和操作:
- LeetCode 2044. 统计按位或能得到最大值的子集数目
英雄哪里出来
《LeetCode算法全集》算法数据结构位运算
文章目录一、题目1、题目描述2、基础框架3、原题链接二、解题报告1、思路分析2、时间复杂度3、代码详解三、本题小知识四、加群须知一、题目1、题目描述 给你一个整数数组nums,请你找出nums子集按位或可能得到的最大值,并返回按位或能得到最大值的不同非空子集的数目。 样例输入:nums=[3,1] 样例输出:22、基础框架C语言版本给出的基础框架代码如下:intcountMaxOrSubse
- 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