- 深入理解reeze/tipi项目中的词法分析与语法分析技术
焦习娜Samantha
深入理解reeze/tipi项目中的词法分析与语法分析技术tipiThinkingInPHPInternals,AnopenbookonPHPInternals项目地址:https://gitcode.com/gh_mirrors/ti/tipi引言在编程语言实现领域,词法分析和语法分析是构建编译器或解释器的关键环节。本文将基于reeze/tipi项目中的相关内容,深入浅出地讲解这些核心技术原理。
- 构建四则运算解析器:字符串处理与计算逻辑实战
大熊小清新
本文还有配套的精品资源,点击获取简介:四则运算解析器是将包含四则运算符号的字符串表达式转化为可执行计算的程序。它对编程初学者而言是理解编程逻辑和语法分析的基础。通过理解四则运算的优先级规则,实现输入处理、词法分析、语法分析和计算步骤,可以采用递归下降解析或堆栈解析等方法。本解析器的实现涉及字符串处理、数据结构的运用,有助于学习者掌握编程语言的底层工作方式,提升编程技能和问题解决能力。1.四则运算解
- redis的scan使用详解,结合spring使用详解
黑皮爱学习
redis自学笔记redisspring数据库
Redis的SCAN命令是一种非阻塞的迭代器,用于逐步遍历数据库中的键,特别适合处理大数据库。下面详细介绍其使用方法及在Spring框架中的集成方式。SCAN命令基础SCAN命令的基本语法:SCANcursor[MATCHpattern][COUNTcount]cursor:迭代游标,初始为0,每次迭代返回新的游标值。MATCHpattern:可选,用于过滤键的模式(如user:*)。COUNTc
- Shell脚本编程:Linux自动化的瑞士军刀
半夜偷你家裤衩子
Linuxlinux自动化chrome
导读:厌倦了重复执行相同的命令序列?想要让你的Linux系统自动完成繁琐任务?Shell脚本就是你的不二选择!本文将带你从零开始掌握Shell脚本编程,从基本语法到高级技巧,让你的工作效率提升10倍。无论你是Linux新手还是经验丰富的管理员,这篇文章都能帮你解锁Shell脚本的强大潜力!本文是《从入门到精通渐进式学习Linux》系列的第12章。通过这篇文章,你将学会如何用Shell脚本实现系统管
- fish安装node.js环境
翻滚吧键盘
openSUSEnode.jschrome前端
为什么强调fishshell,因为fishshell的缘故,不能直接执行node.js官网的命令好的,您遇到了一个非常典型且重要的问题。请仔细阅读我的分析,这能帮您彻底解决问题。问题诊断您看到的所有错误,归根结底有两个核心原因:您正在使用FishShell:从命令行末尾的fish:提示可以看出,您使用的不是Linux默认的bash,而是fish。FishShell的脚本语法与bash不兼容。错误的
- Linux 命令:ls
Linuxls命令详细教程一、ls命令概述ls是Linux系统中最常用的命令之一,全称“list”,用于列出目录下的文件和子目录。它不仅能显示文件基本信息,还能通过丰富的选项控制显示格式、排序方式、隐藏文件等,是文件管理的基础工具。资料已经分类整理好:https://pan.quark.cn/s/26d73f7dd8a7二、ls命令基本语法ls[选项][文件或目录]核心选项分类说明(常用选项需熟练
- C#WPF的XAML命名空间和命名空间映射详解
未来无限
C#WPF程序设计c#wpf命名空间命名空间映射XAML
本文详解C#WPF的XAML命名空间和命名空间映射。目录XAML命名空间定义实例演示命名空间说明XAML命名空间定义XAML命名空间实际上是XML命名空间概念的扩展。指定XAML命名空间的方法依赖于XML命名空间语法、将URI用作命名空间标识符以及使用前缀提供从相同标记源引用多个命名空间等约定。XML命名空间的XAML定义增添的主要概念是,XAML命名空间表示标记用法唯一性范围,还影响标记实体可如
- C# 与vb.net 的Dictionary(字典)的键、值排序
chinaherolts2008
c#开发语言vb.net教程
vb.net教程https://www.xin3721.com/eschool/vbnetxin3721/原文地址VB和VB.NET的大致区别_copico的博客-CSDN博客_vbnet和vb的语法区别VisualBasic.NET是MicrosoftVisualStudio.NET套件中主要组成部分之一。.NET版本的VisualBasic增加了更多特性,而且演化为完全面向对象(就像C++)的
- 鸿蒙 + Python 全栈开发一个排行榜应用
背景本项目是一个用于练习鸿蒙开发的实用小项目,前后端都覆盖到位,这有助于提升开发者的整体设计能力。相关技能点一、渲染控制语法条件渲染:使用if/else进行条件渲染。循环渲染:开发框架提供循环渲染(ForEach组件)来迭代数组,并为每个数组项创建相应的组件。二、@State、@Prop、@Link组件状态管理装饰器和@Builder装饰器:@State装饰的变量是组件内部的状态数据,当这些状态数
- Whistle 超详细技术博客:原理、配置、用法与进阶技巧全解
北漂老男人
抓包工具运维
Whistle超详细技术博客:原理、配置、用法与进阶技巧全解目录Whistle简介与应用场景Whistle安装与启动Whistle原理与架构Whistle规则语法详解常用配置与实战场景Whistle进阶用法与技巧常见问题与排查实用插件推荐总结与参考资料1.Whistle简介与应用场景Whistle是一款基于Node.js的跨平台Web调试代理工具,功能类似于Charles、Fiddler,但更轻量
- [特殊字符] 解释器模式:自定义语言的解析专家,让复杂语法变简单!
真实的菜
java解释器模式python开发语言
解释器模式:自定义语言的解析专家,让复杂语法变简单!文章目录解释器模式:自定义语言的解析专家,让复杂语法变简单!一、为什么需要解释器模式️二、解释器模式的结构2.1UML类图2.2代码实现三、解释器模式的实际应用3.1正则表达式引擎:解释器模式的典型应用3.2SQL解析器:解释器模式的实际应用四、解释器模式在Java标准库中的应用4.1Java的正则表达式4.2Java的格式化4.3Java的表达
- Python学习打卡:day13
胜天半子祁厅
Pythonpython学习java
day13笔记来源于:黑马程序员python教程,8天python从入门到精通,学python看这套就够了目录day1397、初识对象98、类的成员方法类的定义和使用成员变量和成员方法成员方法的定义语法99、类和对象在程序中通过类来描述基于类创建对象100、构造方法课后练习101、魔术方法\_\_str\_\_字符串方法\_\_lt\_\_小于符号比较方法\_\_le\_\_小于等于比较符号方法\
- 【C/C++】C++26新特性前瞻:全面解析未来编程
CodeWithMe
C/C++c语言c++java
展望未来:C++26新特性全面解析随着C++标准每三年一次的迭代节奏,C++26(预计于2026年底正式发布)正在逐步成型。相比C++20的革命性更新和C++23的“修补+增强”,C++26继续推进现代C++的理念——更安全、更高效、更模块化,同时在语法简化和并发原语方面也有亮眼改进。本文将从以下几方面带你了解C++26的主要方向和新特性:1.C++26的设计方向✅目标总结:更一致的语言语法更安全
- MySQL之锁机制详解:全局锁,表级锁,行级锁
AA-代码批发V哥
MySQLmysql数据库
MySQL之锁机制详解:全局锁,表级锁,行级锁一、锁机制基础:从并发问题到锁分类1.1并发访问的三大问题1.2锁的核心作用1.3锁粒度分类二、全局锁:掌控整个数据库的"超级锁"2.1全局锁原理2.2全局锁语法与使用2.2.1显式加锁2.2.2隐式加锁(备份场景)2.3全局锁的双刃剑三、表级锁:粗粒度的高效控制3.1表级锁核心特性锁兼容性矩阵:3.2MyISAM表级锁实战3.2.1加锁示例3.2.2
- 几款实用的开发软件SQLyog/xftp/redis可视化工具无需激活
qq_21422587
mysqlSQLyogredis可视化ftp
SQLyog可视化界面:提供直观的GUI操作数据库,减少命令行使用跨平台支持:支持Windows和Linux操作系统强大的查询功能:内置SQL查询编辑器,支持语法高亮和自动完成数据导入导出:支持多种格式的数据导入导出数据库同步:可以比较和同步不同数据库之间的结构和数据可视化工具:提供表结构设计器、视图设计器等可视化工具SSH隧道支持:可以通过SSH安全连接远程数据库SQLyog如有需要请自行下载x
- SQL注入与防御-第四章-1:利用SQL注入--20%
在安全厂商修设备
SQL注入与防御sql网络安全web安全
#理解常见的漏洞利用一、漏洞利用前提借助应用测试(如第2章)、复查源码技术(如第3章),发现Web应用中易受攻击参数后,进入利用阶段,需先明确:本地数据库辅助:搭建与目标同类型的本地数据库,便于测试、观察SQL注入响应(含数据、错误信息),辅助理解攻击逻辑。数据库输出关联:关注应用是否以HTML格式展示SQL查询输出(如报错、查询结果),若数据库返回详细错误(如SQL语法、执行异常信息),能大幅降
- 箭头函数和普通函数的区别?
=^_^=喵喵
javascript开发语言
箭头函数(ArrowFunctions)和普通函数(传统函数)在JavaScript中有显著的区别,主要体现在语法、this的绑定、构造函数行为、参数处理等方面。以下是详细对比:1.语法差异普通函数:functionadd(a,b){returna+b;}或函数表达式:constadd=function(a,b){returna+b;};箭头函数(更简洁):constadd=(a,b)=>a+b;
- nginx配置文件
编程界的谢菲尔德
nginxlinux运维
1.文件格式Nginx的配置文件是个普通的纯文本文件,使用了Nginx自定义的一套配置语法更接近于脚本语言,混合了Shell、Perl、C的部分特性,要点叙述如:1.配置指令以分号结束,可以接受多个参数用空白字符分隔:2可以使用单引号或者双引号来定义字符串,允许用“\”转义字符3配置指和参数也可以用引号来指定,特别是当它含有空格的时候4.配置块block是特殊的配置指令,它有个{...}参数且无须
- Nginx配置文件语法_通配符的使用
Lotus 沈棋
#Nginxnginx运维
文章目录Nginx配置文件语法概述_Nginx配置文件中使用通配符Nginx配置文件语法概述`http`块的作用`server_name_;`的意义Nginx配置文件中的通配符及其用法总结Nginx配置文件语法构成Nginx配置块Nginx配置指令总结Nginx变量常用Nginx变量总结Nginx配置文件语法概述_Nginx配置文件中使用通配符在Nginx配置文件中,http块是用于配置HTTP服
- numpy -- np.concatenat 学习笔记
qq_43632431
numpy笔记python
np.concatenate是NumPy中用于连接数组的函数。以下是详细说明:基本语法numpy.concatenate((a1,a2,...),axis=0,out=None,dtype=None)参数说明arrays:要连接的数组序列(元组或列表)axis:连接轴的方向,默认为0在NumPy中,axis指定了操作的维度方向:axis=0:第一个维度(行方向)axis=1:第二个维度(列方向)a
- openpyxl学习-iter_rows
qq_43632431
python学习笔记学习
在openpyxl中,iter_rows是一个非常有用的函数,它允许你遍历一个工作表中的所有行,这在你需要处理大量的行而不需要一次性加载所有行到内存时非常有用。语法:worksheet.iter_rows(min_row=1,#最小行,从哪一行开始,默认值为1。max_row=None,#最大行,到那一行结束,默认值为工作表中的最大行数。min_col=1,#最小列,从哪一列开始,默认值为1。ma
- openpyxl 学习- iter_rows和iter_cols
qq_43632431
python学习笔记学习
iter_cols是openpyxl库中的一个方法,用于按列迭代读取内容。在openpyxl中,iter_cols和iter_cols方法用于返回一个生成器,该生成器按列遍历给定的行范围。它接受四个参数:min_row,min_col,max_row和max_col,这些参数定义了要迭代的单元格范围。1语法:worksheet.iter_rows(min_row=1,#最小行max_row=Non
- Redis命令:redis-cli
collman
Redisredisbootstrap前端
Redis命令用于在redis服务上执行操作。要在redis服务上执行命令需要一个redis客户端。Redis客户端在我们之前下载的的redis的安装包中。语法Redis客户端的基本语法为:$redis-cli实例以下实例讲解了如何启动redis客户端:启动redis服务器,打开终端并输入命令redis-cli,该命令会连接本地的redis服务。$redis-cliredis127.0.0.1:6
- Redis-基本命令
ybq19513345431
redis数据库缓存
Redis是单线程的,有5中数据结构,分别为:String(字符串),hash(哈希),list(列表),set(集合),zset(有序集合),都是键值对的值,redis的命令非常多,对于键来说有一些通用的命令:进入Redis客户端命令:redis-clikeys:语法:keyspattern查询当前服务器上匹配的key。通过一些特殊的符号(通配符)来描述key的模样,匹配上述模样的key就能被查
- numpy - np.full 笔记
qq_43632431
numpy笔记opencv
np.full是NumPy中用于创建填充指定值的数组的函数。以下是详细说明:基本语法numpy.full(shape,fill_value,dtype=None,order='C')参数说明shape:数组的形状(元组或整数)fill_value:填充值dtype:数据类型(可选)order:内存布局,'C'或'F'(可选)基本用法示例1.创建一维数组importnumpyasnp#创建长度为5,
- 【VScode实用生产力插件】
滴水穿石9102
学习记录vscodeidevisualstudiocode
Vcode配置成生产力1.Plantuml插件【插件名:Plantuml】简介:PlantUML是一个可以快速编写UML图的组件。支持【顺序图,用例图,类图,对象图,活动图(旧语法),组件图,部署图,状态图,时序图】【JSON数据,YAML数据,网络图(nwdiag),线框图形界面或UI模拟(盐),架构图,规范和描述语言(SDL),Ditaa图,甘特图,思维导图,图示工作分解结构图(WBS),用A
- A基础语法.java
是紫焅呢
26字母学习:java入门篇java开发语言青少年编程后端visualstudiocodeandroid
前言:Java是一种广泛使用的编程语言,以其“一次编写,到处运行”的特性而闻名。它具有强大的功能和丰富的类库,适用于各种应用场景,从桌面应用程序到大型企业系统,再到移动应用开发。目录一、Java的基本结构万物皆对象的源头二、变量和数据类型数据的小窝和它的性格三、运算符数字间的小心机四、控制流语句程序的指挥棒五、方法功能的魔法盒六、面向对象Java的灵魂所在七、异常处理程序的急救箱八、Java集合框
- 用VSCode打造宇宙最强Markdown编辑器【插件篇】vscode+MPE等插件+PigGo图床+格式化导出+最佳实践+技巧
望儿山下小苗圃
学习笔记技术杂谈markdownvisualstudiocodegithub程序人生经验分享
在已经学会了基本的Markdown语法,安装VSCode并初步熟悉了用它作为Markdown编辑器之后,今天介绍一下VSCode中涉及Markdown的各种插件,将VSCode打造成真正的Markdown编辑器。说明一下,本全程指导的经验汇总,将会分几篇陆续推出,包含:VSCode编辑器的安装和设置技巧、VSCode的Markdown相关插件的使用,通过九牛云+图床神器PicGo插件给博客设置图床
- Java--程序控制结构(上)
阿亮爱学代码
Javajava开发语言程序控制结构switch基本语法
目录1.1顺序控制1.2分支控制1.单分支2.双分支:练习:3.多分支练习:1.3嵌套分支1.4switch基本语法细节:switch和if的进行比较:介绍:在程序中,程序运行的流程控制决定程序是如何执行的,是我们必须掌握的,主要有三大流程控制语句。1.1顺序控制介绍:从上到下逐行的执行,中间没有任何判断和跳转。1.2分支控制1.2.1if-else介绍1.单分支基本语法:if(条件表达式){执行
- python 异步Web框架sanic
程序员霄霄
软件测试python前端开发语言软件测试自动化测试功能测试程序人生
我们继续学习Python异步编程,这里将介绍异步Web框架sanic,为什么不是tornado?从框架的易用性来说,Flask要远远比tornado简单,可惜flask不支持异步,而sanic就是类似Flask语法的异步框架。github:GitHub-sanic-org/sanic:Accelerateyourwebappdevelopment|Buildfast.Runfast.不过sanic
- 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