- TC27x启动过程(2)-TC277
赞哥哥s
TC277学习笔记gnu单片机
接上文,继续学习TC277的启动过程。分析启动函数有关用的寄存器说明,参考文章TC27x寄存器学习目录TC27x寄存器学习start函数分析isync汇编指令(同步指令)dsync汇编指令(同步数据),1清除endinit2设置中断堆栈3启用对系统全局寄存器的写访问4初始化SDA基指针5关闭对系统全局寄存器的写访问6关闭看门狗,恢复Endinit位7初始化CSA8初始化ram,拷贝rom数据到ra
- 基于STM32的简易RTOS分析-预备知识
騏威
嵌入式
写下这篇文章的主要目的是对自己学习RTOS的历程做一个记录和总结,方便以后回忆翻看。以下内容主要来自宋岩先生翻译的《Cortex-M3权威指南》。目录一、Cortex-M3寄存器简介二、堆栈操作简介三、汇编指令简介LDR和STR指令STMDB和LDMIA指令B、BX、BL、BLX指令MRS和MSR指令四、中断简介中断响应过程简介SVC和PensSV中断简介软件中断五、汇编基础一、Cortex-M3
- linux gcc 格式,Linux下gcc与gdb简介
神奇的战士
linuxgcc格式
gcc编译器可以将C、C++等语言源程序、汇编程序编译、链接成可执行程序。gdb是GNU开发的一个Unix/Linux下强大的程序调试工具。linux下没有后缀名的概念。但gcc根据文件的后缀来区别输入文件的类别:.cC语言源代码文件.a由目标文件构成的库文件.C、.cc、.cppC++源码文件.h头文件.i经过预处理之后的C语言文件.ii经过预处理之后的C++文件.o编译后的目标文件.s汇编源码
- Linux中GCC与GDB 常用命令详解
Dijkstra's Monk-ey
Linux与安全linuxgdbshell安全c语言
GCC和GDB常用命令详解GCC常用的选项GDBLINUX下编程,少不了和GCC,GDB打交道,现在总结下常用命令,掌握这些足够用了。GCC常用的选项选项语义-o指定生成的输出文件-E仅执行编译预处理gcc的-E选项,可以让编译器在预处理后停止,并输出预处理结果。-S将C代码转换为汇编代码gcc的-S选项,表示在程序编译期间,在生成汇编代码后停止-wall显示警告信息-c生成目标文件(.o),仅执
- 常用中药材_升麻_自渡子
自渡子
《升麻》(资料来源——中国药典、中药大辞典、中华本草、全国中草药汇编)别名——周麻、鸡升麻、周升麻、空升麻、绿升麻、西升麻、鬼脸升麻、龙眼根。药科——毛茛科植物大三叶升麻、兴安升麻或升麻的根茎。产地——分布于河南、山西、湖北、陕西、宁夏、甘肃、青海、四川、云南、西藏等地。药类——新凉解表。药性——微寒。药味——微甘、辛。入经——脾、胃、肺、大肠。功效——发表透疹,清热解毒,升举阳气。主治——风热头
- IDA pro简单入门使用
秀玉轩晨
漏洞挖掘系统安全
`@TOCIDA常用的快捷键a:将数据转换为字符串uundefined,取消定义函数,代码,数据的定义f5:一键反汇编esc:回退键,能够倒回上一步操作的视图(只在反汇编窗口才是这个作用,如果是在其他窗口按下esc,会关闭该窗口)shift+f12可以打开string窗口,一键找出所有的字符串,右击setup还能够对窗口的属性进行设置ctrl+w保存IDA数据库ctrl+s选择某个数据段,直接将进
- 使用 gdb 在汇编指令层面对程序注入、修改
shimly123456
汇编
gdb启动程序后,打开汇编界面layoutasm可以看到汇编代码,左边有每行指令的地址可以使用x/10x0xADDRESS这种命令去确认某个地址的指令使用如下命令把某个地址的指令改为0x90NOP气泡指令(gdb)set{unsignedchar[4]}0x401000={0x90,0x90,0x90,0x90}此时layoutasm显示的汇编指令还是我们修改前的指令,我们需要重新反汇编disas
- 科学家的故事100个——学习优秀品质
拾光散人
《科学家的故事100个》,截取了104个科学家最精彩的一个故事汇编成一本书。每个故事都是一位科学家的故事,孩子们可以通过阅读了解他们,可以培养孩子们热爱科学,从科学家们的身上学习不同的优秀的品质,我觉得值得去一读再读。
- 微机原理第七周笔记
遥控老爷
5.7汇编语言程序设计举例汇编源程序的设计步骤分析问题,建立数学模型确定最佳算法合理分配存储单元和寄存器绘制流程图编写程序调试程序程序基本结构模块化设计方法✓“自顶向下,逐步细化”结构化编码方法✓顺序、分支、循环三种基本结构顺序程序设计指令指针IP值线性增加,IP=IP+1条件程序设计IP值受标志位的影响而跳变,影响标志的指令CMP、TEST、JXX循环程序设计IP值受计数器CX中的值不为零而循环
- 笔记整理—内核!启动!—kernel部分(2)从汇编阶段到start_kernel与内核进程
TeYiToKu
X210嵌入式学习整理笔记汇编linux嵌入式硬件c语言单片机
kernel起始与ENTRY(stext),和uboot一样,都是从汇编阶段开始的,因为对于kernel而言,还没进行栈的维护,所以无法使用c语言。_HEAD定义了后面代码属于段名为.head.text的段。内核起始部分代码被解压代码调用,前面关于uboot的文章中有提到过(eg:zImage)。uboot启动是无条件的,只要代码的位置对,上电就工作,kernel启动由bootloader进行构建
- ARM64堆栈回溯
程序猿Ricky的日常干货
故障分析
基于AAPCS64栈帧的组织方式先看一个实例代码程序:#includeintcallee_func2(inta){intb=2;returna+b;}intcallee_func1(inta){intb=1,c;c=callee_func2(a);returnb+c;}intmain(void){intret;ret=callee_func1(0);return0;}对该程序进行编译以及反汇编操作
- 栈和帧指针使用方法
greedyhao
反汇编栈帧
这篇主要是围绕SPFPPCLR寄存器进行介绍,不理解的可以一起讨论下,我也是今天才开始学习这些汇编基础知识处理器寄存器被指定为R0、R1等。MOVE指令的源位于左侧,目标位于右侧。伪处理程序中的堆栈从高地址增长到低地址。因此,push会导致堆栈指针的递减。pop会导致堆栈指针的增量。寄存器sp(stackpointer)用于指向堆栈。寄存器fp(framepointer)用作帧指针。帧指针充当被调
- 佛历•《大般若波罗蜜多经》
观自在_演霞
《大般若经》佛教经典。全称《大般若波罗密多经》简称《般若经》。为宣说诸法皆空之义的大乘般若类经典的汇编。唐玄奘译,六百卷,包括般若系十六种经典(即十六会)。其中第二会(《二万五千颂般若》)第四会(《八千颂般若》)和第九会(《金刚般若》)为《般若经》的基本思想,大概成书于公元前一世纪左右,其他各会是在以后几个世纪中成书的。一般认为最早出现于南印度,以后传播到西、北印度,在贵霜王朝时广为流传。梵本多数
- MIPS架构——汇编代码转机器代码编译器 Matlab GUI
diaobing4810
matlab嵌入式
MIPS架构下的MCU,指令集包含R-Type、I-Type、J-Type三种,在数电课程设计时为了给MCU编写指令集,需要将汇编语言转化成机器代码,这里分享一下自己写的Matlab的GUI。主函数C2M1functionvarargout=C2M(varargin)2val=zeros(1,1);34%C2MMATLABcodeforC2M.fig5%C2M,byitself,createsan
- 汇编(二)
泰克2008
总线CPU芯片.png每一个CPU芯片都有许多管脚,这些管脚和总线相连,CPU通过总线跟外部器件进行交互总线:一根根导线的集合总线的分类地址总线数据总线控制总线总线:一根根导线的集合.png举个例子总线的分类.png地址总线它的宽度决定了CPU的寻址能力8086的地址总线宽度是20,所以寻址能力是1M(2^20)地址总线.png数据总线它的宽度决定了CPU的单次数据传送量,也就是数据传送速度808
- Linux 技巧汇编
极客柒
linux经验分享服务器
10个重要的Linuxps命令实战显示所有当前进程根据用户过滤进程通过cpu和内存使用来过滤进程通过进程名和PID过滤根据线程来过滤进程树形显示进程显示安全信息格式化输出root用户(真实的或有效的UID)创建的进程使用PS实时监控进程状态https://linux.cn/article-4743-1.htmlPython云服务器应用|Https应用|宝塔面板设置服务器进程定时重启https://
- 《论语》心得
85Bo
《论语》是一部中国春秋时期语录体散文集,以记录春秋时期思想家孔子言行为主及其弟子的言论汇编,较为集中地反映了孔子的思想,是儒家学派的经典著作之一,中国现传扬并学习的古代著作之一。《论语》,圣人之学,载道之学,君子治天下之学也。北宋政治家赵普更有“半部《论语》治天下”之说。它的语言言简意赅,意味深长,所记孔子循循善诱的教诲之言,或是与人应答之言,或是给予启发,亦或是相互论辩,富于变化,给人深思。尤其
- 【RISC-V设计-13】- RISC-V处理器设计K0A之指令测试
kearn.chen
RISC-V设计专题risc-v
【RISC-V设计-13】-RISC-V处理器设计K0A之指令测试文章目录【RISC-V设计-13】-RISC-V处理器设计K0A之指令测试1.简介2.验证用例3.指令代码4.链接脚本5.编译脚本6.仿真结果6.1复位结束6.2运行成功6.3终端打印7.总结1.简介借助上一篇文章所提及的验证环境,在本篇文章中,将会阐述如何增添一个用例来验证指令集,以及怎样运用编译器编译汇编代码,并生成二进制的Bi
- 【软件逆向】第32课,软件逆向安全工程师之(七)基址变址相对寻址,每天5分钟学习逆向吧!
Karle_
软件逆向学习安全学习OD工具软件逆向hook
基址变址相对寻址(Base-IndexedRelativeAddressing)是x86汇编语言中的一种寻址模式,它结合了基址寄存器、索引寄存器和偏移量来访问内存中的数据。这种寻址模式允许程序员以非常灵活的方式访问数组、结构体和其他复杂数据结构中的元素。基址变址相对寻址的特点:基址寄存器:基址寄存器(如ebp或esp)包含一个内存地址,作为数据访问的起点。索引寄存器:索引寄存器(如ebx、esi或
- 汇编语言题库答案与解析2024版
木人舟
网络汇编经验分享
汇编语言题库,答案与解析作者——这还用说?前言临时抱佛脚专用,拿着它速通汇编语言吧!,还有就是,答案与解析都是基于websearch的GenAL生成的,所以在计算题上会错误比较多,这个就自己想想办法吧,但是在概念与需要记忆的题上效果很好,自己作为参考吧一单选题第一章PC机的最小信息单位是()。A.bitB.字节C.字长D.字一个CPU的寻址能力是8KB,那么它的地址总线的宽度为()位。A.8B.3
- aarch64架构汇编速成
reL1fe
架构arm
aarch64架构汇编速成,用于逆向aarch64代码学习资料:https://github.com/nzcv/note重要寄存器x0~x7:传递子程序的参数和返回值,一般x0保存返回值x29:帧指针寄存器(FP),用于连接栈帧,使用时必须保存。(类似8064架构下的ebp)x30:链接寄存器(LR),用于保存子程序的返回地址x31:堆栈指针寄存器(SP),用于指向每个函数的栈顶。重要指令ADD指
- 编译与反编译 GCC 常用指令
烹小鲜啊
编译gcc/gdb编译调试
从源代码转变为可执行代码的过程,具体可分为4个过程,分别为预处理(Preprocessing)、编译(Compilation)、汇编(Assembly)链接(Linking)一.GCC常用编译命令选项@localhosttrain]$gcc--helpUsage:gcc[options]file...Options:-pass-exit-codesExitwithhighesterrorcodef
- callx0 和 call 的区别
小蘑菇二号
stm32单片机嵌入式硬件
在讨论callx0和call的区别之前,我们需要明确这些指令是在哪个处理器架构和汇编语言环境中使用的。这里我们将以XTensa架构为例,因为XTensa架构是嵌入式系统中常见的一种RISC(ReducedInstructionSetComputer,精简指令集计算机)架构,常用于物联网(IoT)设备,如Espressif的ESP系列芯片。XTensa汇编语言中的call和callx0指令1.cal
- XTensa架构的处理器上--汇编实现一个1秒定时器
小蘑菇二号
单片机stm32嵌入式硬件
要在XTensa架构的处理器上实现一个1秒定时器,你可以使用定时器中断来实现。XTensa架构的处理器通常用于嵌入式系统,例如ESP32等。下面是一个基于XTensa架构的1秒定时器实现的例子。XTensa架构定时器实现假设你的XTensa处理器的时钟频率为1GHz(即每秒10亿个时钟周期),那么你需要配置一个定时器中断,使其每10亿个时钟周期触发一次中断。步骤1:初始化定时器选择定时器:XTen
- 活好每一个当下——悟《兰亭集序》
温雯二雅
作者:甘佳怡“是日,天朗气清,惠风和畅”,王羲之与41位亲朋志士会与会稽山阴之兰亭,行修禊之礼,饮酒赋诗,汇编诸人诗作,自为其序,这就是著名的《兰亭集序》。本享一觞一咏之乐,王羲之正因这美好之事而引发思考,静悟人生而生痛生悲。痛美好的情感不能永恒,痛美好的事物不能永在,痛美好的生命不能永存。有人把记忆比作海滩上的足迹,把时间比作海浪,无论当时的记忆多么清晰,多么厚重,终究敌不过时间的冲刷,最终会“
- 陈波:只要学会这一招!3秒你就可以成为顶级的文案高手?
陈波的频道
点击左上角【陈波】关注每天领取一份干货文章本文共644字,阅读全文约3分钟今天来聊聊文案的这个话题有没有什么办法可以让你瞬间成为顶级的文案高手的捷径呢?答案是有!今天,我就简单的说一下首先我把它叫做“汇编技术之框架改编法”什么意思呢?简单点理解就是提取有效框架然后在内容上加以汇总改编具体的汇编有那些形式呢?比如说内容变化人物,性格,环境,时间,环境。角度,事物的演变等多重形式我举个例子送礼,就送脑
- Cortex-M3(2) 汇编启动文件分析
keven-wang
Cortex-M3Cortex-M3启动文件STM32F429汇编
1、汇编文件理解与分析参考:https://blog.csdn.net/cacti_one/article/details/72811281由于启动代码是用汇编语言写的,并且启动代码中有大量的伪指令(Directives),所以,在正式介绍启动代码前,先来介绍下相关的伪指令。一、伪指令(Directives)由于MDK中的汇编器(汇编编译器)用的是ARM的汇编器,所以可以从ARM官网下载汇编器的用
- RISC-V汇编实现矩阵阶乘
wave_sky
risc-v汇编
1)源代码longlongfact(longlongn){if(n=0,gotoL1addix10,x0,1//return1addisp,sp,16//pop2itemsoffstackjalrx0,0(x1)//returntocallerL1:addix10,x10,-1//n>=1:argumentgets(n-1)jalx1,fact//callfactwith(n-1)ldx6,0(s
- Scott Brinker:开发者 vs.非开发者是错误的划分
marteker
科技
开发者vs.非开发者是错误的划分我从小就开始编程,为BBS编写多人游戏——这是我们今天所知道的网络和社交媒体的先驱。那是在80年代末90年代初,我主要用一种叫做C的语言写东西,偶尔用8086汇编语言写一些高性能的组件。对于那些不是软件开发人员的人,或者对于那些从小就认为Java是一种低级语言的年轻开发人员来说,汇编代码是这样的:汇编语言代码示例你实际上是将单个指令拼写给CPU,将字节从内存移动到寄
- 【软件逆向】第27课,软件逆向安全工程师之(二)寄存器寻址,每天5分钟学习逆向吧!
Karle_
软件逆向学习安全学习
寄存器寻址是汇编语言中的一种寻址方式,在这种方式中,操作数位于CPU的寄存器中。寄存器是CPU内部的高速存储位置,用于快速访问数据。以下是关于寄存器寻址的详细信息:寄存器寻址的特点:操作数在寄存器中:数据直接存储在寄存器中,而不是内存地址或立即数。快速访问:由于寄存器位于CPU内部,因此访问速度远快于内存。指令简短:使用寄存器寻址的指令通常较短,因为不需要指定内存地址。识别寄存器寻址:查看指令格式
- 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