- FPGA器件在线配置方法概述
fpga和matlab
FPGA其他fpga开发FPGA在线配置
目录1.配置电路结构和原理2.ICR控制电路软件3.几种常见的FPGA在线配置方法3.1动态部分重配置(PartialReconfiguration,PR)3.2在系统编程(In-SystemProgramming,ISP)3.3多比特流配置(Multi-BitstreamConfiguration)3.4远程更新与配置3.5使用OpenCL或HLS工具FPGA(Field-Programmabl
- OPENCL之SIMT与SIMD在架构上的主要区别是什么?
糯米宝宝
gpuopencv
SIMT(单指令多线程)与SIMD(单指令多数据)在架构上的主要区别体现在以下几个方面:执行单元的组织方式:SIMD:采用的是多数据流架构,即同一条指令同时作用于多个数据元素。这种架构特别适合于多媒体应用等数据密集型运算。SIMT:采用的是多线程架构,即同一条指令由多个线程并行执行。每个线程可以有不同的分支行为和执行路径,从而实现线程级的并行计算。软件暴露的信息:SIMD:向软件公开SIMD宽度(
- 10 自研rgbd相机基于rk3566之OPENCL加速库测试与开发
三十度角阳光的问候
openclgpu加速rk3566/rk3588核函数异构加速
OPENCL加速库测试与开发opencl加速库介绍1OpenCL概念2OpenCL程序通常包含以下几个主要组件:3opencl移植与调用:opencl加速库核函数编写1开发流程:2核函数编写接口函数定义如下:示例代码如下:opencl加速库示例代码opencl加速库介绍1OpenCL概念opencl是可以直接调用gpu资源进行加速的库,除英伟达外的gpu调用方法。例如maligpu,适用于多种ar
- 《C++与新兴硬件技术的完美融合:开启未来科技新篇章》
程序猿阿伟
c++科技开发语言
在科技飞速发展的今天,新兴硬件技术不断涌现,为软件开发带来了前所未有的机遇和挑战。C++作为一种强大而高效的编程语言,如何更好地与这些新兴硬件技术结合,成为了众多开发者关注的焦点。首先,在与GPU(图形处理单元)的结合方面,C++展现出了巨大的潜力。GPU拥有强大的并行计算能力,能够快速处理大量的数据和复杂的计算任务。通过CUDA和OpenCL等技术,C++开发者可以充分利用GPU的性能优势,实现
- Java设计模式七大原则-开闭原则
zoeil
Java设计模式
开闭原则基本介绍开闭原则(OpenClosedPrinciple)是编程中最基础、最重要的设计原则一个软件实体如类,模块和函数应该对扩展开放(对提供方),对修改关闭(对使用方)。用抽象构建框架,用实现扩展细节。当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化。编程中遵循其它原则,以及使用设计模式的目的就是遵循开闭原则。例子publicclassOcp{pu
- 设计模式-七大原则-开闭原则
一个路过的小孩
java#设计模式设计模式开闭原则
开闭原则OpenClosedPrinciple目录开闭原则基本介绍案例1运行结果分析demo输出结果基本介绍1.开闭原则OpenClosedPrinciple是编程中最基础、最重要的设计原则(ocp原则)2.一个软件的实体(eg:类),模块和函数应该对扩展开放(对提供方),对修改关闭(对使用方)用抽象构建框架,用实现扩展细节。3.当软件需求发生变化的时候,尽量通过扩展软件实体的行为实现变化,而不是
- OpenCL在移动端GPU计算中的应用与实践
m0_67544708
javaGPUOpenCL
一、引言移动端芯片性能的不断提升为在手机上进行计算密集型任务,如计算机图形学和深度学习模型推理,提供了可能。在Android设备上,GPU,尤其是高通Adreno和华为Mali,因其卓越的浮点运算能力,成为了异构计算中的重要组成部分。百度APP已经利用GPU计算加速深度模型推理和计算密集型业务。本文将介绍OpenCL的基础概念和简单编程。二、基础概念2.1异构计算异构计算指的是使用不同类型指令集和
- 设计模式 -- 七大原则(五)-- 开闭原则
认真的小羽❅
设计模式开闭原则
1基本介绍开闭原则(OpenClosedPrinciple,简称OCP)是编程中最基础、最重要的设计原则一个软件实体如类,模块和函数应该对扩展开放(对提供方),对修改关闭(对使用方)。用抽象构建框架,用实现扩展细节。当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化。编程中遵循其它原则,以及使用设计模式的目的就是遵循开闭原则。2实例2.1问题程序public
- tvm交叉编译android opencl
极乐净土0822
androidtvmndk交叉编译opencl
模型编译:#encoding:utf-8importonnximportnumpyasnpimporttvmimporttvm.relayasrelayimportosfromtvm.contribimportndkonnx_model=onnx.load('mobilenet_v3_small.onnx')x=np.ones([1,3,224,224])input_name='input1'sh
- OpenCL 图像处理函数、图像放缩和插值
陈塬升
OpenCLc++算法
1.OpenCL提供了大量可以在内核中运行的图像处理函数,它们大致可以分为以下三类:(1)Readfunctiongs--返回给定坐标上的颜色取值;(2)writefunctiongs--设定给定坐标上的颜色取值;(3)Informationfunctions--提供关于图像对象的信息,例如图像的维度以及像素属性;图像读取函数是从图像对象中读取向量,他们各自的参数基本一样。唯一的区别是函数返回的是
- Stable Diffusion模型对比
研三小学渣
学习笔记人工智能计算机视觉深度学习
StableDiffusionV1系列是用基于GPT的CLIP模型,其模型参数量为123.65M;StableDiffusionV2系列则换成了更新更好的OpenCLIP模型,其参数量为354.03M,相比SDV1的TextEncoder模型大了3倍左右StableDiffusionv1:它使用了LAION-2B(en)数据集以及laion-high-resolution和laion-improv
- 嵌入式调试工具之GDB
稚肩
嵌入式linuxlinux嵌入式GDB
在单片机开发中,我们可以通过集成式的IDE来进行调试,比如MDK、IAR等。GDB工具是GNU项目调试器,基于命令行使用。和其他的调试器一样,可使用GDB工具单步运行程序、单步执行、跳入/跳出函数、设置断点、查看变量等等,它是UNIX/LINUX操作系统下强大的程序调试工具。GDB支持多种语言,包括Ada、汇编、C/C++、D、Fortran、GO、Objective-C、OpenCL、Modul
- 前端常见的设计模式
一只理智恩
前端设计模式javascript前端开发语言
说到设计模式,大家想到的就是六大原则,23种模式。这么多模式,并非都要记住,但作为前端开发,对于前端出现率高的设计模式还是有必要了解并掌握的,浅浅掌握9种模式后,整理了这份文章。六大原则:依赖倒置原则(DependenceInversionPrinciple):高层(业务层)不应该直接调用底层(基础层)模块开闭原则(OpenClosePrinciple):单模块对拓展开放、对修改关闭单一原则(Si
- GraphicsMagick 的 OpenCL 开发记录(三十八)
遍地是牛
GraphicsMagick的OpenCL开发ImageMagickOpenCLc++GraphicsMagick
文章目录`AccelerateScaleImage()`和`AccelerateResizeImage()`的性能测试AccelerateScaleImage()和AccelerateResizeImage()的性能测试迭代100次,缩小图片50%,如下:[ysouyno@archgm-ocl]$MAGICK_OCL_DEVICE=truegmbenchmark-iterations100conv
- GraphicsMagick 的 OpenCL 开发记录(三十七)
遍地是牛
GraphicsMagick的OpenCL开发ImageMagickOpenCLc++GraphicsMagick
文章目录如何写`ScaleImage()`的硬件加速函数(十一)如何写ScaleImage()的硬件加速函数(十一)“如何写ScaleImage()的硬件加速函数(十)”这里的代码写得比较随意,其中stopi=0;赋值为0后,下面的循环根本没有执行,这才使得显示的图片变正确了;且async_work_group_copy()的参数传得可能也不对,等等等。我原来的想法是在外部计算好需要的行数传入ke
- GraphicsMagick 的 OpenCL 开发记录(八)
遍地是牛
GraphicsMagick的OpenCL开发GraphicsMagickOpenCLc++
文章目录调用`clCreateBuffer()`产生异常问题(六)调用clCreateBuffer()产生异常问题(六)我可能解决了这个问题,原来是因为没有及时清理内存的缘故!将问题最终定位在了RunOpenCLBenchmark()的结尾DestroyImage(resizedImage);处,即在DestroyCacheInfo()中应该有清除OpenCL相关内存的代码。见commit:fix
- GraphicsMagick 的 OpenCL 开发记录(九)
遍地是牛
GraphicsMagick的OpenCL开发GraphicsMagickImageMagickOpenCLc++
文章目录关于`ImageMagick`中的`number_channels`成员(一)关于ImageMagick中的number_channels成员(一)在ImageMagick中number_channels成员出现频率有点高,经调试发现ImageMagick中图片对象初始化时通过调用OpenPixelCache()然后在InitializePixelChannelMap()中设置number
- GraphicsMagick 的 OpenCL 开发记录(三十六)
遍地是牛
GraphicsMagick的OpenCL开发ImageMagickOpenCLc++GraphicsMagick
文章目录如何写`ScaleImage()`的硬件加速函数(十)如何写ScaleImage()的硬件加速函数(十)难道就这么被我轻松实现了?“如何写ScaleImage()的硬件加速函数(九)”是在“如何写ScaleImage()的硬件加速函数(八)”的基础上处理了图片放大变亮的问题,但是他们都只是X方向的处理,没有实现原始函数ScaleImage()的Y方向缩放。目前先处理Y方向再处理X方向的代码
- GraphicsMagick 的 OpenCL 开发记录(四)
遍地是牛
GraphicsMagick的OpenCL开发GraphicsMagickOpenCL
文章目录调用`clCreateBuffer()`产生异常问题(二)调用clCreateBuffer()产生异常问题(二)使用MAGICK_OCL_DEVICE=GPU且在已经安装了opencl-compute-runtime的情况下会产生两个问题:gm运行卡死,无法操作,CPU使用率居高不下,或者gm运行崩溃,产生如下提示:$gmdisplay~/temp/bg1a.jpgAbortwascall
- 【Vitis】Vitis HLS2023不支持的功能特性
神仙约架
xilinxvitisfpga开发xilinxvitishls
VitisHLS简介Vitis™HLS是一种高层次综合工具,支持将C、C++和OpenCL™函数硬连线到器件逻辑互连结构和RAM/DSP块上。VitisHLS可在Vitis应用加速开发流程中实现硬件内核,并使用C/C++语言代码在Vivado®DesignSuite中为赛灵思器件设计开发RTLIP。【Vitis】HLS高层次综合的优势【Vitis】基于C++函数开发组件的步骤【Vitis】Viti
- 【Vitis】Vitis HLS简介
神仙约架
vitisxilinxfpga开发vitisHSLxilinx
VitisHLS简介Vitis™HLS是一种高层次综合工具,支持将C、C++和OpenCL™函数硬连线到器件逻辑互连结构和RAM/DSP块上。VitisHLS可在Vitis应用加速开发流程中实现硬件内核,并使用C/C++语言代码在Vivado®DesignSuite中为赛灵思器件设计开发RTLIP。【Vitis】VitisHLS简介【Vitis】HLS高层次综合的优势【Vitis】基于C++函数开
- 设计模式概述
大海_9052
设计模式主要是基于以下的面向对象设计原则。对接口编程而不是对实现编程。优先使用对象组合而不是继承。设计模式分类:设计模式的六大原则1、开闭原则(OpenClosePrinciple)开闭原则的意思是:对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。简言之,是为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类,后面的具体设
- GraphicsMagick 的 OpenCL 开发记录(三十四)
遍地是牛
GraphicsMagick的OpenCL开发ImageMagickOpenCLc++GraphicsMagick
文章目录如何写`ScaleImage()`的硬件加速函数(八)如何写ScaleImage()的硬件加速函数(八)我觉得Y方向的缩放以下面这种ScaleFilter()的方法是实现不了的,我只能添加进X方向的处理,缩小正常,放大的话图片变亮。STRINGIFY(__kernel__attribute__((reqd_work_group_size(256,1,1)))voidScaleFilter(
- GraphicsMagick 的 OpenCL 开发记录(三十二)
遍地是牛
GraphicsMagick的OpenCL开发GraphicsMagickImageMagickOpenCLc++
文章目录如何写`ScaleImage()`的硬件加速函数(六)如何写ScaleImage()的硬件加速函数(六)不管什么事儿看来都怕琢磨,如果连做梦都能梦到你正在琢磨的事儿,估计离成功也就不远了。似乎目前已经达到了最好的效果,离目标越来越近了。要理解clEnqueueNDRangeKernel()函数的第五第六个参数意义,但目前为止只能说暂时理解了。cl_intclEnqueueNDRangeKe
- GraphicsMagick 的 OpenCL 开发记录(三十三)
遍地是牛
GraphicsMagick的OpenCL开发GraphicsMagickImageMagickOpenCLc++
文章目录如何写`ScaleImage()`的硬件加速函数(七)如何写ScaleImage()的硬件加速函数(七)其实“如何写ScaleImage()的硬件加速函数(六)”的实现就是一个ResizeHorizontalFilter()将y改成y/xFactor的精简版,并不是ScaleImage()的硬件加速函数。虽然它不是,但至少省掉了ResizeVerticalFilter()的调用,速度上更快
- linux运维:ywtools工具安装/卸载介绍
Z顺其自然
ywtools工具linux服务器centos运维工具安装/卸载
一.工具功能功能介绍ywtools工具是全部shell脚本编写,用于日常工作的linux运维二.已测试系统:centos7centos8centossteam8centossteam9rocky8rocky9AlmaLinux8.2/8.4AlmaLinux9.0/9.3opencloudos8.8(腾讯,类似centos8,软件包是oc8)三.安装/移除工具3.1安装工具工具包是bin文件,加执
- 2018-04-15 FPGA Kernel Log
七点水Plus
AMDprintf我们在kernel中增加了#pragmaOPENCLEXTENSIONcl_amd_printf:enable,以便在kernel中通过printf函数进行debug,这是AMD的一个扩展。printf还可以直接打印出float4这样的向量,比如printf(“%v4f”,vec)。#pragmaOPENCLEXTENSIONcl_amd_printf:enable__kerne
- GraphicsMagick 的 OpenCL 开发记录(三十)
遍地是牛
GraphicsMagick的OpenCL开发GraphicsMagickImageMagickOpenCLc++
文章目录如何写`ScaleImage()`的硬件加速函数(四)如何写ScaleImage()的硬件加速函数(四)经过这两天的尝试,越来越对ScaleImage()用硬件加速实现这件事感到怀疑,因为似乎没有发现这个函数的硬件加速版本能带来很好的性能,当然我这个OpenCL新手写的代码连我自己也不敢恭维,这也是一方面的原因,甚至可能占比很高。正如前面日志所说的能参考的代码只有ResizeHorizon
- GraphicsMagick 的 OpenCL 开发记录(二十八)
遍地是牛
GraphicsMagick的OpenCL开发GraphicsMagickImageMagickOpenCLc++
文章目录如何写`ScaleImage()`的硬件加速函数(二)如何写ScaleImage()的硬件加速函数(二)搞了一天也没有搞出来kernel函数怎么写,还得仔细分析一下ScaleImage()函数流程:从GraphicsMagick的ScaleImage()入手,它比ImageMagick好懂。大循环的第一个if-else分支处理Y方向,即垂直方向,它用到两个动态数组x_vector和y_ve
- GraphicsMagick 的 OpenCL 开发记录(二十九)
遍地是牛
GraphicsMagick的OpenCL开发GraphicsMagickImageMagickOpenCLc++
文章目录如何写`ScaleImage()`的硬件加速函数(三)如何写ScaleImage()的硬件加速函数(三)在“如何写ScaleImage()的硬件加速函数(二)”中介绍的kernel函数的写法可能会产生如下现象:ScaleFilter()不是总能被成功调用。每次修改过ScaleFilter()后,有时在~.cache/GraphicsMagick目录中不会生成新的.bin文件。这种情况下,调
- 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