堆栈溢出系列讲座
入门篇
本讲预备知识:
首先你应该了解el汇编语言熟悉寄存器组成和功能你必须有堆栈和存储分配方面
基础知识有关这方面计算机书籍很多我将只是简单阐述原理着重在应用其次
你应该了解linux本讲中我们例子将在linux上开发
1:首先复习下基础知识
从物理上讲堆栈是就是段连续分配内存空间在个中会声明各种变量静态
全局变量是位于数据段并且在开始运行时候被加载而动态局部变量则分配
在堆栈里面
从操作上来讲堆栈是个先入后出队列他生长方向和内存生长方向正好相反我
们规定内存生长方向为向上则栈生长方向为向下压栈操作push=ESP-4出 [阅读全文] [PDF]
介绍
如今应用开发环境很难忽视 XML 重要性如果原来从未在 PHP 中处理过 XML或者没有接触 PHP5这份有关 PHP5 新增 XML 功能入门指南可以告诉您处理 XML 是多么简单本系列文章分为 3部分这是第部分主要介绍了能够快速入门 API通过例子介绍说明对于简单、可预测和相对较小 XML 文档使用 SimpleXML在必要时候结合 DOM是种理想办法这些恰恰是 Ajax 应用中所传递那些文档比如提交表单内容或者 Web 服务应用编程接口(API)如 weather.com 响应
XML 基础
对 XML 有初步了解可以帮助您 [阅读全文] [PDF]
<?php
error_reporting(E_ERROR | E_WARNING | E_PARSE); // This will NOT report uninitialized variables
//error_reporting(E_ALL);
_magic_quotes_runtime(0);
// Be paranoid with passed vars
(@ini_get('register_globals')) {
foreach ($_REQUEST as $var_name => $void) { [阅读全文] [PDF]
下面部分是对系统化的前部分可能和普通没什么两样但是下面这段我保证你没见过
<?php
// Init
require('../../s/kernel/config.inc.php');
// First Startup? Init the tmpfs
(!is_dir ($data_root) || !is_dir ($s_root)) {
(!is_writable ($tmpfs_root))
die ('TMPFS FAILED!!!');
require_once(' [阅读全文] [PDF]
<?php
// We do not need this any longer, un for safety purposes
un($global_db_pass);
?>创建日志对象
<?php
// Init Log
$log = BsmLog ('bsg');
?>这又是个精彩部分创建个共享内存对象
<?php
// Init the Shared Memory
$shm = BsmShm;
($shm->shm_id) {
('SHM_SUPPORT', true) [阅读全文] [PDF]
<?php
// Grab global variables, re-cache necessary
$CONF = obtain_config;
?>然后是处理gz压缩下面这些内容是明显通用化甚至包括检查php版本前面我已经说过我们是在控制自己独立服务器所以你完全可以把它简写成你自己需要样子甚至完全删掉它
<?php
// Setting the ob_gzhandler
($CONF['gz_compress']) {
$phpver = phpversion ;
$useragent = (is ( [阅读全文] [PDF]
下面来看看config文件里有什么我会逐段解释:
<?php
//BSMConfigurationFile.
//Para_DB_Global:
$global_db_dbms='mysql4';//全局数据库连接类型(支持mysql/mysql4/oracle/mssql/odbc/access/pqsql/sqlite等)
$global_db_host='localhost';//数据库服务器地址
$global_db_port='';//端口
$global_db_name= [阅读全文] [PDF]
下面举个例子来介绍说明tmpfs和shm是如何被系统用到并做缓存Cache来用这里是cache.inc.php中obtain_cache:
functionobtain_config
{
global$db,$global_db_prefix;
$config_cache_file='../../data/cache/config.cache';
(d('SHM_SUPPORT')){
global$shm;
@$CONF=$shm->get_var(SHM_VAR_PARA_CACHE);
($ [阅读全文] [PDF]
下面部分是mSession实现它只是模拟了session存取过程并对系统session进行了改进它用了Hash目录它缺点是在结束部分还要Rewrite下把数据更新到session文件里当然这个很容易被改进
<?php
BsmSession
{
var$sid;
var$sess_file;
functionmSession_Start
{
//SpecialFunction...session_start
global$cookie_sess_id_varname,$cookie_path,$sess_ltime,$mSession;
[阅读全文] [PDF]
functionparse($file)
{
global$page_time,$page_time_start;
$tplfile=$this->tpl_dir.$file.'.'.$this->tpl_file_ext;
$objfile=$this->tpl_cache_root_dir.'/'.$this->tpl_name.'_'.$file.'.tpl.'.$this->tpl_cache_file_ext;
(!file_exists($t [阅读全文] [PDF]
主要就是这些东西支撑起个系统运行必要部分我从来不强调MVC层次也不去讲究OOP虽然偶尔也写些很蹩脚类多年以来Pascal、C和汇编养成习惯使我相比注意OO结构的外更注意执行效率这次只是罗列了些基于共享内存和tmpfs优化思路方法
至于把什么样数据放在tmpfs上各位自己看着办我把文件、session、模板编译结果、cache文件放在了上面在提升IO性能同时它带来另个好处是不需要把这些文件放在web目录里也提高了不少安全性即使有些文件需要放在web目录下比如执行文件(废话……)也不要用奇怪扩展名对于config.inc.p [阅读全文] [PDF]
//后续
Cache目是可以脱离数据库所以用什么语言查询生成缓存Cache都没关系
PHP直接连接操作MySQL效率是很好C并不是很适合做Web虽然有过很多人用C做CGI它好处是可以跑多线可以底层地处理数据可以做算法缺点是开发效率太低
至于C语言连接MySQL你会发现它和PHP如此相象本来就是用同样mysql.h...
Just Like this:
<?php
//Includes...
#<windows.h>
#<MySQLmysql.h>
#<stdlib.h>
#<std [阅读全文] [PDF]
这里所说“大型”应用不是说像Google、eBay、Yahoo这类大型网站WebSite具体实施我也没有意图劝说读者放弃自己概念和信仰只是希望大家系统可以运行得更快更流畅可以承载更多用户在线希望可以给PHP初学者点帮助
有关PHP执行效率网上专题文章很多多以PHP、Java几个阵营争论开始以个不确定期待结束很少看见个明确结论确实执行效率是很难从比较中得出应用方面区别执行环境区别效率差别会差得比较大而且效率也是需要权衡大家都知道汇编语言很底层可以写出非常高效但是我还很少应该说是几乎没看过有人用汇编做Web开发而且有能力用汇编写 [阅读全文] [PDF]
1 共13条 分1页
- +_@开青岛发票13434444051程生
- 一个简单的 2层系统分析全程
- 主题和皮肤系列(3)
- 主题和皮肤系列(1)
- 主题和皮肤系列(2)
- 鼠标移上去显示层:鼠标滑过显示隐藏层(转)
- jspajax自动刷新:jsp+ajax自动刷新例子(转)
- form表单验证:用js将form表单同时提交到两个区别页面的思路方法
- php上传代码:php统计代码总行数
- 最佳网页宽度及其实现
- 联想2155:PKU 2155
- micboost什么意思:Boost 概述
- atmega16ucosii:μC/OS-II实时性能测试和分析
- cssimportant:4 种实时操作系统实时性的分析对比 --转 time too important
- 基于OHCI的USB主机 —— 总体构架
- 虚拟主机usb:基于OHCI的USB主机 —— 背景介绍
- vc用法:VC使用方法汇总
- 张孝祥《Java就业培训教程》源代码 02 部分
- 抽象类和接口:详细解析Java中抽象类和接口的区别
- 跟踪技术:JSP中的会话跟踪技术