c'est une façon inefficace d'inverser une chaîne ?
—
Zeroblog —
« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » —
Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » —
GT TurboPas tout à fait, l'inversion de la chaîne n'est qu'une conséquence (stupide) du fait que le codeur n'a pas trouvé d'autre façon de faire ce qu'il voulait faire faire.
Non non, quelque chose de vraiment trivial... du moins en théorie, puisqu'en pratique quand on en est à écrire une fonction pareille, ça n'est pas trivial pour tous.
« Nous avons propagé sur Extranet une histoire fabriquée de toutes pièces selon laquelle une certaine disposition d'étoiles, vue depuis la planète d'origine des butariens, formaient le visage d'une déesse galarienne.
Sans chercher à vérifier ces informations, certains ont décrété que c'était la preuve de l'existence de la déesse. Ceux qui notaient le manque de preuves se faisaient attaquer. »
— Legion, geth trolleur à portée galactique
Anéfé, une bête concaténation. L'usage de PadLeft() obligeant en plus à écrire http:// à l'envers est assez fabuleux, il faut aimer se prendre la tête.static public string PrependProtocol(string urlString) {
return "http://" + urlString;
}
« Nous avons propagé sur Extranet une histoire fabriquée de toutes pièces selon laquelle une certaine disposition d'étoiles, vue depuis la planète d'origine des butariens, formaient le visage d'une déesse galarienne.
Sans chercher à vérifier ces informations, certains ont décrété que c'était la preuve de l'existence de la déesse. Ceux qui notaient le manque de preuves se faisaient attaquer. »
— Legion, geth trolleur à portée galactique
Ne me dis pas que ça vient de ton boulot ?
—
Zeroblog —
« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » —
Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » —
GT TurboJe sais pas, peut etre une deformation, mais premier truc que je cherche c'est strcat, voir meme un simple
$head = "http://";
$tail = "www.example.com";
$newstr = $head . $tail;
printf($newstr);
PHP fait ca sans probleme non?
En fait ca sens le gars qui ne sais faire que ces m****** de design pattern et ne sais pas réfléchir par lui même sur comment faire le code.
Proud to be CAKE©®™
GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.
tres mauvaise habitude securitaire de mettre une variable en premier arg de printf.
toujours printf("%s",$newstr)
j'ai tape printf par habitude, mais je voulais taper print qui ne prends pas d'argument "format"
Proud to be CAKE©®™
GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.
ok, mon printf va donner accès à des données plus haut sur la pile, données que n'est pas censé connaitre l'attaquant, c'est ça ?
vala, donc ca permet d'espionner des adresses de retour par ex, ou pire de jardiner ^^
vince 2015-07-16 at 02:21pm je me souviens, une fois, un programme du genre avait foutu en l'air toute la bdd yaronet ^^
Pen^2 2015-07-16 at 03:23pm (et un sleep au milieu ?)
Je me suis amusé à faire ça aujourd'hui en vacances avec un IDE php sur mon smartphone et un serveur local pour tester... Il est temps que japprenne autre chose pour mes tests, comme QPython. N'importe quel langage pourrait être utilisé pour ce petit script, ça n'est absolument pas spécifique au Web.
Je me suis aussi amusé à renommer les variables et virer les commentaires trop explicatifs, à vous de deviner ce que fait ce code, et surtout QU'EST ce qu'il cherche à calculer...
Le premier for a été ajouté après le reste, d'où l'indentation foireuse (flemme de la taper).
Pour les non-adeptes de php, array_shift depile le premier élément du tableau et retourne sa valeur, shuffle mélange aléatoirement un tableau. Pour le reste vous devriez comprendre. Les lignes de commentaires vides sont des commentaires supprimés, j'ai gardé la ligne pour mieux montrer les étapes dans l'algorithme.
<?php
$total = $min = $max = $exces = 0;
$moyenne = 100;
for ($round = 0; $round < $moyenne; $round++) {
//
$elements = array();
for ($i = 1; $i <= 4; $i++) {
for ($j = 1; $j <= 13; $j++) {
$elements[] = $j;
}
}
shuffle($elements);
//
$lot1 = $lot2 = array();
for ($i = 0; $i < 52; $i += 2) {
$lot1[] = $elements[$i];
$lot2[] = $elements[$i+1];
}
//
$fin = 0;
$tour = 0;
while(true) {
$tour++;
/* Note : ce if n'existe qu'à cause de
boucles parfois trop longues pour le
smartphone ($exces), elle pourrait
être supprimée au besoin */
if ($tour > 10000) {
$exces++;
$fin = 4;
break;
}
$element1 = array_shift($lot1);
$element2 = array_shift($lot2);
$groupe = array();
while ($element1 === $element2) {
// Verifier s'il y a assez d'éléments
if (sizeof($lot1) < 2 || sizeof($lot2) < 2) {
//
$fin = 3;
break 2;
}
$groupe[] = $element1;
$groupe[] = $element2;
$groupe[] = array_shift($lot1);
$groupe[] = array_shift($lot2);
$element1 = array_shift($lot1);
$element2 = array_shift($lot2);
}
//
$groupe[] = $element1;
$groupe[] = $element2;
$recuperation = ($element1 > $element2) ? "lot1" : "lot2";
for ($i = 0; $i < sizeof($groupe); $i++) {
${$recuperation}[] = $groupe[$i];
}
//
if (empty($lot1)) {
$fin = 2;
break;
} elseif (empty($lot2)) {
$fin = 1;
break;
}
}
/* Une partie du code a été supprimé,
affichant des messages différents selon
la valeur de $fin */
if ($fin < 4) {
$total += $tour;
if ($min === 0) {
$min = $tour;
}
if ($min > $tour) {
$min = $tour;
}
if ($max < $tour) {
$max = $tour;
}
}
}
echo "Min : $min<br>";
echo "Max : $max<br>";
echo "Moyenne : ".ceil($total/$moyenne)."<br>";;
echo "Excès : $exces";
« Nous avons propagé sur Extranet une histoire fabriquée de toutes pièces selon laquelle une certaine disposition d'étoiles, vue depuis la planète d'origine des butariens, formaient le visage d'une déesse galarienne.
Sans chercher à vérifier ces informations, certains ont décrété que c'était la preuve de l'existence de la déesse. Ceux qui notaient le manque de preuves se faisaient attaquer. »
— Legion, geth trolleur à portée galactique