Prawa Murphy’ego

Pomyślałem, że przy niedzieli napiszę nieco humorystyczny wpis. Humorystyczny, ale często do bólu prawdziwy. Otóż postanowiłem zacytować nieco Praw Murphy’ego. Podstawowe i najważniejsze prawo brzmi:

Jeśli coś się może nie udać, to się nie uda

Podsumowanie praw pochodnych:

Jeśli coś się nie może nie udać, to i tak się nie uda

Paradoks Silvermana:

Jeżeli prawo Murphy’ego może nie zadziałać, to nie zadziała

Często uważa się, że Prawa Murphy’ego są pesymistyczne. Ja natomiast zgadzam się z Arturem Bloch’em (autorem książek o prawach), że praw nie można rozpatrywać w takich kategoriach jak optymizm i pesymizm. Oddaje to jedno z praw:

Optymiści uważają, że żyjemy w najlepszym z możliwych światów.
Pesymiści obawiają się, że to prawda.

Można by chyba stwierdzić, że na świecie żyją optymiści, pesymiści i murpholodzy.
Nie będę przepisywał Wikipedii, ale jeśli ktoś jest ciekawy to podaję link do informacji o tym jak powstały prawa: Prawa Murphy’ego

Czytaj wpis

Jak sprawdzić typ zmiennej w PHP

Programując w PHP nie ma potrzeby deklarowania typów zmiennych – PHP robi to za nas.

Może jednak zajść potrzeba sprawdzenia jaki typ przechowuje istniejąca zmienna.

Możemy to zrobić w następujący sposób:

$value=68.45;
echo gettype($value);

Wynik działania kodu:

double

Zmiana wielkości liter w PHP, a polskie znaki

PHPChyba wszyscy programiści PHP znają magiczne  funkcje operujące na stringach:

  •  strtoupper($str)
  • strtolower($str)

Służą one do zmiany wielkości liter w ciągu, pierwsza na duże litery, druga na małe.

Niestety funkcje te nie radzą sobie w przypadku kodowania UTF-8 z polskimi literami (i nie tylko polskimi).

Próba wykonania takiego kodu:

$a="ęóąśłżźćń";
$b="ĘÓĄŚŁŻŹĆŃ";
echo strtoupper($a);
echo "<br />";
echo strtolower($b);

Daje dosyć niespodziewane rezultaty w postaci:

ęãąśłżŪćń
���������

Czytaj wpis

Dlaczego w MySQL’u nie stosować typu FLOAT

MySQLKiedy chcemy zapisać liczbę zmiennoprzecinkową (np cenę) w większości języków programowania używamy tylu FLOAT. Okazuje się, że w języku SQL nie jest to dobry pomysł. Dlaczego?.

Nie da się zapisać

Niewiele osób wie, że liczby zmiennoprzecinkowe w SQL są zapisywane w formacie binarnym. Ma to bardzo ważną dla nas konsekwencję. Otóż nie wszystkie liczby zapisane w systemie dziesiętnym da się zapisać w formacie binarnym. Analogicznie do sytuacji w której chcielibyśmy zapisać w systemie dziesiętnym jedną trzecią. Możemy zapisać 0,333333333, ale ponieważ typy danych w językach programowania nie są nieskończone, gdzieś na końcu musimy zaokrąglić. Tak samo sprawa wygląda z FLOAT. SQL zaokrągla zapisane liczby do bardzo zbliżonych. Żeby było zabawniej kiedy odczytamy taką liczbę z bazy widzimy poprawną wartość. Czytaj wpis

» Nowsze posty