konto usunięte

Temat: Co by tu zrobić lepiej ? Zoptymalizować.

Witam. Ostatnio częściej się bawię hobbystycznie PHP/Js/Css itp. , i szukam sobie zadań i sam buduje własne rozwiązania. Obecnie zrobiłem ćwiczenie z budowy tabliczki mnożenia do 100 w formie tabeli na stronie.
Oto mój własny autorski kod na to zadanie. Coś byście zmienili , żeby było bardziej optymalnie ?
PS. Proszę pamiętać , że ja to robię dla zabawy bo lubię , więc bez mocnej krytyki :)
</head>
<body>
<table border="solid">
<?php
echo "<tr border=\"solid\">";
$j=0;
while ($j<=9){
$j++;
$z=0;
for($i=0;$z<=9;$i++){
echo "<td>".$i=$j+$i."</td>";
$z+=1;
}
echo"</tr>";
}
?>
</table>
</bodyTen post został edytowany przez Autora dnia 09.12.14 o godzinie 19:35

konto usunięte

Temat: Co by tu zrobić lepiej ? Zoptymalizować.

Tak sobie właśnie pomyślałem, że elementy html mogę zrobić statyczne, ciekawe czy da się jeszcze bardziej zoptymalizowac. WIdziałem inne rozwiązanie ksiązkowe, ale uważam, że moje jest o niebo lepsze :)Ten post został edytowany przez Autora dnia 09.12.14 o godzinie 19:42

Temat: Co by tu zrobić lepiej ? Zoptymalizować.

Pewnie, że da się bardziej zoptymalizować - całość napisz statycznie i wrzuć na nginx

konto usunięte

Temat: Co by tu zrobić lepiej ? Zoptymalizować.

A może na node.js ? ;P
Tak ,w ogóle ciekawe czy świat PHP pójdzie w node.jsTen post został edytowany przez Autora dnia 09.12.14 o godzinie 19:57

konto usunięte

Temat: Co by tu zrobić lepiej ? Zoptymalizować.

Krzysztof M.:
Tak sobie właśnie pomyślałem, że elementy html mogę zrobić statyczne, ciekawe czy da się jeszcze bardziej zoptymalizowac.

Widzisz, sprawa nie jest banalna. User na bank nie lubi czekać, z drugiej strony nie ma dla niego znaczenia (bo tego nawet nie zauważy), że coś się wykona w 1 czy 2 ms. Ale przy większych ilościach danych jest inaczej. Ten przykład co go tu podałeś to jest pryszcz w porównaniu z tym np.


</head>
<body>
<table border="solid">
<?php
function fib($n)
{
if (($n == 0) || ($n == 1))
{
return $n;
}
else
{
return fib($n - 2) + fib($n - 1);
}
}

for ($n = 0; $n < 30; $n++)
{
echo fib($n);
echo '<BR>';
}
?>
</table>
</body


vs to:


</head>
<body>
<table border="solid">
<?php
function fib($n)
{
$a = 0;
$b = 1;
for ($i = 0; $i < $n; $i++)
{
$b += $a;
$a = $b - $a;
}
return $a;
}

for ($n = 0; $n < 30; $n++)
{
echo fib($n);
echo '<BR>';
}
?>
</table>
</body


I zobacz co i w jakim czasie się wykona a jak nie zauważysz szybkości, zwiększ n do 40 albo i więcej.
Paweł Malisak

Paweł Malisak PHP Developer

Temat: Co by tu zrobić lepiej ? Zoptymalizować.

Krzysztof M.:
Oto mój własny autorski kod na to zadanie. Coś byście zmienili , żeby było bardziej optymalnie ?

Chyba najpierw powinieneś napisać poprawny kod, a potem optymalizować ;) Brakuje <tr> w kilku miejscach.

Nie skupiaj się na optymalizacji czegoś co szybko się wykonuje, ale na tym by to było przejrzyste, łatwe w modyfikacji / rozbudowie.

Temat: Co by tu zrobić lepiej ? Zoptymalizować.

ja bym to zrobił tak:


$w = 10;
for ($i = 1; $i <= $w; $i++) {
$t.='<tr border=\"solid\">';
for ($j = 1; $j <= $w; $j++)
$t.='<td>' . $i * $j . '</td>';
$t.='</tr>';
}
echo "<table border=\"solid\">$t</table>";


poza tym masz nie tak tagi ;) nie w tym miejscu pętli początek tr powinien być poniżej while nad for.Ten post został edytowany przez Autora dnia 12.12.14 o godzinie 13:45

konto usunięte

Temat: Co by tu zrobić lepiej ? Zoptymalizować.

Faktycznie Panowie, dzięki, brakuje tr pomimo poprawnego wyświetlania w przeglądarce.
Rafał twój przykład jest prawie identyczny jak w książce, można wygooglować, a tego właśnie chce unikać powielania, nie jest kreatywne i w dłuższej perespektywie zniechęca. Niemniej dzięki Panowie.

Temat: Co by tu zrobić lepiej ? Zoptymalizować.

optymalizacja to nie jest tworzenie rozwiązania z użyciem trzech funkcji gdy można zmieścić się w dwóch, tak mi się wydaje. np. czym się różni $z+=1; od $z++; ? czy zmiana $z++ na $z+=1 jest rozwiązaniem optymalnym?Ten post został edytowany przez Autora dnia 12.12.14 o godzinie 14:51

konto usunięte

Temat: Co by tu zrobić lepiej ? Zoptymalizować.

Rafał S.:
optymalizacja to nie jest tworzenie rozwiązania z użyciem trzech funkcji gdy można zmieścić się w dwóch, tak mi się wydaje. np. czym się różni $z+=1; od $z++; ? czy zmiana $z++ na $z+=1 jest rozwiązaniem optymalnym?

"Premature optimisation is the root of all evil". Najpierw należy się nauczyć programować w ogóle, a gdy ma się już wystarczającą wiedzę i praktykę, dopiero wtedy można się zabierać za optymalizację.

Następna dyskusja:

Tablice w MySQL - jak lepiej?




Wyślij zaproszenie do