Vector logo of the PHP programming language wi...

Heute traf ich eine leichte Lektüre für PHP Cache-Speicher von HTML. Hier haben wir über Caching der Ausgabe unseres Codes sprechen nicht as've in den Cache geschrieben skritpovete Opcode Ebene mit eAccelerator. Also, was ist alles über – machen wir uns der schnellen Arbeit erinnern php-it. Wir unterbreiten Anfrage Web-Server-eine uns übernimmt er die Parameter, die wir geben sie dann ein PHP-Skript er es kompiliert gefüttert und spucken was in der HTML-Version. Dies ist ganz allgemein,. Wie wird unsere Idee hier Anfragen zu überspringen, große Blöcke zu überspringen oder nicht so groß, wie die Blöcke direkt einmal gemalt bereits kompilierte Ausgabe. Die Vorteile sind offensichtlich, – Verringerung der Ausführungszeit, weniger Belastung und Ressourcenverbrauch. Es wird erkennen, im Allgemeinen nicht mit heißem Wasser oder etwas, der weiß, wie kompliziert. Es gibt viele Klassen zu diesem Zweck als PHP Birne Cache_Lite_Output Die hat ein schönes Feature, aber ich denke, in Zukunft mit meiner sehr erleichtert, Struktur und Minen ihre Anforderungen für das Caching zu schreiben. Jetzt werden wir bei der Aborigines Variante aussehen Funktionen zur Ausgabesteuerung. So etwas Cache lassen –

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

Über Code trivial ist, aber lassen Sie mich erklären, was passiert ist. Erste declare, die einen Teil des Codes beginnt Caching. Dann erzeugen wir einen Standard-Exit-Code. Dann tritt die generierte Ausgabe Variable, die später zur Verfügung stehen, ob in einer Datei oder während der Sitzungen, es ist deine Entscheidung. Schließlich entfernen Sie und deaktivieren Sie zwischenspeichern. Eine triviale Operation, wenn wir sagen Geenriraneto Cache geht durch riesige Blöcke des Codes damit wir viel CPU-Zeit als Cash-out für eine Weile oder für eine Sitzung speichern können. Jetzt es geht darum, was Sie wollen ob Cache der Öffentlichkeit zugänglich gemacht worden ist oder für andere Benutzer zugänglich ist.

zemanta ausgebaut.

Der folgende Artikel kann Anfang der Dummheit sein, aber wie ich immer sage, ich bin besser als Encoder Admin. Gestern, während ich kratzen einige Skript AJAX und hatte, dass ihre Verwendung Hash weniger Datenvalidierung zu senden, da das Skript nicht das Array $ _SESSION nicht teilt und die Dinge werden etwas unsicher. So gehen Sie wie folgt Höllenloch alle pameri die Post eingereicht werden oder erhalten sie eine der MD5-Hash konkateriranite Parameter zu tun, und dann vergleiche ich. Insgesamt kein schlechtes Schema I. Hashing Algorithmen für diesen Zweck Ball MD5 , SHA, DESC und andere. Bisher sind die Dinge klar zu sagen,, das wird MD5-Hashing-Parameter verwenden (und dabei deytvitelnost). wir haben 3 Parameter, die durch GET zugeführt wird i = 1 n = 2 m = 3 und sagen, dass die Reihe von heshriane ist 123 macht uns den Hash 202cb962ac59075b964b07152d234b70 folgenden MD5. Bisher nicht viel interessanter. Dieser Hash wird für ein paar Sekunden bei jedem Angriff fallen. Hier kommt das Salz und Pfeffer auf meine einfache Idee. Nehmen wir an, ich nehme das erste und das letzte Zeichen des Strings, und ihre Plätze Austausch wird so 002cb962ac59075b964b07152d234b72 Hash schon jemand, wenn, wenn Sie nicht unseren Code Idiotie gelesen haben ist, was die Dinge zu hart auf hart kommt, wenn sie versuchen macht Hacking. Echt Hash ist eine andere und sogar izsnifen ist völlig nutzlos. Aber warum hier aufhören können wir Hash paar Blöcke aufteilen, im Fall von MD5 Länge 32 wenn das Symbol ist unterteilt in 4 bei Block 8 Charaktere und ihre Verschiebung als Orte werden noch unangenehmer Lage. Bei weitem die angenehme Wirkung ist, dass visuellen Standard ist der MD5-Hash und Böse hahor kann brechen, während bereit. Ich bin überhaupt nicht Verschlüsselungs- gut und kann zu etwas viel grundsätzlich nicht darauf berufen, und so weiter, aber Ich mag, wie einfach in der Konzeption und Umsetzung und erweiterte Zuverlässigkeit ist entscheidend höher als eine normale MD5 sie mit einer gebildeten Videokarte Pausen für Norm.

Hier ist ein Beispielcode für die erste Idee, das erste und das letzte Zeichen rudimentären Code austauschen 3 bestellen 🙂

<?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

Um ein Projekt zu bewegen, die aktiv ohne Versionskontrolle programmiert ist heutzutage komplette Wahnsinn. Im Allgemeinen gibt es zahlreiche Optionen Basar , Quecksilber- , Git , svn . Also hier, wenn Sie erklären erwarten, welche Versionskontrolle gut ist und warum es nicht sein. Wir verwenden Git. viele Gründe – einfach zu justieren, sehr flexible, geschrieben von Linus Torvalds ist der Linux-Kernel-Versionen dienen, letztere sind mindestens 2 Grund 😉 . Heute hatte ich ein neues Repository zu erstellen, Es begann ein neues Projekt. Ich habe tatsächlich ein wenig Repositories es vor langer Zeit, als wir hatten, und ich habe die kleinen Momente vergessen, dass. Erstellen Sie Repository stieß mehrere Dateien zuerst alles Laden ging rechts. Die sehr Einstellung des Repository war Standard:

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

Im Grunde alles, was nicht in Ordnung ist. Dann habe ich beschlossen, eine Remote-Maschine zu testen, Inhalte zu bewahren und zu versuchen, eine zu tun, Push-me knallte mit dem hässlichen Nachricht schließen:

Pushing git://gitHost / Projekt
entfernt: Fehler: zu aktualisieren, die Ablehnung ausgecheckt Zweig: refs / heads / master
entfernt: Fehler: In der Standardeinstellung, Aktualisieren der aktuellen Zweig in einem nicht-bare Repository
entfernt: Fehler: ist abgelehnt, denn es wird der Index und Arbeits Baum inkonsistent machen
entfernt: Fehler: mit dem, was Sie geschoben, und erfordert 'git reset –hart’ passen
entfernt: Fehler: die Arbeit Baum HEAD.
entfernt: Fehler:
entfernt: Fehler: Sie können 'receive.denyCurrentBranch eingestellt’ Konfigurationsvariable
entfernt: Fehler: 'ignorieren’ oder 'warnen’ in dem Remote-Repository zu ermöglichen, in Schub
entfernt: Fehler: seine aktuellen Zweig; aber, dies ist nicht, wenn Sie empfohlen
entfernt: Fehler: angeordnet seine Arbeit Baum zu aktualisieren, was Sie in einigen geschoben passen
entfernt: Fehler: andere Weise.
entfernt: Fehler:
entfernt: Fehler: Um diese Meldung zu zermalmen und immer noch das Standardverhalten halten, Set
entfernt: Fehler: 'receive.denyCurrentBranch’ Konfigurationsvariable 'ablehnen'.
git://gitHost / Projekt
! [Fern abgelehnt] Meister -> Meister (Zweig wird zur Zeit ausgecheckt)
Fehler: konnte einige Refs zu drücken, um 'git://gitHost / Projekt’

So versuchte offenbar zu rebellieren in der Haupt des Projekts und Software höflich mich geschnitten. Insgesamt habe ich nicht die Absicht, zusätzliche Niederlassung zu tun, weil die an den Projekten beteiligten Personen klar und anderen Gründen haben. Тука идва момента да отбележа че съм дефинирал много некадърно заглавието но това е друг момент. Като цяло решението на проблема е тривиално в .git/config на проекта ви трябва да добавите следната директива:

[receive]
denyCurrentBranch = false

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

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

Packet Tracer

Bild über Wikipedia

Heute hatte ich eine Simulation in Cisco Packet Tracer Maschine zu demonstrieren, die nicht installiert wurde. Im Allgemeinen maloumshtinata ist, dass Schrittmacher bei Cisco für x86-Rechner, aber für mich war die Maschine x64. Wenn Sie versuchen, mit hässlichen Nachricht starb zu installieren

Der Versuch Paket jetzt installieren
dpkg: Fehler beim Bearbeiten von PacketTracer-5.3_3.i386.deb (–installieren):
Paket-Architektur (i386) nicht System überein (amd64)
Fehler traten auf beim Verarbeiten:
PacketTracer-5.3_3.i386.deb

Im Allgemeinen ist es offensichtlich, Debian-päische Paket will zu installieren, weil es eine andere Architektur. Ab jetzt ist das Problem klar dpkg + gezwungen, baypasnem Fehler für eine andere Plattform zu installieren. Bin-päische Datei Installer entpackt tatsächlich nur das Archiv, das in /tmp/selfextract.XXXXX Ordner entpackt wird, wo XXXXX eine zufällige Zeichenfolge. Dieses Verzeichnis wird .deb-Datei von Packet Tracer-a entfernt. Die Installation wird mit dem Befehl ausgeführt

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

Natürlich mit root-Rechten.

zemanta ausgebaut.