Vector logo of the PHP programming language wi...

今天我们点燃阅读 php 光 高速缓存html. 我们在这里谈论我们代码的输出缓存而不是我有写到 skritpovete 套现 操作码 与水平 eAccelerator. 这样的东西 – 让我们提醒自己的 php it 的快速工作. 提交的请求 web 服务器-他接受我们,我们将其提交的参数,然后将其提交到他编译并吐出结果的 html 版本的 php 脚本. 它是在相当一般的行. 我们这里的想法是在请求什么的, 在大块或没有这么大块像直接绘制秸秆一次编译后的输出. 好处是显而易见的 – namalâna 次, 更少的负荷和资源消耗,. 作为一个整体不打开热水或东西知道如何复杂. 为此目的,如有多个类 PHPCache_Lite 具有强大的功能,但我想将来,要写我更精简的结构与我对写缓存的要求. 现在我们将看看与 aborigenskiâ 选项 输出控制函数. 因此,让我们套现的东西 –

//start cache all output after that will be saved

ob_start();

//generate output

echo 'Some dynamic output';

echo 'Some other dynamic output ...';

//assign output into variable

$var=ob_get_contents();

//close cache output

ob_end_flush();

上面的代码是微不足道的但让我解释一下发生了什么事. 首先我们声明在代码中的哪一部分开始缓存. 然后你生成更多的标准方式的退出代码. 然后生成的输出加入后,将可用的变量是否在文件中或在会议期间,它是你的决定. 最后,删除和禁用缓存. 很小的手术,如果让我们说 geenriraneto 缓存中经历了巨大的代码块这样我们就可以节省大量的 CPU 时间作为现金出一段时间,或为会话. 现在它是你想要什么是否缓存已向公众或不同的用户可以访问.

通过增强Zemanta

以下文章可能是愚蠢的顶峰,但因为我总是说我是一个更好的管理比编码器. 昨天,同时 draŝeh AJAX 脚本和不得不发送一些数据,我用他们的哈希值验证因为该脚本不会共享 $ _ 会议数组和事情就变得稍微不确定. 这是为什么做以下乱以邮递方式递交的所有 pameri 或使它们得到的 konkateriranite 参数的 md5 哈希值,然后进行比较. 整体不是我认为的坏计划. 此目的碗的 Heširaŝi 算法 MD5 , 长沙, DESC 等等. 事情在这里清楚地说, 它将使用 MD5 哈希值参数 (在做事实). 我们有 3 在 GET 提交的参数我 = 1 n = 2 m = 3,说 hešriane 字符串是 123 什么使我们以下的 MD5 哈希 202cb962ac59075b964b07152d234b70. 没有知道什么有趣. 此哈希会在任何攻击几秒钟. 在这里是很简单的盐和胡椒粉我的想法. 比方说我带的第一个和最后一个字符的字符串和交换他们以这种方式的地方收益率 002cb962ac59075b964b07152d234b72 哈希如果有人已经如果我没有阅读代码我们什么白痴让坏的黑客尝试. 真正的哈希是另一个,甚至是 izsnifen 是完全没用的. 但为什么在这里停下来,我们可以分几个街区的哈希值, 在这种情况下,MD5 是 32 如果符号被分为 4 块 8 人物和他们的移动地点变得更加不舒服的位置. Далеч най приятния ефект е, че визуално си е стандартен md5 хеш и злия хахор може да си чупи докато има желание. Не съм добър по криптиране и не мога да пледирам за нещо кой знае колко фундаментално и прочие но ми допада колко е семпло като идея и реализация и съвременно надеждността е критично висока не като на нормалния MD5 които с една по грамотна видео карта се чупи за норматив.

Ето и примерен код за първата идея с размяната на първия и последния символ елементарен код от 3 реда 🙂

<?php

$hash = '202cb962ac59075b964b07152d234b70';

$first = substr($hash,0,1);
$last = substr($hash,-1);
$rest = substr($hash,1,30);
$hash = $last.$rest.$first;
echo "The real hash is : $str <br> inverted hash is : $hash";

?>

http://www.youtube.com/watch?v=Fvje9dzBHPM

将项目移动,到积极而却没有版本控制的程序现在是疯了. 一般有多个选项集市 , 刺客 , git , svn . 所以在这里如果你想解释一下哪个版本控制较好,为什么它不会. 在美国,我们使用 git. 造成大量的 – 容易设置, 它是非常多才多艺, 它是由 Linus Torvalds 的 Linux 内核版本为写, 后者是至少 2 原因 😉 . 今天我不得不创建一个新的存储库, 我开始了一个新的项目. 实际上我创建了一些资料库和它很久以前,当我们需要它,我忘了在这灵异薄. 创建多个文件存储为一切都是完全的第一次砸店. 设置本身为标准:

git init
echo "Short project's description" > .git/description
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
git commit -a
touch .git/git-daemon-export-ok

基本上,没有什么是错. 于是我决定尝试从远程机器维护内容和设法把它推-我丑陋的消息与持久性有机污染物:

推到 git://gitHost/项目
远程: 错误: 拒绝更新签出分支: 裁判/头/硕士
远程: 错误: 默认情况下, 更新当前分支非裸存储库中
远程: 错误: 被拒绝, 因为它会使索引和工作树不一致
远程: 错误: 与你的推, 并将需要 ‘ git 重置 –硬’ 要匹配
远程: 错误: 头在工作树上.
远程: 错误:
远程: 错误: 您可以设置 ‘ receive.denyCurrentBranch’ 配置变量
远程: 错误: ‘ 忽略’ 或 ‘ 警告’ 在远程存储库允许推向
远程: 错误: 其当前的分支; 然而, 这不推荐除非你
远程: 错误: 安排来更新其工作树来匹配你推在一些
远程: 错误: 其他方式.
远程: 错误:
远程: 错误: 压制此消息并仍然保持默认行为, 设置
远程: 错误: ‘ receive.denyCurrentBranch’ 配置变量 ‘ 拒绝 ’.
对 git://gitHost/项目
! [远程拒绝] 主人-> 硕士 (分公司当前已签出)
错误: 无法将推入到一些裁判 ‘ git://gitHost/项目’

所以,很明显我试着去 komitvam 的主要树中的项目和软件礼貌地砍我. 总体来看,我有没有意图作出额外分支,因为参与项目的人都清楚和大量的其他原因. Тука идва момента да отбележа че съм дефинирал много некадърно заглавието но това е друг момент. Като цяло решението на проблема е тривиално в .git/config на проекта ви трябва да добавите следната директива:

[receive]
denyCurrentBranch = false

След това всичко си идва на мястото.

http://www.youtube.com/watch?v=16bRiH5zfOY

Packet Tracer

Image via Wikipedia

Днес ми се наложи да демонстрирам една симулация през Cisco Packet Tracer на машина на която не беше инсталиран. В общи линии малоумщината е, че стимулатора на Cisco е за x86 машини а при мен машината беше x64. При опит за инсталация умира с грозното съобщение

Attempting to install package now
dpkg: error processing PacketTracer-5.3_3.i386.deb (–安装):
package architecture (i386) does not match system (amd64)
Errors were encountered while processing:
PacketTracer-5.3_3.i386.deb

Общо взето всичко е очевидно Debian-ския пакет не иска да се инсталира защото е за друга архитектура. От тук нататък проблема е ясен dpkg + форсирано инсталиране за да байпаснем грешката за различна платформа. Bin-ския файл на инсталатора реално е само разархивиращ се архив който се разархивира в /tmp/selfextract.XXXXX папка където XXXXX е произволен низ. В тази директория се намира .deb файлът на Packet Tracer-a. Инсталацията се извършва с командата

dpkg -i --force-all /tmp/selfextract.XXXXX/PacketTracer-5.3_3.i386.deb

Естествено с root права.

通过增强Zemanta