Vector logo of the PHP programming language wi...

Сёння я ўдарыла сьвятло чытанне для PHP кэш з HTML. Тут мы гаворым пра кэшавання вываду нашага кода не as've запісваецца ў кэш для skritpovete опкод на адным узроўні з Eaccelerator. Так што гэта ўсё аб – давайце ўспомнім пра хуткай працы PHP-гэта. Мы адправіць запыт вэб-сервер-Амерыкана ён прымае параметры, якія мы праходзім, то ён карміў іх сцэнар PHP ён кампілюе і плюне яму ў выніку ў HTML версіі. Гэта ў даволі агульных рысах,. Якой будзе наша ідэя тут, каб прапусціць запыты, каб прапусціць вялікія блокі ці не гэтак вялікі, як блокі пафарбаваны непасрэдна калісьці ўжо скампіляваны выснову. перавагі відавочныя – скарачэнне часу выканання, менш нагрузкі і спажыванне рэсурсаў. Гэта, як правіла, не выяўляе гарачую ваду ці што-небудзь, хто ведае, наколькі складана. Ёсць шмат класаў для гэтай мэты У PHP груша Cache_Lite які мае выдатную функцыю, але я думаю, што ў будучыні, каб напісаць з маёй значна водпуску і горнаруднай іх патрабаванні да кэшаванню. Цяпер мы разгледзім варыянт спрадвечна Функцыі кіравання высновай. Так што давайце што-небудзь схованка –

//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();

Над кодам трывіяльна, але дазвольце мне растлумачыць, што адбылося. Па-першае, якая частка DECLARE кода пачынаецца кэшаванне. Затым мы ствараем стандартны спосаб код выхаду. След това генерирания изход се присъединява към променлива която ще е достъпна по късно дали през файл някакво или през sessions това си е ваше решение. Накрая изчистваме и прекратяваме кеширането. Съвсем тривиална операция ако да речем геенрирането на кеша минава през огромни блокове от код така можем да спестим доста процесорно време като кешираме за известно време или за една сесия. Вече всичко опира то това какво искате дали да е общодостъпен кеша или да е достъпен за различен потребител.

падтрымліваючы Zemanta

Наступная артыкул можа быць вяршыняй глупства, але, як я заўсёды кажу, што я лепш, чым кодэр адміністратара. Учора, пакуль я падрапаць некаторыя AJAX скрыпт і павінен быў паслаць менш праверкі дадзеных, што іх выкарыстанне хэш, таму што сцэнар не падзяляе масіў $ _SESSION і рэчы становяцца трохі нявызначанымі. Так зрабіце наступнае дзіркі ўсе pameri, якія прадстаўлены POST або GET, каб зрабіць іх адным з параметраў konkateriranite MD5 хэш, а затым параўнаць яго я. У цэлым не дрэнная схема I. Алгарытмы хэшавання для гэтага шара MD5 , ША, DESC і іншыя. Да гэтага часу рэчы ясна сказаць,, які будзе выкарыстоўваць параметры хэшавання MD5 (і пры гэтым deytvitelnost). мы маем 3 параметр, які падаецца праз GET = 1 п = 2 т = 3 і кажуць, што радок heshriane з'яўляецца 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

Каб перамясціць праект, які актыўна запраграмаваны без кантролю версій ў цяперашні час з'яўляецца поўнае вар'яцтва. Як правіла, існуе мноства варыянтаў базарам , ртутны , мярзотнік , СВН . Дык вось, калі вы чакаеце, каб растлумачыць, што кантроль версій добра, і чаму ён не будзе. мы выкарыстоўваем мярзотнік. шмат прычын – лёгка наладзіць, вельмі гнуткі, напісаная Лінуса Торвальдса, каб служыць версіі ядра 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

У прынцыпе нічога, што не ўсё ў парадку. Тады я вырашыў праверыць выдаленую машыну, каб захаваць змесціва і спрабуе зрабіць адцісканні мяне зачыніліся з выродлівай паведамленне:

рассоўваючы гнюса://gitHost / праект
аддалены: памылка: адмова абнавіць праверылі філіял: спасылкі / кіраўніка / майстар
аддалены: памылка: па змаўчанні, абнаўленне бягучай галіны ў ня голае сховішча
аддалены: памылка: адмоўлена, таму што гэта зробіць індэкс і працаваць дрэва непаслядоўным
аддалены: памылка: з тым, што ты націснуў, і запатрабуе 'скіду GIT –жорсткі’ каб адпавядаць
аддалены: памылка: праца дрэва да галавы.
аддалены: памылка:
аддалены: памылка: Вы можаце ўсталяваць 'receive.denyCurrentBranch’ пераменная канфігурацыі для
аддалены: памылка: 'ігнараваць’ або "папярэдзіць’ ў аддаленым сховішча, каб дазволіць адсоўваючы
аддалены: памылка: яе бягучая галіна; аднак, гэта не рэкамендуецца, калі вы
аддалены: памылка: дамовіліся абнавіць сваё працоўнае дрэва, каб адпавядаць таму, што вы штурхнуў у некаторых
аддалены: памылка: інакш.
аддалены: памылка:
аддалены: памылка: Хлюпаць гэтае паведамленне і па-ранейшаму захаваць паводзіны па змаўчанні, камплект
аддалены: памылка: 'receive.denyCurrentBranch’ пераменная канфігурацыі ў "адмовіцца".
гнюса://gitHost / праект
! [аддаленага адвергнутая] майстар -> майстар (філіял у цяперашні час Выдадзена)
памылка: не ўдалося падштурхнуць некаторых да рефов 'гнюса://gitHost / праект’

Так што, па-відаць, спрабуючы паўстаць у галоўным дрэве праекта і праграмнага забеспячэння ветліва перапыніў мяне. У цэлым у мяне няма намеру зрабіць дадатковы філіял, таму што людзі, якія ўдзельнічаюць у праектах, маюць выразныя і іншыя прычыны. Тука идва момента да отбележа че съм дефинирал много некадърно заглавието но това е друг момент. Като цяло решението на проблема е тривиално в .git/config на проекта ви трябва да добавите следната директива:

[receive]
denyCurrentBranch = false

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

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

Packet Tracer

Малюнак з дапамогай Вікіпедыі

Сёння я павінен быў прадэманстраваць мадэляванне ў Cisco Packet Tracer машыну, якая не была ўсталяваная. Увогуле maloumshtinata з'яўляецца, што кардыёстымулятар для Cisco для x86 машын, але для мяне машына была x64. Пры спробе ўсталяваць памёр з выродлівай паведамленнем

Спроба ўсталяваць пакет прама зараз
Dpkg: апрацоўка памылак PacketTracer-5.3_3.i386.deb (–ўсталёўваць):
пакет архітэктуры (i386) не супадае з сістэмай (amd64)
Памылкі былі выяўленыя пры апрацоўцы:
PacketTracer-5.3_3.i386.deb

Наогул, відавочна, пакет Debian-рапейскай хоча ўсталяваць, таму што гэта іншая архітэктура. З гэтага моманту, праблема ясна Dpkg + вымушаныя ўсталяваць памылку baypasnem для іншай платформы. Бэн-рапейскай файл ўстаноўкі на самай справе проста распакаваць архіў, які распакоўваецца ў тэчку /tmp/selfextract.XXXXX, дзе ХХХХХ выпадковая радок. Гэты каталог знаходзіцца файл .deb Packet Tracer-а. Ўстаноўка выконваецца з дапамогай каманды

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

Натуральна з правамі суперкарыстальніка.

падтрымліваючы Zemanta